1// Copyright 2019 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4{
5// To use implicithan for Collation UCAData.
6  "collationUCAData": "implicithan",
7// Based on the ICU63 version of
8// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
9// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
10  "localeFilter": {
11    "filterType": "language",
12    "whitelist": [
13// Need to explicitly add "root"
14      "root",
15
16      "af",
17      "ak",
18      "am",
19      "an",
20      "ar",
21      "ast",
22      "az",
23      "be",
24      "bem",
25      "bg",
26      "bn",
27      "br",
28      "bs",
29      "ca",
30      "ckb",
31      "cs",
32      "cy",
33      "da",
34      "de",
35      "ee",
36      "el",
37      "en",
38      "eo",
39      "es",
40      "et",
41      "eu",
42      "fa",
43      "fi",
44      "fil",
45      "fo",
46      "fr",
47      "ga",
48      "gl",
49      "gu",
50      "ha",
51      "haw",
52      "he",
53      "hi",
54      "hr",
55      "hu",
56      "hy",
57      "id",
58      "ig",
59      "in",
60      "is",
61      "it",
62      "iw",
63      "ja",
64      "ka",
65      "kk",
66      "km",
67      "kn",
68      "ko",
69      "ku",
70      "ky",
71      "lg",
72      "ln",
73      "lo",
74      "lt",
75      "lv",
76      "mfe",
77      "mg",
78      "mk",
79      "ml",
80      "mn",
81      "mo",
82      "mr",
83      "ms",
84      "mt",
85      "my",
86      "nb",
87      "ne",
88      "nl",
89      "nn",
90      "no",
91      "nyn",
92      "om",
93      "or",
94      "pa",
95      "pl",
96      "ps",
97      "pt",
98      "rm",
99      "rn",
100      "ro",
101      "ru",
102      "rw",
103      "sh",
104      "si",
105      "sk",
106      "sl",
107      "sn",
108      "so",
109      "sq",
110      "sr",
111      "sv",
112      "sw",
113      "ta",
114      "te",
115      "tg",
116      "th",
117      "ti",
118      "tl",
119      "to",
120      "tr",
121      "uk",
122      "ur",
123      "uz",
124      "vi",
125      "wa",
126      "yo",
127      "zh",
128      "zu"
129    ]
130  },
131  "featureFilters": {
132// "brkitr_dictionaries": { everything }
133    "brkitr_rules": {
134      "blacklist": [
135// Exclude line_cj till we upgrade to 68.1 due to size impact.
136        "line_cj",
137        "title",
138        "word_POSIX",
139        "word_ja"
140      ]
141    },
142    "brkitr_tree": {
143      "blacklist": [
144	"en_US_POSIX"
145      ]
146    },
147// Based on the ICU63 version of
148// https://cs.chromium.org/chromium/src/third_party/icu/source/data/mappings/ucmlocal.mk?rcl=797b7c
149    "conversion_mappings": {
150      "whitelist": [
151// UCM_SOURCE_CORE=...
152        "iso-8859-2-html",
153        "iso-8859-3-html",
154        "iso-8859-4-html",
155        "iso-8859-5-html",
156        "iso-8859-6-html",
157        "iso-8859-7-html",
158        "iso-8859-8-html",
159        "iso-8859-10-html",
160        "iso-8859-13-html",
161        "iso-8859-14-html",
162        "iso-8859-15-html",
163        "iso-8859-16-html",
164        "windows-1250-html",
165        "windows-1251-html",
166        "windows-1252-html",
167        "windows-1253-html",
168        "windows-1254-html",
169        "windows-1255-html",
170        "windows-1256-html",
171        "windows-1257-html",
172        "windows-1258-html",
173        "windows-936-2000",
174        "gb18030",
175        "big5-html",
176        "shift_jis-html",
177        "euc-jp-html",
178        "euc-kr-html",
179        "windows-874-html",
180        "macintosh-html",
181        "x-mac-cyrillic-html",
182        "ibm866-html",
183        "koi8-r-html",
184        "koi8-u-html"
185      ]
186    },
187// Based on the ICU63 version of
188// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
189// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
190    "curr_tree": {
191      "filterType": "language",
192      "whitelist": [
193// Need to explicitly add "root"
194	"root",
195
196        "am",
197        "ar",
198        "bg",
199        "bn",
200        "ca",
201        "cs",
202        "da",
203        "de",
204        "el",
205        "en",
206        "es",
207        "et",
208        "fa",
209        "fi",
210        "fil",
211        "fr",
212        "gu",
213        "he",
214        "hi",
215        "hr",
216        "hu",
217        "id",
218        "in",
219        "it",
220        "iw",
221        "ja",
222        "kn",
223        "ko",
224        "lt",
225        "lv",
226        "ml",
227        "mo",
228        "mr",
229        "ms",
230        "nb",
231        "nl",
232        "no",
233        "pl",
234        "pt",
235        "ro",
236        "ru",
237        "sh",
238        "sk",
239        "sl",
240        "sr",
241        "sv",
242        "sw",
243        "ta",
244        "te",
245        "th",
246        "tl",
247        "tr",
248        "uk",
249        "vi",
250        "zh"
251      ]
252    },
253// Based on the ICU63 version of
254// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
255// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
256    "coll_tree": {
257      "filterType": "union",
258      "unionOf": [
259	{
260          "whitelist": [
261            "en",
262            "en_US"
263	  ]
264	},
265	{
266          "filterType": "language",
267          "whitelist": [
268// Need to explicitly add "root"
269            "root",
270
271            "am",
272            "ar",
273            "bg",
274            "bn",
275            "ca",
276            "cs",
277            "da",
278            "de",
279            "el",
280            "es",
281            "et",
282            "fa",
283            "fi",
284            "fil",
285            "fr",
286            "gu",
287            "he",
288            "hi",
289            "hr",
290            "hu",
291            "id",
292            "in",
293            "it",
294            "iw",
295            "ja",
296            "kn",
297            "ko",
298            "lt",
299            "lv",
300            "ml",
301            "mo",
302            "mr",
303            "ms",
304            "nb",
305            "nl",
306            "no",
307            "pl",
308            "pt",
309            "ro",
310            "ru",
311            "sh",
312            "sk",
313            "sl",
314            "sr",
315            "sv",
316            "sw",
317            "ta",
318            "te",
319            "th",
320            "tl",
321            "tr",
322            "uk",
323            "vi",
324            "zh"
325	  ]
326        }
327      ]
328    },
329    "rbnf_tree": {
330      "whitelist": [
331// Needed by "y=jpanyear" in locales/ja.txt for calendar="japanese"
332        "ja",
333// Needed by "d=hanidays" in locales/zh*.txt for calendar="chinese"
334        "zh"
335      ]
336    },
337// Based on the ICU63 version of
338// https://cs.chromium.org/chromium/src/third_party/icu/source/data/region/reslocal.mk?rcl=797b7c
339// Includes the items from REGION_ALIAS_SOURCE and REGION_SOURCE
340    "region_tree": {
341      "filterType": "language",
342      "whitelist": [
343// Need to explicitly add "root"
344	"root",
345
346        "am",
347        "ar",
348        "bg",
349        "bn",
350        "ca",
351        "cs",
352        "da",
353        "de",
354        "el",
355        "en",
356        "es",
357        "et",
358        "fa",
359        "fi",
360        "fil",
361        "fr",
362        "gu",
363        "he",
364        "hi",
365        "hr",
366        "hu",
367        "id",
368        "in",
369        "it",
370        "iw",
371        "ja",
372        "kn",
373        "ko",
374        "lt",
375        "lv",
376        "ml",
377        "mo",
378        "mr",
379        "ms",
380        "nb",
381        "nl",
382        "no",
383        "pl",
384        "pt",
385        "ro",
386        "ru",
387        "sh",
388        "sk",
389        "sl",
390        "sr",
391        "sv",
392        "sw",
393        "ta",
394        "te",
395        "th",
396        "tl",
397        "tr",
398        "uk",
399        "vi",
400        "zh"
401      ]
402    },
403// Based on the ICU63 version of
404// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
405    "stringprep": { "filterType": "exclude" },
406    "translit": {  "filterType": "exclude" },
407// Based on the ICU63 version of
408// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
409// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
410    "unit_tree": {
411      "filterType": "language",
412      "whitelist": [
413// Need to explicitly add "root"
414	"root",
415
416        "am",
417        "ar",
418        "bg",
419        "bn",
420        "ca",
421        "cs",
422        "da",
423        "de",
424        "el",
425        "en",
426        "es",
427        "et",
428        "fa",
429        "fi",
430        "fil",
431        "fr",
432        "gu",
433        "he",
434        "hi",
435        "hr",
436        "hu",
437        "id",
438        "in",
439        "it",
440        "iw",
441        "ja",
442        "kn",
443        "ko",
444        "lt",
445        "lv",
446        "ml",
447        "mo",
448        "mr",
449        "ms",
450        "nb",
451        "nl",
452        "no",
453        "pl",
454        "pt",
455        "ro",
456        "ru",
457        "sh",
458        "sk",
459        "sl",
460        "sr",
461        "sv",
462        "sw",
463        "ta",
464        "te",
465        "th",
466        "tl",
467        "tr",
468        "uk",
469        "vi",
470        "zh"
471      ]
472    },
473// Based on the ICU63 version of
474// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
475// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
476    "zone_tree": {
477      "filterType": "language",
478      "whitelist": [
479// Need to explicitly add "root"
480	"root",
481
482// Need to explicitly add "tzdbNames"
483	"tzdbNames",
484
485        "am",
486        "ar",
487        "bg",
488        "bn",
489        "ca",
490        "cs",
491        "da",
492        "de",
493        "el",
494        "en",
495        "es",
496        "et",
497        "fa",
498        "fi",
499        "fil",
500        "fr",
501        "gu",
502        "he",
503        "hi",
504        "hr",
505        "hu",
506        "id",
507        "in",
508        "it",
509        "iw",
510        "ja",
511        "kn",
512        "ko",
513        "lt",
514        "lv",
515        "ml",
516        "mo",
517        "mr",
518        "ms",
519        "nb",
520        "nl",
521        "no",
522        "pl",
523        "pt",
524        "ro",
525        "ru",
526        "sh",
527        "sk",
528        "sl",
529        "sr",
530        "sv",
531        "sw",
532        "ta",
533        "te",
534        "th",
535        "tl",
536        "tr",
537        "uk",
538        "vi",
539        "zh"
540      ]
541    },
542// Based on
543// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
544    "unames": {
545      "filterType": "exclude"
546    }
547  },
548// Based on the ICU63 version of
549// https://cs.chromium.org/chromium/src/third_party/icu/scripts/trim_data.sh?rcl=797b7c
550  "resourceFilters": [
551// Based on filter_locale_data
552// # Remove entries currently not used in Chromium/V8.
553    {
554      "categories": [
555        "locales_tree"
556      ],
557      "rules": [
558        "-/*/mon",
559        "-/*/mon-short",
560        "-/*/mon-narrow",
561        "-/*/tue",
562        "-/*/tue-short",
563        "-/*/tue-narrow",
564        "-/*/wed",
565        "-/*/wed-short",
566        "-/*/wed-narrow",
567        "-/*/thu",
568        "-/*/thu-short",
569        "-/*/thu-narrow",
570        "-/*/fri",
571        "-/*/fri-short",
572        "-/*/fri-narrow",
573        "-/*/sat",
574        "-/*/sat-short",
575        "-/*/sat-narrow",
576        "-/*/sun",
577        "-/*/sun-short",
578        "-/*/sun-narrow",
579        "-/*/mon-short:alias",
580        "-/*/mon-narrow:alias",
581        "-/*/tue-short:alias",
582        "-/*/tue-narrow:alias",
583        "-/*/wed-short:alias",
584        "-/*/wed-narrow:alias",
585        "-/*/thu-short:alias",
586        "-/*/thu-narrow:alias",
587        "-/*/fri-short:alias",
588        "-/*/fri-narrow:alias",
589        "-/*/sat-short:alias",
590        "-/*/sat-narrow:alias",
591        "-/*/sun-short:alias",
592        "-/*/sun-narrow:alias",
593        "-/characterLabel",
594        "-/AuxExemplarCharacters",
595        "-/ExemplarCharacters",
596        "-/ExemplarCharactersNumbers",
597        "-/ExemplarCharactersPunctuation",
598        "-/measurementSystemNames",
599        "-/NumberElements/minimalPairs",
600        "-/delimiters"
601      ]
602    },
603// Based on filter_display_language_names
604    {
605      "categories": [
606        "lang_tree"
607      ],
608      "rules": [
609        "-/Languages",
610        "-/Languages%long",
611        "-/Languages%short",
612        "-/Languages%variant",
613// Based on https://cs.chromium.org/chromium/src/third_party/icu/scripts/accept_lang.list?rcl=797b7c
614        "+/*/ach",
615        "+/*/af",
616        "+/*/ak",
617        "+/*/am",
618        "+/*/an",
619        "+/*/ar",
620        "+/*/ast",
621        "+/*/az",
622        "+/*/ban",
623        "+/*/be",
624        "+/*/bem",
625        "+/*/bg",
626        "+/*/bh",
627        "+/*/bn",
628        "+/*/br",
629        "+/*/bs",
630        "+/*/ca",
631        "+/*/ccp",
632        "+/*/ceb",
633        "+/*/chr",
634        "+/*/ckb",
635        "+/*/co",
636        "+/*/crs",
637        "+/*/cs",
638        "+/*/cy",
639        "+/*/da",
640        "+/*/de",
641        "+/*/ee",
642        "+/*/el",
643        "+/*/en",
644        "+/*/eo",
645        "+/*/es",
646        "+/*/et",
647        "+/*/eu",
648        "+/*/fa",
649        "+/*/fi",
650        "+/*/fil",
651        "+/*/fo",
652        "+/*/fr",
653        "+/*/fy",
654        "+/*/ga",
655        "+/*/gaa",
656        "+/*/gd",
657        "+/*/gl",
658        "+/*/gn",
659        "+/*/gu",
660        "+/*/ha",
661        "+/*/haw",
662        "+/*/he",
663        "+/*/hi",
664        "+/*/hmn",
665        "+/*/hr",
666        "+/*/ht",
667        "+/*/hu",
668        "+/*/hy",
669        "+/*/ia",
670        "+/*/id",
671        "+/*/ig",
672        "+/*/is",
673        "+/*/it",
674        "+/*/ja",
675        "+/*/jv",
676        "+/*/jw",
677        "+/*/ka",
678        "+/*/kg",
679        "+/*/kk",
680        "+/*/km",
681        "+/*/kn",
682        "+/*/ko",
683        "+/*/kri",
684        "+/*/ku",
685        "+/*/ky",
686        "+/*/la",
687        "+/*/lb",
688        "+/*/lg",
689        "+/*/ln",
690        "+/*/lo",
691        "+/*/loz",
692        "+/*/lt",
693        "+/*/lua",
694        "+/*/lv",
695        "+/*/mfe",
696        "+/*/mg",
697        "+/*/mi",
698        "+/*/mk",
699        "+/*/ml",
700        "+/*/mn",
701        "+/*/mo",
702        "+/*/mr",
703        "+/*/ms",
704        "+/*/mt",
705        "+/*/my",
706        "+/*/nb",
707        "+/*/ne",
708        "+/*/nl",
709        "+/*/nn",
710        "+/*/no",
711        "+/*/nso",
712        "+/*/ny",
713        "+/*/nyn",
714        "+/*/oc",
715        "+/*/om",
716        "+/*/or",
717        "+/*/osa",
718        "+/*/pa",
719        "+/*/pcm",
720        "+/*/pl",
721        "+/*/ps",
722        "+/*/pt",
723        "+/*/qu",
724        "+/*/rm",
725        "+/*/rn",
726        "+/*/ro",
727        "+/*/ru",
728        "+/*/rw",
729        "+/*/sd",
730        "+/*/sh",
731        "+/*/si",
732        "+/*/sk",
733        "+/*/sl",
734        "+/*/sm",
735        "+/*/sn",
736        "+/*/so",
737        "+/*/sq",
738        "+/*/sr",
739        "+/*/sr_Latn",
740        "+/*/st",
741        "+/*/su",
742        "+/*/sv",
743        "+/*/sw",
744        "+/*/ta",
745        "+/*/te",
746        "+/*/tg",
747        "+/*/th",
748        "+/*/ti",
749        "+/*/tk",
750        "+/*/tl",
751        "+/*/tn",
752        "+/*/to",
753        "+/*/tr",
754        "+/*/tt",
755        "+/*/tum",
756        "+/*/tw",
757        "+/*/ug",
758        "+/*/uk",
759        "+/*/ur",
760        "+/*/uz",
761        "+/*/vi",
762        "+/*/wa",
763        "+/*/wo",
764        "+/*/xh",
765        "+/*/xx",
766        "+/*/yi",
767        "+/*/yo",
768        "+/*/zh",
769        "+/*/zu",
770        "+/*/ar_001",
771        "+/*/az_Arab",
772        "+/*/de_AT",
773        "+/*/de_CH",
774        "+/*/en_AU",
775        "+/*/en_CA",
776        "+/*/en_GB",
777        "+/*/en_US",
778        "+/*/es_419",
779        "+/*/es_ES",
780        "+/*/es_MX",
781        "+/*/fa_AF",
782        "+/*/fr_CA",
783        "+/*/fr_CH",
784        "+/*/nl_BE",
785        "+/*/pt_BR",
786        "+/*/pt_PT",
787        "+/*/ro_MD",
788        "+/*/sr_ME",
789        "+/*/sw_CD",
790        "+/*/zh_Hans",
791        "+/*/zh_Hant",
792        "-/Keys",
793        "-/Types",
794        "-/Types%short",
795        "-/characterLabelPattern",
796        "-/Variants",
797        "+/Variants/OXENDICT"
798      ]
799    },
800// For chromeos, drop all script names except
801// Arab, Cyrl, Latn, Hans, Hant
802    {
803      "categories": [
804        "lang_tree"
805      ],
806      "rules": [
807        "-/Scripts/*",
808        "-/Scripts%long/*",
809        "-/Scripts%short/*",
810        "-/Scripts%variant/*",
811        "-/Scripts%stand-alone/*",
812        "+/*/Arab",
813        "+/*/Cyrl",
814        "+/*/Hans",
815        "+/*/Hant",
816        "+/*/Latn"
817      ]
818    },
819// Based on abridge_locale_data_for_non_ui_languages
820// # Keep only the minimum locale data for non-UI languages.
821    {
822      "categories": [
823        "locales_tree"
824      ],
825      "files": {
826        "whitelist": [
827// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
828          "ach",
829          "af",
830          "ak",
831          "an",
832          "ast",
833          "az",
834          "ban",
835          "be",
836          "bem",
837          "bh",
838          "br",
839          "bs",
840          "ccp",
841          "ceb",
842          "chr",
843          "ckb",
844          "co",
845          "crs",
846          "cy",
847          "ee",
848          "eo",
849          "eu",
850          "fo",
851          "fy",
852          "ga",
853          "gaa",
854          "gd",
855          "gl",
856          "gn",
857          "ha",
858          "haw",
859          "hmn",
860          "ht",
861          "hy",
862          "ia",
863          "ig",
864          "is",
865          "jv",
866          "jw",
867          "ka",
868          "kg",
869          "kk",
870          "km",
871          "kri",
872          "ku",
873          "ky",
874          "la",
875          "lb",
876          "lg",
877          "ln",
878          "lo",
879          "loz",
880          "lua",
881          "mfe",
882          "mg",
883          "mi",
884          "mk",
885          "mn",
886          "mo",
887          "mt",
888          "my",
889          "ne",
890          "nn",
891          "no",
892          "nso",
893          "ny",
894          "nyn",
895          "oc",
896          "om",
897          "or",
898          "osa",
899          "pa",
900          "pcm",
901          "ps",
902          "qu",
903          "rm",
904          "rn",
905          "rw",
906          "sd",
907          "sh",
908          "si",
909          "sm",
910          "sn",
911          "so",
912          "sq",
913          "st",
914          "su",
915          "tg",
916          "ti",
917          "tk",
918          "tl",
919          "tn",
920          "to",
921          "tt",
922          "tum",
923          "tw",
924          "ug",
925          "ur",
926          "uz",
927          "wa",
928          "wo",
929          "xh",
930          "xx",
931          "yi",
932          "yo",
933          "zu"
934	]
935      },
936      "rules": [
937        "-/*",
938        "+/%%ALIAS",
939        "+/LocaleScript",
940        "+/layout",
941        "+/Version"
942      ]
943    },
944// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
945    {"categories":["lang_tree"],"files":{"whitelist":["ach"]},"rules":["-/*","+/%%ALIAS","+/Languages/ach"] },
946    {"categories":["lang_tree"],"files":{"whitelist":["af"]},"rules":["-/*","+/%%ALIAS","+/Languages/af"] },
947    {"categories":["lang_tree"],"files":{"whitelist":["ak"]},"rules":["-/*","+/%%ALIAS","+/Languages/ak"] },
948    {"categories":["lang_tree"],"files":{"whitelist":["an"]},"rules":["-/*","+/%%ALIAS","+/Languages/an"] },
949    {"categories":["lang_tree"],"files":{"whitelist":["ast"]},"rules":["-/*","+/%%ALIAS","+/Languages/ast"] },
950    {"categories":["lang_tree"],"files":{"whitelist":["az"]},"rules":["-/*","+/%%ALIAS","+/Languages/az"] },
951    {"categories":["lang_tree"],"files":{"whitelist":["ban"]},"rules":["-/*","+/%%ALIAS","+/Languages/ban"] },
952    {"categories":["lang_tree"],"files":{"whitelist":["be"]},"rules":["-/*","+/%%ALIAS","+/Languages/be"] },
953    {"categories":["lang_tree"],"files":{"whitelist":["bem"]},"rules":["-/*","+/%%ALIAS","+/Languages/bem"] },
954    {"categories":["lang_tree"],"files":{"whitelist":["bh"]},"rules":["-/*","+/%%ALIAS","+/Languages/bh"] },
955    {"categories":["lang_tree"],"files":{"whitelist":["br"]},"rules":["-/*","+/%%ALIAS","+/Languages/br"] },
956    {"categories":["lang_tree"],"files":{"whitelist":["bs"]},"rules":["-/*","+/%%ALIAS","+/Languages/bs"] },
957    {"categories":["lang_tree"],"files":{"whitelist":["ccp"]},"rules":["-/*","+/%%ALIAS","+/Languages/ccp"] },
958    {"categories":["lang_tree"],"files":{"whitelist":["ceb"]},"rules":["-/*","+/%%ALIAS","+/Languages/ceb"] },
959    {"categories":["lang_tree"],"files":{"whitelist":["chr"]},"rules":["-/*","+/%%ALIAS","+/Languages/chr"] },
960    {"categories":["lang_tree"],"files":{"whitelist":["ckb"]},"rules":["-/*","+/%%ALIAS","+/Languages/ckb"] },
961    {"categories":["lang_tree"],"files":{"whitelist":["co"]},"rules":["-/*","+/%%ALIAS","+/Languages/co"] },
962    {"categories":["lang_tree"],"files":{"whitelist":["crs"]},"rules":["-/*","+/%%ALIAS","+/Languages/crs"] },
963    {"categories":["lang_tree"],"files":{"whitelist":["cy"]},"rules":["-/*","+/%%ALIAS","+/Languages/cy"] },
964    {"categories":["lang_tree"],"files":{"whitelist":["ee"]},"rules":["-/*","+/%%ALIAS","+/Languages/ee"] },
965    {"categories":["lang_tree"],"files":{"whitelist":["eu"]},"rules":["-/*","+/%%ALIAS","+/Languages/eu"] },
966    {"categories":["lang_tree"],"files":{"whitelist":["fo"]},"rules":["-/*","+/%%ALIAS","+/Languages/fo"] },
967    {"categories":["lang_tree"],"files":{"whitelist":["fy"]},"rules":["-/*","+/%%ALIAS","+/Languages/fy"] },
968    {"categories":["lang_tree"],"files":{"whitelist":["ga"]},"rules":["-/*","+/%%ALIAS","+/Languages/ga"] },
969    {"categories":["lang_tree"],"files":{"whitelist":["gaa"]},"rules":["-/*","+/%%ALIAS","+/Languages/gaa"] },
970    {"categories":["lang_tree"],"files":{"whitelist":["gd"]},"rules":["-/*","+/%%ALIAS","+/Languages/gd"] },
971    {"categories":["lang_tree"],"files":{"whitelist":["gl"]},"rules":["-/*","+/%%ALIAS","+/Languages/gl"] },
972    {"categories":["lang_tree"],"files":{"whitelist":["gn"]},"rules":["-/*","+/%%ALIAS","+/Languages/gn"] },
973    {"categories":["lang_tree"],"files":{"whitelist":["ha"]},"rules":["-/*","+/%%ALIAS","+/Languages/ha"] },
974    {"categories":["lang_tree"],"files":{"whitelist":["haw"]},"rules":["-/*","+/%%ALIAS","+/Languages/haw"] },
975    {"categories":["lang_tree"],"files":{"whitelist":["hmn"]},"rules":["-/*","+/%%ALIAS","+/Languages/hmn"] },
976    {"categories":["lang_tree"],"files":{"whitelist":["ht"]},"rules":["-/*","+/%%ALIAS","+/Languages/ht"] },
977    {"categories":["lang_tree"],"files":{"whitelist":["hy"]},"rules":["-/*","+/%%ALIAS","+/Languages/hy"] },
978    {"categories":["lang_tree"],"files":{"whitelist":["ia"]},"rules":["-/*","+/%%ALIAS","+/Languages/ia"] },
979    {"categories":["lang_tree"],"files":{"whitelist":["ig"]},"rules":["-/*","+/%%ALIAS","+/Languages/ig"] },
980    {"categories":["lang_tree"],"files":{"whitelist":["is"]},"rules":["-/*","+/%%ALIAS","+/Languages/is"] },
981    {"categories":["lang_tree"],"files":{"whitelist":["jv"]},"rules":["-/*","+/%%ALIAS","+/Languages/jv"] },
982    {"categories":["lang_tree"],"files":{"whitelist":["jw"]},"rules":["-/*","+/%%ALIAS","+/Languages/jw"] },
983    {"categories":["lang_tree"],"files":{"whitelist":["ka"]},"rules":["-/*","+/%%ALIAS","+/Languages/ka"] },
984    {"categories":["lang_tree"],"files":{"whitelist":["kg"]},"rules":["-/*","+/%%ALIAS","+/Languages/kg"] },
985    {"categories":["lang_tree"],"files":{"whitelist":["kk"]},"rules":["-/*","+/%%ALIAS","+/Languages/kk"] },
986    {"categories":["lang_tree"],"files":{"whitelist":["km"]},"rules":["-/*","+/%%ALIAS","+/Languages/km"] },
987    {"categories":["lang_tree"],"files":{"whitelist":["kri"]},"rules":["-/*","+/%%ALIAS","+/Languages/kri"] },
988    {"categories":["lang_tree"],"files":{"whitelist":["ku"]},"rules":["-/*","+/%%ALIAS","+/Languages/ku"] },
989    {"categories":["lang_tree"],"files":{"whitelist":["ky"]},"rules":["-/*","+/%%ALIAS","+/Languages/ky"] },
990    {"categories":["lang_tree"],"files":{"whitelist":["la"]},"rules":["-/*","+/%%ALIAS","+/Languages/la"] },
991    {"categories":["lang_tree"],"files":{"whitelist":["lb"]},"rules":["-/*","+/%%ALIAS","+/Languages/lb"] },
992    {"categories":["lang_tree"],"files":{"whitelist":["lg"]},"rules":["-/*","+/%%ALIAS","+/Languages/lg"] },
993    {"categories":["lang_tree"],"files":{"whitelist":["ln"]},"rules":["-/*","+/%%ALIAS","+/Languages/ln"] },
994    {"categories":["lang_tree"],"files":{"whitelist":["lo"]},"rules":["-/*","+/%%ALIAS","+/Languages/lo"] },
995    {"categories":["lang_tree"],"files":{"whitelist":["loz"]},"rules":["-/*","+/%%ALIAS","+/Languages/loz"] },
996    {"categories":["lang_tree"],"files":{"whitelist":["lua"]},"rules":["-/*","+/%%ALIAS","+/Languages/lua"] },
997    {"categories":["lang_tree"],"files":{"whitelist":["mfe"]},"rules":["-/*","+/%%ALIAS","+/Languages/mfe"] },
998    {"categories":["lang_tree"],"files":{"whitelist":["mg"]},"rules":["-/*","+/%%ALIAS","+/Languages/mg"] },
999    {"categories":["lang_tree"],"files":{"whitelist":["mi"]},"rules":["-/*","+/%%ALIAS","+/Languages/mi"] },
1000    {"categories":["lang_tree"],"files":{"whitelist":["mk"]},"rules":["-/*","+/%%ALIAS","+/Languages/mk"] },
1001    {"categories":["lang_tree"],"files":{"whitelist":["mn"]},"rules":["-/*","+/%%ALIAS","+/Languages/mn"] },
1002    {"categories":["lang_tree"],"files":{"whitelist":["mt"]},"rules":["-/*","+/%%ALIAS","+/Languages/mt"] },
1003    {"categories":["lang_tree"],"files":{"whitelist":["my"]},"rules":["-/*","+/%%ALIAS","+/Languages/my"] },
1004    {"categories":["lang_tree"],"files":{"whitelist":["ne"]},"rules":["-/*","+/%%ALIAS","+/Languages/ne"] },
1005    {"categories":["lang_tree"],"files":{"whitelist":["nn"]},"rules":["-/*","+/%%ALIAS","+/Languages/nn"] },
1006    {"categories":["lang_tree"],"files":{"whitelist":["no"]},"rules":["-/*","+/%%ALIAS","+/Languages/no"] },
1007    {"categories":["lang_tree"],"files":{"whitelist":["nso"]},"rules":["-/*","+/%%ALIAS","+/Languages/nso"] },
1008    {"categories":["lang_tree"],"files":{"whitelist":["ny"]},"rules":["-/*","+/%%ALIAS","+/Languages/ny"] },
1009    {"categories":["lang_tree"],"files":{"whitelist":["nyn"]},"rules":["-/*","+/%%ALIAS","+/Languages/nyn"] },
1010    {"categories":["lang_tree"],"files":{"whitelist":["oc"]},"rules":["-/*","+/%%ALIAS","+/Languages/oc"] },
1011    {"categories":["lang_tree"],"files":{"whitelist":["om"]},"rules":["-/*","+/%%ALIAS","+/Languages/om"] },
1012    {"categories":["lang_tree"],"files":{"whitelist":["or"]},"rules":["-/*","+/%%ALIAS","+/Languages/or"] },
1013    {"categories":["lang_tree"],"files":{"whitelist":["osa"]},"rules":["-/*","+/%%ALIAS","+/Languages/osa"] },
1014    {"categories":["lang_tree"],"files":{"whitelist":["pa"]},"rules":["-/*","+/%%ALIAS","+/Languages/pa"] },
1015    {"categories":["lang_tree"],"files":{"whitelist":["pcm"]},"rules":["-/*","+/%%ALIAS","+/Languages/pcm"] },
1016    {"categories":["lang_tree"],"files":{"whitelist":["ps"]},"rules":["-/*","+/%%ALIAS","+/Languages/ps"] },
1017    {"categories":["lang_tree"],"files":{"whitelist":["qu"]},"rules":["-/*","+/%%ALIAS","+/Languages/qu"] },
1018    {"categories":["lang_tree"],"files":{"whitelist":["rm"]},"rules":["-/*","+/%%ALIAS","+/Languages/rm"] },
1019    {"categories":["lang_tree"],"files":{"whitelist":["rn"]},"rules":["-/*","+/%%ALIAS","+/Languages/rn"] },
1020    {"categories":["lang_tree"],"files":{"whitelist":["rw"]},"rules":["-/*","+/%%ALIAS","+/Languages/rw"] },
1021    {"categories":["lang_tree"],"files":{"whitelist":["sd"]},"rules":["-/*","+/%%ALIAS","+/Languages/sd"] },
1022    {"categories":["lang_tree"],"files":{"whitelist":["si"]},"rules":["-/*","+/%%ALIAS","+/Languages/si"] },
1023    {"categories":["lang_tree"],"files":{"whitelist":["sm"]},"rules":["-/*","+/%%ALIAS","+/Languages/sm"] },
1024    {"categories":["lang_tree"],"files":{"whitelist":["sn"]},"rules":["-/*","+/%%ALIAS","+/Languages/sn"] },
1025    {"categories":["lang_tree"],"files":{"whitelist":["so"]},"rules":["-/*","+/%%ALIAS","+/Languages/so"] },
1026    {"categories":["lang_tree"],"files":{"whitelist":["sq"]},"rules":["-/*","+/%%ALIAS","+/Languages/sq"] },
1027    {"categories":["lang_tree"],"files":{"whitelist":["st"]},"rules":["-/*","+/%%ALIAS","+/Languages/st"] },
1028    {"categories":["lang_tree"],"files":{"whitelist":["su"]},"rules":["-/*","+/%%ALIAS","+/Languages/su"] },
1029    {"categories":["lang_tree"],"files":{"whitelist":["tg"]},"rules":["-/*","+/%%ALIAS","+/Languages/tg"] },
1030    {"categories":["lang_tree"],"files":{"whitelist":["ti"]},"rules":["-/*","+/%%ALIAS","+/Languages/ti"] },
1031    {"categories":["lang_tree"],"files":{"whitelist":["tk"]},"rules":["-/*","+/%%ALIAS","+/Languages/tk"] },
1032    {"categories":["lang_tree"],"files":{"whitelist":["tn"]},"rules":["-/*","+/%%ALIAS","+/Languages/tn"] },
1033    {"categories":["lang_tree"],"files":{"whitelist":["to"]},"rules":["-/*","+/%%ALIAS","+/Languages/to"] },
1034    {"categories":["lang_tree"],"files":{"whitelist":["tt"]},"rules":["-/*","+/%%ALIAS","+/Languages/tt"] },
1035    {"categories":["lang_tree"],"files":{"whitelist":["tum"]},"rules":["-/*","+/%%ALIAS","+/Languages/tum"] },
1036    {"categories":["lang_tree"],"files":{"whitelist":["tw"]},"rules":["-/*","+/%%ALIAS","+/Languages/tw"] },
1037    {"categories":["lang_tree"],"files":{"whitelist":["ug"]},"rules":["-/*","+/%%ALIAS","+/Languages/ug"] },
1038    {"categories":["lang_tree"],"files":{"whitelist":["ur"]},"rules":["-/*","+/%%ALIAS","+/Languages/ur"] },
1039    {"categories":["lang_tree"],"files":{"whitelist":["uz"]},"rules":["-/*","+/%%ALIAS","+/Languages/uz"] },
1040    {"categories":["lang_tree"],"files":{"whitelist":["wa"]},"rules":["-/*","+/%%ALIAS","+/Languages/wa"] },
1041    {"categories":["lang_tree"],"files":{"whitelist":["wo"]},"rules":["-/*","+/%%ALIAS","+/Languages/wo"] },
1042    {"categories":["lang_tree"],"files":{"whitelist":["xh"]},"rules":["-/*","+/%%ALIAS","+/Languages/xh"] },
1043    {"categories":["lang_tree"],"files":{"whitelist":["xx"]},"rules":["-/*","+/%%ALIAS","+/Languages/xx"] },
1044    {"categories":["lang_tree"],"files":{"whitelist":["yi"]},"rules":["-/*","+/%%ALIAS","+/Languages/yi"] },
1045    {"categories":["lang_tree"],"files":{"whitelist":["yo"]},"rules":["-/*","+/%%ALIAS","+/Languages/yo"] },
1046    {"categories":["lang_tree"],"files":{"whitelist":["zu"]},"rules":["-/*","+/%%ALIAS","+/Languages/zu"] },
1047// Based on filter_currency_data
1048// # Keep only the currencies used by the larget 150 economies in terms of GDP.
1049// # TODO(jshin): Use ucurr_isAvailable in ICU to drop more currencies.
1050// # See also http://en.wikipedia.org/wiki/List_of_circulating_currencies
1051    {
1052      "categories": [
1053        "curr_tree"
1054      ],
1055      "rules": [
1056        "-/Currencies",
1057        "-/Currencies%narrow",
1058        "-/CurrencyPlurals",
1059// Baesd on
1060// https://cs.chromium.org/chromium/src/third_party/icu/scripts/currencies.list?rcl=797b7c
1061        "+/*/AED",
1062        "+/*/AFN",
1063        "+/*/ALL",
1064        "+/*/AMD",
1065        "+/*/ANG",
1066        "+/*/AOA",
1067        "+/*/ARS",
1068        "+/*/AUD",
1069        "+/*/AWG",
1070        "+/*/AZN",
1071        "+/*/BAM",
1072        "+/*/BBD",
1073        "+/*/BDT",
1074        "+/*/BGN",
1075        "+/*/BHD",
1076        "+/*/BIF",
1077        "+/*/BMD",
1078        "+/*/BND",
1079        "+/*/BOB",
1080// #BOV",
1081        "+/*/BRL",
1082        "+/*/BSD",
1083        "+/*/BTN",
1084        "+/*/BWP",
1085        "+/*/BYN",
1086        "+/*/BZD",
1087        "+/*/CAD",
1088        "+/*/CDF",
1089// #CHE",
1090        "+/*/CHF",
1091// #CHW",
1092// #CLF",
1093        "+/*/CLP",
1094        "+/*/CNY",
1095        "+/*/COP",
1096// #COU",
1097        "+/*/CRC",
1098        "+/*/CUC",
1099        "+/*/CUP",
1100        "+/*/CVE",
1101        "+/*/CZK",
1102        "+/*/DJF",
1103        "+/*/DKK",
1104        "+/*/DOP",
1105        "+/*/DZD",
1106        "+/*/EGP",
1107        "+/*/ERN",
1108        "+/*/ETB",
1109        "+/*/EUR",
1110        "+/*/FJD",
1111        "+/*/FKP",
1112        "+/*/GBP",
1113        "+/*/GEL",
1114        "+/*/GHS",
1115        "+/*/GIP",
1116        "+/*/GMD",
1117        "+/*/GNF",
1118        "+/*/GTQ",
1119        "+/*/GYD",
1120        "+/*/HKD",
1121        "+/*/HNL",
1122        "+/*/HRK",
1123        "+/*/HTG",
1124        "+/*/HUF",
1125        "+/*/IDR",
1126        "+/*/ILS",
1127        "+/*/INR",
1128        "+/*/IQD",
1129        "+/*/IRR",
1130        "+/*/ISK",
1131        "+/*/JMD",
1132        "+/*/JOD",
1133        "+/*/JPY",
1134        "+/*/KES",
1135        "+/*/KGS",
1136        "+/*/KHR",
1137        "+/*/KMF",
1138        "+/*/KPW",
1139        "+/*/KRW",
1140        "+/*/KWD",
1141        "+/*/KYD",
1142        "+/*/KZT",
1143        "+/*/LAK",
1144        "+/*/LBP",
1145        "+/*/LKR",
1146        "+/*/LRD",
1147        "+/*/LSL",
1148        "+/*/LYD",
1149        "+/*/MAD",
1150        "+/*/MDL",
1151        "+/*/MGA",
1152        "+/*/MKD",
1153        "+/*/MMK",
1154        "+/*/MNT",
1155        "+/*/MOP",
1156        "+/*/MRU",
1157        "+/*/MUR",
1158        "+/*/MVR",
1159        "+/*/MWK",
1160        "+/*/MXN",
1161// #MXV",
1162        "+/*/MYR",
1163        "+/*/MZN",
1164        "+/*/NAD",
1165        "+/*/NGN",
1166        "+/*/NIO",
1167        "+/*/NOK",
1168        "+/*/NPR",
1169        "+/*/NZD",
1170        "+/*/OMR",
1171        "+/*/PAB",
1172        "+/*/PEN",
1173        "+/*/PGK",
1174        "+/*/PHP",
1175        "+/*/PKR",
1176        "+/*/PLN",
1177        "+/*/PYG",
1178        "+/*/QAR",
1179        "+/*/RON",
1180        "+/*/RSD",
1181        "+/*/RUB",
1182        "+/*/RWF",
1183        "+/*/SAR",
1184        "+/*/SBD",
1185        "+/*/SCR",
1186        "+/*/SDG",
1187        "+/*/SEK",
1188        "+/*/SGD",
1189        "+/*/SHP",
1190        "+/*/SLL",
1191        "+/*/SOS",
1192        "+/*/SRD",
1193        "+/*/SSP",
1194        "+/*/STN",
1195        "+/*/SVC",
1196        "+/*/SYP",
1197        "+/*/SZL",
1198        "+/*/THB",
1199        "+/*/TJS",
1200        "+/*/TMT",
1201        "+/*/TND",
1202        "+/*/TOP",
1203        "+/*/TRY",
1204        "+/*/TTD",
1205        "+/*/TWD",
1206        "+/*/TZS",
1207        "+/*/UAH",
1208        "+/*/UGX",
1209        "+/*/USD",
1210// #USN",
1211// #UYI",
1212        "+/*/UYU",
1213        "+/*/UZS",
1214        "+/*/VES",
1215        "+/*/VND",
1216        "+/*/VUV",
1217        "+/*/WST",
1218        "+/*/XAF",
1219// #XAG",
1220// #XAU",
1221// #XBA",
1222// #XBB",
1223// #XBC",
1224// #XBD",
1225        "+/*/XCD",
1226        "+/*/XDR",
1227        "+/*/XOF",
1228// #XPD",
1229        "+/*/XPF",
1230// #XPT",
1231        "+/*/XSU",
1232// #XTS",
1233// #XUA",
1234// #XXX",
1235        "+/*/YER",
1236        "+/*/ZAR",
1237        "+/*/ZMW",
1238        "+/*/ZWL",
1239        "-/Currencies%formal",
1240        "-/Currencies%variant"
1241      ]
1242    },
1243// Based on filter_region_data
1244// # Remove the display names for numeric region codes other than
1245// # 419 (Latin America) because we don't use them.
1246    {
1247      "categories": [
1248        "region_tree"
1249      ],
1250      "rules": [
1251// Since the filter format is not supporting regular expression yet, we
1252// create the following black list by
1253// egrep " [[:digit:]][[:digit:]][[:digit:]]{" data/region/*|cut -d: -f2|cut -d{ -f1|sort -u|egrep -v "419"|cut -c9-11
1254        "-/*/001",
1255        "-/*/002",
1256        "-/*/003",
1257        "-/*/005",
1258        "-/*/009",
1259        "-/*/011",
1260        "-/*/013",
1261        "-/*/014",
1262        "-/*/015",
1263        "-/*/017",
1264        "-/*/018",
1265        "-/*/019",
1266        "-/*/021",
1267        "-/*/029",
1268        "-/*/030",
1269        "-/*/034",
1270        "-/*/035",
1271        "-/*/039",
1272        "-/*/053",
1273        "-/*/054",
1274        "-/*/057",
1275        "-/*/061",
1276        "-/*/142",
1277        "-/*/143",
1278        "-/*/145",
1279        "-/*/150",
1280        "-/*/151",
1281        "-/*/154",
1282        "-/*/155",
1283        "-/*/202"
1284      ]
1285    },
1286// Based on remove_legacy_chinese_codepoint_collation
1287// # big5han and gb2312han collation do not make any sense and nobody uses them.
1288    {
1289      "categories": [
1290        "coll_tree"
1291      ],
1292      "files": {
1293        "whitelist": [
1294	  "zh"
1295	]
1296      },
1297      "rules": [
1298        "-/*/unihan",
1299        "-/*/big5han",
1300        "-/*/gb2312han"
1301      ]
1302    },
1303// Based on https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
1304// +# Chromium : To save space, use '-R' option (exclude collation rules. just
1305// +# include the compiled binary data.)
1306// +GENRBOPTS=-k -R
1307    {
1308      "categories": [
1309        "coll_tree"
1310      ],
1311      "rules": [
1312        "-/UCARules",
1313	"-/collations/*/Sequence"
1314      ]
1315    },
1316    {
1317      "categories": [
1318        "misc"
1319      ],
1320      "files": {
1321        "whitelist": [
1322          "supplementalData"
1323	]
1324      },
1325      "rules": [
1326        "-/*",
1327        "+/calendarData",
1328        "+/calendarPreferenceData",
1329        "+/cldrVersion",
1330        "+/codeMappings",
1331        "+/idValidity",
1332        "+/measurementData",
1333        "+/territoryContainment",
1334        "+/timeData",
1335        "+/weekData",
1336        "+/weekData%variant"
1337      ]
1338    },
1339// Based on filter_unit_data
1340// # Keep only duration and compound in units* sections.
1341    {
1342      "categories": [
1343        "unit_tree"
1344      ],
1345      "rules": [
1346        "-/units",
1347        "-/unitsNarrow",
1348        "-/unitsShort",
1349        "+/*/*/acre",
1350        "+/*/*/bit",
1351        "+/*/*/byte",
1352        "+/*/*/celsius",
1353        "+/*/*/centimeter",
1354        "+/*/*/day",
1355        "+/*/*/degree",
1356        "+/*/*/fahrenheit",
1357        "+/*/*/fluid-ounce",
1358        "+/*/*/foot",
1359        "+/*/*/gallon",
1360        "+/*/*/gigabit",
1361        "+/*/*/gigabyte",
1362        "+/*/*/gram",
1363        "+/*/*/hectare",
1364        "+/*/*/hour",
1365        "+/*/*/inch",
1366        "+/*/*/kilobit",
1367        "+/*/*/kilobyte",
1368        "+/*/*/kilogram",
1369        "+/*/*/kilometer",
1370        "+/*/*/liter",
1371        "+/*/*/megabit",
1372        "+/*/*/megabyte",
1373        "+/*/*/meter",
1374        "+/*/*/mile",
1375        "+/*/*/mile-scandinavian",
1376        "+/*/*/millimeter",
1377        "+/*/*/milliliter",
1378        "+/*/*/millisecond",
1379        "+/*/*/minute",
1380        "+/*/*/month",
1381        "+/*/*/ounce",
1382        "+/*/*/percent",
1383        "+/*/*/petabyte",
1384        "+/*/*/pound",
1385        "+/*/*/second",
1386        "+/*/*/stone",
1387        "+/*/*/terabit",
1388        "+/*/*/terabyte",
1389        "+/*/*/week",
1390        "+/*/*/yard",
1391        "+/*/*/year",
1392        "+/*/*/kilometer-per-hour",
1393        "+/*/*/meter-per-second",
1394        "+/*/*/mile-per-hour",
1395        "+/*/*/liter-per-kilometer",
1396        "+/*/*/mile-per-gallon",
1397        "+/*/compound"
1398      ]
1399    },
1400// Remove all the Version
1401    {
1402      "categories": [
1403        "brkitr_tree",
1404        "coll_tree",
1405        "curr_tree",
1406        "lang_tree",
1407        "region_tree",
1408        "unit_tree",
1409        "zone_tree"
1410      ],
1411      "rules": [
1412        "-/Version"
1413      ]
1414    }
1415  ]
1416}
1417