Wondering if anyone else has run into any other similar issues and/or if this is a limit that I'm unaware of:
The class definition above returns:
However, if I define the same string matrices in a do file I can construct all of the combined matrices without issue:
So, I wasn't sure if there were some limits in class definitions that I'm not aware of of what. Basically, I'm trying to define a static class that will contain values that will be used for data validation in other classes/methods and was hoping to make it easier to define data that should but immutable.
Code:
// Start Mata session/interpreter/compiler mata: // Drops class from Mata if loaded // mata drop htmllanguage // Defines class to store HTML language codes class htmlstatic { // Make members public public: // Make the matrix immutable static final string matrix langcodes, colors, countries // Define a constructor method void new() } // End of Class definition // Class constructor method void htmlstatic::new() { // HTML Language codes are broken into three temp matrices and combined at // the end of the method string matrix tmp1, tmp2, tmp3 // Language codes for languages A-G tmp1 = ("Abkhazian", "ab", "" \ "Afar", "aa", "" \ "Afrikaans", "af", "" \ "Albanian", "sq", "" \ "Amharic", "am", "" \ "Arabic", "ar", "" \ "Aragonese", "an", "" \ "Armenian", "hy", "" \ "Assamese", "as", "" \ "Aymara", "ay", "" \ "Azerbaijani", "az", "" \ "Bashkir", "ba", "" \ "Basque", "eu", "" \ "Bengali (Bangla)", "bn", "" \ "Bhutani", "dz", "" \ "Bihari", "bh", "" \ "Bislama", "bi", "" \ "Breton", "br", "" \ "Bulgarian", "bg", "" \ "Burmese", "my", "" \ "Byelorussian (Belarusian)", "be", "" \ "Cambodian", "km", "" \ "Catalan", "ca", "" \ "Cherokee", "", "" \ "Chewa", "", "" \ "Chinese", "zh", "" \ "Chinese (Simplified)", "zh-Hans", "" \ "Chinese (Traditional)", "zh-Hant", "" \ "Corsican", "co", "" \ "Croatian", "hr", "" \ "Czech", "cs", "" \ "Danish", "da", "" \ "Divehi", "", "" \ "Dutch", "nl", "" \ "Edo", "", "" \ "English", "en", "" \ "Esperanto", "eo", "" \ "Estonian", "et", "" \ "Faeroese", "fo", "" \ "Farsi", "fa", "" \ "Fiji", "fj", "" \ "Finnish", "fi", "" \ "Flemish", "", "" \ "French", "fr", "" \ "Frisian", "fy", "" \ "Fulfulde", "", "" \ "Galician", "gl", "" \ "Gaelic (Scottish)", "gd", "" \ "Gaelic (Manx)", "gv", "" \ "Georgian", "ka", "" \ "German", "de", "" \ "Greek", "el", "" \ "Greenlandic", "kl", "" \ "Guarani", "gn", "" \ "Gujarati", "gu", "") // Language codes for languages H-P tmp2 = ("Haitian Creole", "ht", "" \ "Hausa", "ha", "" \ "Hawaiian", "", "" \ "Hebrew", "he", "iw" \ "Hindi", "hi", "" \ "Hungarian", "hu", "" \ "Ibibio", "", "" \ "Icelandic", "is", "" \ "Ido", "io", "" \ "Igbo", "", "" \ "Indonesian", "id", "in" \ "Interlingua", "ia", "" \ "Interlingue", "ie", "" \ "Inuktitut", "iu", "" \ "Inupiak", "ik", "" \ "Irish", "ga", "" \ "Italian", "it", "" \ "Japanese", "ja", "" \ "Javanese", "jv", "" \ "Kannada", "kn", "" \ "Kanuri", "", "" \ "Kashmiri", "ks", "" \ "Kazakh", "kk", "" \ "Kinyarwanda (Ruanda)", "rw", "" \ "Kirghiz", "ky", "" \ "Kirundi (Rundi)", "rn", "" \ "Konkani", "", "" \ "Korean", "ko", "" \ "Kurdish", "ku", "" \ "Laothian", "lo", "" \ "Latin", "la", "" \ "Latvian (Lettish)", "lv", "" \ "Limburgish (Limburger)", "li", "" \ "Lingala", "ln", "" \ "Lithuanian", "lt", "" \ "Macedonian", "mk", "" \ "Malagasy", "mg", "" \ "Malay", "ms", "" \ "Malayalam", "ml", "" \ "Maltese", "mt", "" \ "Maori", "mi", "" \ "Marathi", "mr", "" \ "Moldavian", "mo", "" \ "Mongolian", "mn", "" \ "Nauru", "na", "" \ "Nepali", "ne", "" \ "Norwegian", "no", "" \ "Occitan", "oc", "" \ "Oriya", "or", "" \ "Oromo (AfaanOromo)", "om", "" \ "Papiamentu", "", "" \ "Pashto (Pushto)", "ps", "" \ "Polish", "pl", "" \ "Portuguese", "pt", "" \ "Punjabi", "pa", "") // Language Codes for languages Q-Z tmp3 = ("Quechua", "qu", "" \ "Rhaeto-Romance", "rm", "" \ "Romanian", "ro", "" \ "Russian", "ru", "" \ "Sami (Lappish)", "", "" \ "Samoan", "sm", "" \ "Sangro", "sg", "" \ "Sanskrit", "sa", "" \ "Serbian", "sr", "" \ "Serbo-Croatian", "sh", "" \ "Sesotho", "st", "" \ "Setswana", "tn", "" \ "Shona", "sn", "" \ "Sichuan Yi", "ii", "" \ "Sindhi", "sd", "" \ "Sinhalese", "si", "" \ "Siswati", "ss", "" \ "Slovak", "sk", "" \ "Slovenian", "sl", "" \ "Somali", "so", "" \ "Spanish", "es", "" \ "Sundanese", "su", "" \ "Swahili (Kiswahili)", "sw", "" \ "Swedish", "sv", "" \ "Syriac", "", "" \ "Tagalog", "tl", "" \ "Tajik", "tg", "" \ "Tamazight", "", "" \ "Tamil", "ta", "" \ "Tatar", "tt", "" \ "Telugu", "te", "" \ "Thai", "th", "" \ "Tibetan", "bo", "" \ "Tigrinya", "ti", "" \ "Tonga", "to", "" \ "Tsonga", "ts", "" \ "Turkish", "tr", "" \ "Turkmen", "tk", "" \ "Twi", "tw", "" \ "Uighur", "ug", "" \ "Ukrainian", "uk", "" \ "Urdu", "ur", "" \ "Uzbek", "uz", "" \ "Venda", "", "" \ "Vietnamese", "vi", "" \ "Volapük", "vo", "" \ "Wallon", "wa", "" \ "Welsh", "cy", "" \ "Wolof", "wo", "" \ "Xhosa", "xh", "" \ "Yi", "", "" \ "Yiddish", "yi", "ji" \ "Yoruba", "yo", "" \ "Zulu", "zu", "" ) // Combine all of the temporary matrices into the langcodes member variable for the class this.langcodes = (tmp1 \ tmp2 \ tmp3) tmp1 = ("AFGHANISTAN", "AF" \ "ALBANIA", "AL" \ "ALGERIA", "DZ" \ "AMERICAN SAMOA", "AS" \ "ANDORRA", "AD" \ "ANGOLA", "AO" \ "ANTARCTICA", "AQ" \ "ANTIGUA AND BARBUDA", "AG" \ "ARGENTINA", "AR" \ "ARMENIA", "AM" \ "ARUBA", "AW" \ "AUSTRALIA", "AU" \ "AUSTRIA", "AT" \ "AZERBAIJAN", "AZ" \ "BAHAMAS", "BS" \ "BAHRAIN", "BH" \ "BANGLADESH", "BD" \ "BARBADOS", "BB" \ "BELARUS", "BY" \ "BELGIUM", "BE" \ "BELIZE", "BZ" \ "BENIN", "BJ" \ "BERMUDA", "BM" \ "BHUTAN", "BT" \ "BOLIVIA", "BO" \ "BOSNIA AND HERZEGOVINA", "BA" \ "BOTSWANA", "BW" \ "BOUVET ISLAND", "BV" \ "BRAZIL", "BR" \ "BRITISH INDIAN OCEAN TERRITORY", "IO" \ "BRUNEI DARUSSALAM", "BN" \ "BULGARIA", "BG" \ "BURKINA FASO", "BF" \ "BURUNDI", "BI" \ "CAMBODIA", "KH" \ "CAMEROON", "CM" \ "CANADA", "CA" \ "CAPE VERDE", "CV" \ "CAYMAN ISLANDS", "KY" \ "CENTRAL AFRICAN REPUBLIC", "CF" \ "CHAD", "TD" \ "CHILE", "CL" \ "CHINA", "CN" \ "CHRISTMAS ISLAND", "CX" \ "COCOS KEELING ISLANDS", "CC" \ "COLOMBIA", "CO" \ "COMOROS", "KM" \ "CONGO", "CG" \ "THE DEMOCRATIC REPUBLIC OF THE CONGO", "CD" \ "COOK ISLANDS", "CK" \ "COSTA RICA", "CR" \ "COTE DIVOIRE", "CI" \ "CROATIA", "HR" \ "CUBA", "CU" \ "CYPRUS", "CY" \ "CZECH REPUBLIC", "CZ" \ "DENMARK", "DK" \ "DJIBOUTI", "DJ" \ "DOMINICA", "DM" \ "DOMINICAN REPUBLIC", "DO" \ "ECUADOR", "EC" \ "EGYPT", "EG" \ "EL SALVADOR", "SV" \ "EQUATORIAL GUINEA", "GQ" \ "ERITREA", "ER" \ "ESTONIA", "EE" \ "ETHIOPIA", "ET" \ "FALKLAND ISLANDS MALVINAS", "FK" \ "FAROE ISLANDS", "FO" \ "FIJI", "FJ" \ "FINLAND", "FI" \ "FRANCE", "FR" \ "FRENCH GUIANA", "GF" \ "FRENCH POLYNESIA", "PF" \ "FRENCH SOUTHERN TERRITORIES", "TF" \ "GABON", "GA" \ "GAMBIA", "GM" \ "GEORGIA", "GE" \ "GERMANY", "DE" \ "GHANA", "GH" \ "GIBRALTAR", "GI" \ "GREECE", "GR" \ "GREENLAND", "GL" \ "GRENADA", "GD" \ "GUADELOUPE", "GP" \ "GUAM", "GU" \ "GUATEMALA", "GT" \ "GUINEA", "GN" \ "GUINEA BISSAU", "GW" \ "GUYANA", "GY" \ "HAITI", "HT" \ "HEARD ISLAND AND MCDONALD ISLANDS", "HM" \ "HONDURAS", "HN" \ "HONG KONG", "HK" \ "HUNGARY", "HU") tmp2 = ("ICELAND", "IS" \ "INDIA", "IN" \ "INDONESIA", "ID" \ "ISLAMIC REPUBLIC OF IRAN", "IR" \ "IRAQ", "IQ" \ "IRELAND", "IE" \ "ISRAEL", "IL" \ "ITALY", "IT" \ "JAMAICA", "JM" \ "JAPAN", "JP" \ "JORDAN", "JO" \ "KAZAKHSTAN", "KZ" \ "KENYA", "KE" \ "KIRIBATI", "KI" \ "DEMOCRATIC PEOPLES REPUBLIC OF KOREA", "KP" \ "REPUBLIC OF KOREA", "KR" \ "KUWAIT", "KW" \ "KYRGYZSTAN", "KG" \ "LAO PEOPLES DEMOCRATIC REPUBLIC", "LA" \ "LATVIA", "LV" \ "LEBANON", "LB" \ "LESOTHO", "LS" \ "LIBERIA", "LR" \ "LIBYAN ARAB JAMAHIRIYA", "LY" \ "LIECHTENSTEIN", "LI" \ "LITHUANIA", "LT" \ "LUXEMBOURG", "LU" \ "MACAO", "MO" \ "THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA", "MK" \ "MADAGASCAR", "MG" \ "MALAWI", "MW" \ "MALAYSIA", "MY" \ "MALDIVES", "MV" \ "MALI", "ML" \ "MALTA", "MT" \ "MARSHALL ISLANDS", "MH" \ "MARTINIQUE", "MQ" \ "MAURITANIA", "MR" \ "MAURITIUS", "MU" \ "MAYOTTE", "YT" \ "MEXICO", "MX" \ "FEDERATED STATES OF MICRONESIA", "FM" \ "REPUBLIC OF MOLDOVA", "MD" \ "MONACO", "MC" \ "MONGOLIA", "MN" \ "MONTENEGRO", "ME" \ "MONTSERRAT", "MS" \ "MOROCCO", "MA" \ "MOZAMBIQUE", "MZ" \ "MYANMAR", "MM" \ "NAMIBIA", "<NA>" \ "NAURU", "NR" \ "NEPAL", "NP" \ "NETHERLANDS", "NL" \ "NETHERLANDS ANTILLES", "AN" \ "NEW CALEDONIA", "NC" \ "NEW ZEALAND", "NZ" \ "NICARAGUA", "NI" \ "NIGER", "NE" \ "NIGERIA", "NG" \ "NIUE", "NU" \ "NORFOLK ISLAND", "NF" \ "NORTHERN MARIANA ISLANDS", "MP" \ "NORWAY", "NO" \ "OMAN", "OM" \ "PAKISTAN", "PK" \ "PALAU", "PW" \ "OCCUPIED PALESTINIAN TERRITORY", "PS" \ "PANAMA", "PA" \ "PAPUA NEW GUINEA", "PG" \ "PARAGUAY", "PY" \ "PERU", "PE" \ "PHILIPPINES", "PH" \ "PITCAIRN", "PN" \ "POLAND", "PL" \ "PORTUGAL", "PT" \ "PUERTO RICO", "PR" \ "QATAR", "QA" \ "RÉUNION", "RE" \ "ROMANIA", "RO" \ "RUSSIAN FEDERATION", "RU" \ "RWANDA", "RW") tmp3 = ("SAINT HELENA", "SH" \ "SAINT KITTS AND NEVIS", "KN" \ "SAINT LUCIA", "LC" \ "SAINT PIERRE AND MIQUELON", "PM" \ "SAINT VINCENT AND THE GRENADINES", "VC" \ "SAMOA", "WS" \ "SAN MARINO", "SM" \ "SAO TOME AND PRINCIPE", "ST" \ "SAUDI ARABIA", "SA" \ "SENEGAL", "SN" \ "SERBIA", "RS" \ "SEYCHELLES", "SC" \ "SIERRA LEONE", "SL" \ "SINGAPORE", "SG" \ "SLOVAKIA", "SK" \ "SLOVENIA", "SI" \ "SOLOMON ISLANDS", "SB" \ "SOMALIA", "SO" \ "SOUTH AFRICA", "ZA" \ "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "GS" \ "SPAIN", "ES" \ "SRI LANKA", "LK" \ "SUDAN", "SD" \ "SURINAME", "SR" \ "SVALBARD AND JAN MAYEN", "SJ" \ "SWAZILAND", "SZ" \ "SWEDEN", "SE" \ "SWITZERLAND", "CH" \ "SYRIAN ARAB REPUBLIC", "SY" \ "TAIWAN", "TW" \ "TAJIKISTAN", "TJ" \ "UNITED REPUBLIC OF TANZANIA", "TZ" \ "THAILAND", "TH" \ "TIMOR-LESTE", "TL" \ "TOGO", "TG" \ "TOKELAU", "TK" \ "TONGA", "TO" \ "TRINIDAD AND TOBAGO", "TT" \ "TUNISIA", "TN" \ "TURKEY", "TR" \ "TURKMENISTAN", "TM" \ "TURKS AND CAICOS ISLANDS", "TC" \ "TUVALU", "TV" \ "UGANDA", "UG" \ "UKRAINE", "UA" \ "UNITED ARAB EMIRATES", "AE" \ "UNITED KINGDOM", "GB" \ "UNITED STATES", "US" \ "US MINOR OUTLYING ISLANDS", "UM" \ "URUGUAY", "UY" \ "UZBEKISTAN", "UZ" \ "VANUATU", "VU" \ "VENEZUELA", "VE" \ "VIETNAM", "VN" \ "BRITISH VIRGIN ISLANDS", "VG" \ "US VIRGIN ISLANDS", "VI" \ "WALLIS AND FUTUNA", "WF" \ "WESTERN SAHARA", "EH" \ "YEMEN", "YE" \ "ZAMBIA", "ZM" \ "ZIMBABWE", "ZW") this.countries = (tmp1 \ tmp2 \ tmp3) tmp1 = ("AliceBlue", "#f0f8ff" \ "AntiqueWhite", "#faebd7" \ "Aqua", "#00ffff" \ "Aquamarine", "#7fffd4" \ "Azure", "#f0ffff" \ "Beige", "#f5f5dc" \ "Bisque", "#ffe4c4" \ "Black", "#000000" \ "BlanchedAlmond", "#ffebcd" \ "Blue", "#0000ff" \ "BlueViolet", "#8a2be2" \ "Brown", "#a52a2a" \ "BurlyWood", "#deb887" \ "CadetBlue", "#5f9ea0" \ "Chartreuse", "#7fff00" \ "Chocolate", "#d2691e" \ "Coral", "#ff7f50" \ "CornflowerBlue", "#6495ed" \ "Cornsilk", "#fff8dc" \ "Crimson", "#dc143c" \ "Cyan", "#00ffff" \ "DarkBlue", "#00008b" \ "DarkCyan", "#008b8b" \ "DarkGoldenRod", "#b8860b" \ "DarkGray", "#a9a9a9" \ "DarkGreen", "#006400" \ "DarkKhaki", "#bdb76b" \ "DarkMagenta", "#8b008b" \ "DarkOliveGreen", "#556b2f" \ "DarkOrange", "#ff8c00" \ "DarkOrchid", "#9932cc" \ "DarkRed", "#8b0000" \ "DarkSalmon", "#e9967a" \ "DarkSeaGreen", "#8fbc8f" \ "DarkSlateBlue", "#483d8b" \ "DarkSlateGray", "#2f4f4f" \ "DarkTurquoise", "#00ced1" \ "DarkViolet", "#9400d3" \ "DeepPink", "#ff1493" \ "DeepSkyBlue", "#00bfff" \ "DimGray", "#696969" \ "DodgerBlue", "#1e90ff" \ "FireBrick", "#b22222" \ "FloralWhite", "#fffaf0" \ "ForestGreen", "#228b22" \ "Fuchsia", "#ff00ff" \ "Gainsboro", "#dcdcdc" \ "GhostWhite", "#f8f8ff" \ "Gold", "#ffd700" \ "GoldenRod", "#daa520" \ "Gray", "#808080" \ "Green", "#008000" \ "GreenYellow", "#adff2f" \ "HoneyDew", "#f0fff0" \ "HotPink", "#ff69b4" \ "IndianRed", "#cd5c5c" \ "Indigo", "#4b0082" \ "Ivory", "#fffff0" \ "Khaki", "#f0e68c" \ "Lavender", "#e6e6fa" \ "LavenderBlush", "#fff0f5" \ "LawnGreen", "#7cfc00" \ "LemonChiffon", "#fffacd" \ "LightBlue", "#add8e6" \ "LightCoral", "#f08080" \ "LightCyan", "#e0ffff" \ "LightGoldenRodYellow", "#fafad2" \ "LightGray", "#d3d3d3" \ "LightGreen", "#90ee90" \ "LightPink", "#ffb6c1" \ "LightSalmon", "#ffa07a" \ "LightSeaGreen", "#20b2aa" \ "LightSkyBlue", "#87cefa" \ "LightSlateGray", "#778899" \ "LightSteelBlue", "#b0c4de" \ "LightYellow", "#ffffe0" \ "Lime", "#00ff00" \ "LimeGreen", "#32cd32" \ "Linen", "#faf0e6") tmp2 = ("Magenta", "#ff00ff" \ "Maroon", "#800000" \ "MediumAquaMarine", "#66cdaa" \ "MediumBlue", "#0000cd" \ "MediumOrchid", "#ba55d3" \ "MediumPurple", "#9370db" \ "MediumSeaGreen", "#3cb371" \ "MediumSlateBlue", "#7b68ee" \ "MediumSpringGreen", "#00fa9a" \ "MediumTurquoise", "#48d1cc" \ "MediumVioletRed", "#c71585" \ "MidnightBlue", "#191970" \ "MintCream", "#f5fffa" \ "MistyRose", "#ffe4e1" \ "Moccasin", "#ffe4b5" \ "NavajoWhite", "#ffdead" \ "Navy", "#000080" \ "OldLace", "#fdf5e6" \ "Olive", "#808000" \ "OliveDrab", "#6b8e23" \ "Orange", "#ffa500" \ "OrangeRed", "#ff4500" \ "Orchid", "#da70d6" \ "PaleGoldenRod", "#eee8aa" \ "PaleGreen", "#98fb98" \ "PaleTurquoise", "#afeeee" \ "PaleVioletRed", "#db7093" \ "PapayaWhip", "#ffefd5" \ "PeachPuff", "#ffdab9" \ "Peru", "#cd853f" \ "Pink", "#ffc0cb" \ "Plum", "#dda0dd" \ "PowderBlue", "#b0e0e6" \ "Purple", "#800080" \ "RebeccaPurple", "#663399" \ "Red", "#ff0000" \ "RosyBrown", "#bc8f8f" \ "RoyalBlue", "#4169e1" \ "SaddleBrown", "#8b4513" \ "Salmon", "#fa8072" \ "SandyBrown", "#f4a460" \ "SeaGreen", "#2e8b57" \ "SeaShell", "#fff5ee" \ "Sienna", "#a0522d" \ "Silver", "#c0c0c0" \ "SkyBlue", "#87ceeb" \ "SlateBlue", "#6a5acd" \ "SlateGray", "#708090" \ "Snow", "#fffafa" \ "SpringGreen", "#00ff7f" \ "SteelBlue", "#4682b4" \ "Tan", "#d2b48c" \ "Teal", "#008080" \ "Thistle", "#d8bfd8" \ "Tomato", "#ff6347" \ "Turquoise", "#40e0d0" \ "Violet", "#ee82ee" \ "Wheat", "#f5deb3" \ "White", "#ffffff" \ "WhiteSmoke", "#f5f5f5" \ "Yellow", "#ffff00" \ "YellowGreen", "#9acd32") this.colors = (tmp1 \ tmp2) } // End Constructor method for htmllanguage class // End Mata session and return to Stata end
Code:
... too many string literals (297 lines skipped) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- r(3000); end of do-file r(3000);
Code:
tmp1 = ("Abkhazian", "ab", "" \ "Afar", "aa", "" \ "Afrikaans", "af", "" \ "Albanian", "sq", "" \ "Amharic", "am", "" \ "Arabic", "ar", "" \ "Aragonese", "an", "" \ "Armenian", "hy", "" \ "Assamese", "as", "" \ "Aymara", "ay", "" \ "Azerbaijani", "az", "" \ "Bashkir", "ba", "" \ "Basque", "eu", "" \ "Bengali (Bangla)", "bn", "" \ "Bhutani", "dz", "" \ "Bihari", "bh", "" \ "Bislama", "bi", "" \ "Breton", "br", "" \ "Bulgarian", "bg", "" \ "Burmese", "my", "" \ "Byelorussian (Belarusian)", "be", "" \ "Cambodian", "km", "" \ "Catalan", "ca", "" \ "Cherokee", "", "" \ "Chewa", "", "" \ "Chinese", "zh", "" \ "Chinese (Simplified)", "zh-Hans", "" \ "Chinese (Traditional)", "zh-Hant", "" \ "Corsican", "co", "" \ "Croatian", "hr", "" \ "Czech", "cs", "" \ "Danish", "da", "" \ "Divehi", "", "" \ "Dutch", "nl", "" \ "Edo", "", "" \ "English", "en", "" \ "Esperanto", "eo", "" \ "Estonian", "et", "" \ "Faeroese", "fo", "" \ "Farsi", "fa", "" \ "Fiji", "fj", "" \ "Finnish", "fi", "" \ "Flemish", "", "" \ "French", "fr", "" \ "Frisian", "fy", "" \ "Fulfulde", "", "" \ "Galician", "gl", "" \ "Gaelic (Scottish)", "gd", "" \ "Gaelic (Manx)", "gv", "" \ "Georgian", "ka", "" \ "German", "de", "" \ "Greek", "el", "" \ "Greenlandic", "kl", "" \ "Guarani", "gn", "" \ "Gujarati", "gu", "") tmp2 = ("Haitian Creole", "ht", "" \ "Hausa", "ha", "" \ "Hawaiian", "", "" \ "Hebrew", "he", "iw" \ "Hindi", "hi", "" \ "Hungarian", "hu", "" \ "Ibibio", "", "" \ "Icelandic", "is", "" \ "Ido", "io", "" \ "Igbo", "", "" \ "Indonesian", "id", "in" \ "Interlingua", "ia", "" \ "Interlingue", "ie", "" \ "Inuktitut", "iu", "" \ "Inupiak", "ik", "" \ "Irish", "ga", "" \ "Italian", "it", "" \ "Japanese", "ja", "" \ "Javanese", "jv", "" \ "Kannada", "kn", "" \ "Kanuri", "", "" \ "Kashmiri", "ks", "" \ "Kazakh", "kk", "" \ "Kinyarwanda (Ruanda)", "rw", "" \ "Kirghiz", "ky", "" \ "Kirundi (Rundi)", "rn", "" \ "Konkani", "", "" \ "Korean", "ko", "" \ "Kurdish", "ku", "" \ "Laothian", "lo", "" \ "Latin", "la", "" \ "Latvian (Lettish)", "lv", "" \ "Limburgish (Limburger)", "li", "" \ "Lingala", "ln", "" \ "Lithuanian", "lt", "" \ "Macedonian", "mk", "" \ "Malagasy", "mg", "" \ "Malay", "ms", "" \ "Malayalam", "ml", "" \ "Maltese", "mt", "" \ "Maori", "mi", "" \ "Marathi", "mr", "" \ "Moldavian", "mo", "" \ "Mongolian", "mn", "" \ "Nauru", "na", "" \ "Nepali", "ne", "" \ "Norwegian", "no", "" \ "Occitan", "oc", "" \ "Oriya", "or", "" \ "Oromo (AfaanOromo)", "om", "" \ "Papiamentu", "", "" \ "Pashto (Pushto)", "ps", "" \ "Polish", "pl", "" \ "Portuguese", "pt", "" \ "Punjabi", "pa", "") tmp3 = ("Quechua", "qu", "" \ "Rhaeto-Romance", "rm", "" \ "Romanian", "ro", "" \ "Russian", "ru", "" \ "Sami (Lappish)", "", "" \ "Samoan", "sm", "" \ "Sangro", "sg", "" \ "Sanskrit", "sa", "" \ "Serbian", "sr", "" \ "Serbo-Croatian", "sh", "" \ "Sesotho", "st", "" \ "Setswana", "tn", "" \ "Shona", "sn", "" \ "Sichuan Yi", "ii", "" \ "Sindhi", "sd", "" \ "Sinhalese", "si", "" \ "Siswati", "ss", "" \ "Slovak", "sk", "" \ "Slovenian", "sl", "" \ "Somali", "so", "" \ "Spanish", "es", "" \ "Sundanese", "su", "" \ "Swahili (Kiswahili)", "sw", "" \ "Swedish", "sv", "" \ "Syriac", "", "" \ "Tagalog", "tl", "" \ "Tajik", "tg", "" \ "Tamazight", "", "" \ "Tamil", "ta", "" \ "Tatar", "tt", "" \ "Telugu", "te", "" \ "Thai", "th", "" \ "Tibetan", "bo", "" \ "Tigrinya", "ti", "" \ "Tonga", "to", "" \ "Tsonga", "ts", "" \ "Turkish", "tr", "" \ "Turkmen", "tk", "" \ "Twi", "tw", "" \ "Uighur", "ug", "" \ "Ukrainian", "uk", "" \ "Urdu", "ur", "" \ "Uzbek", "uz", "" \ "Venda", "", "" \ "Vietnamese", "vi", "" \ "Volapük", "vo", "" \ "Wallon", "wa", "" \ "Welsh", "cy", "" \ "Wolof", "wo", "" \ "Xhosa", "xh", "" \ "Yi", "", "" \ "Yiddish", "yi", "ji" \ "Yoruba", "yo", "" \ "Zulu", "zu", "" ) langcodes = (tmp1 \ tmp2 \ tmp3) tmp1 = ("AFGHANISTAN", "AF" \ "ALBANIA", "AL" \ "ALGERIA", "DZ" \ "AMERICAN SAMOA", "AS" \ "ANDORRA", "AD" \ "ANGOLA", "AO" \ "ANTARCTICA", "AQ" \ "ANTIGUA AND BARBUDA", "AG" \ "ARGENTINA", "AR" \ "ARMENIA", "AM" \ "ARUBA", "AW" \ "AUSTRALIA", "AU" \ "AUSTRIA", "AT" \ "AZERBAIJAN", "AZ" \ "BAHAMAS", "BS" \ "BAHRAIN", "BH" \ "BANGLADESH", "BD" \ "BARBADOS", "BB" \ "BELARUS", "BY" \ "BELGIUM", "BE" \ "BELIZE", "BZ" \ "BENIN", "BJ" \ "BERMUDA", "BM" \ "BHUTAN", "BT" \ "BOLIVIA", "BO" \ "BOSNIA AND HERZEGOVINA", "BA" \ "BOTSWANA", "BW" \ "BOUVET ISLAND", "BV" \ "BRAZIL", "BR" \ "BRITISH INDIAN OCEAN TERRITORY", "IO" \ "BRUNEI DARUSSALAM", "BN" \ "BULGARIA", "BG" \ "BURKINA FASO", "BF" \ "BURUNDI", "BI" \ "CAMBODIA", "KH" \ "CAMEROON", "CM" \ "CANADA", "CA" \ "CAPE VERDE", "CV" \ "CAYMAN ISLANDS", "KY" \ "CENTRAL AFRICAN REPUBLIC", "CF" \ "CHAD", "TD" \ "CHILE", "CL" \ "CHINA", "CN" \ "CHRISTMAS ISLAND", "CX" \ "COCOS KEELING ISLANDS", "CC" \ "COLOMBIA", "CO" \ "COMOROS", "KM" \ "CONGO", "CG" \ "THE DEMOCRATIC REPUBLIC OF THE CONGO", "CD" \ "COOK ISLANDS", "CK" \ "COSTA RICA", "CR" \ "COTE DIVOIRE", "CI" \ "CROATIA", "HR" \ "CUBA", "CU" \ "CYPRUS", "CY" \ "CZECH REPUBLIC", "CZ" \ "DENMARK", "DK" \ "DJIBOUTI", "DJ" \ "DOMINICA", "DM" \ "DOMINICAN REPUBLIC", "DO" \ "ECUADOR", "EC" \ "EGYPT", "EG" \ "EL SALVADOR", "SV" \ "EQUATORIAL GUINEA", "GQ" \ "ERITREA", "ER" \ "ESTONIA", "EE" \ "ETHIOPIA", "ET" \ "FALKLAND ISLANDS MALVINAS", "FK" \ "FAROE ISLANDS", "FO" \ "FIJI", "FJ" \ "FINLAND", "FI" \ "FRANCE", "FR" \ "FRENCH GUIANA", "GF" \ "FRENCH POLYNESIA", "PF" \ "FRENCH SOUTHERN TERRITORIES", "TF" \ "GABON", "GA" \ "GAMBIA", "GM" \ "GEORGIA", "GE" \ "GERMANY", "DE" \ "GHANA", "GH" \ "GIBRALTAR", "GI" \ "GREECE", "GR" \ "GREENLAND", "GL" \ "GRENADA", "GD" \ "GUADELOUPE", "GP" \ "GUAM", "GU" \ "GUATEMALA", "GT" \ "GUINEA", "GN" \ "GUINEA BISSAU", "GW" \ "GUYANA", "GY" \ "HAITI", "HT" \ "HEARD ISLAND AND MCDONALD ISLANDS", "HM" \ "HONDURAS", "HN" \ "HONG KONG", "HK" \ "HUNGARY", "HU") tmp2 = ("ICELAND", "IS" \ "INDIA", "IN" \ "INDONESIA", "ID" \ "ISLAMIC REPUBLIC OF IRAN", "IR" \ "IRAQ", "IQ" \ "IRELAND", "IE" \ "ISRAEL", "IL" \ "ITALY", "IT" \ "JAMAICA", "JM" \ "JAPAN", "JP" \ "JORDAN", "JO" \ "KAZAKHSTAN", "KZ" \ "KENYA", "KE" \ "KIRIBATI", "KI" \ "DEMOCRATIC PEOPLES REPUBLIC OF KOREA", "KP" \ "REPUBLIC OF KOREA", "KR" \ "KUWAIT", "KW" \ "KYRGYZSTAN", "KG" \ "LAO PEOPLES DEMOCRATIC REPUBLIC", "LA" \ "LATVIA", "LV" \ "LEBANON", "LB" \ "LESOTHO", "LS" \ "LIBERIA", "LR" \ "LIBYAN ARAB JAMAHIRIYA", "LY" \ "LIECHTENSTEIN", "LI" \ "LITHUANIA", "LT" \ "LUXEMBOURG", "LU" \ "MACAO", "MO" \ "THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA", "MK" \ "MADAGASCAR", "MG" \ "MALAWI", "MW" \ "MALAYSIA", "MY" \ "MALDIVES", "MV" \ "MALI", "ML" \ "MALTA", "MT" \ "MARSHALL ISLANDS", "MH" \ "MARTINIQUE", "MQ" \ "MAURITANIA", "MR" \ "MAURITIUS", "MU" \ "MAYOTTE", "YT" \ "MEXICO", "MX" \ "FEDERATED STATES OF MICRONESIA", "FM" \ "REPUBLIC OF MOLDOVA", "MD" \ "MONACO", "MC" \ "MONGOLIA", "MN" \ "MONTENEGRO", "ME" \ "MONTSERRAT", "MS" \ "MOROCCO", "MA" \ "MOZAMBIQUE", "MZ" \ "MYANMAR", "MM" \ "NAMIBIA", "<NA>" \ "NAURU", "NR" \ "NEPAL", "NP" \ "NETHERLANDS", "NL" \ "NETHERLANDS ANTILLES", "AN" \ "NEW CALEDONIA", "NC" \ "NEW ZEALAND", "NZ" \ "NICARAGUA", "NI" \ "NIGER", "NE" \ "NIGERIA", "NG" \ "NIUE", "NU" \ "NORFOLK ISLAND", "NF" \ "NORTHERN MARIANA ISLANDS", "MP" \ "NORWAY", "NO" \ "OMAN", "OM" \ "PAKISTAN", "PK" \ "PALAU", "PW" \ "OCCUPIED PALESTINIAN TERRITORY", "PS" \ "PANAMA", "PA" \ "PAPUA NEW GUINEA", "PG" \ "PARAGUAY", "PY" \ "PERU", "PE" \ "PHILIPPINES", "PH" \ "PITCAIRN", "PN" \ "POLAND", "PL" \ "PORTUGAL", "PT" \ "PUERTO RICO", "PR" \ "QATAR", "QA" \ "RÉUNION", "RE" \ "ROMANIA", "RO" \ "RUSSIAN FEDERATION", "RU" \ "RWANDA", "RW") tmp3 = ("SAINT HELENA", "SH" \ "SAINT KITTS AND NEVIS", "KN" \ "SAINT LUCIA", "LC" \ "SAINT PIERRE AND MIQUELON", "PM" \ "SAINT VINCENT AND THE GRENADINES", "VC" \ "SAMOA", "WS" \ "SAN MARINO", "SM" \ "SAO TOME AND PRINCIPE", "ST" \ "SAUDI ARABIA", "SA" \ "SENEGAL", "SN" \ "SERBIA", "RS" \ "SEYCHELLES", "SC" \ "SIERRA LEONE", "SL" \ "SINGAPORE", "SG" \ "SLOVAKIA", "SK" \ "SLOVENIA", "SI" \ "SOLOMON ISLANDS", "SB" \ "SOMALIA", "SO" \ "SOUTH AFRICA", "ZA" \ "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "GS" \ "SPAIN", "ES" \ "SRI LANKA", "LK" \ "SUDAN", "SD" \ "SURINAME", "SR" \ "SVALBARD AND JAN MAYEN", "SJ" \ "SWAZILAND", "SZ" \ "SWEDEN", "SE" \ "SWITZERLAND", "CH" \ "SYRIAN ARAB REPUBLIC", "SY" \ "TAIWAN", "TW" \ "TAJIKISTAN", "TJ" \ "UNITED REPUBLIC OF TANZANIA", "TZ" \ "THAILAND", "TH" \ "TIMOR-LESTE", "TL" \ "TOGO", "TG" \ "TOKELAU", "TK" \ "TONGA", "TO" \ "TRINIDAD AND TOBAGO", "TT" \ "TUNISIA", "TN" \ "TURKEY", "TR" \ "TURKMENISTAN", "TM" \ "TURKS AND CAICOS ISLANDS", "TC" \ "TUVALU", "TV" \ "UGANDA", "UG" \ "UKRAINE", "UA" \ "UNITED ARAB EMIRATES", "AE" \ "UNITED KINGDOM", "GB" \ "UNITED STATES", "US" \ "US MINOR OUTLYING ISLANDS", "UM" \ "URUGUAY", "UY" \ "UZBEKISTAN", "UZ" \ "VANUATU", "VU" \ "VENEZUELA", "VE" \ "VIETNAM", "VN" \ "BRITISH VIRGIN ISLANDS", "VG" \ "US VIRGIN ISLANDS", "VI" \ "WALLIS AND FUTUNA", "WF" \ "WESTERN SAHARA", "EH" \ "YEMEN", "YE" \ "ZAMBIA", "ZM" \ "ZIMBABWE", "ZW") countries = (tmp1 \ tmp2 \ tmp3) tmp1 = ("AliceBlue", "#f0f8ff" \ "AntiqueWhite", "#faebd7" \ "Aqua", "#00ffff" \ "Aquamarine", "#7fffd4" \ "Azure", "#f0ffff" \ "Beige", "#f5f5dc" \ "Bisque", "#ffe4c4" \ "Black", "#000000" \ "BlanchedAlmond", "#ffebcd" \ "Blue", "#0000ff" \ "BlueViolet", "#8a2be2" \ "Brown", "#a52a2a" \ "BurlyWood", "#deb887" \ "CadetBlue", "#5f9ea0" \ "Chartreuse", "#7fff00" \ "Chocolate", "#d2691e" \ "Coral", "#ff7f50" \ "CornflowerBlue", "#6495ed" \ "Cornsilk", "#fff8dc" \ "Crimson", "#dc143c" \ "Cyan", "#00ffff" \ "DarkBlue", "#00008b" \ "DarkCyan", "#008b8b" \ "DarkGoldenRod", "#b8860b" \ "DarkGray", "#a9a9a9" \ "DarkGreen", "#006400" \ "DarkKhaki", "#bdb76b" \ "DarkMagenta", "#8b008b" \ "DarkOliveGreen", "#556b2f" \ "DarkOrange", "#ff8c00" \ "DarkOrchid", "#9932cc" \ "DarkRed", "#8b0000" \ "DarkSalmon", "#e9967a" \ "DarkSeaGreen", "#8fbc8f" \ "DarkSlateBlue", "#483d8b" \ "DarkSlateGray", "#2f4f4f" \ "DarkTurquoise", "#00ced1" \ "DarkViolet", "#9400d3" \ "DeepPink", "#ff1493" \ "DeepSkyBlue", "#00bfff" \ "DimGray", "#696969" \ "DodgerBlue", "#1e90ff" \ "FireBrick", "#b22222" \ "FloralWhite", "#fffaf0" \ "ForestGreen", "#228b22" \ "Fuchsia", "#ff00ff" \ "Gainsboro", "#dcdcdc" \ "GhostWhite", "#f8f8ff" \ "Gold", "#ffd700" \ "GoldenRod", "#daa520" \ "Gray", "#808080" \ "Green", "#008000" \ "GreenYellow", "#adff2f" \ "HoneyDew", "#f0fff0" \ "HotPink", "#ff69b4" \ "IndianRed", "#cd5c5c" \ "Indigo", "#4b0082" \ "Ivory", "#fffff0" \ "Khaki", "#f0e68c" \ "Lavender", "#e6e6fa" \ "LavenderBlush", "#fff0f5" \ "LawnGreen", "#7cfc00" \ "LemonChiffon", "#fffacd" \ "LightBlue", "#add8e6" \ "LightCoral", "#f08080" \ "LightCyan", "#e0ffff" \ "LightGoldenRodYellow", "#fafad2" \ "LightGray", "#d3d3d3" \ "LightGreen", "#90ee90" \ "LightPink", "#ffb6c1" \ "LightSalmon", "#ffa07a" \ "LightSeaGreen", "#20b2aa" \ "LightSkyBlue", "#87cefa" \ "LightSlateGray", "#778899" \ "LightSteelBlue", "#b0c4de" \ "LightYellow", "#ffffe0" \ "Lime", "#00ff00" \ "LimeGreen", "#32cd32" \ "Linen", "#faf0e6") tmp2 = ("Magenta", "#ff00ff" \ "Maroon", "#800000" \ "MediumAquaMarine", "#66cdaa" \ "MediumBlue", "#0000cd" \ "MediumOrchid", "#ba55d3" \ "MediumPurple", "#9370db" \ "MediumSeaGreen", "#3cb371" \ "MediumSlateBlue", "#7b68ee" \ "MediumSpringGreen", "#00fa9a" \ "MediumTurquoise", "#48d1cc" \ "MediumVioletRed", "#c71585" \ "MidnightBlue", "#191970" \ "MintCream", "#f5fffa" \ "MistyRose", "#ffe4e1" \ "Moccasin", "#ffe4b5" \ "NavajoWhite", "#ffdead" \ "Navy", "#000080" \ "OldLace", "#fdf5e6" \ "Olive", "#808000" \ "OliveDrab", "#6b8e23" \ "Orange", "#ffa500" \ "OrangeRed", "#ff4500" \ "Orchid", "#da70d6" \ "PaleGoldenRod", "#eee8aa" \ "PaleGreen", "#98fb98" \ "PaleTurquoise", "#afeeee" \ "PaleVioletRed", "#db7093" \ "PapayaWhip", "#ffefd5" \ "PeachPuff", "#ffdab9" \ "Peru", "#cd853f" \ "Pink", "#ffc0cb" \ "Plum", "#dda0dd" \ "PowderBlue", "#b0e0e6" \ "Purple", "#800080" \ "RebeccaPurple", "#663399" \ "Red", "#ff0000" \ "RosyBrown", "#bc8f8f" \ "RoyalBlue", "#4169e1" \ "SaddleBrown", "#8b4513" \ "Salmon", "#fa8072" \ "SandyBrown", "#f4a460" \ "SeaGreen", "#2e8b57" \ "SeaShell", "#fff5ee" \ "Sienna", "#a0522d" \ "Silver", "#c0c0c0" \ "SkyBlue", "#87ceeb" \ "SlateBlue", "#6a5acd" \ "SlateGray", "#708090" \ "Snow", "#fffafa" \ "SpringGreen", "#00ff7f" \ "SteelBlue", "#4682b4" \ "Tan", "#d2b48c" \ "Teal", "#008080" \ "Thistle", "#d8bfd8" \ "Tomato", "#ff6347" \ "Turquoise", "#40e0d0" \ "Violet", "#ee82ee" \ "Wheat", "#f5deb3" \ "White", "#ffffff" \ "WhiteSmoke", "#f5f5f5" \ "Yellow", "#ffff00" \ "YellowGreen", "#9acd32") colors = (tmp1 \ tmp2)
Comment