﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
mua{
    AuxExemplarCharacters{"[q x]"}
    ExemplarCharacters{"[a ã b ɓ c d ɗ e ë ǝ f g h i ĩ j k l m n ŋ o õ p r s t u v ṽ w y z]"}
    ExemplarCharactersIndex{"[A B Ɓ C D Ɗ E Ǝ F G H I J K L M N Ŋ O P R S T U V W Y Z]"}
    NumberElements{
        latn{
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.1.27.40"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "comme",
                "lilli",
            }
            AmPmMarkersAbbr{
                "comme",
                "lilli",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Cya",
                        "Cla",
                        "Czi",
                        "Cko",
                        "Cka",
                        "Cga",
                        "Cze",
                    }
                    wide{
                        "Com’yakke",
                        "Comlaaɗii",
                        "Comzyiiɗii",
                        "Comkolle",
                        "Comkaldǝɓlii",
                        "Comgaisuu",
                        "Comzyeɓsuu",
                    }
                }
                stand-alone{
                    narrow{
                        "Y",
                        "L",
                        "Z",
                        "O",
                        "A",
                        "G",
                        "E",
                    }
                }
            }
            eras{
                abbreviated{
                    "KK",
                    "PK",
                }
                wide{
                    "KǝPel Kristu",
                    "Pel Kristu",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "FLO",
                        "CLA",
                        "CKI",
                        "FMF",
                        "MAD",
                        "MBI",
                        "MLI",
                        "MAM",
                        "FDE",
                        "FMU",
                        "FGW",
                        "FYU",
                    }
                    wide{
                        "Fĩi Loo",
                        "Cokcwaklaŋne",
                        "Cokcwaklii",
                        "Fĩi Marfoo",
                        "Madǝǝuutǝbijaŋ",
                        "Mamǝŋgwãafahbii",
                        "Mamǝŋgwãalii",
                        "Madǝmbii",
                        "Fĩi Dǝɓlii",
                        "Fĩi Mundaŋ",
                        "Fĩi Gwahlle",
                        "Fĩi Yuru",
                    }
                }
                stand-alone{
                    narrow{
                        "O",
                        "A",
                        "I",
                        "F",
                        "D",
                        "B",
                        "L",
                        "M",
                        "E",
                        "U",
                        "W",
                        "Y",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "F1",
                        "F2",
                        "F3",
                        "F4",
                    }
                    wide{
                        "Tai fĩi sai ma tǝn kee zah",
                        "Tai fĩi sai zah lǝn gwa ma kee",
                        "Tai fĩi sai zah lǝn sai ma kee",
                        "Tai fĩi sai ma coo kee zah ‘na",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"Zah’nane/ Comme"}
            relative{
                "-1"{"Tǝsoo"}
                "0"{"Tǝ’nahko"}
                "1"{"Tǝ’nane"}
            }
        }
        era{
            dn{"Syii ma tãa"}
        }
        hour{
            dn{"Cok comme"}
        }
        minute{
            dn{"Cok comme ma laŋne"}
        }
        month{
            dn{"Fĩi"}
        }
        second{
            dn{"Cok comme ma laŋ tǝ biŋ"}
        }
        week{
            dn{"Luma"}
        }
        weekday{
            dn{"Kǝsyil luma"}
        }
        year{
            dn{"Syii"}
        }
        zone{
            dn{"Waŋ cok comme"}
        }
    }
}
