OSDN Git Service

Merge "docs: work minisite" into mnc-io-docs am: 8f740bea13
[android-x86/frameworks-base.git] / libs / androidfw / LocaleDataTables.cpp
1 // Auto-generated by frameworks/base/tools/localedata/extract_icu_data.py
2
3 const char SCRIPT_CODES[][4] = {
4     /* 0  */ {'A', 'h', 'o', 'm'},
5     /* 1  */ {'A', 'r', 'a', 'b'},
6     /* 2  */ {'A', 'r', 'm', 'i'},
7     /* 3  */ {'A', 'r', 'm', 'n'},
8     /* 4  */ {'A', 'v', 's', 't'},
9     /* 5  */ {'B', 'a', 'm', 'u'},
10     /* 6  */ {'B', 'a', 's', 's'},
11     /* 7  */ {'B', 'e', 'n', 'g'},
12     /* 8  */ {'B', 'r', 'a', 'h'},
13     /* 9  */ {'C', 'a', 'n', 's'},
14     /* 10 */ {'C', 'a', 'r', 'i'},
15     /* 11 */ {'C', 'h', 'a', 'm'},
16     /* 12 */ {'C', 'h', 'e', 'r'},
17     /* 13 */ {'C', 'o', 'p', 't'},
18     /* 14 */ {'C', 'p', 'r', 't'},
19     /* 15 */ {'C', 'y', 'r', 'l'},
20     /* 16 */ {'D', 'e', 'v', 'a'},
21     /* 17 */ {'E', 'g', 'y', 'p'},
22     /* 18 */ {'E', 't', 'h', 'i'},
23     /* 19 */ {'G', 'e', 'o', 'r'},
24     /* 20 */ {'G', 'o', 't', 'h'},
25     /* 21 */ {'G', 'r', 'e', 'k'},
26     /* 22 */ {'G', 'u', 'j', 'r'},
27     /* 23 */ {'G', 'u', 'r', 'u'},
28     /* 24 */ {'H', 'a', 'n', 's'},
29     /* 25 */ {'H', 'a', 'n', 't'},
30     /* 26 */ {'H', 'a', 't', 'r'},
31     /* 27 */ {'H', 'e', 'b', 'r'},
32     /* 28 */ {'H', 'l', 'u', 'w'},
33     /* 29 */ {'H', 'm', 'n', 'g'},
34     /* 30 */ {'I', 't', 'a', 'l'},
35     /* 31 */ {'J', 'p', 'a', 'n'},
36     /* 32 */ {'K', 'a', 'l', 'i'},
37     /* 33 */ {'K', 'a', 'n', 'a'},
38     /* 34 */ {'K', 'h', 'a', 'r'},
39     /* 35 */ {'K', 'h', 'm', 'r'},
40     /* 36 */ {'K', 'n', 'd', 'a'},
41     /* 37 */ {'K', 'o', 'r', 'e'},
42     /* 38 */ {'K', 't', 'h', 'i'},
43     /* 39 */ {'L', 'a', 'n', 'a'},
44     /* 40 */ {'L', 'a', 'o', 'o'},
45     /* 41 */ {'L', 'a', 't', 'n'},
46     /* 42 */ {'L', 'e', 'p', 'c'},
47     /* 43 */ {'L', 'i', 'n', 'a'},
48     /* 44 */ {'L', 'i', 's', 'u'},
49     /* 45 */ {'L', 'y', 'c', 'i'},
50     /* 46 */ {'L', 'y', 'd', 'i'},
51     /* 47 */ {'M', 'a', 'n', 'd'},
52     /* 48 */ {'M', 'a', 'n', 'i'},
53     /* 49 */ {'M', 'e', 'r', 'c'},
54     /* 50 */ {'M', 'l', 'y', 'm'},
55     /* 51 */ {'M', 'o', 'n', 'g'},
56     /* 52 */ {'M', 'r', 'o', 'o'},
57     /* 53 */ {'M', 'y', 'm', 'r'},
58     /* 54 */ {'N', 'a', 'r', 'b'},
59     /* 55 */ {'N', 'k', 'o', 'o'},
60     /* 56 */ {'O', 'g', 'a', 'm'},
61     /* 57 */ {'O', 'r', 'k', 'h'},
62     /* 58 */ {'O', 'r', 'y', 'a'},
63     /* 59 */ {'P', 'a', 'u', 'c'},
64     /* 60 */ {'P', 'h', 'l', 'i'},
65     /* 61 */ {'P', 'h', 'n', 'x'},
66     /* 62 */ {'P', 'l', 'r', 'd'},
67     /* 63 */ {'P', 'r', 't', 'i'},
68     /* 64 */ {'R', 'u', 'n', 'r'},
69     /* 65 */ {'S', 'a', 'm', 'r'},
70     /* 66 */ {'S', 'a', 'r', 'b'},
71     /* 67 */ {'S', 'a', 'u', 'r'},
72     /* 68 */ {'S', 'g', 'n', 'w'},
73     /* 69 */ {'S', 'i', 'n', 'h'},
74     /* 70 */ {'S', 'o', 'r', 'a'},
75     /* 71 */ {'S', 'y', 'r', 'c'},
76     /* 72 */ {'T', 'a', 'l', 'e'},
77     /* 73 */ {'T', 'a', 'l', 'u'},
78     /* 74 */ {'T', 'a', 'm', 'l'},
79     /* 75 */ {'T', 'a', 'v', 't'},
80     /* 76 */ {'T', 'e', 'l', 'u'},
81     /* 77 */ {'T', 'f', 'n', 'g'},
82     /* 78 */ {'T', 'h', 'a', 'a'},
83     /* 79 */ {'T', 'h', 'a', 'i'},
84     /* 80 */ {'T', 'i', 'b', 't'},
85     /* 81 */ {'U', 'g', 'a', 'r'},
86     /* 82 */ {'V', 'a', 'i', 'i'},
87     /* 83 */ {'X', 'p', 'e', 'o'},
88     /* 84 */ {'X', 's', 'u', 'x'},
89     /* 85 */ {'Y', 'i', 'i', 'i'},
90     /* 86 */ {'~', '~', '~', 'A'},
91     /* 87 */ {'~', '~', '~', 'B'},
92 };
93
94
95 const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({
96     {0x61610000u, 41u}, // aa -> Latn
97     {0x61620000u, 15u}, // ab -> Cyrl
98     {0xC4200000u, 41u}, // abr -> Latn
99     {0x90400000u, 41u}, // ace -> Latn
100     {0x9C400000u, 41u}, // ach -> Latn
101     {0x80600000u, 41u}, // ada -> Latn
102     {0xE0600000u, 15u}, // ady -> Cyrl
103     {0x61650000u,  4u}, // ae -> Avst
104     {0x84800000u,  1u}, // aeb -> Arab
105     {0x61660000u, 41u}, // af -> Latn
106     {0xC0C00000u, 41u}, // agq -> Latn
107     {0xB8E00000u,  0u}, // aho -> Ahom
108     {0x616B0000u, 41u}, // ak -> Latn
109     {0xA9400000u, 84u}, // akk -> Xsux
110     {0xB5600000u, 41u}, // aln -> Latn
111     {0xCD600000u, 15u}, // alt -> Cyrl
112     {0x616D0000u, 18u}, // am -> Ethi
113     {0xB9800000u, 41u}, // amo -> Latn
114     {0xE5C00000u, 41u}, // aoz -> Latn
115     {0x61720000u,  1u}, // ar -> Arab
116     {0x61725842u, 87u}, // ar-XB -> ~~~B
117     {0x8A200000u,  2u}, // arc -> Armi
118     {0xB6200000u, 41u}, // arn -> Latn
119     {0xBA200000u, 41u}, // aro -> Latn
120     {0xC2200000u,  1u}, // arq -> Arab
121     {0xE2200000u,  1u}, // ary -> Arab
122     {0xE6200000u,  1u}, // arz -> Arab
123     {0x61730000u,  7u}, // as -> Beng
124     {0x82400000u, 41u}, // asa -> Latn
125     {0x92400000u, 68u}, // ase -> Sgnw
126     {0xCE400000u, 41u}, // ast -> Latn
127     {0xA6600000u, 41u}, // atj -> Latn
128     {0x61760000u, 15u}, // av -> Cyrl
129     {0x82C00000u, 16u}, // awa -> Deva
130     {0x61790000u, 41u}, // ay -> Latn
131     {0x617A0000u, 41u}, // az -> Latn
132     {0x617A4951u,  1u}, // az-IQ -> Arab
133     {0x617A4952u,  1u}, // az-IR -> Arab
134     {0x617A5255u, 15u}, // az-RU -> Cyrl
135     {0x62610000u, 15u}, // ba -> Cyrl
136     {0xAC010000u,  1u}, // bal -> Arab
137     {0xB4010000u, 41u}, // ban -> Latn
138     {0xBC010000u, 16u}, // bap -> Deva
139     {0xC4010000u, 41u}, // bar -> Latn
140     {0xC8010000u, 41u}, // bas -> Latn
141     {0xDC010000u,  5u}, // bax -> Bamu
142     {0x88210000u, 41u}, // bbc -> Latn
143     {0xA4210000u, 41u}, // bbj -> Latn
144     {0xA0410000u, 41u}, // bci -> Latn
145     {0x62650000u, 15u}, // be -> Cyrl
146     {0xA4810000u,  1u}, // bej -> Arab
147     {0xB0810000u, 41u}, // bem -> Latn
148     {0xD8810000u, 41u}, // bew -> Latn
149     {0xE4810000u, 41u}, // bez -> Latn
150     {0x8CA10000u, 41u}, // bfd -> Latn
151     {0xC0A10000u, 74u}, // bfq -> Taml
152     {0xCCA10000u,  1u}, // bft -> Arab
153     {0xE0A10000u, 16u}, // bfy -> Deva
154     {0x62670000u, 15u}, // bg -> Cyrl
155     {0x88C10000u, 16u}, // bgc -> Deva
156     {0xB4C10000u,  1u}, // bgn -> Arab
157     {0xDCC10000u, 21u}, // bgx -> Grek
158     {0x62680000u, 38u}, // bh -> Kthi
159     {0x84E10000u, 16u}, // bhb -> Deva
160     {0xA0E10000u, 16u}, // bhi -> Deva
161     {0xA8E10000u, 41u}, // bhk -> Latn
162     {0xB8E10000u, 16u}, // bho -> Deva
163     {0x62690000u, 41u}, // bi -> Latn
164     {0xA9010000u, 41u}, // bik -> Latn
165     {0xB5010000u, 41u}, // bin -> Latn
166     {0xA5210000u, 16u}, // bjj -> Deva
167     {0xB5210000u, 41u}, // bjn -> Latn
168     {0xB1410000u, 41u}, // bkm -> Latn
169     {0xD1410000u, 41u}, // bku -> Latn
170     {0xCD610000u, 75u}, // blt -> Tavt
171     {0x626D0000u, 41u}, // bm -> Latn
172     {0xC1810000u, 41u}, // bmq -> Latn
173     {0x626E0000u,  7u}, // bn -> Beng
174     {0x626F0000u, 80u}, // bo -> Tibt
175     {0xE1E10000u,  7u}, // bpy -> Beng
176     {0xA2010000u,  1u}, // bqi -> Arab
177     {0xD6010000u, 41u}, // bqv -> Latn
178     {0x62720000u, 41u}, // br -> Latn
179     {0x82210000u, 16u}, // bra -> Deva
180     {0x9E210000u,  1u}, // brh -> Arab
181     {0xDE210000u, 16u}, // brx -> Deva
182     {0x62730000u, 41u}, // bs -> Latn
183     {0xC2410000u,  6u}, // bsq -> Bass
184     {0xCA410000u, 41u}, // bss -> Latn
185     {0xBA610000u, 41u}, // bto -> Latn
186     {0xD6610000u, 16u}, // btv -> Deva
187     {0x82810000u, 15u}, // bua -> Cyrl
188     {0x8A810000u, 41u}, // buc -> Latn
189     {0x9A810000u, 41u}, // bug -> Latn
190     {0xB2810000u, 41u}, // bum -> Latn
191     {0x86A10000u, 41u}, // bvb -> Latn
192     {0xB7010000u, 18u}, // byn -> Ethi
193     {0xD7010000u, 41u}, // byv -> Latn
194     {0x93210000u, 41u}, // bze -> Latn
195     {0x63610000u, 41u}, // ca -> Latn
196     {0x9C420000u, 41u}, // cch -> Latn
197     {0xBC420000u,  7u}, // ccp -> Beng
198     {0x63650000u, 15u}, // ce -> Cyrl
199     {0x84820000u, 41u}, // ceb -> Latn
200     {0x98C20000u, 41u}, // cgg -> Latn
201     {0x63680000u, 41u}, // ch -> Latn
202     {0xA8E20000u, 41u}, // chk -> Latn
203     {0xB0E20000u, 15u}, // chm -> Cyrl
204     {0xB8E20000u, 41u}, // cho -> Latn
205     {0xBCE20000u, 41u}, // chp -> Latn
206     {0xC4E20000u, 12u}, // chr -> Cher
207     {0x81220000u,  1u}, // cja -> Arab
208     {0xB1220000u, 11u}, // cjm -> Cham
209     {0x85420000u,  1u}, // ckb -> Arab
210     {0x636F0000u, 41u}, // co -> Latn
211     {0xBDC20000u, 13u}, // cop -> Copt
212     {0xC9E20000u, 41u}, // cps -> Latn
213     {0x63720000u,  9u}, // cr -> Cans
214     {0xA6220000u,  9u}, // crj -> Cans
215     {0xAA220000u,  9u}, // crk -> Cans
216     {0xAE220000u,  9u}, // crl -> Cans
217     {0xB2220000u,  9u}, // crm -> Cans
218     {0xCA220000u, 41u}, // crs -> Latn
219     {0x63730000u, 41u}, // cs -> Latn
220     {0x86420000u, 41u}, // csb -> Latn
221     {0xDA420000u,  9u}, // csw -> Cans
222     {0x8E620000u, 59u}, // ctd -> Pauc
223     {0x63750000u, 15u}, // cu -> Cyrl
224     {0x63760000u, 15u}, // cv -> Cyrl
225     {0x63790000u, 41u}, // cy -> Latn
226     {0x64610000u, 41u}, // da -> Latn
227     {0xA8030000u, 41u}, // dak -> Latn
228     {0xC4030000u, 15u}, // dar -> Cyrl
229     {0xD4030000u, 41u}, // dav -> Latn
230     {0x88430000u,  1u}, // dcc -> Arab
231     {0x64650000u, 41u}, // de -> Latn
232     {0xB4830000u, 41u}, // den -> Latn
233     {0xC4C30000u, 41u}, // dgr -> Latn
234     {0x91230000u, 41u}, // dje -> Latn
235     {0xA5A30000u, 41u}, // dnj -> Latn
236     {0xA1C30000u,  1u}, // doi -> Arab
237     {0x86430000u, 41u}, // dsb -> Latn
238     {0xB2630000u, 41u}, // dtm -> Latn
239     {0xBE630000u, 41u}, // dtp -> Latn
240     {0x82830000u, 41u}, // dua -> Latn
241     {0x64760000u, 78u}, // dv -> Thaa
242     {0xBB030000u, 41u}, // dyo -> Latn
243     {0xD3030000u, 41u}, // dyu -> Latn
244     {0x647A0000u, 80u}, // dz -> Tibt
245     {0xD0240000u, 41u}, // ebu -> Latn
246     {0x65650000u, 41u}, // ee -> Latn
247     {0xA0A40000u, 41u}, // efi -> Latn
248     {0xACC40000u, 41u}, // egl -> Latn
249     {0xE0C40000u, 17u}, // egy -> Egyp
250     {0xE1440000u, 32u}, // eky -> Kali
251     {0x656C0000u, 21u}, // el -> Grek
252     {0x656E0000u, 41u}, // en -> Latn
253     {0x656E5841u, 86u}, // en-XA -> ~~~A
254     {0x656F0000u, 41u}, // eo -> Latn
255     {0x65730000u, 41u}, // es -> Latn
256     {0xD2440000u, 41u}, // esu -> Latn
257     {0x65740000u, 41u}, // et -> Latn
258     {0xCE640000u, 30u}, // ett -> Ital
259     {0x65750000u, 41u}, // eu -> Latn
260     {0xBAC40000u, 41u}, // ewo -> Latn
261     {0xCEE40000u, 41u}, // ext -> Latn
262     {0x66610000u,  1u}, // fa -> Arab
263     {0xB4050000u, 41u}, // fan -> Latn
264     {0x66660000u, 41u}, // ff -> Latn
265     {0xB0A50000u, 41u}, // ffm -> Latn
266     {0x66690000u, 41u}, // fi -> Latn
267     {0x81050000u,  1u}, // fia -> Arab
268     {0xAD050000u, 41u}, // fil -> Latn
269     {0xCD050000u, 41u}, // fit -> Latn
270     {0x666A0000u, 41u}, // fj -> Latn
271     {0x666F0000u, 41u}, // fo -> Latn
272     {0xB5C50000u, 41u}, // fon -> Latn
273     {0x66720000u, 41u}, // fr -> Latn
274     {0x8A250000u, 41u}, // frc -> Latn
275     {0xBE250000u, 41u}, // frp -> Latn
276     {0xC6250000u, 41u}, // frr -> Latn
277     {0xCA250000u, 41u}, // frs -> Latn
278     {0x8E850000u, 41u}, // fud -> Latn
279     {0xC2850000u, 41u}, // fuq -> Latn
280     {0xC6850000u, 41u}, // fur -> Latn
281     {0xD6850000u, 41u}, // fuv -> Latn
282     {0xC6A50000u, 41u}, // fvr -> Latn
283     {0x66790000u, 41u}, // fy -> Latn
284     {0x67610000u, 41u}, // ga -> Latn
285     {0x80060000u, 41u}, // gaa -> Latn
286     {0x98060000u, 41u}, // gag -> Latn
287     {0xB4060000u, 24u}, // gan -> Hans
288     {0xE0060000u, 41u}, // gay -> Latn
289     {0xB0260000u, 16u}, // gbm -> Deva
290     {0xE4260000u,  1u}, // gbz -> Arab
291     {0xC4460000u, 41u}, // gcr -> Latn
292     {0x67640000u, 41u}, // gd -> Latn
293     {0xE4860000u, 18u}, // gez -> Ethi
294     {0xB4C60000u, 16u}, // ggn -> Deva
295     {0xAD060000u, 41u}, // gil -> Latn
296     {0xA9260000u,  1u}, // gjk -> Arab
297     {0xD1260000u,  1u}, // gju -> Arab
298     {0x676C0000u, 41u}, // gl -> Latn
299     {0xA9660000u,  1u}, // glk -> Arab
300     {0x676E0000u, 41u}, // gn -> Latn
301     {0xB1C60000u, 16u}, // gom -> Deva
302     {0xB5C60000u, 76u}, // gon -> Telu
303     {0xC5C60000u, 41u}, // gor -> Latn
304     {0xC9C60000u, 41u}, // gos -> Latn
305     {0xCDC60000u, 20u}, // got -> Goth
306     {0x8A260000u, 14u}, // grc -> Cprt
307     {0xCE260000u,  7u}, // grt -> Beng
308     {0xDA460000u, 41u}, // gsw -> Latn
309     {0x67750000u, 22u}, // gu -> Gujr
310     {0x86860000u, 41u}, // gub -> Latn
311     {0x8A860000u, 41u}, // guc -> Latn
312     {0xC6860000u, 41u}, // gur -> Latn
313     {0xE6860000u, 41u}, // guz -> Latn
314     {0x67760000u, 41u}, // gv -> Latn
315     {0xC6A60000u, 16u}, // gvr -> Deva
316     {0xA2C60000u, 41u}, // gwi -> Latn
317     {0x68610000u, 41u}, // ha -> Latn
318     {0x6861434Du,  1u}, // ha-CM -> Arab
319     {0x68615344u,  1u}, // ha-SD -> Arab
320     {0xA8070000u, 24u}, // hak -> Hans
321     {0xD8070000u, 41u}, // haw -> Latn
322     {0xE4070000u,  1u}, // haz -> Arab
323     {0x68650000u, 27u}, // he -> Hebr
324     {0x68690000u, 16u}, // hi -> Deva
325     {0x95070000u, 41u}, // hif -> Latn
326     {0xAD070000u, 41u}, // hil -> Latn
327     {0xD1670000u, 28u}, // hlu -> Hluw
328     {0x8D870000u, 62u}, // hmd -> Plrd
329     {0x8DA70000u,  1u}, // hnd -> Arab
330     {0x91A70000u, 16u}, // hne -> Deva
331     {0xA5A70000u, 29u}, // hnj -> Hmng
332     {0xB5A70000u, 41u}, // hnn -> Latn
333     {0xB9A70000u,  1u}, // hno -> Arab
334     {0x686F0000u, 41u}, // ho -> Latn
335     {0x89C70000u, 16u}, // hoc -> Deva
336     {0xA5C70000u, 16u}, // hoj -> Deva
337     {0x68720000u, 41u}, // hr -> Latn
338     {0x86470000u, 41u}, // hsb -> Latn
339     {0xB6470000u, 24u}, // hsn -> Hans
340     {0x68740000u, 41u}, // ht -> Latn
341     {0x68750000u, 41u}, // hu -> Latn
342     {0x68790000u,  3u}, // hy -> Armn
343     {0x687A0000u, 41u}, // hz -> Latn
344     {0x69610000u, 41u}, // ia -> Latn
345     {0x80280000u, 41u}, // iba -> Latn
346     {0x84280000u, 41u}, // ibb -> Latn
347     {0x69640000u, 41u}, // id -> Latn
348     {0x69670000u, 41u}, // ig -> Latn
349     {0x69690000u, 85u}, // ii -> Yiii
350     {0x696B0000u, 41u}, // ik -> Latn
351     {0xCD480000u, 41u}, // ikt -> Latn
352     {0xB9680000u, 41u}, // ilo -> Latn
353     {0x696E0000u, 41u}, // in -> Latn
354     {0x9DA80000u, 15u}, // inh -> Cyrl
355     {0x69730000u, 41u}, // is -> Latn
356     {0x69740000u, 41u}, // it -> Latn
357     {0x69750000u,  9u}, // iu -> Cans
358     {0x69770000u, 27u}, // iw -> Hebr
359     {0x9F280000u, 41u}, // izh -> Latn
360     {0x6A610000u, 31u}, // ja -> Jpan
361     {0xB0090000u, 41u}, // jam -> Latn
362     {0xB8C90000u, 41u}, // jgo -> Latn
363     {0x6A690000u, 27u}, // ji -> Hebr
364     {0x89890000u, 41u}, // jmc -> Latn
365     {0xAD890000u, 16u}, // jml -> Deva
366     {0xCE890000u, 41u}, // jut -> Latn
367     {0x6A760000u, 41u}, // jv -> Latn
368     {0x6A770000u, 41u}, // jw -> Latn
369     {0x6B610000u, 19u}, // ka -> Geor
370     {0x800A0000u, 15u}, // kaa -> Cyrl
371     {0x840A0000u, 41u}, // kab -> Latn
372     {0x880A0000u, 41u}, // kac -> Latn
373     {0xA40A0000u, 41u}, // kaj -> Latn
374     {0xB00A0000u, 41u}, // kam -> Latn
375     {0xB80A0000u, 41u}, // kao -> Latn
376     {0x8C2A0000u, 15u}, // kbd -> Cyrl
377     {0x984A0000u, 41u}, // kcg -> Latn
378     {0xA84A0000u, 41u}, // kck -> Latn
379     {0x906A0000u, 41u}, // kde -> Latn
380     {0xCC6A0000u, 79u}, // kdt -> Thai
381     {0x808A0000u, 41u}, // kea -> Latn
382     {0xB48A0000u, 41u}, // ken -> Latn
383     {0xB8AA0000u, 41u}, // kfo -> Latn
384     {0xC4AA0000u, 16u}, // kfr -> Deva
385     {0xE0AA0000u, 16u}, // kfy -> Deva
386     {0x6B670000u, 41u}, // kg -> Latn
387     {0x90CA0000u, 41u}, // kge -> Latn
388     {0xBCCA0000u, 41u}, // kgp -> Latn
389     {0x80EA0000u, 41u}, // kha -> Latn
390     {0x84EA0000u, 73u}, // khb -> Talu
391     {0xB4EA0000u, 16u}, // khn -> Deva
392     {0xC0EA0000u, 41u}, // khq -> Latn
393     {0xCCEA0000u, 53u}, // kht -> Mymr
394     {0xD8EA0000u,  1u}, // khw -> Arab
395     {0x6B690000u, 41u}, // ki -> Latn
396     {0xD10A0000u, 41u}, // kiu -> Latn
397     {0x6B6A0000u, 41u}, // kj -> Latn
398     {0x992A0000u, 40u}, // kjg -> Laoo
399     {0x6B6B0000u, 15u}, // kk -> Cyrl
400     {0x6B6B4146u,  1u}, // kk-AF -> Arab
401     {0x6B6B434Eu,  1u}, // kk-CN -> Arab
402     {0x6B6B4952u,  1u}, // kk-IR -> Arab
403     {0x6B6B4D4Eu,  1u}, // kk-MN -> Arab
404     {0xA54A0000u, 41u}, // kkj -> Latn
405     {0x6B6C0000u, 41u}, // kl -> Latn
406     {0xB56A0000u, 41u}, // kln -> Latn
407     {0x6B6D0000u, 35u}, // km -> Khmr
408     {0x858A0000u, 41u}, // kmb -> Latn
409     {0x6B6E0000u, 36u}, // kn -> Knda
410     {0x6B6F0000u, 37u}, // ko -> Kore
411     {0xA1CA0000u, 15u}, // koi -> Cyrl
412     {0xA9CA0000u, 16u}, // kok -> Deva
413     {0xC9CA0000u, 41u}, // kos -> Latn
414     {0x91EA0000u, 41u}, // kpe -> Latn
415     {0x8A2A0000u, 15u}, // krc -> Cyrl
416     {0xA22A0000u, 41u}, // kri -> Latn
417     {0xA62A0000u, 41u}, // krj -> Latn
418     {0xAE2A0000u, 41u}, // krl -> Latn
419     {0xD22A0000u, 16u}, // kru -> Deva
420     {0x6B730000u,  1u}, // ks -> Arab
421     {0x864A0000u, 41u}, // ksb -> Latn
422     {0x964A0000u, 41u}, // ksf -> Latn
423     {0x9E4A0000u, 41u}, // ksh -> Latn
424     {0x6B750000u, 41u}, // ku -> Latn
425     {0x6B754952u,  1u}, // ku-IR -> Arab
426     {0x6B754C42u,  1u}, // ku-LB -> Arab
427     {0xB28A0000u, 15u}, // kum -> Cyrl
428     {0x6B760000u, 15u}, // kv -> Cyrl
429     {0xC6AA0000u, 41u}, // kvr -> Latn
430     {0xDEAA0000u,  1u}, // kvx -> Arab
431     {0x6B770000u, 41u}, // kw -> Latn
432     {0xB2EA0000u, 79u}, // kxm -> Thai
433     {0xBEEA0000u,  1u}, // kxp -> Arab
434     {0x6B790000u, 15u}, // ky -> Cyrl
435     {0x6B79434Eu,  1u}, // ky-CN -> Arab
436     {0x6B795452u, 41u}, // ky-TR -> Latn
437     {0x6C610000u, 41u}, // la -> Latn
438     {0x840B0000u, 43u}, // lab -> Lina
439     {0x8C0B0000u, 27u}, // lad -> Hebr
440     {0x980B0000u, 41u}, // lag -> Latn
441     {0x9C0B0000u,  1u}, // lah -> Arab
442     {0xA40B0000u, 41u}, // laj -> Latn
443     {0x6C620000u, 41u}, // lb -> Latn
444     {0x902B0000u, 15u}, // lbe -> Cyrl
445     {0xD82B0000u, 41u}, // lbw -> Latn
446     {0xBC4B0000u, 79u}, // lcp -> Thai
447     {0xBC8B0000u, 42u}, // lep -> Lepc
448     {0xE48B0000u, 15u}, // lez -> Cyrl
449     {0x6C670000u, 41u}, // lg -> Latn
450     {0x6C690000u, 41u}, // li -> Latn
451     {0x950B0000u, 16u}, // lif -> Deva
452     {0xA50B0000u, 41u}, // lij -> Latn
453     {0xC90B0000u, 44u}, // lis -> Lisu
454     {0xBD2B0000u, 41u}, // ljp -> Latn
455     {0xA14B0000u,  1u}, // lki -> Arab
456     {0xCD4B0000u, 41u}, // lkt -> Latn
457     {0xB58B0000u, 76u}, // lmn -> Telu
458     {0xB98B0000u, 41u}, // lmo -> Latn
459     {0x6C6E0000u, 41u}, // ln -> Latn
460     {0x6C6F0000u, 40u}, // lo -> Laoo
461     {0xADCB0000u, 41u}, // lol -> Latn
462     {0xE5CB0000u, 41u}, // loz -> Latn
463     {0x8A2B0000u,  1u}, // lrc -> Arab
464     {0x6C740000u, 41u}, // lt -> Latn
465     {0x9A6B0000u, 41u}, // ltg -> Latn
466     {0x6C750000u, 41u}, // lu -> Latn
467     {0x828B0000u, 41u}, // lua -> Latn
468     {0xBA8B0000u, 41u}, // luo -> Latn
469     {0xE28B0000u, 41u}, // luy -> Latn
470     {0xE68B0000u,  1u}, // luz -> Arab
471     {0x6C760000u, 41u}, // lv -> Latn
472     {0xAECB0000u, 79u}, // lwl -> Thai
473     {0x9F2B0000u, 24u}, // lzh -> Hans
474     {0xE72B0000u, 41u}, // lzz -> Latn
475     {0x8C0C0000u, 41u}, // mad -> Latn
476     {0x940C0000u, 41u}, // maf -> Latn
477     {0x980C0000u, 16u}, // mag -> Deva
478     {0xA00C0000u, 16u}, // mai -> Deva
479     {0xA80C0000u, 41u}, // mak -> Latn
480     {0xB40C0000u, 41u}, // man -> Latn
481     {0xB40C474Eu, 55u}, // man-GN -> Nkoo
482     {0xC80C0000u, 41u}, // mas -> Latn
483     {0xE40C0000u, 41u}, // maz -> Latn
484     {0x946C0000u, 15u}, // mdf -> Cyrl
485     {0x9C6C0000u, 41u}, // mdh -> Latn
486     {0xC46C0000u, 41u}, // mdr -> Latn
487     {0xB48C0000u, 41u}, // men -> Latn
488     {0xC48C0000u, 41u}, // mer -> Latn
489     {0x80AC0000u,  1u}, // mfa -> Arab
490     {0x90AC0000u, 41u}, // mfe -> Latn
491     {0x6D670000u, 41u}, // mg -> Latn
492     {0x9CCC0000u, 41u}, // mgh -> Latn
493     {0xB8CC0000u, 41u}, // mgo -> Latn
494     {0xBCCC0000u, 16u}, // mgp -> Deva
495     {0xE0CC0000u, 41u}, // mgy -> Latn
496     {0x6D680000u, 41u}, // mh -> Latn
497     {0x6D690000u, 41u}, // mi -> Latn
498     {0xB50C0000u, 41u}, // min -> Latn
499     {0xC90C0000u, 26u}, // mis -> Hatr
500     {0x6D6B0000u, 15u}, // mk -> Cyrl
501     {0x6D6C0000u, 50u}, // ml -> Mlym
502     {0xC96C0000u, 41u}, // mls -> Latn
503     {0x6D6E0000u, 15u}, // mn -> Cyrl
504     {0x6D6E434Eu, 51u}, // mn-CN -> Mong
505     {0xA1AC0000u,  7u}, // mni -> Beng
506     {0xD9AC0000u, 53u}, // mnw -> Mymr
507     {0x91CC0000u, 41u}, // moe -> Latn
508     {0x9DCC0000u, 41u}, // moh -> Latn
509     {0xC9CC0000u, 41u}, // mos -> Latn
510     {0x6D720000u, 16u}, // mr -> Deva
511     {0x8E2C0000u, 16u}, // mrd -> Deva
512     {0xA62C0000u, 15u}, // mrj -> Cyrl
513     {0xD22C0000u, 52u}, // mru -> Mroo
514     {0x6D730000u, 41u}, // ms -> Latn
515     {0x6D734343u,  1u}, // ms-CC -> Arab
516     {0x6D734944u,  1u}, // ms-ID -> Arab
517     {0x6D740000u, 41u}, // mt -> Latn
518     {0xC66C0000u, 16u}, // mtr -> Deva
519     {0x828C0000u, 41u}, // mua -> Latn
520     {0xCA8C0000u, 41u}, // mus -> Latn
521     {0xE2AC0000u,  1u}, // mvy -> Arab
522     {0xAACC0000u, 41u}, // mwk -> Latn
523     {0xC6CC0000u, 16u}, // mwr -> Deva
524     {0xD6CC0000u, 41u}, // mwv -> Latn
525     {0x8AEC0000u, 41u}, // mxc -> Latn
526     {0x6D790000u, 53u}, // my -> Mymr
527     {0xD70C0000u, 15u}, // myv -> Cyrl
528     {0xDF0C0000u, 41u}, // myx -> Latn
529     {0xE70C0000u, 47u}, // myz -> Mand
530     {0xB72C0000u,  1u}, // mzn -> Arab
531     {0x6E610000u, 41u}, // na -> Latn
532     {0xB40D0000u, 24u}, // nan -> Hans
533     {0xBC0D0000u, 41u}, // nap -> Latn
534     {0xC00D0000u, 41u}, // naq -> Latn
535     {0x6E620000u, 41u}, // nb -> Latn
536     {0x9C4D0000u, 41u}, // nch -> Latn
537     {0x6E640000u, 41u}, // nd -> Latn
538     {0x886D0000u, 41u}, // ndc -> Latn
539     {0xC86D0000u, 41u}, // nds -> Latn
540     {0x6E650000u, 16u}, // ne -> Deva
541     {0xD88D0000u, 16u}, // new -> Deva
542     {0x6E670000u, 41u}, // ng -> Latn
543     {0xACCD0000u, 41u}, // ngl -> Latn
544     {0x90ED0000u, 41u}, // nhe -> Latn
545     {0xD8ED0000u, 41u}, // nhw -> Latn
546     {0xA50D0000u, 41u}, // nij -> Latn
547     {0xD10D0000u, 41u}, // niu -> Latn
548     {0xB92D0000u, 41u}, // njo -> Latn
549     {0x6E6C0000u, 41u}, // nl -> Latn
550     {0x998D0000u, 41u}, // nmg -> Latn
551     {0x6E6E0000u, 41u}, // nn -> Latn
552     {0x9DAD0000u, 41u}, // nnh -> Latn
553     {0x6E6F0000u, 41u}, // no -> Latn
554     {0x8DCD0000u, 39u}, // nod -> Lana
555     {0x91CD0000u, 16u}, // noe -> Deva
556     {0xB5CD0000u, 64u}, // non -> Runr
557     {0xBA0D0000u, 55u}, // nqo -> Nkoo
558     {0x6E720000u, 41u}, // nr -> Latn
559     {0xAA4D0000u,  9u}, // nsk -> Cans
560     {0xBA4D0000u, 41u}, // nso -> Latn
561     {0xCA8D0000u, 41u}, // nus -> Latn
562     {0x6E760000u, 41u}, // nv -> Latn
563     {0xC2ED0000u, 41u}, // nxq -> Latn
564     {0x6E790000u, 41u}, // ny -> Latn
565     {0xB30D0000u, 41u}, // nym -> Latn
566     {0xB70D0000u, 41u}, // nyn -> Latn
567     {0xA32D0000u, 41u}, // nzi -> Latn
568     {0x6F630000u, 41u}, // oc -> Latn
569     {0x6F6D0000u, 41u}, // om -> Latn
570     {0x6F720000u, 58u}, // or -> Orya
571     {0x6F730000u, 15u}, // os -> Cyrl
572     {0xAA6E0000u, 57u}, // otk -> Orkh
573     {0x70610000u, 23u}, // pa -> Guru
574     {0x7061504Bu,  1u}, // pa-PK -> Arab
575     {0x980F0000u, 41u}, // pag -> Latn
576     {0xAC0F0000u, 60u}, // pal -> Phli
577     {0xB00F0000u, 41u}, // pam -> Latn
578     {0xBC0F0000u, 41u}, // pap -> Latn
579     {0xD00F0000u, 41u}, // pau -> Latn
580     {0x8C4F0000u, 41u}, // pcd -> Latn
581     {0xB04F0000u, 41u}, // pcm -> Latn
582     {0x886F0000u, 41u}, // pdc -> Latn
583     {0xCC6F0000u, 41u}, // pdt -> Latn
584     {0xB88F0000u, 83u}, // peo -> Xpeo
585     {0xACAF0000u, 41u}, // pfl -> Latn
586     {0xB4EF0000u, 61u}, // phn -> Phnx
587     {0x814F0000u,  8u}, // pka -> Brah
588     {0xB94F0000u, 41u}, // pko -> Latn
589     {0x706C0000u, 41u}, // pl -> Latn
590     {0xC98F0000u, 41u}, // pms -> Latn
591     {0xCDAF0000u, 21u}, // pnt -> Grek
592     {0xB5CF0000u, 41u}, // pon -> Latn
593     {0x822F0000u, 34u}, // pra -> Khar
594     {0x8E2F0000u,  1u}, // prd -> Arab
595     {0x9A2F0000u, 41u}, // prg -> Latn
596     {0x70730000u,  1u}, // ps -> Arab
597     {0x70740000u, 41u}, // pt -> Latn
598     {0xD28F0000u, 41u}, // puu -> Latn
599     {0x71750000u, 41u}, // qu -> Latn
600     {0x8A900000u, 41u}, // quc -> Latn
601     {0x9A900000u, 41u}, // qug -> Latn
602     {0xA4110000u, 16u}, // raj -> Deva
603     {0x94510000u, 41u}, // rcf -> Latn
604     {0xA4910000u, 41u}, // rej -> Latn
605     {0xB4D10000u, 41u}, // rgn -> Latn
606     {0x81110000u, 41u}, // ria -> Latn
607     {0x95110000u, 77u}, // rif -> Tfng
608     {0x95114E4Cu, 41u}, // rif-NL -> Latn
609     {0xC9310000u, 16u}, // rjs -> Deva
610     {0xCD510000u,  7u}, // rkt -> Beng
611     {0x726D0000u, 41u}, // rm -> Latn
612     {0x95910000u, 41u}, // rmf -> Latn
613     {0xB9910000u, 41u}, // rmo -> Latn
614     {0xCD910000u,  1u}, // rmt -> Arab
615     {0xD1910000u, 41u}, // rmu -> Latn
616     {0x726E0000u, 41u}, // rn -> Latn
617     {0x99B10000u, 41u}, // rng -> Latn
618     {0x726F0000u, 41u}, // ro -> Latn
619     {0x85D10000u, 41u}, // rob -> Latn
620     {0x95D10000u, 41u}, // rof -> Latn
621     {0xB2710000u, 41u}, // rtm -> Latn
622     {0x72750000u, 15u}, // ru -> Cyrl
623     {0x92910000u, 15u}, // rue -> Cyrl
624     {0x9A910000u, 41u}, // rug -> Latn
625     {0x72770000u, 41u}, // rw -> Latn
626     {0xAAD10000u, 41u}, // rwk -> Latn
627     {0xD3110000u, 33u}, // ryu -> Kana
628     {0x73610000u, 16u}, // sa -> Deva
629     {0x94120000u, 41u}, // saf -> Latn
630     {0x9C120000u, 15u}, // sah -> Cyrl
631     {0xC0120000u, 41u}, // saq -> Latn
632     {0xC8120000u, 41u}, // sas -> Latn
633     {0xCC120000u, 41u}, // sat -> Latn
634     {0xE4120000u, 67u}, // saz -> Saur
635     {0xBC320000u, 41u}, // sbp -> Latn
636     {0x73630000u, 41u}, // sc -> Latn
637     {0xA8520000u, 16u}, // sck -> Deva
638     {0xB4520000u, 41u}, // scn -> Latn
639     {0xB8520000u, 41u}, // sco -> Latn
640     {0xC8520000u, 41u}, // scs -> Latn
641     {0x73640000u,  1u}, // sd -> Arab
642     {0x88720000u, 41u}, // sdc -> Latn
643     {0x9C720000u,  1u}, // sdh -> Arab
644     {0x73650000u, 41u}, // se -> Latn
645     {0x94920000u, 41u}, // sef -> Latn
646     {0x9C920000u, 41u}, // seh -> Latn
647     {0xA0920000u, 41u}, // sei -> Latn
648     {0xC8920000u, 41u}, // ses -> Latn
649     {0x73670000u, 41u}, // sg -> Latn
650     {0x80D20000u, 56u}, // sga -> Ogam
651     {0xC8D20000u, 41u}, // sgs -> Latn
652     {0x73680000u, 41u}, // sh -> Latn
653     {0xA0F20000u, 77u}, // shi -> Tfng
654     {0xB4F20000u, 53u}, // shn -> Mymr
655     {0x73690000u, 69u}, // si -> Sinh
656     {0x8D120000u, 41u}, // sid -> Latn
657     {0x736B0000u, 41u}, // sk -> Latn
658     {0xC5520000u,  1u}, // skr -> Arab
659     {0x736C0000u, 41u}, // sl -> Latn
660     {0xA1720000u, 41u}, // sli -> Latn
661     {0xE1720000u, 41u}, // sly -> Latn
662     {0x736D0000u, 41u}, // sm -> Latn
663     {0x81920000u, 41u}, // sma -> Latn
664     {0xA5920000u, 41u}, // smj -> Latn
665     {0xB5920000u, 41u}, // smn -> Latn
666     {0xBD920000u, 65u}, // smp -> Samr
667     {0xC9920000u, 41u}, // sms -> Latn
668     {0x736E0000u, 41u}, // sn -> Latn
669     {0xA9B20000u, 41u}, // snk -> Latn
670     {0x736F0000u, 41u}, // so -> Latn
671     {0xD1D20000u, 79u}, // sou -> Thai
672     {0x73710000u, 41u}, // sq -> Latn
673     {0x73720000u, 15u}, // sr -> Cyrl
674     {0x73724D45u, 41u}, // sr-ME -> Latn
675     {0x7372524Fu, 41u}, // sr-RO -> Latn
676     {0x73725255u, 41u}, // sr-RU -> Latn
677     {0x73725452u, 41u}, // sr-TR -> Latn
678     {0x86320000u, 70u}, // srb -> Sora
679     {0xB6320000u, 41u}, // srn -> Latn
680     {0xC6320000u, 41u}, // srr -> Latn
681     {0xDE320000u, 16u}, // srx -> Deva
682     {0x73730000u, 41u}, // ss -> Latn
683     {0xE2520000u, 41u}, // ssy -> Latn
684     {0x73740000u, 41u}, // st -> Latn
685     {0xC2720000u, 41u}, // stq -> Latn
686     {0x73750000u, 41u}, // su -> Latn
687     {0xAA920000u, 41u}, // suk -> Latn
688     {0xCA920000u, 41u}, // sus -> Latn
689     {0x73760000u, 41u}, // sv -> Latn
690     {0x73770000u, 41u}, // sw -> Latn
691     {0x86D20000u,  1u}, // swb -> Arab
692     {0x8AD20000u, 41u}, // swc -> Latn
693     {0x9AD20000u, 41u}, // swg -> Latn
694     {0xD6D20000u, 16u}, // swv -> Deva
695     {0xB6F20000u, 41u}, // sxn -> Latn
696     {0xAF120000u,  7u}, // syl -> Beng
697     {0xC7120000u, 71u}, // syr -> Syrc
698     {0xAF320000u, 41u}, // szl -> Latn
699     {0x74610000u, 74u}, // ta -> Taml
700     {0xA4130000u, 16u}, // taj -> Deva
701     {0xD8330000u, 41u}, // tbw -> Latn
702     {0xE0530000u, 36u}, // tcy -> Knda
703     {0x8C730000u, 72u}, // tdd -> Tale
704     {0x98730000u, 16u}, // tdg -> Deva
705     {0x9C730000u, 16u}, // tdh -> Deva
706     {0x74650000u, 76u}, // te -> Telu
707     {0xB0930000u, 41u}, // tem -> Latn
708     {0xB8930000u, 41u}, // teo -> Latn
709     {0xCC930000u, 41u}, // tet -> Latn
710     {0x74670000u, 15u}, // tg -> Cyrl
711     {0x7467504Bu,  1u}, // tg-PK -> Arab
712     {0x74680000u, 79u}, // th -> Thai
713     {0xACF30000u, 16u}, // thl -> Deva
714     {0xC0F30000u, 16u}, // thq -> Deva
715     {0xC4F30000u, 16u}, // thr -> Deva
716     {0x74690000u, 18u}, // ti -> Ethi
717     {0x99130000u, 18u}, // tig -> Ethi
718     {0xD5130000u, 41u}, // tiv -> Latn
719     {0x746B0000u, 41u}, // tk -> Latn
720     {0xAD530000u, 41u}, // tkl -> Latn
721     {0xC5530000u, 41u}, // tkr -> Latn
722     {0xCD530000u, 16u}, // tkt -> Deva
723     {0x746C0000u, 41u}, // tl -> Latn
724     {0xE1730000u, 41u}, // tly -> Latn
725     {0x9D930000u, 41u}, // tmh -> Latn
726     {0x746E0000u, 41u}, // tn -> Latn
727     {0x746F0000u, 41u}, // to -> Latn
728     {0x99D30000u, 41u}, // tog -> Latn
729     {0xA1F30000u, 41u}, // tpi -> Latn
730     {0x74720000u, 41u}, // tr -> Latn
731     {0xD2330000u, 41u}, // tru -> Latn
732     {0xD6330000u, 41u}, // trv -> Latn
733     {0x74730000u, 41u}, // ts -> Latn
734     {0x8E530000u, 21u}, // tsd -> Grek
735     {0x96530000u, 16u}, // tsf -> Deva
736     {0x9A530000u, 41u}, // tsg -> Latn
737     {0xA6530000u, 80u}, // tsj -> Tibt
738     {0x74740000u, 15u}, // tt -> Cyrl
739     {0xA6730000u, 41u}, // ttj -> Latn
740     {0xCA730000u, 79u}, // tts -> Thai
741     {0xCE730000u, 41u}, // ttt -> Latn
742     {0xB2930000u, 41u}, // tum -> Latn
743     {0xAEB30000u, 41u}, // tvl -> Latn
744     {0xC2D30000u, 41u}, // twq -> Latn
745     {0x74790000u, 41u}, // ty -> Latn
746     {0xD7130000u, 15u}, // tyv -> Cyrl
747     {0xB3330000u, 41u}, // tzm -> Latn
748     {0xB0740000u, 15u}, // udm -> Cyrl
749     {0x75670000u,  1u}, // ug -> Arab
750     {0x75674B5Au, 15u}, // ug-KZ -> Cyrl
751     {0x75674D4Eu, 15u}, // ug-MN -> Cyrl
752     {0x80D40000u, 81u}, // uga -> Ugar
753     {0x756B0000u, 15u}, // uk -> Cyrl
754     {0xA1740000u, 41u}, // uli -> Latn
755     {0x85940000u, 41u}, // umb -> Latn
756     {0xC5B40000u,  7u}, // unr -> Beng
757     {0xC5B44E50u, 16u}, // unr-NP -> Deva
758     {0xDDB40000u,  7u}, // unx -> Beng
759     {0x75720000u,  1u}, // ur -> Arab
760     {0x757A0000u, 41u}, // uz -> Latn
761     {0x757A4146u,  1u}, // uz-AF -> Arab
762     {0x757A434Eu, 15u}, // uz-CN -> Cyrl
763     {0xA0150000u, 82u}, // vai -> Vaii
764     {0x76650000u, 41u}, // ve -> Latn
765     {0x88950000u, 41u}, // vec -> Latn
766     {0xBC950000u, 41u}, // vep -> Latn
767     {0x76690000u, 41u}, // vi -> Latn
768     {0x89150000u, 41u}, // vic -> Latn
769     {0xC9750000u, 41u}, // vls -> Latn
770     {0x95950000u, 41u}, // vmf -> Latn
771     {0xD9950000u, 41u}, // vmw -> Latn
772     {0x766F0000u, 41u}, // vo -> Latn
773     {0xCDD50000u, 41u}, // vot -> Latn
774     {0xBA350000u, 41u}, // vro -> Latn
775     {0xB6950000u, 41u}, // vun -> Latn
776     {0x77610000u, 41u}, // wa -> Latn
777     {0x90160000u, 41u}, // wae -> Latn
778     {0xAC160000u, 18u}, // wal -> Ethi
779     {0xC4160000u, 41u}, // war -> Latn
780     {0xBC360000u, 41u}, // wbp -> Latn
781     {0xC0360000u, 76u}, // wbq -> Telu
782     {0xC4360000u, 16u}, // wbr -> Deva
783     {0xC9760000u, 41u}, // wls -> Latn
784     {0xA1B60000u,  1u}, // wni -> Arab
785     {0x776F0000u, 41u}, // wo -> Latn
786     {0xB2760000u, 16u}, // wtm -> Deva
787     {0xD2960000u, 24u}, // wuu -> Hans
788     {0xD4170000u, 41u}, // xav -> Latn
789     {0xC4570000u, 10u}, // xcr -> Cari
790     {0x78680000u, 41u}, // xh -> Latn
791     {0x89770000u, 45u}, // xlc -> Lyci
792     {0x8D770000u, 46u}, // xld -> Lydi
793     {0x95970000u, 19u}, // xmf -> Geor
794     {0xB5970000u, 48u}, // xmn -> Mani
795     {0xC5970000u, 49u}, // xmr -> Merc
796     {0x81B70000u, 54u}, // xna -> Narb
797     {0xC5B70000u, 16u}, // xnr -> Deva
798     {0x99D70000u, 41u}, // xog -> Latn
799     {0xC5F70000u, 63u}, // xpr -> Prti
800     {0x82570000u, 66u}, // xsa -> Sarb
801     {0xC6570000u, 16u}, // xsr -> Deva
802     {0xB8180000u, 41u}, // yao -> Latn
803     {0xBC180000u, 41u}, // yap -> Latn
804     {0xD4180000u, 41u}, // yav -> Latn
805     {0x84380000u, 41u}, // ybb -> Latn
806     {0x79690000u, 27u}, // yi -> Hebr
807     {0x796F0000u, 41u}, // yo -> Latn
808     {0xAE380000u, 41u}, // yrl -> Latn
809     {0x82980000u, 41u}, // yua -> Latn
810     {0x7A610000u, 41u}, // za -> Latn
811     {0x98190000u, 41u}, // zag -> Latn
812     {0xA4790000u,  1u}, // zdj -> Arab
813     {0x80990000u, 41u}, // zea -> Latn
814     {0x9CD90000u, 77u}, // zgh -> Tfng
815     {0x7A680000u, 24u}, // zh -> Hans
816     {0x7A684155u, 25u}, // zh-AU -> Hant
817     {0x7A68424Eu, 25u}, // zh-BN -> Hant
818     {0x7A684742u, 25u}, // zh-GB -> Hant
819     {0x7A684746u, 25u}, // zh-GF -> Hant
820     {0x7A68484Bu, 25u}, // zh-HK -> Hant
821     {0x7A684944u, 25u}, // zh-ID -> Hant
822     {0x7A684D4Fu, 25u}, // zh-MO -> Hant
823     {0x7A684D59u, 25u}, // zh-MY -> Hant
824     {0x7A685041u, 25u}, // zh-PA -> Hant
825     {0x7A685046u, 25u}, // zh-PF -> Hant
826     {0x7A685048u, 25u}, // zh-PH -> Hant
827     {0x7A685352u, 25u}, // zh-SR -> Hant
828     {0x7A685448u, 25u}, // zh-TH -> Hant
829     {0x7A685457u, 25u}, // zh-TW -> Hant
830     {0x7A685553u, 25u}, // zh-US -> Hant
831     {0x7A68564Eu, 25u}, // zh-VN -> Hant
832     {0xA1990000u, 41u}, // zmi -> Latn
833     {0x7A750000u, 41u}, // zu -> Latn
834     {0x83390000u, 41u}, // zza -> Latn
835 });
836
837 std::unordered_set<uint64_t> REPRESENTATIVE_LOCALES({
838     0x616145544C61746Ellu, // aa_Latn_ET
839     0x616247454379726Cllu, // ab_Cyrl_GE
840     0xC42047484C61746Ellu, // abr_Latn_GH
841     0x904049444C61746Ellu, // ace_Latn_ID
842     0x9C4055474C61746Ellu, // ach_Latn_UG
843     0x806047484C61746Ellu, // ada_Latn_GH
844     0xE06052554379726Cllu, // ady_Cyrl_RU
845     0x6165495241767374llu, // ae_Avst_IR
846     0x8480544E41726162llu, // aeb_Arab_TN
847     0x61665A414C61746Ellu, // af_Latn_ZA
848     0xC0C0434D4C61746Ellu, // agq_Latn_CM
849     0xB8E0494E41686F6Dllu, // aho_Ahom_IN
850     0x616B47484C61746Ellu, // ak_Latn_GH
851     0xA940495158737578llu, // akk_Xsux_IQ
852     0xB560584B4C61746Ellu, // aln_Latn_XK
853     0xCD6052554379726Cllu, // alt_Cyrl_RU
854     0x616D455445746869llu, // am_Ethi_ET
855     0xB9804E474C61746Ellu, // amo_Latn_NG
856     0xE5C049444C61746Ellu, // aoz_Latn_ID
857     0x6172454741726162llu, // ar_Arab_EG
858     0x8A20495241726D69llu, // arc_Armi_IR
859     0x8A204A4F4E626174llu, // arc_Nbat_JO
860     0x8A20535950616C6Dllu, // arc_Palm_SY
861     0xB620434C4C61746Ellu, // arn_Latn_CL
862     0xBA20424F4C61746Ellu, // aro_Latn_BO
863     0xC220445A41726162llu, // arq_Arab_DZ
864     0xE2204D4141726162llu, // ary_Arab_MA
865     0xE620454741726162llu, // arz_Arab_EG
866     0x6173494E42656E67llu, // as_Beng_IN
867     0x8240545A4C61746Ellu, // asa_Latn_TZ
868     0x9240555353676E77llu, // ase_Sgnw_US
869     0xCE4045534C61746Ellu, // ast_Latn_ES
870     0xA66043414C61746Ellu, // atj_Latn_CA
871     0x617652554379726Cllu, // av_Cyrl_RU
872     0x82C0494E44657661llu, // awa_Deva_IN
873     0x6179424F4C61746Ellu, // ay_Latn_BO
874     0x617A495241726162llu, // az_Arab_IR
875     0x617A415A4C61746Ellu, // az_Latn_AZ
876     0x626152554379726Cllu, // ba_Cyrl_RU
877     0xAC01504B41726162llu, // bal_Arab_PK
878     0xB40149444C61746Ellu, // ban_Latn_ID
879     0xBC014E5044657661llu, // bap_Deva_NP
880     0xC40141544C61746Ellu, // bar_Latn_AT
881     0xC801434D4C61746Ellu, // bas_Latn_CM
882     0xDC01434D42616D75llu, // bax_Bamu_CM
883     0x882149444C61746Ellu, // bbc_Latn_ID
884     0xA421434D4C61746Ellu, // bbj_Latn_CM
885     0xA04143494C61746Ellu, // bci_Latn_CI
886     0x626542594379726Cllu, // be_Cyrl_BY
887     0xA481534441726162llu, // bej_Arab_SD
888     0xB0815A4D4C61746Ellu, // bem_Latn_ZM
889     0xD88149444C61746Ellu, // bew_Latn_ID
890     0xE481545A4C61746Ellu, // bez_Latn_TZ
891     0x8CA1434D4C61746Ellu, // bfd_Latn_CM
892     0xC0A1494E54616D6Cllu, // bfq_Taml_IN
893     0xCCA1504B41726162llu, // bft_Arab_PK
894     0xE0A1494E44657661llu, // bfy_Deva_IN
895     0x626742474379726Cllu, // bg_Cyrl_BG
896     0x88C1494E44657661llu, // bgc_Deva_IN
897     0xB4C1504B41726162llu, // bgn_Arab_PK
898     0xDCC154524772656Bllu, // bgx_Grek_TR
899     0x6268494E4B746869llu, // bh_Kthi_IN
900     0x84E1494E44657661llu, // bhb_Deva_IN
901     0xA0E1494E44657661llu, // bhi_Deva_IN
902     0xA8E150484C61746Ellu, // bhk_Latn_PH
903     0xB8E1494E44657661llu, // bho_Deva_IN
904     0x626956554C61746Ellu, // bi_Latn_VU
905     0xA90150484C61746Ellu, // bik_Latn_PH
906     0xB5014E474C61746Ellu, // bin_Latn_NG
907     0xA521494E44657661llu, // bjj_Deva_IN
908     0xB52149444C61746Ellu, // bjn_Latn_ID
909     0xB141434D4C61746Ellu, // bkm_Latn_CM
910     0xD14150484C61746Ellu, // bku_Latn_PH
911     0xCD61564E54617674llu, // blt_Tavt_VN
912     0x626D4D4C4C61746Ellu, // bm_Latn_ML
913     0xC1814D4C4C61746Ellu, // bmq_Latn_ML
914     0x626E424442656E67llu, // bn_Beng_BD
915     0x626F434E54696274llu, // bo_Tibt_CN
916     0xE1E1494E42656E67llu, // bpy_Beng_IN
917     0xA201495241726162llu, // bqi_Arab_IR
918     0xD60143494C61746Ellu, // bqv_Latn_CI
919     0x627246524C61746Ellu, // br_Latn_FR
920     0x8221494E44657661llu, // bra_Deva_IN
921     0x9E21504B41726162llu, // brh_Arab_PK
922     0xDE21494E44657661llu, // brx_Deva_IN
923     0x627342414C61746Ellu, // bs_Latn_BA
924     0xC2414C5242617373llu, // bsq_Bass_LR
925     0xCA41434D4C61746Ellu, // bss_Latn_CM
926     0xBA6150484C61746Ellu, // bto_Latn_PH
927     0xD661504B44657661llu, // btv_Deva_PK
928     0x828152554379726Cllu, // bua_Cyrl_RU
929     0x8A8159544C61746Ellu, // buc_Latn_YT
930     0x9A8149444C61746Ellu, // bug_Latn_ID
931     0xB281434D4C61746Ellu, // bum_Latn_CM
932     0x86A147514C61746Ellu, // bvb_Latn_GQ
933     0xB701455245746869llu, // byn_Ethi_ER
934     0xD701434D4C61746Ellu, // byv_Latn_CM
935     0x93214D4C4C61746Ellu, // bze_Latn_ML
936     0x636145534C61746Ellu, // ca_Latn_ES
937     0x9C424E474C61746Ellu, // cch_Latn_NG
938     0xBC42494E42656E67llu, // ccp_Beng_IN
939     0xBC42424443616B6Dllu, // ccp_Cakm_BD
940     0x636552554379726Cllu, // ce_Cyrl_RU
941     0x848250484C61746Ellu, // ceb_Latn_PH
942     0x98C255474C61746Ellu, // cgg_Latn_UG
943     0x636847554C61746Ellu, // ch_Latn_GU
944     0xA8E2464D4C61746Ellu, // chk_Latn_FM
945     0xB0E252554379726Cllu, // chm_Cyrl_RU
946     0xB8E255534C61746Ellu, // cho_Latn_US
947     0xBCE243414C61746Ellu, // chp_Latn_CA
948     0xC4E2555343686572llu, // chr_Cher_US
949     0x81224B4841726162llu, // cja_Arab_KH
950     0xB122564E4368616Dllu, // cjm_Cham_VN
951     0x8542495141726162llu, // ckb_Arab_IQ
952     0x636F46524C61746Ellu, // co_Latn_FR
953     0xBDC24547436F7074llu, // cop_Copt_EG
954     0xC9E250484C61746Ellu, // cps_Latn_PH
955     0x6372434143616E73llu, // cr_Cans_CA
956     0xA622434143616E73llu, // crj_Cans_CA
957     0xAA22434143616E73llu, // crk_Cans_CA
958     0xAE22434143616E73llu, // crl_Cans_CA
959     0xB222434143616E73llu, // crm_Cans_CA
960     0xCA2253434C61746Ellu, // crs_Latn_SC
961     0x6373435A4C61746Ellu, // cs_Latn_CZ
962     0x8642504C4C61746Ellu, // csb_Latn_PL
963     0xDA42434143616E73llu, // csw_Cans_CA
964     0x8E624D4D50617563llu, // ctd_Pauc_MM
965     0x637552554379726Cllu, // cu_Cyrl_RU
966     0x63754247476C6167llu, // cu_Glag_BG
967     0x637652554379726Cllu, // cv_Cyrl_RU
968     0x637947424C61746Ellu, // cy_Latn_GB
969     0x6461444B4C61746Ellu, // da_Latn_DK
970     0xA80355534C61746Ellu, // dak_Latn_US
971     0xC40352554379726Cllu, // dar_Cyrl_RU
972     0xD4034B454C61746Ellu, // dav_Latn_KE
973     0x8843494E41726162llu, // dcc_Arab_IN
974     0x646544454C61746Ellu, // de_Latn_DE
975     0xB48343414C61746Ellu, // den_Latn_CA
976     0xC4C343414C61746Ellu, // dgr_Latn_CA
977     0x91234E454C61746Ellu, // dje_Latn_NE
978     0xA5A343494C61746Ellu, // dnj_Latn_CI
979     0xA1C3494E41726162llu, // doi_Arab_IN
980     0x864344454C61746Ellu, // dsb_Latn_DE
981     0xB2634D4C4C61746Ellu, // dtm_Latn_ML
982     0xBE634D594C61746Ellu, // dtp_Latn_MY
983     0x8283434D4C61746Ellu, // dua_Latn_CM
984     0x64764D5654686161llu, // dv_Thaa_MV
985     0xBB03534E4C61746Ellu, // dyo_Latn_SN
986     0xD30342464C61746Ellu, // dyu_Latn_BF
987     0x647A425454696274llu, // dz_Tibt_BT
988     0xD0244B454C61746Ellu, // ebu_Latn_KE
989     0x656547484C61746Ellu, // ee_Latn_GH
990     0xA0A44E474C61746Ellu, // efi_Latn_NG
991     0xACC449544C61746Ellu, // egl_Latn_IT
992     0xE0C4454745677970llu, // egy_Egyp_EG
993     0xE1444D4D4B616C69llu, // eky_Kali_MM
994     0x656C47524772656Bllu, // el_Grek_GR
995     0x656E47424C61746Ellu, // en_Latn_GB
996     0x656E55534C61746Ellu, // en_Latn_US
997     0x656E474253686177llu, // en_Shaw_GB
998     0x657345534C61746Ellu, // es_Latn_ES
999     0x65734D584C61746Ellu, // es_Latn_MX
1000     0x657355534C61746Ellu, // es_Latn_US
1001     0xD24455534C61746Ellu, // esu_Latn_US
1002     0x657445454C61746Ellu, // et_Latn_EE
1003     0xCE6449544974616Cllu, // ett_Ital_IT
1004     0x657545534C61746Ellu, // eu_Latn_ES
1005     0xBAC4434D4C61746Ellu, // ewo_Latn_CM
1006     0xCEE445534C61746Ellu, // ext_Latn_ES
1007     0x6661495241726162llu, // fa_Arab_IR
1008     0xB40547514C61746Ellu, // fan_Latn_GQ
1009     0x6666534E4C61746Ellu, // ff_Latn_SN
1010     0xB0A54D4C4C61746Ellu, // ffm_Latn_ML
1011     0x666946494C61746Ellu, // fi_Latn_FI
1012     0x8105534441726162llu, // fia_Arab_SD
1013     0xAD0550484C61746Ellu, // fil_Latn_PH
1014     0xCD0553454C61746Ellu, // fit_Latn_SE
1015     0x666A464A4C61746Ellu, // fj_Latn_FJ
1016     0x666F464F4C61746Ellu, // fo_Latn_FO
1017     0xB5C5424A4C61746Ellu, // fon_Latn_BJ
1018     0x667246524C61746Ellu, // fr_Latn_FR
1019     0x8A2555534C61746Ellu, // frc_Latn_US
1020     0xBE2546524C61746Ellu, // frp_Latn_FR
1021     0xC62544454C61746Ellu, // frr_Latn_DE
1022     0xCA2544454C61746Ellu, // frs_Latn_DE
1023     0x8E8557464C61746Ellu, // fud_Latn_WF
1024     0xC2854E454C61746Ellu, // fuq_Latn_NE
1025     0xC68549544C61746Ellu, // fur_Latn_IT
1026     0xD6854E474C61746Ellu, // fuv_Latn_NG
1027     0xC6A553444C61746Ellu, // fvr_Latn_SD
1028     0x66794E4C4C61746Ellu, // fy_Latn_NL
1029     0x676149454C61746Ellu, // ga_Latn_IE
1030     0x800647484C61746Ellu, // gaa_Latn_GH
1031     0x98064D444C61746Ellu, // gag_Latn_MD
1032     0xB406434E48616E73llu, // gan_Hans_CN
1033     0xE00649444C61746Ellu, // gay_Latn_ID
1034     0xB026494E44657661llu, // gbm_Deva_IN
1035     0xE426495241726162llu, // gbz_Arab_IR
1036     0xC44647464C61746Ellu, // gcr_Latn_GF
1037     0x676447424C61746Ellu, // gd_Latn_GB
1038     0xE486455445746869llu, // gez_Ethi_ET
1039     0xB4C64E5044657661llu, // ggn_Deva_NP
1040     0xAD064B494C61746Ellu, // gil_Latn_KI
1041     0xA926504B41726162llu, // gjk_Arab_PK
1042     0xD126504B41726162llu, // gju_Arab_PK
1043     0x676C45534C61746Ellu, // gl_Latn_ES
1044     0xA966495241726162llu, // glk_Arab_IR
1045     0x676E50594C61746Ellu, // gn_Latn_PY
1046     0xB1C6494E44657661llu, // gom_Deva_IN
1047     0xB5C6494E54656C75llu, // gon_Telu_IN
1048     0xC5C649444C61746Ellu, // gor_Latn_ID
1049     0xC9C64E4C4C61746Ellu, // gos_Latn_NL
1050     0xCDC65541476F7468llu, // got_Goth_UA
1051     0x8A26435943707274llu, // grc_Cprt_CY
1052     0x8A2647524C696E62llu, // grc_Linb_GR
1053     0xCE26494E42656E67llu, // grt_Beng_IN
1054     0xDA4643484C61746Ellu, // gsw_Latn_CH
1055     0x6775494E47756A72llu, // gu_Gujr_IN
1056     0x868642524C61746Ellu, // gub_Latn_BR
1057     0x8A86434F4C61746Ellu, // guc_Latn_CO
1058     0xC68647484C61746Ellu, // gur_Latn_GH
1059     0xE6864B454C61746Ellu, // guz_Latn_KE
1060     0x6776494D4C61746Ellu, // gv_Latn_IM
1061     0xC6A64E5044657661llu, // gvr_Deva_NP
1062     0xA2C643414C61746Ellu, // gwi_Latn_CA
1063     0x68614E474C61746Ellu, // ha_Latn_NG
1064     0xA807434E48616E73llu, // hak_Hans_CN
1065     0xD80755534C61746Ellu, // haw_Latn_US
1066     0xE407414641726162llu, // haz_Arab_AF
1067     0x6865494C48656272llu, // he_Hebr_IL
1068     0x6869494E44657661llu, // hi_Deva_IN
1069     0x9507464A4C61746Ellu, // hif_Latn_FJ
1070     0xAD0750484C61746Ellu, // hil_Latn_PH
1071     0xD1675452486C7577llu, // hlu_Hluw_TR
1072     0x8D87434E506C7264llu, // hmd_Plrd_CN
1073     0x8DA7504B41726162llu, // hnd_Arab_PK
1074     0x91A7494E44657661llu, // hne_Deva_IN
1075     0xA5A74C41486D6E67llu, // hnj_Hmng_LA
1076     0xB5A750484C61746Ellu, // hnn_Latn_PH
1077     0xB9A7504B41726162llu, // hno_Arab_PK
1078     0x686F50474C61746Ellu, // ho_Latn_PG
1079     0x89C7494E44657661llu, // hoc_Deva_IN
1080     0xA5C7494E44657661llu, // hoj_Deva_IN
1081     0x687248524C61746Ellu, // hr_Latn_HR
1082     0x864744454C61746Ellu, // hsb_Latn_DE
1083     0xB647434E48616E73llu, // hsn_Hans_CN
1084     0x687448544C61746Ellu, // ht_Latn_HT
1085     0x687548554C61746Ellu, // hu_Latn_HU
1086     0x6879414D41726D6Ellu, // hy_Armn_AM
1087     0x687A4E414C61746Ellu, // hz_Latn_NA
1088     0x696146524C61746Ellu, // ia_Latn_FR
1089     0x80284D594C61746Ellu, // iba_Latn_MY
1090     0x84284E474C61746Ellu, // ibb_Latn_NG
1091     0x696449444C61746Ellu, // id_Latn_ID
1092     0x69674E474C61746Ellu, // ig_Latn_NG
1093     0x6969434E59696969llu, // ii_Yiii_CN
1094     0x696B55534C61746Ellu, // ik_Latn_US
1095     0xCD4843414C61746Ellu, // ikt_Latn_CA
1096     0xB96850484C61746Ellu, // ilo_Latn_PH
1097     0x696E49444C61746Ellu, // in_Latn_ID
1098     0x9DA852554379726Cllu, // inh_Cyrl_RU
1099     0x697349534C61746Ellu, // is_Latn_IS
1100     0x697449544C61746Ellu, // it_Latn_IT
1101     0x6975434143616E73llu, // iu_Cans_CA
1102     0x6977494C48656272llu, // iw_Hebr_IL
1103     0x9F2852554C61746Ellu, // izh_Latn_RU
1104     0x6A614A504A70616Ellu, // ja_Jpan_JP
1105     0xB0094A4D4C61746Ellu, // jam_Latn_JM
1106     0xB8C9434D4C61746Ellu, // jgo_Latn_CM
1107     0x6A69554148656272llu, // ji_Hebr_UA
1108     0x8989545A4C61746Ellu, // jmc_Latn_TZ
1109     0xAD894E5044657661llu, // jml_Deva_NP
1110     0xCE89444B4C61746Ellu, // jut_Latn_DK
1111     0x6A7649444C61746Ellu, // jv_Latn_ID
1112     0x6A7749444C61746Ellu, // jw_Latn_ID
1113     0x6B61474547656F72llu, // ka_Geor_GE
1114     0x800A555A4379726Cllu, // kaa_Cyrl_UZ
1115     0x840A445A4C61746Ellu, // kab_Latn_DZ
1116     0x880A4D4D4C61746Ellu, // kac_Latn_MM
1117     0xA40A4E474C61746Ellu, // kaj_Latn_NG
1118     0xB00A4B454C61746Ellu, // kam_Latn_KE
1119     0xB80A4D4C4C61746Ellu, // kao_Latn_ML
1120     0x8C2A52554379726Cllu, // kbd_Cyrl_RU
1121     0x984A4E474C61746Ellu, // kcg_Latn_NG
1122     0xA84A5A574C61746Ellu, // kck_Latn_ZW
1123     0x906A545A4C61746Ellu, // kde_Latn_TZ
1124     0xCC6A544854686169llu, // kdt_Thai_TH
1125     0x808A43564C61746Ellu, // kea_Latn_CV
1126     0xB48A434D4C61746Ellu, // ken_Latn_CM
1127     0xB8AA43494C61746Ellu, // kfo_Latn_CI
1128     0xC4AA494E44657661llu, // kfr_Deva_IN
1129     0xE0AA494E44657661llu, // kfy_Deva_IN
1130     0x6B6743444C61746Ellu, // kg_Latn_CD
1131     0x90CA49444C61746Ellu, // kge_Latn_ID
1132     0xBCCA42524C61746Ellu, // kgp_Latn_BR
1133     0x80EA494E4C61746Ellu, // kha_Latn_IN
1134     0x84EA434E54616C75llu, // khb_Talu_CN
1135     0xB4EA494E44657661llu, // khn_Deva_IN
1136     0xC0EA4D4C4C61746Ellu, // khq_Latn_ML
1137     0xCCEA494E4D796D72llu, // kht_Mymr_IN
1138     0xD8EA504B41726162llu, // khw_Arab_PK
1139     0x6B694B454C61746Ellu, // ki_Latn_KE
1140     0xD10A54524C61746Ellu, // kiu_Latn_TR
1141     0x6B6A4E414C61746Ellu, // kj_Latn_NA
1142     0x992A4C414C616F6Fllu, // kjg_Laoo_LA
1143     0x6B6B434E41726162llu, // kk_Arab_CN
1144     0x6B6B4B5A4379726Cllu, // kk_Cyrl_KZ
1145     0xA54A434D4C61746Ellu, // kkj_Latn_CM
1146     0x6B6C474C4C61746Ellu, // kl_Latn_GL
1147     0xB56A4B454C61746Ellu, // kln_Latn_KE
1148     0x6B6D4B484B686D72llu, // km_Khmr_KH
1149     0x858A414F4C61746Ellu, // kmb_Latn_AO
1150     0x6B6E494E4B6E6461llu, // kn_Knda_IN
1151     0x6B6F4B524B6F7265llu, // ko_Kore_KR
1152     0xA1CA52554379726Cllu, // koi_Cyrl_RU
1153     0xA9CA494E44657661llu, // kok_Deva_IN
1154     0xC9CA464D4C61746Ellu, // kos_Latn_FM
1155     0x91EA4C524C61746Ellu, // kpe_Latn_LR
1156     0x8A2A52554379726Cllu, // krc_Cyrl_RU
1157     0xA22A534C4C61746Ellu, // kri_Latn_SL
1158     0xA62A50484C61746Ellu, // krj_Latn_PH
1159     0xAE2A52554C61746Ellu, // krl_Latn_RU
1160     0xD22A494E44657661llu, // kru_Deva_IN
1161     0x6B73494E41726162llu, // ks_Arab_IN
1162     0x864A545A4C61746Ellu, // ksb_Latn_TZ
1163     0x964A434D4C61746Ellu, // ksf_Latn_CM
1164     0x9E4A44454C61746Ellu, // ksh_Latn_DE
1165     0x6B75495141726162llu, // ku_Arab_IQ
1166     0x6B7554524C61746Ellu, // ku_Latn_TR
1167     0xB28A52554379726Cllu, // kum_Cyrl_RU
1168     0x6B7652554379726Cllu, // kv_Cyrl_RU
1169     0xC6AA49444C61746Ellu, // kvr_Latn_ID
1170     0xDEAA504B41726162llu, // kvx_Arab_PK
1171     0x6B7747424C61746Ellu, // kw_Latn_GB
1172     0xB2EA544854686169llu, // kxm_Thai_TH
1173     0xBEEA504B41726162llu, // kxp_Arab_PK
1174     0x6B79434E41726162llu, // ky_Arab_CN
1175     0x6B794B474379726Cllu, // ky_Cyrl_KG
1176     0x6B7954524C61746Ellu, // ky_Latn_TR
1177     0x6C6156414C61746Ellu, // la_Latn_VA
1178     0x840B47524C696E61llu, // lab_Lina_GR
1179     0x8C0B494C48656272llu, // lad_Hebr_IL
1180     0x980B545A4C61746Ellu, // lag_Latn_TZ
1181     0x9C0B504B41726162llu, // lah_Arab_PK
1182     0xA40B55474C61746Ellu, // laj_Latn_UG
1183     0x6C624C554C61746Ellu, // lb_Latn_LU
1184     0x902B52554379726Cllu, // lbe_Cyrl_RU
1185     0xD82B49444C61746Ellu, // lbw_Latn_ID
1186     0xBC4B434E54686169llu, // lcp_Thai_CN
1187     0xBC8B494E4C657063llu, // lep_Lepc_IN
1188     0xE48B52554379726Cllu, // lez_Cyrl_RU
1189     0x6C6755474C61746Ellu, // lg_Latn_UG
1190     0x6C694E4C4C61746Ellu, // li_Latn_NL
1191     0x950B4E5044657661llu, // lif_Deva_NP
1192     0x950B494E4C696D62llu, // lif_Limb_IN
1193     0xA50B49544C61746Ellu, // lij_Latn_IT
1194     0xC90B434E4C697375llu, // lis_Lisu_CN
1195     0xBD2B49444C61746Ellu, // ljp_Latn_ID
1196     0xA14B495241726162llu, // lki_Arab_IR
1197     0xCD4B55534C61746Ellu, // lkt_Latn_US
1198     0xB58B494E54656C75llu, // lmn_Telu_IN
1199     0xB98B49544C61746Ellu, // lmo_Latn_IT
1200     0x6C6E43444C61746Ellu, // ln_Latn_CD
1201     0x6C6F4C414C616F6Fllu, // lo_Laoo_LA
1202     0xADCB43444C61746Ellu, // lol_Latn_CD
1203     0xE5CB5A4D4C61746Ellu, // loz_Latn_ZM
1204     0x8A2B495241726162llu, // lrc_Arab_IR
1205     0x6C744C544C61746Ellu, // lt_Latn_LT
1206     0x9A6B4C564C61746Ellu, // ltg_Latn_LV
1207     0x6C7543444C61746Ellu, // lu_Latn_CD
1208     0x828B43444C61746Ellu, // lua_Latn_CD
1209     0xBA8B4B454C61746Ellu, // luo_Latn_KE
1210     0xE28B4B454C61746Ellu, // luy_Latn_KE
1211     0xE68B495241726162llu, // luz_Arab_IR
1212     0x6C764C564C61746Ellu, // lv_Latn_LV
1213     0xAECB544854686169llu, // lwl_Thai_TH
1214     0x9F2B434E48616E73llu, // lzh_Hans_CN
1215     0xE72B54524C61746Ellu, // lzz_Latn_TR
1216     0x8C0C49444C61746Ellu, // mad_Latn_ID
1217     0x940C434D4C61746Ellu, // maf_Latn_CM
1218     0x980C494E44657661llu, // mag_Deva_IN
1219     0xA00C494E44657661llu, // mai_Deva_IN
1220     0xA80C49444C61746Ellu, // mak_Latn_ID
1221     0xB40C474D4C61746Ellu, // man_Latn_GM
1222     0xB40C474E4E6B6F6Fllu, // man_Nkoo_GN
1223     0xC80C4B454C61746Ellu, // mas_Latn_KE
1224     0xE40C4D584C61746Ellu, // maz_Latn_MX
1225     0x946C52554379726Cllu, // mdf_Cyrl_RU
1226     0x9C6C50484C61746Ellu, // mdh_Latn_PH
1227     0xC46C49444C61746Ellu, // mdr_Latn_ID
1228     0xB48C534C4C61746Ellu, // men_Latn_SL
1229     0xC48C4B454C61746Ellu, // mer_Latn_KE
1230     0x80AC544841726162llu, // mfa_Arab_TH
1231     0x90AC4D554C61746Ellu, // mfe_Latn_MU
1232     0x6D674D474C61746Ellu, // mg_Latn_MG
1233     0x9CCC4D5A4C61746Ellu, // mgh_Latn_MZ
1234     0xB8CC434D4C61746Ellu, // mgo_Latn_CM
1235     0xBCCC4E5044657661llu, // mgp_Deva_NP
1236     0xE0CC545A4C61746Ellu, // mgy_Latn_TZ
1237     0x6D684D484C61746Ellu, // mh_Latn_MH
1238     0x6D694E5A4C61746Ellu, // mi_Latn_NZ
1239     0xB50C49444C61746Ellu, // min_Latn_ID
1240     0xC90C495148617472llu, // mis_Hatr_IQ
1241     0x6D6B4D4B4379726Cllu, // mk_Cyrl_MK
1242     0x6D6C494E4D6C796Dllu, // ml_Mlym_IN
1243     0xC96C53444C61746Ellu, // mls_Latn_SD
1244     0x6D6E4D4E4379726Cllu, // mn_Cyrl_MN
1245     0x6D6E434E4D6F6E67llu, // mn_Mong_CN
1246     0xA1AC494E42656E67llu, // mni_Beng_IN
1247     0xD9AC4D4D4D796D72llu, // mnw_Mymr_MM
1248     0x91CC43414C61746Ellu, // moe_Latn_CA
1249     0x9DCC43414C61746Ellu, // moh_Latn_CA
1250     0xC9CC42464C61746Ellu, // mos_Latn_BF
1251     0x6D72494E44657661llu, // mr_Deva_IN
1252     0x8E2C4E5044657661llu, // mrd_Deva_NP
1253     0xA62C52554379726Cllu, // mrj_Cyrl_RU
1254     0xD22C42444D726F6Fllu, // mru_Mroo_BD
1255     0x6D734D594C61746Ellu, // ms_Latn_MY
1256     0x6D744D544C61746Ellu, // mt_Latn_MT
1257     0xC66C494E44657661llu, // mtr_Deva_IN
1258     0x828C434D4C61746Ellu, // mua_Latn_CM
1259     0xCA8C55534C61746Ellu, // mus_Latn_US
1260     0xE2AC504B41726162llu, // mvy_Arab_PK
1261     0xAACC4D4C4C61746Ellu, // mwk_Latn_ML
1262     0xC6CC494E44657661llu, // mwr_Deva_IN
1263     0xD6CC49444C61746Ellu, // mwv_Latn_ID
1264     0x8AEC5A574C61746Ellu, // mxc_Latn_ZW
1265     0x6D794D4D4D796D72llu, // my_Mymr_MM
1266     0xD70C52554379726Cllu, // myv_Cyrl_RU
1267     0xDF0C55474C61746Ellu, // myx_Latn_UG
1268     0xE70C49524D616E64llu, // myz_Mand_IR
1269     0xB72C495241726162llu, // mzn_Arab_IR
1270     0x6E614E524C61746Ellu, // na_Latn_NR
1271     0xB40D434E48616E73llu, // nan_Hans_CN
1272     0xBC0D49544C61746Ellu, // nap_Latn_IT
1273     0xC00D4E414C61746Ellu, // naq_Latn_NA
1274     0x6E624E4F4C61746Ellu, // nb_Latn_NO
1275     0x9C4D4D584C61746Ellu, // nch_Latn_MX
1276     0x6E645A574C61746Ellu, // nd_Latn_ZW
1277     0x886D4D5A4C61746Ellu, // ndc_Latn_MZ
1278     0xC86D44454C61746Ellu, // nds_Latn_DE
1279     0x6E654E5044657661llu, // ne_Deva_NP
1280     0xD88D4E5044657661llu, // new_Deva_NP
1281     0x6E674E414C61746Ellu, // ng_Latn_NA
1282     0xACCD4D5A4C61746Ellu, // ngl_Latn_MZ
1283     0x90ED4D584C61746Ellu, // nhe_Latn_MX
1284     0xD8ED4D584C61746Ellu, // nhw_Latn_MX
1285     0xA50D49444C61746Ellu, // nij_Latn_ID
1286     0xD10D4E554C61746Ellu, // niu_Latn_NU
1287     0xB92D494E4C61746Ellu, // njo_Latn_IN
1288     0x6E6C4E4C4C61746Ellu, // nl_Latn_NL
1289     0x998D434D4C61746Ellu, // nmg_Latn_CM
1290     0x6E6E4E4F4C61746Ellu, // nn_Latn_NO
1291     0x9DAD434D4C61746Ellu, // nnh_Latn_CM
1292     0x6E6F4E4F4C61746Ellu, // no_Latn_NO
1293     0x8DCD54484C616E61llu, // nod_Lana_TH
1294     0x91CD494E44657661llu, // noe_Deva_IN
1295     0xB5CD534552756E72llu, // non_Runr_SE
1296     0xBA0D474E4E6B6F6Fllu, // nqo_Nkoo_GN
1297     0x6E725A414C61746Ellu, // nr_Latn_ZA
1298     0xAA4D434143616E73llu, // nsk_Cans_CA
1299     0xBA4D5A414C61746Ellu, // nso_Latn_ZA
1300     0xCA8D53534C61746Ellu, // nus_Latn_SS
1301     0x6E7655534C61746Ellu, // nv_Latn_US
1302     0xC2ED434E4C61746Ellu, // nxq_Latn_CN
1303     0x6E794D574C61746Ellu, // ny_Latn_MW
1304     0xB30D545A4C61746Ellu, // nym_Latn_TZ
1305     0xB70D55474C61746Ellu, // nyn_Latn_UG
1306     0xA32D47484C61746Ellu, // nzi_Latn_GH
1307     0x6F6346524C61746Ellu, // oc_Latn_FR
1308     0x6F6D45544C61746Ellu, // om_Latn_ET
1309     0x6F72494E4F727961llu, // or_Orya_IN
1310     0x6F7347454379726Cllu, // os_Cyrl_GE
1311     0xAA6E4D4E4F726B68llu, // otk_Orkh_MN
1312     0x7061504B41726162llu, // pa_Arab_PK
1313     0x7061494E47757275llu, // pa_Guru_IN
1314     0x980F50484C61746Ellu, // pag_Latn_PH
1315     0xAC0F495250686C69llu, // pal_Phli_IR
1316     0xAC0F434E50686C70llu, // pal_Phlp_CN
1317     0xB00F50484C61746Ellu, // pam_Latn_PH
1318     0xBC0F41574C61746Ellu, // pap_Latn_AW
1319     0xD00F50574C61746Ellu, // pau_Latn_PW
1320     0x8C4F46524C61746Ellu, // pcd_Latn_FR
1321     0xB04F4E474C61746Ellu, // pcm_Latn_NG
1322     0x886F55534C61746Ellu, // pdc_Latn_US
1323     0xCC6F43414C61746Ellu, // pdt_Latn_CA
1324     0xB88F49525870656Fllu, // peo_Xpeo_IR
1325     0xACAF44454C61746Ellu, // pfl_Latn_DE
1326     0xB4EF4C4250686E78llu, // phn_Phnx_LB
1327     0x814F494E42726168llu, // pka_Brah_IN
1328     0xB94F4B454C61746Ellu, // pko_Latn_KE
1329     0x706C504C4C61746Ellu, // pl_Latn_PL
1330     0xC98F49544C61746Ellu, // pms_Latn_IT
1331     0xCDAF47524772656Bllu, // pnt_Grek_GR
1332     0xB5CF464D4C61746Ellu, // pon_Latn_FM
1333     0x822F504B4B686172llu, // pra_Khar_PK
1334     0x8E2F495241726162llu, // prd_Arab_IR
1335     0x7073414641726162llu, // ps_Arab_AF
1336     0x707442524C61746Ellu, // pt_Latn_BR
1337     0xD28F47414C61746Ellu, // puu_Latn_GA
1338     0x717550454C61746Ellu, // qu_Latn_PE
1339     0x8A9047544C61746Ellu, // quc_Latn_GT
1340     0x9A9045434C61746Ellu, // qug_Latn_EC
1341     0xA411494E44657661llu, // raj_Deva_IN
1342     0x945152454C61746Ellu, // rcf_Latn_RE
1343     0xA49149444C61746Ellu, // rej_Latn_ID
1344     0xB4D149544C61746Ellu, // rgn_Latn_IT
1345     0x8111494E4C61746Ellu, // ria_Latn_IN
1346     0x95114D4154666E67llu, // rif_Tfng_MA
1347     0xC9314E5044657661llu, // rjs_Deva_NP
1348     0xCD51424442656E67llu, // rkt_Beng_BD
1349     0x726D43484C61746Ellu, // rm_Latn_CH
1350     0x959146494C61746Ellu, // rmf_Latn_FI
1351     0xB99143484C61746Ellu, // rmo_Latn_CH
1352     0xCD91495241726162llu, // rmt_Arab_IR
1353     0xD19153454C61746Ellu, // rmu_Latn_SE
1354     0x726E42494C61746Ellu, // rn_Latn_BI
1355     0x99B14D5A4C61746Ellu, // rng_Latn_MZ
1356     0x726F524F4C61746Ellu, // ro_Latn_RO
1357     0x85D149444C61746Ellu, // rob_Latn_ID
1358     0x95D1545A4C61746Ellu, // rof_Latn_TZ
1359     0xB271464A4C61746Ellu, // rtm_Latn_FJ
1360     0x727552554379726Cllu, // ru_Cyrl_RU
1361     0x929155414379726Cllu, // rue_Cyrl_UA
1362     0x9A9153424C61746Ellu, // rug_Latn_SB
1363     0x727752574C61746Ellu, // rw_Latn_RW
1364     0xAAD1545A4C61746Ellu, // rwk_Latn_TZ
1365     0xD3114A504B616E61llu, // ryu_Kana_JP
1366     0x7361494E44657661llu, // sa_Deva_IN
1367     0x941247484C61746Ellu, // saf_Latn_GH
1368     0x9C1252554379726Cllu, // sah_Cyrl_RU
1369     0xC0124B454C61746Ellu, // saq_Latn_KE
1370     0xC81249444C61746Ellu, // sas_Latn_ID
1371     0xCC12494E4C61746Ellu, // sat_Latn_IN
1372     0xE412494E53617572llu, // saz_Saur_IN
1373     0xBC32545A4C61746Ellu, // sbp_Latn_TZ
1374     0x736349544C61746Ellu, // sc_Latn_IT
1375     0xA852494E44657661llu, // sck_Deva_IN
1376     0xB45249544C61746Ellu, // scn_Latn_IT
1377     0xB85247424C61746Ellu, // sco_Latn_GB
1378     0xC85243414C61746Ellu, // scs_Latn_CA
1379     0x7364504B41726162llu, // sd_Arab_PK
1380     0x7364494E44657661llu, // sd_Deva_IN
1381     0x7364494E4B686F6Allu, // sd_Khoj_IN
1382     0x7364494E53696E64llu, // sd_Sind_IN
1383     0x887249544C61746Ellu, // sdc_Latn_IT
1384     0x9C72495241726162llu, // sdh_Arab_IR
1385     0x73654E4F4C61746Ellu, // se_Latn_NO
1386     0x949243494C61746Ellu, // sef_Latn_CI
1387     0x9C924D5A4C61746Ellu, // seh_Latn_MZ
1388     0xA0924D584C61746Ellu, // sei_Latn_MX
1389     0xC8924D4C4C61746Ellu, // ses_Latn_ML
1390     0x736743464C61746Ellu, // sg_Latn_CF
1391     0x80D249454F67616Dllu, // sga_Ogam_IE
1392     0xC8D24C544C61746Ellu, // sgs_Latn_LT
1393     0xA0F24D4154666E67llu, // shi_Tfng_MA
1394     0xB4F24D4D4D796D72llu, // shn_Mymr_MM
1395     0x73694C4B53696E68llu, // si_Sinh_LK
1396     0x8D1245544C61746Ellu, // sid_Latn_ET
1397     0x736B534B4C61746Ellu, // sk_Latn_SK
1398     0xC552504B41726162llu, // skr_Arab_PK
1399     0x736C53494C61746Ellu, // sl_Latn_SI
1400     0xA172504C4C61746Ellu, // sli_Latn_PL
1401     0xE17249444C61746Ellu, // sly_Latn_ID
1402     0x736D57534C61746Ellu, // sm_Latn_WS
1403     0x819253454C61746Ellu, // sma_Latn_SE
1404     0xA59253454C61746Ellu, // smj_Latn_SE
1405     0xB59246494C61746Ellu, // smn_Latn_FI
1406     0xBD92494C53616D72llu, // smp_Samr_IL
1407     0xC99246494C61746Ellu, // sms_Latn_FI
1408     0x736E5A574C61746Ellu, // sn_Latn_ZW
1409     0xA9B24D4C4C61746Ellu, // snk_Latn_ML
1410     0x736F534F4C61746Ellu, // so_Latn_SO
1411     0xD1D2544854686169llu, // sou_Thai_TH
1412     0x7371414C4C61746Ellu, // sq_Latn_AL
1413     0x737252534379726Cllu, // sr_Cyrl_RS
1414     0x737252534C61746Ellu, // sr_Latn_RS
1415     0x8632494E536F7261llu, // srb_Sora_IN
1416     0xB63253524C61746Ellu, // srn_Latn_SR
1417     0xC632534E4C61746Ellu, // srr_Latn_SN
1418     0xDE32494E44657661llu, // srx_Deva_IN
1419     0x73735A414C61746Ellu, // ss_Latn_ZA
1420     0xE25245524C61746Ellu, // ssy_Latn_ER
1421     0x73745A414C61746Ellu, // st_Latn_ZA
1422     0xC27244454C61746Ellu, // stq_Latn_DE
1423     0x737549444C61746Ellu, // su_Latn_ID
1424     0xAA92545A4C61746Ellu, // suk_Latn_TZ
1425     0xCA92474E4C61746Ellu, // sus_Latn_GN
1426     0x737653454C61746Ellu, // sv_Latn_SE
1427     0x7377545A4C61746Ellu, // sw_Latn_TZ
1428     0x86D2595441726162llu, // swb_Arab_YT
1429     0x8AD243444C61746Ellu, // swc_Latn_CD
1430     0x9AD244454C61746Ellu, // swg_Latn_DE
1431     0xD6D2494E44657661llu, // swv_Deva_IN
1432     0xB6F249444C61746Ellu, // sxn_Latn_ID
1433     0xAF12424442656E67llu, // syl_Beng_BD
1434     0xC712495153797263llu, // syr_Syrc_IQ
1435     0xAF32504C4C61746Ellu, // szl_Latn_PL
1436     0x7461494E54616D6Cllu, // ta_Taml_IN
1437     0xA4134E5044657661llu, // taj_Deva_NP
1438     0xD83350484C61746Ellu, // tbw_Latn_PH
1439     0xE053494E4B6E6461llu, // tcy_Knda_IN
1440     0x8C73434E54616C65llu, // tdd_Tale_CN
1441     0x98734E5044657661llu, // tdg_Deva_NP
1442     0x9C734E5044657661llu, // tdh_Deva_NP
1443     0x7465494E54656C75llu, // te_Telu_IN
1444     0xB093534C4C61746Ellu, // tem_Latn_SL
1445     0xB89355474C61746Ellu, // teo_Latn_UG
1446     0xCC93544C4C61746Ellu, // tet_Latn_TL
1447     0x7467504B41726162llu, // tg_Arab_PK
1448     0x7467544A4379726Cllu, // tg_Cyrl_TJ
1449     0x7468544854686169llu, // th_Thai_TH
1450     0xACF34E5044657661llu, // thl_Deva_NP
1451     0xC0F34E5044657661llu, // thq_Deva_NP
1452     0xC4F34E5044657661llu, // thr_Deva_NP
1453     0x7469455445746869llu, // ti_Ethi_ET
1454     0x9913455245746869llu, // tig_Ethi_ER
1455     0xD5134E474C61746Ellu, // tiv_Latn_NG
1456     0x746B544D4C61746Ellu, // tk_Latn_TM
1457     0xAD53544B4C61746Ellu, // tkl_Latn_TK
1458     0xC553415A4C61746Ellu, // tkr_Latn_AZ
1459     0xCD534E5044657661llu, // tkt_Deva_NP
1460     0x746C50484C61746Ellu, // tl_Latn_PH
1461     0xE173415A4C61746Ellu, // tly_Latn_AZ
1462     0x9D934E454C61746Ellu, // tmh_Latn_NE
1463     0x746E5A414C61746Ellu, // tn_Latn_ZA
1464     0x746F544F4C61746Ellu, // to_Latn_TO
1465     0x99D34D574C61746Ellu, // tog_Latn_MW
1466     0xA1F350474C61746Ellu, // tpi_Latn_PG
1467     0x747254524C61746Ellu, // tr_Latn_TR
1468     0xD23354524C61746Ellu, // tru_Latn_TR
1469     0xD63354574C61746Ellu, // trv_Latn_TW
1470     0x74735A414C61746Ellu, // ts_Latn_ZA
1471     0x8E5347524772656Bllu, // tsd_Grek_GR
1472     0x96534E5044657661llu, // tsf_Deva_NP
1473     0x9A5350484C61746Ellu, // tsg_Latn_PH
1474     0xA653425454696274llu, // tsj_Tibt_BT
1475     0x747452554379726Cllu, // tt_Cyrl_RU
1476     0xA67355474C61746Ellu, // ttj_Latn_UG
1477     0xCA73544854686169llu, // tts_Thai_TH
1478     0xCE73415A4C61746Ellu, // ttt_Latn_AZ
1479     0xB2934D574C61746Ellu, // tum_Latn_MW
1480     0xAEB354564C61746Ellu, // tvl_Latn_TV
1481     0xC2D34E454C61746Ellu, // twq_Latn_NE
1482     0x747950464C61746Ellu, // ty_Latn_PF
1483     0xD71352554379726Cllu, // tyv_Cyrl_RU
1484     0xB3334D414C61746Ellu, // tzm_Latn_MA
1485     0xB07452554379726Cllu, // udm_Cyrl_RU
1486     0x7567434E41726162llu, // ug_Arab_CN
1487     0x75674B5A4379726Cllu, // ug_Cyrl_KZ
1488     0x80D4535955676172llu, // uga_Ugar_SY
1489     0x756B55414379726Cllu, // uk_Cyrl_UA
1490     0xA174464D4C61746Ellu, // uli_Latn_FM
1491     0x8594414F4C61746Ellu, // umb_Latn_AO
1492     0xC5B4494E42656E67llu, // unr_Beng_IN
1493     0xC5B44E5044657661llu, // unr_Deva_NP
1494     0xDDB4494E42656E67llu, // unx_Beng_IN
1495     0x7572504B41726162llu, // ur_Arab_PK
1496     0x757A414641726162llu, // uz_Arab_AF
1497     0x757A555A4C61746Ellu, // uz_Latn_UZ
1498     0xA0154C5256616969llu, // vai_Vaii_LR
1499     0x76655A414C61746Ellu, // ve_Latn_ZA
1500     0x889549544C61746Ellu, // vec_Latn_IT
1501     0xBC9552554C61746Ellu, // vep_Latn_RU
1502     0x7669564E4C61746Ellu, // vi_Latn_VN
1503     0x891553584C61746Ellu, // vic_Latn_SX
1504     0xC97542454C61746Ellu, // vls_Latn_BE
1505     0x959544454C61746Ellu, // vmf_Latn_DE
1506     0xD9954D5A4C61746Ellu, // vmw_Latn_MZ
1507     0xCDD552554C61746Ellu, // vot_Latn_RU
1508     0xBA3545454C61746Ellu, // vro_Latn_EE
1509     0xB695545A4C61746Ellu, // vun_Latn_TZ
1510     0x776142454C61746Ellu, // wa_Latn_BE
1511     0x901643484C61746Ellu, // wae_Latn_CH
1512     0xAC16455445746869llu, // wal_Ethi_ET
1513     0xC41650484C61746Ellu, // war_Latn_PH
1514     0xBC3641554C61746Ellu, // wbp_Latn_AU
1515     0xC036494E54656C75llu, // wbq_Telu_IN
1516     0xC436494E44657661llu, // wbr_Deva_IN
1517     0xC97657464C61746Ellu, // wls_Latn_WF
1518     0xA1B64B4D41726162llu, // wni_Arab_KM
1519     0x776F534E4C61746Ellu, // wo_Latn_SN
1520     0xB276494E44657661llu, // wtm_Deva_IN
1521     0xD296434E48616E73llu, // wuu_Hans_CN
1522     0xD41742524C61746Ellu, // xav_Latn_BR
1523     0xC457545243617269llu, // xcr_Cari_TR
1524     0x78685A414C61746Ellu, // xh_Latn_ZA
1525     0x897754524C796369llu, // xlc_Lyci_TR
1526     0x8D7754524C796469llu, // xld_Lydi_TR
1527     0x9597474547656F72llu, // xmf_Geor_GE
1528     0xB597434E4D616E69llu, // xmn_Mani_CN
1529     0xC59753444D657263llu, // xmr_Merc_SD
1530     0x81B753414E617262llu, // xna_Narb_SA
1531     0xC5B7494E44657661llu, // xnr_Deva_IN
1532     0x99D755474C61746Ellu, // xog_Latn_UG
1533     0xC5F7495250727469llu, // xpr_Prti_IR
1534     0x8257594553617262llu, // xsa_Sarb_YE
1535     0xC6574E5044657661llu, // xsr_Deva_NP
1536     0xB8184D5A4C61746Ellu, // yao_Latn_MZ
1537     0xBC18464D4C61746Ellu, // yap_Latn_FM
1538     0xD418434D4C61746Ellu, // yav_Latn_CM
1539     0x8438434D4C61746Ellu, // ybb_Latn_CM
1540     0x796F4E474C61746Ellu, // yo_Latn_NG
1541     0xAE3842524C61746Ellu, // yrl_Latn_BR
1542     0x82984D584C61746Ellu, // yua_Latn_MX
1543     0x7A61434E4C61746Ellu, // za_Latn_CN
1544     0x981953444C61746Ellu, // zag_Latn_SD
1545     0xA4794B4D41726162llu, // zdj_Arab_KM
1546     0x80994E4C4C61746Ellu, // zea_Latn_NL
1547     0x9CD94D4154666E67llu, // zgh_Tfng_MA
1548     0x7A685457426F706Fllu, // zh_Bopo_TW
1549     0x7A68434E48616E73llu, // zh_Hans_CN
1550     0x7A68545748616E74llu, // zh_Hant_TW
1551     0xA1994D594C61746Ellu, // zmi_Latn_MY
1552     0x7A755A414C61746Ellu, // zu_Latn_ZA
1553     0x833954524C61746Ellu, // zza_Latn_TR
1554 });
1555
1556 const std::unordered_map<uint32_t, uint32_t> ARAB_PARENTS({
1557     {0x6172445Au, 0x61729420u}, // ar-DZ -> ar-015
1558     {0x61724548u, 0x61729420u}, // ar-EH -> ar-015
1559     {0x61724C59u, 0x61729420u}, // ar-LY -> ar-015
1560     {0x61724D41u, 0x61729420u}, // ar-MA -> ar-015
1561     {0x6172544Eu, 0x61729420u}, // ar-TN -> ar-015
1562 });
1563
1564 const std::unordered_map<uint32_t, uint32_t> HANT_PARENTS({
1565     {0x7A684D4Fu, 0x7A68484Bu}, // zh-Hant-MO -> zh-Hant-HK
1566 });
1567
1568 const std::unordered_map<uint32_t, uint32_t> LATN_PARENTS({
1569     {0x656E80A1u, 0x656E8400u}, // en-150 -> en-001
1570     {0x656E4147u, 0x656E8400u}, // en-AG -> en-001
1571     {0x656E4149u, 0x656E8400u}, // en-AI -> en-001
1572     {0x656E4154u, 0x656E80A1u}, // en-AT -> en-150
1573     {0x656E4155u, 0x656E8400u}, // en-AU -> en-001
1574     {0x656E4242u, 0x656E8400u}, // en-BB -> en-001
1575     {0x656E4245u, 0x656E8400u}, // en-BE -> en-001
1576     {0x656E424Du, 0x656E8400u}, // en-BM -> en-001
1577     {0x656E4253u, 0x656E8400u}, // en-BS -> en-001
1578     {0x656E4257u, 0x656E8400u}, // en-BW -> en-001
1579     {0x656E425Au, 0x656E8400u}, // en-BZ -> en-001
1580     {0x656E4341u, 0x656E8400u}, // en-CA -> en-001
1581     {0x656E4343u, 0x656E8400u}, // en-CC -> en-001
1582     {0x656E4348u, 0x656E80A1u}, // en-CH -> en-150
1583     {0x656E434Bu, 0x656E8400u}, // en-CK -> en-001
1584     {0x656E434Du, 0x656E8400u}, // en-CM -> en-001
1585     {0x656E4358u, 0x656E8400u}, // en-CX -> en-001
1586     {0x656E4359u, 0x656E8400u}, // en-CY -> en-001
1587     {0x656E4445u, 0x656E80A1u}, // en-DE -> en-150
1588     {0x656E4447u, 0x656E8400u}, // en-DG -> en-001
1589     {0x656E444Bu, 0x656E80A1u}, // en-DK -> en-150
1590     {0x656E444Du, 0x656E8400u}, // en-DM -> en-001
1591     {0x656E4552u, 0x656E8400u}, // en-ER -> en-001
1592     {0x656E4649u, 0x656E80A1u}, // en-FI -> en-150
1593     {0x656E464Au, 0x656E8400u}, // en-FJ -> en-001
1594     {0x656E464Bu, 0x656E8400u}, // en-FK -> en-001
1595     {0x656E464Du, 0x656E8400u}, // en-FM -> en-001
1596     {0x656E4742u, 0x656E8400u}, // en-GB -> en-001
1597     {0x656E4744u, 0x656E8400u}, // en-GD -> en-001
1598     {0x656E4747u, 0x656E8400u}, // en-GG -> en-001
1599     {0x656E4748u, 0x656E8400u}, // en-GH -> en-001
1600     {0x656E4749u, 0x656E8400u}, // en-GI -> en-001
1601     {0x656E474Du, 0x656E8400u}, // en-GM -> en-001
1602     {0x656E4759u, 0x656E8400u}, // en-GY -> en-001
1603     {0x656E484Bu, 0x656E8400u}, // en-HK -> en-001
1604     {0x656E4945u, 0x656E8400u}, // en-IE -> en-001
1605     {0x656E494Cu, 0x656E8400u}, // en-IL -> en-001
1606     {0x656E494Du, 0x656E8400u}, // en-IM -> en-001
1607     {0x656E494Eu, 0x656E8400u}, // en-IN -> en-001
1608     {0x656E494Fu, 0x656E8400u}, // en-IO -> en-001
1609     {0x656E4A45u, 0x656E8400u}, // en-JE -> en-001
1610     {0x656E4A4Du, 0x656E8400u}, // en-JM -> en-001
1611     {0x656E4B45u, 0x656E8400u}, // en-KE -> en-001
1612     {0x656E4B49u, 0x656E8400u}, // en-KI -> en-001
1613     {0x656E4B4Eu, 0x656E8400u}, // en-KN -> en-001
1614     {0x656E4B59u, 0x656E8400u}, // en-KY -> en-001
1615     {0x656E4C43u, 0x656E8400u}, // en-LC -> en-001
1616     {0x656E4C52u, 0x656E8400u}, // en-LR -> en-001
1617     {0x656E4C53u, 0x656E8400u}, // en-LS -> en-001
1618     {0x656E4D47u, 0x656E8400u}, // en-MG -> en-001
1619     {0x656E4D4Fu, 0x656E8400u}, // en-MO -> en-001
1620     {0x656E4D53u, 0x656E8400u}, // en-MS -> en-001
1621     {0x656E4D54u, 0x656E8400u}, // en-MT -> en-001
1622     {0x656E4D55u, 0x656E8400u}, // en-MU -> en-001
1623     {0x656E4D57u, 0x656E8400u}, // en-MW -> en-001
1624     {0x656E4D59u, 0x656E8400u}, // en-MY -> en-001
1625     {0x656E4E41u, 0x656E8400u}, // en-NA -> en-001
1626     {0x656E4E46u, 0x656E8400u}, // en-NF -> en-001
1627     {0x656E4E47u, 0x656E8400u}, // en-NG -> en-001
1628     {0x656E4E4Cu, 0x656E80A1u}, // en-NL -> en-150
1629     {0x656E4E52u, 0x656E8400u}, // en-NR -> en-001
1630     {0x656E4E55u, 0x656E8400u}, // en-NU -> en-001
1631     {0x656E4E5Au, 0x656E8400u}, // en-NZ -> en-001
1632     {0x656E5047u, 0x656E8400u}, // en-PG -> en-001
1633     {0x656E5048u, 0x656E8400u}, // en-PH -> en-001
1634     {0x656E504Bu, 0x656E8400u}, // en-PK -> en-001
1635     {0x656E504Eu, 0x656E8400u}, // en-PN -> en-001
1636     {0x656E5057u, 0x656E8400u}, // en-PW -> en-001
1637     {0x656E5257u, 0x656E8400u}, // en-RW -> en-001
1638     {0x656E5342u, 0x656E8400u}, // en-SB -> en-001
1639     {0x656E5343u, 0x656E8400u}, // en-SC -> en-001
1640     {0x656E5344u, 0x656E8400u}, // en-SD -> en-001
1641     {0x656E5345u, 0x656E80A1u}, // en-SE -> en-150
1642     {0x656E5347u, 0x656E8400u}, // en-SG -> en-001
1643     {0x656E5348u, 0x656E8400u}, // en-SH -> en-001
1644     {0x656E5349u, 0x656E80A1u}, // en-SI -> en-150
1645     {0x656E534Cu, 0x656E8400u}, // en-SL -> en-001
1646     {0x656E5353u, 0x656E8400u}, // en-SS -> en-001
1647     {0x656E5358u, 0x656E8400u}, // en-SX -> en-001
1648     {0x656E535Au, 0x656E8400u}, // en-SZ -> en-001
1649     {0x656E5443u, 0x656E8400u}, // en-TC -> en-001
1650     {0x656E544Bu, 0x656E8400u}, // en-TK -> en-001
1651     {0x656E544Fu, 0x656E8400u}, // en-TO -> en-001
1652     {0x656E5454u, 0x656E8400u}, // en-TT -> en-001
1653     {0x656E5456u, 0x656E8400u}, // en-TV -> en-001
1654     {0x656E545Au, 0x656E8400u}, // en-TZ -> en-001
1655     {0x656E5547u, 0x656E8400u}, // en-UG -> en-001
1656     {0x656E5643u, 0x656E8400u}, // en-VC -> en-001
1657     {0x656E5647u, 0x656E8400u}, // en-VG -> en-001
1658     {0x656E5655u, 0x656E8400u}, // en-VU -> en-001
1659     {0x656E5753u, 0x656E8400u}, // en-WS -> en-001
1660     {0x656E5A41u, 0x656E8400u}, // en-ZA -> en-001
1661     {0x656E5A4Du, 0x656E8400u}, // en-ZM -> en-001
1662     {0x656E5A57u, 0x656E8400u}, // en-ZW -> en-001
1663     {0x65734152u, 0x6573A424u}, // es-AR -> es-419
1664     {0x6573424Fu, 0x6573A424u}, // es-BO -> es-419
1665     {0x6573434Cu, 0x6573A424u}, // es-CL -> es-419
1666     {0x6573434Fu, 0x6573A424u}, // es-CO -> es-419
1667     {0x65734352u, 0x6573A424u}, // es-CR -> es-419
1668     {0x65734355u, 0x6573A424u}, // es-CU -> es-419
1669     {0x6573444Fu, 0x6573A424u}, // es-DO -> es-419
1670     {0x65734543u, 0x6573A424u}, // es-EC -> es-419
1671     {0x65734754u, 0x6573A424u}, // es-GT -> es-419
1672     {0x6573484Eu, 0x6573A424u}, // es-HN -> es-419
1673     {0x65734D58u, 0x6573A424u}, // es-MX -> es-419
1674     {0x65734E49u, 0x6573A424u}, // es-NI -> es-419
1675     {0x65735041u, 0x6573A424u}, // es-PA -> es-419
1676     {0x65735045u, 0x6573A424u}, // es-PE -> es-419
1677     {0x65735052u, 0x6573A424u}, // es-PR -> es-419
1678     {0x65735059u, 0x6573A424u}, // es-PY -> es-419
1679     {0x65735356u, 0x6573A424u}, // es-SV -> es-419
1680     {0x65735553u, 0x6573A424u}, // es-US -> es-419
1681     {0x65735559u, 0x6573A424u}, // es-UY -> es-419
1682     {0x65735645u, 0x6573A424u}, // es-VE -> es-419
1683     {0x7074414Fu, 0x70745054u}, // pt-AO -> pt-PT
1684     {0x70744356u, 0x70745054u}, // pt-CV -> pt-PT
1685     {0x70744757u, 0x70745054u}, // pt-GW -> pt-PT
1686     {0x70744D4Fu, 0x70745054u}, // pt-MO -> pt-PT
1687     {0x70744D5Au, 0x70745054u}, // pt-MZ -> pt-PT
1688     {0x70745354u, 0x70745054u}, // pt-ST -> pt-PT
1689     {0x7074544Cu, 0x70745054u}, // pt-TL -> pt-PT
1690 });
1691
1692 const struct {
1693     const char script[4];
1694     const std::unordered_map<uint32_t, uint32_t>* map;
1695 } SCRIPT_PARENTS[] = {
1696     {{'A', 'r', 'a', 'b'}, &ARAB_PARENTS},
1697     {{'H', 'a', 'n', 't'}, &HANT_PARENTS},
1698     {{'L', 'a', 't', 'n'}, &LATN_PARENTS},
1699 };
1700
1701 const size_t MAX_PARENT_DEPTH = 3;