langtable 0.0.65__tar.gz → 0.0.67__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {langtable-0.0.65 → langtable-0.0.67}/ChangeLog +22 -0
  2. {langtable-0.0.65 → langtable-0.0.67}/MANIFEST.in +3 -0
  3. {langtable-0.0.65 → langtable-0.0.67}/Makefile +19 -6
  4. {langtable-0.0.65 → langtable-0.0.67}/PKG-INFO +25 -28
  5. {langtable-0.0.65 → langtable-0.0.67}/README +21 -17
  6. langtable-0.0.67/README.html +226 -0
  7. langtable-0.0.67/README.md +72 -0
  8. langtable-0.0.67/langtable/data/languages.xml.gz +0 -0
  9. langtable-0.0.67/langtable/data/territories.xml.gz +0 -0
  10. langtable-0.0.67/langtable/data/timezoneidparts.xml.gz +0 -0
  11. {langtable-0.0.65 → langtable-0.0.67}/langtable/langtable.py +285 -278
  12. {langtable-0.0.65 → langtable-0.0.67}/langtable.egg-info/PKG-INFO +25 -28
  13. {langtable-0.0.65 → langtable-0.0.67}/langtable.egg-info/SOURCES.txt +3 -0
  14. {langtable-0.0.65 → langtable-0.0.67}/main.py +14 -9
  15. {langtable-0.0.65 → langtable-0.0.67}/setup.py +3 -2
  16. {langtable-0.0.65 → langtable-0.0.67}/test_cases.py +8 -7
  17. langtable-0.0.67/tools/list-missing-from-cldr +42 -0
  18. langtable-0.0.65/langtable/data/languages.xml.gz +0 -0
  19. langtable-0.0.65/langtable/data/territories.xml.gz +0 -0
  20. langtable-0.0.65/langtable/data/timezoneidparts.xml.gz +0 -0
  21. {langtable-0.0.65 → langtable-0.0.67}/COPYING +0 -0
  22. {langtable-0.0.65 → langtable-0.0.67}/langtable/__init__.py +0 -0
  23. {langtable-0.0.65 → langtable-0.0.67}/langtable/data/keyboards.xml.gz +0 -0
  24. {langtable-0.0.65 → langtable-0.0.67}/langtable/data/timezones.xml.gz +0 -0
  25. {langtable-0.0.65 → langtable-0.0.67}/langtable/schemas/keyboards.rng +0 -0
  26. {langtable-0.0.65 → langtable-0.0.67}/langtable/schemas/languages.rng +0 -0
  27. {langtable-0.0.65 → langtable-0.0.67}/langtable/schemas/territories.rng +0 -0
  28. {langtable-0.0.65 → langtable-0.0.67}/langtable/schemas/timezoneidparts.rng +0 -0
  29. {langtable-0.0.65 → langtable-0.0.67}/langtable/schemas/timezones.rng +0 -0
  30. {langtable-0.0.65 → langtable-0.0.67}/langtable.egg-info/dependency_links.txt +0 -0
  31. {langtable-0.0.65 → langtable-0.0.67}/langtable.egg-info/not-zip-safe +0 -0
  32. {langtable-0.0.65 → langtable-0.0.67}/langtable.egg-info/top_level.txt +0 -0
  33. {langtable-0.0.65 → langtable-0.0.67}/setup.cfg +0 -0
  34. {langtable-0.0.65 → langtable-0.0.67}/tools/compare_with_glib_source.py +0 -0
  35. {langtable-0.0.65 → langtable-0.0.67}/tools/list-missing-regions-and-languages.sh +0 -0
  36. {langtable-0.0.65 → langtable-0.0.67}/unicode-license.txt +0 -0
@@ -1,3 +1,25 @@
1
+ 2024-06-11 Mike FABIAN <mfabian@redhat.com>
2
+
3
+ * Add tool to check which languages, scripts, and territories available in CLDR are missing in langtable
4
+ * Add all missing scripts and languages: yrl, xnr, wbp, vmw, vec, trw, trv, skr, sdh, quc, pis, pcm, myv, mus, moh, mic, mhn, ltg, lmo, lld, kxv, kpe, kgp, ken, kcg, kaj, jbo, gaa, frr, csw, cic, cho, ceb, cch, cad, bss, blt, Tavt blo, bgn, bgc, rhg, Rohg hnj, Hmnp Shaw, Dsrt bew, bal, arn, apc, ann, scn
5
+ * Drop Python < 3 support (using pyupgrade --py3-plus langtable.py)
6
+ * Fix some ruff and pylint warnings
7
+
8
+ 2024-05-07 Mike FABIAN <mfabian@redhat.com>
9
+
10
+ * Fix syntax error in a keyboard layout name for th
11
+ (Resolves: https://github.com/mike-fabian/langtable/issues/21xs)
12
+ * Add mdf
13
+ * Use “in(eng)” keyboard layout instead of “us” for BD to get AltGr enabled
14
+ * Get translation changes from CLDR
15
+ * Add option to include changed translations as well to the script getting translations from CLDR
16
+ * Add reference to the the PyPI package to the README.md.
17
+ And add a README.html and README generated from the README.md.
18
+ * Make test outputs somewhat more verbose, even when all tests pass
19
+ (Resolves: https://github.com/mike-fabian/langtable/pull/20).
20
+ Thanks to Sebastian <seb128@ubuntu.com> for the pull request.
21
+ * Fix Makefile twine-upload target for new authentification
22
+
1
23
  2024-02-08 Mike FABIAN <mfabian@redhat.com>
2
24
 
3
25
  * Add wuu, tok, glk, gbm, ssy
@@ -1,3 +1,6 @@
1
+ include README.html
2
+ include README.md
3
+ include README
1
4
  include unicode-license.txt
2
5
  include COPYING
3
6
  include ChangeLog
@@ -9,13 +9,13 @@ gzip: langtable/data/keyboards.xml.gz langtable/data/languages.xml.gz langtable/
9
9
 
10
10
  .PHONY: test
11
11
  test: gzip
12
- (cd langtable; python3 langtable.py)
12
+ python3 langtable/langtable.py
13
13
  python3 test_cases.py
14
- (cd langtable; xmllint --noout --relaxng schemas/keyboards.rng data/keyboards.xml.gz)
15
- (cd langtable; xmllint --noout --relaxng schemas/languages.rng data/languages.xml.gz)
16
- (cd langtable; xmllint --noout --relaxng schemas/territories.rng data/territories.xml.gz)
17
- (cd langtable; xmllint --noout --relaxng schemas/timezones.rng data/timezones.xml.gz)
18
- (cd langtable; xmllint --noout --relaxng schemas/timezoneidparts.rng data/timezoneidparts.xml.gz)
14
+ xmllint --noout --relaxng langtable/schemas/keyboards.rng langtable/data/keyboards.xml.gz
15
+ xmllint --noout --relaxng langtable/schemas/languages.rng langtable/data/languages.xml.gz
16
+ xmllint --noout --relaxng langtable/schemas/territories.rng langtable/data/territories.xml.gz
17
+ xmllint --noout --relaxng langtable/schemas/timezones.rng langtable/data/timezones.xml.gz
18
+ xmllint --noout --relaxng langtable/schemas/timezoneidparts.rng langtable/data/timezoneidparts.xml.gz
19
19
 
20
20
  .PHONY: check
21
21
  check: test
@@ -30,6 +30,10 @@ install: dist
30
30
  DISTUTILS_DEBUG=$(DEBUG) python3 ./setup.py install --prefix=$(DESTDIR)
31
31
  # DISTUTILS_DEBUG=$(DEBUG) python3 ./setup.py install_data --install-dir=$(DATADIR)
32
32
 
33
+ .PHONY: twine-check
34
+ twine-check: dist
35
+ twine check dist/*
36
+
33
37
  # check it here: https://test.pypi.org/manage/project/langtable/releases/
34
38
  .PHONY: twine-upload-test
35
39
  twine-upload-test: dist
@@ -48,6 +52,9 @@ pip-install-test:
48
52
  pip-install:
49
53
  (cd /tmp; python3 -m pip install --user --ignore-installed --no-cache-dir --no-deps langtable)
50
54
 
55
+ .PHONY: pip-uninstall
56
+ pip uninstall langtable
57
+
51
58
  .PHONY: clean
52
59
  clean:
53
60
  git clean -dxf
@@ -76,3 +83,9 @@ review: mockbuild
76
83
 
77
84
  rnc: schemas/keyboards.rnc schemas/languages.rnc schemas/territories.rnc schemas/timezones.rnc schemas/timezoneidparts.rnc
78
85
  cp schemas/*.rnc data/
86
+
87
+ README: README.html
88
+ w3m -cols 78 -o display_borders=1 -o display_link_number=1 $< > $@
89
+
90
+ README.html: README.md
91
+ pandoc -f gfm -t html --standalone --self-contained --metadata pagetitle="langtable README" $< > $@
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langtable
3
- Version: 0.0.65
3
+ Version: 0.0.67
4
4
  Summary: guess reasonable defaults for locale, keyboard, territory, ...
5
5
  Home-page: https://github.com/mike-fabian/langtable
6
6
  Author: Mike FABIAN
@@ -13,55 +13,52 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (G
13
13
  Classifier: Operating System :: POSIX :: Linux
14
14
  Classifier: Programming Language :: Python
15
15
  Classifier: Topic :: System :: Installation/Setup
16
+ Description-Content-Type: text/markdown
16
17
  License-File: COPYING
17
18
 
18
- ======================================================================
19
- langtable
20
- ======================================================================
19
+ # langtable
21
20
 
22
- Purpose of this package
23
- =======================
21
+ [![PyPI version](https://badge.fury.io/py/langtable.svg)](https://badge.fury.io/py/langtable)
24
22
 
25
- langtable is used to guess reasonable defaults for locale, keyboard,
26
- territory, …, if part of that information is already known. For
27
- example, guess the territory and the keyboard layout if the language
28
- is known or guess the language and keyboard layout if the territory is
29
- already known.
23
+ Guessing reasonable defaults for locale, keyboard layout, territory, and language.
30
24
 
31
- License
32
- =======
25
+ ## Purpose of this package
26
+ _langtable_ is used to guess reasonable defaults for locale, keyboard, territory, …, if part of that information is already known. For example, guess the territory and the keyboard layout if the language is known or guess the language and keyboard layout if the territory is already known.
27
+
28
+ ## License
33
29
 
34
30
  GPLv3+, see the included file “COPYING”.
35
31
 
36
- Translations for languages and territory names are from CLDR which is
37
- governed by the Unicode Terms of Use, see the included file
38
- “unicode-license.txt”. The short name for this Unicode license is
39
- “MIT”. See:
32
+ Translations for languages and territory names are from CLDR which is governed by the Unicode Terms of Use, see the included file “unicode-license.txt”. The short name for this Unicode license is “MIT”. See:
40
33
 
41
34
  https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29
42
35
 
43
- Installation
44
- ============
36
+ ## Installation
45
37
 
46
38
  To install langtable, run
47
39
 
40
+ ```
48
41
  make install DESTDIR=/usr
42
+ ```
49
43
 
50
44
  To create a distribution tarball run
51
-
45
+ ```
52
46
  make dist
53
-
47
+ ```
54
48
  To run the test cases in the source directory:
49
+ ```
50
+ make check
51
+ ```
55
52
 
56
- make test
57
-
58
- How to use it
59
- =============
53
+ ## How to use it
60
54
 
55
+ ```
61
56
  import langtable
57
+ ```
62
58
 
63
59
  Functions in the public API:
64
60
 
61
+ ```
65
62
  parse_locale()
66
63
  list_locales()
67
64
  list_keyboards()
@@ -86,8 +83,8 @@ Functions in the public API:
86
83
  list_all_scripts()
87
84
  list_all_input_methods()
88
85
  list_all_console_fonts()
86
+ ```
89
87
 
90
- Some examples to show the usage are found in the documentation
91
- of the public functions in langtable.py.
88
+ Some examples to show the usage are found in the documentation of the public functions in `langtable.py`.
92
89
 
93
- (Some more examples are in the test cases in the file test_cases.py):
90
+ Some more examples are in the test cases in the file `test_cases.py`.
@@ -1,30 +1,29 @@
1
- ======================================================================
2
1
  langtable
3
- ======================================================================
2
+
3
+ [1]PyPI version
4
+
5
+ Guessing reasonable defaults for locale, keyboard layout, territory, and
6
+ language.
4
7
 
5
8
  Purpose of this package
6
- =======================
7
9
 
8
10
  langtable is used to guess reasonable defaults for locale, keyboard,
9
- territory, …, if part of that information is already known. For
10
- example, guess the territory and the keyboard layout if the language
11
- is known or guess the language and keyboard layout if the territory is
12
- already known.
11
+ territory, …, if part of that information is already known. For example,
12
+ guess the territory and the keyboard layout if the language is known or guess
13
+ the language and keyboard layout if the territory is already known.
13
14
 
14
15
  License
15
- =======
16
16
 
17
17
  GPLv3+, see the included file “COPYING”.
18
18
 
19
19
  Translations for languages and territory names are from CLDR which is
20
20
  governed by the Unicode Terms of Use, see the included file
21
- “unicode-license.txt”. The short name for this Unicode license is
22
- “MIT”. See:
21
+ “unicode-license.txt”. The short name for this Unicode license is “MIT”. See:
23
22
 
24
- https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29
23
+ [2]https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#
24
+ Modern_Style_without_sublicense_.28Unicode.29
25
25
 
26
26
  Installation
27
- ============
28
27
 
29
28
  To install langtable, run
30
29
 
@@ -36,10 +35,9 @@ To create a distribution tarball run
36
35
 
37
36
  To run the test cases in the source directory:
38
37
 
39
- make test
38
+ make check
40
39
 
41
40
  How to use it
42
- =============
43
41
 
44
42
  import langtable
45
43
 
@@ -70,7 +68,13 @@ Functions in the public API:
70
68
  list_all_input_methods()
71
69
  list_all_console_fonts()
72
70
 
73
- Some examples to show the usage are found in the documentation
74
- of the public functions in langtable.py.
71
+ Some examples to show the usage are found in the documentation of the public
72
+ functions in langtable.py.
73
+
74
+ Some more examples are in the test cases in the file test_cases.py.
75
+
76
+
77
+ References:
75
78
 
76
- (Some more examples are in the test cases in the file test_cases.py):
79
+ [1] https://badge.fury.io/py/langtable
80
+ [2] https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29
@@ -0,0 +1,226 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="generator" content="pandoc" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
7
+ <title>langtable README</title>
8
+ <style>
9
+ html {
10
+ color: #1a1a1a;
11
+ background-color: #fdfdfd;
12
+ }
13
+ body {
14
+ margin: 0 auto;
15
+ max-width: 36em;
16
+ padding-left: 50px;
17
+ padding-right: 50px;
18
+ padding-top: 50px;
19
+ padding-bottom: 50px;
20
+ hyphens: auto;
21
+ overflow-wrap: break-word;
22
+ text-rendering: optimizeLegibility;
23
+ font-kerning: normal;
24
+ }
25
+ @media (max-width: 600px) {
26
+ body {
27
+ font-size: 0.9em;
28
+ padding: 12px;
29
+ }
30
+ h1 {
31
+ font-size: 1.8em;
32
+ }
33
+ }
34
+ @media print {
35
+ html {
36
+ background-color: white;
37
+ }
38
+ body {
39
+ background-color: transparent;
40
+ color: black;
41
+ font-size: 12pt;
42
+ }
43
+ p, h2, h3 {
44
+ orphans: 3;
45
+ widows: 3;
46
+ }
47
+ h2, h3, h4 {
48
+ page-break-after: avoid;
49
+ }
50
+ }
51
+ p {
52
+ margin: 1em 0;
53
+ }
54
+ a {
55
+ color: #1a1a1a;
56
+ }
57
+ a:visited {
58
+ color: #1a1a1a;
59
+ }
60
+ img {
61
+ max-width: 100%;
62
+ }
63
+ h1, h2, h3, h4, h5, h6 {
64
+ margin-top: 1.4em;
65
+ }
66
+ h5, h6 {
67
+ font-size: 1em;
68
+ font-style: italic;
69
+ }
70
+ h6 {
71
+ font-weight: normal;
72
+ }
73
+ ol, ul {
74
+ padding-left: 1.7em;
75
+ margin-top: 1em;
76
+ }
77
+ li > ol, li > ul {
78
+ margin-top: 0;
79
+ }
80
+ blockquote {
81
+ margin: 1em 0 1em 1.7em;
82
+ padding-left: 1em;
83
+ border-left: 2px solid #e6e6e6;
84
+ color: #606060;
85
+ }
86
+ code {
87
+ font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
88
+ font-size: 85%;
89
+ margin: 0;
90
+ hyphens: manual;
91
+ }
92
+ pre {
93
+ margin: 1em 0;
94
+ overflow: auto;
95
+ }
96
+ pre code {
97
+ padding: 0;
98
+ overflow: visible;
99
+ overflow-wrap: normal;
100
+ }
101
+ .sourceCode {
102
+ background-color: transparent;
103
+ overflow: visible;
104
+ }
105
+ hr {
106
+ background-color: #1a1a1a;
107
+ border: none;
108
+ height: 1px;
109
+ margin: 1em 0;
110
+ }
111
+ table {
112
+ margin: 1em 0;
113
+ border-collapse: collapse;
114
+ width: 100%;
115
+ overflow-x: auto;
116
+ display: block;
117
+ font-variant-numeric: lining-nums tabular-nums;
118
+ }
119
+ table caption {
120
+ margin-bottom: 0.75em;
121
+ }
122
+ tbody {
123
+ margin-top: 0.5em;
124
+ border-top: 1px solid #1a1a1a;
125
+ border-bottom: 1px solid #1a1a1a;
126
+ }
127
+ th {
128
+ border-top: 1px solid #1a1a1a;
129
+ padding: 0.25em 0.5em 0.25em 0.5em;
130
+ }
131
+ td {
132
+ padding: 0.125em 0.5em 0.25em 0.5em;
133
+ }
134
+ header {
135
+ margin-bottom: 4em;
136
+ text-align: center;
137
+ }
138
+ #TOC li {
139
+ list-style: none;
140
+ }
141
+ #TOC ul {
142
+ padding-left: 1.3em;
143
+ }
144
+ #TOC > ul {
145
+ padding-left: 0;
146
+ }
147
+ #TOC a:not(:hover) {
148
+ text-decoration: none;
149
+ }
150
+ code{white-space: pre-wrap;}
151
+ span.smallcaps{font-variant: small-caps;}
152
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
153
+ div.column{flex: auto; overflow-x: auto;}
154
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
155
+
156
+ ul.task-list[class]{list-style: none;}
157
+ ul.task-list li input[type="checkbox"] {
158
+ font-size: inherit;
159
+ width: 0.8em;
160
+ margin: 0 0.8em 0.2em -1.6em;
161
+ vertical-align: middle;
162
+ }
163
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
164
+ </style>
165
+ <!--[if lt IE 9]>
166
+ <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
167
+ <![endif]-->
168
+ </head>
169
+ <body>
170
+ <h1 id="langtable">langtable</h1>
171
+ <p><a href="https://badge.fury.io/py/langtable"><img src="data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIxMzIiCiAgaGVpZ2h0PSIyMCIKICB2aWV3Qm94PSIwIDAgMTMyIDIwIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgaWQ9ImEiCiAgICAgIHgxPSIwIgogICAgICB5MT0iMCIKICAgICAgeDI9IjAiCiAgICAgIHkyPSIxIj4KICAgICAgPHN0b3AKICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgc3RvcC1jb2xvcj0iI2JiYmJiYiIKICAgICAgICBzdG9wLW9wYWNpdHk9IjAuMSIvPgogICAgICA8c3RvcAogICAgICAgIG9mZnNldD0iMSIKICAgICAgICBzdG9wLWNvbG9yPSIjMDAwMDAwIgogICAgICAgIHN0b3Atb3BhY2l0eT0iMC4xIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8cGF0aAogICAgZmlsbD0iIzU1NTU1NSIKICAgIHN0cm9rZT0ibm9uZSIKICAgIGQ9Ik0gMyAwIEwgMTI5IDAgQyAxMzAuNjU2ODYgMCAxMzIgMS4zNDMxNDU3IDEzMiAzIEwgMTMyIDE3IEMgMTMyIDE4LjY1Njg1NSAxMzAuNjU2ODYgMjAgMTI5IDIwIEwgMyAyMCBDIDEuMzQzMTQ1NyAyMCAwIDE4LjY1Njg1NSAwIDE3IEwgMCAzIEMgLTAgMS4zNDMxNDU3IDEuMzQzMTQ1NyAwIDMgMCBaIi8+CiAgPHBhdGgKICAgIGZpbGw9IiM0NGNjMTEiCiAgICBzdHJva2U9Im5vbmUiCiAgICBkPSJNIDg5IDAgTCAxMjkgMCBDIDEzMC42NTY4NiAwIDEzMiAxLjM0MzE0NTcgMTMyIDMgTCAxMzIgMTcgQyAxMzIgMTguNjU2ODU1IDEzMC42NTY4NiAyMCAxMjkgMjAgTCA4OSAyMCBDIDg3LjM0MzE1IDIwIDg2IDE4LjY1Njg1NSA4NiAxNyBMIDg2IDMgQyA4NiAxLjM0MzE0NTcgODcuMzQzMTUgMCA4OSAwIFoiLz4KICA8cGF0aAogICAgZmlsbD0iIzQ0Y2MxMSIKICAgIHN0cm9rZT0ibm9uZSIKICAgIGQ9Ik0gODYgMCBMIDk5IDAgTCA5OSAyMCBMIDg2IDIwIFoiLz4KICA8cGF0aAogICAgZmlsbD0idXJsKCNhKSIKICAgIHN0cm9rZT0ibm9uZSIKICAgIGQ9Ik0gMyAwIEwgMTI5IDAgQyAxMzAuNjU2ODYgMCAxMzIgMS4zNDMxNDU3IDEzMiAzIEwgMTMyIDE3IEMgMTMyIDE4LjY1Njg1NSAxMzAuNjU2ODYgMjAgMTI5IDIwIEwgMyAyMCBDIDEuMzQzMTQ1NyAyMCAwIDE4LjY1Njg1NSAwIDE3IEwgMCAzIEMgLTAgMS4zNDMxNDU3IDEuMzQzMTQ1NyAwIDMgMCBaIi8+CiAgPGc+CiAgICA8ZwogICAgICBpZD0idEJhY2siPgogICAgICA8cGF0aAogICAgICAgIGZpbGw9IiMwMTAxMDEiCiAgICAgICAgZmlsbC1vcGFjaXR5PSIwLjMiCiAgICAgICAgc3Ryb2tlPSIjMDEwMTAxIgogICAgICAgIHN0cm9rZS1vcGFjaXR5PSIwLjA5ODAzOTIyIgogICAgICAgIHN0cm9rZS13aWR0aD0iMC4zIgogICAgICAgIGQ9Ik0gNy45OTI2NzYgMTQuMDk3NjU2IEwgNy45OTI2NzYgMTcuMjg4MDg2IEwgNi45OTkwMjM0IDE3LjI4ODA4NiBMIDYuOTk5MDIzNCA4Ljk4NDM3NSBMIDcuOTkyNjc2IDguOTg0Mzc1IEwgNy45OTI2NzYgOS44OTc0NjEgUSA4LjMwNDE5OSA5LjM2MDM1MiA4Ljc3OTU0MSA5LjA5OTg1MzUgUSA5LjI1NDg4MyA4LjgzOTM1NSA5LjkxNTUyNyA4LjgzOTM1NSBRIDExLjAxMTIzIDguODM5MzU1IDExLjY5NjA0NSA5LjcwOTQ3MyBRIDEyLjM4MDg1OCAxMC41Nzk1OSAxMi4zODA4NTggMTEuOTk3NTU5IFEgMTIuMzgwODU4IDEzLjQxNTUyNyAxMS42OTYwNDUgMTQuMjg1NjQ1IFEgMTEuMDExMjMgMTUuMTU1NzYyIDkuOTE1NTI3IDE1LjE1NTc2MiBRIDkuMjU0ODgzIDE1LjE1NTc2MiA4Ljc3OTU0MSAxNC44OTUyNjQgUSA4LjMwNDE5OSAxNC42MzQ3NjYgNy45OTI2NzYgMTQuMDk3NjU2IFogTSAxMS4zNTQ5Nzk1IDExLjk5NzU1OSBRIDExLjM1NDk3OTUgMTAuOTA3MjI3IDEwLjkwNjQ5NSAxMC4yODY4NjUgUSAxMC40NTgwMDggOS42NjY1MDQgOS42NzM4MjggOS42NjY1MDQgUSA4Ljg4OTY0OCA5LjY2NjUwNCA4LjQ0MTE2MiAxMC4yODY4NjUgUSA3Ljk5MjY3NiAxMC45MDcyMjcgNy45OTI2NzYgMTEuOTk3NTU5IFEgNy45OTI2NzYgMTMuMDg3ODkyIDguNDQxMTYyIDEzLjcwODI1MiBRIDguODg5NjQ4IDE0LjMyODYxMyA5LjY3MzgyOCAxNC4zMjg2MTMgUSAxMC40NTgwMDggMTQuMzI4NjEzIDEwLjkwNjQ5NSAxMy43MDgyNTIgUSAxMS4zNTQ5Nzk1IDEzLjA4Nzg5MiAxMS4zNTQ5Nzk1IDExLjk5NzU1OSBaIE0gMTYuNTIxOTczIDE1LjU1ODU5NCBRIDE2LjEwMzAyNyAxNi42MzI4MTMgMTUuNzA1NTY2IDE2Ljk2MDQ1IFEgMTUuMzA4MTA0NSAxNy4yODgwODYgMTQuNjQyMDkgMTcuMjg4MDg2IEwgMTMuODUyNTM5IDE3LjI4ODA4NiBMIDEzLjg1MjUzOSAxNi40NjA5MzggTCAxNC40MzI2MTcgMTYuNDYwOTM4IFEgMTQuODQwODIgMTYuNDYwOTM4IDE1LjA2NjQwNiAxNi4yNjc1NzggUSAxNS4yOTE5OTIgMTYuMDc0MjE5IDE1LjU2NTkxNyAxNS4zNTQ0OTIgTCAxNS43NDMxNjQgMTQuOTAzMzIgTCAxMy4zMTAwNTkgOC45ODQzNzUgTCAxNC4zNTc0MjIgOC45ODQzNzUgTCAxNi4yMzczMDUgMTMuNjg5NDUzIEwgMTguMTE3MTg4IDguOTg0Mzc1IEwgMTkuMTY0NTUgOC45ODQzNzUgTCAxNi41MjE5NzMgMTUuNTU4NTk0IFogTSAyMS40ODQ4NjMgMTQuMDk3NjU2IEwgMjEuNDg0ODYzIDE3LjI4ODA4NiBMIDIwLjQ5MTIxIDE3LjI4ODA4NiBMIDIwLjQ5MTIxIDguOTg0Mzc1IEwgMjEuNDg0ODYzIDguOTg0Mzc1IEwgMjEuNDg0ODYzIDkuODk3NDYxIFEgMjEuNzk2Mzg5IDkuMzYwMzUyIDIyLjI3MTcyOSA5LjA5OTg1MzUgUSAyMi43NDcwNyA4LjgzOTM1NSAyMy40MDc3MTcgOC44MzkzNTUgUSAyNC41MDM0MTggOC44MzkzNTUgMjUuMTg4MjMyIDkuNzA5NDczIFEgMjUuODczMDQ3IDEwLjU3OTU5IDI1Ljg3MzA0NyAxMS45OTc1NTkgUSAyNS44NzMwNDcgMTMuNDE1NTI3IDI1LjE4ODIzMiAxNC4yODU2NDUgUSAyNC41MDM0MTggMTUuMTU1NzYyIDIzLjQwNzcxNyAxNS4xNTU3NjIgUSAyMi43NDcwNyAxNS4xNTU3NjIgMjIuMjcxNzI5IDE0Ljg5NTI2NCBRIDIxLjc5NjM4OSAxNC42MzQ3NjYgMjEuNDg0ODYzIDE0LjA5NzY1NiBaIE0gMjQuODQ3MTY4IDExLjk5NzU1OSBRIDI0Ljg0NzE2OCAxMC45MDcyMjcgMjQuMzk4NjgyIDEwLjI4Njg2NSBRIDIzLjk1MDE5NSA5LjY2NjUwNCAyMy4xNjYwMTYgOS42NjY1MDQgUSAyMi4zODE4MzYgOS42NjY1MDQgMjEuOTMzMzUgMTAuMjg2ODY1IFEgMjEuNDg0ODYzIDEwLjkwNzIyNyAyMS40ODQ4NjMgMTEuOTk3NTU5IFEgMjEuNDg0ODYzIDEzLjA4Nzg5MiAyMS45MzMzNSAxMy43MDgyNTIgUSAyMi4zODE4MzYgMTQuMzI4NjEzIDIzLjE2NjAxNiAxNC4zMjg2MTMgUSAyMy45NTAxOTUgMTQuMzI4NjEzIDI0LjM5ODY4MiAxMy43MDgyNTIgUSAyNC44NDcxNjggMTMuMDg3ODkyIDI0Ljg0NzE2OCAxMS45OTc1NTkgWiBNIDI3LjUxMTIyOSA4Ljk4NDM3NSBMIDI4LjQ5OTUxMiA4Ljk4NDM3NSBMIDI4LjQ5OTUxMiAxNSBMIDI3LjUxMTIyOSAxNSBMIDI3LjUxMTIyOSA4Ljk4NDM3NSBaIE0gMjcuNTExMjI5IDYuNjQyNTc4IEwgMjguNDk5NTEyIDYuNjQyNTc4IEwgMjguNDk5NTEyIDcuODk0MDQzIEwgMjcuNTExMjI5IDcuODk0MDQzIEwgMjcuNTExMjI5IDYuNjQyNTc4IFogTSAzNS4wMjAwMiAxNC4wOTc2NTYgTCAzNS4wMjAwMiAxNy4yODgwODYgTCAzNC4wMjYzNjcgMTcuMjg4MDg2IEwgMzQuMDI2MzY3IDguOTg0Mzc1IEwgMzUuMDIwMDIgOC45ODQzNzUgTCAzNS4wMjAwMiA5Ljg5NzQ2MSBRIDM1LjMzMTU0MyA5LjM2MDM1MiAzNS44MDY4ODUgOS4wOTk4NTM1IFEgMzYuMjgyMjI3IDguODM5MzU1IDM2Ljk0Mjg3IDguODM5MzU1IFEgMzguMDM4NTc0IDguODM5MzU1IDM4LjcyMzM5IDkuNzA5NDczIFEgMzkuNDA4MjAzIDEwLjU3OTU5IDM5LjQwODIwMyAxMS45OTc1NTkgUSAzOS40MDgyMDMgMTMuNDE1NTI3IDM4LjcyMzM5IDE0LjI4NTY0NSBRIDM4LjAzODU3NCAxNS4xNTU3NjIgMzYuOTQyODcgMTUuMTU1NzYyIFEgMzYuMjgyMjI3IDE1LjE1NTc2MiAzNS44MDY4ODUgMTQuODk1MjY0IFEgMzUuMzMxNTQzIDE0LjYzNDc2NiAzNS4wMjAwMiAxNC4wOTc2NTYgWiBNIDM4LjM4MjMyNCAxMS45OTc1NTkgUSAzOC4zODIzMjQgMTAuOTA3MjI3IDM3LjkzMzgzOCAxMC4yODY4NjUgUSAzNy40ODUzNSA5LjY2NjUwNCAzNi43MDExNyA5LjY2NjUwNCBRIDM1LjkxNjk5MiA5LjY2NjUwNCAzNS40Njg1MDYgMTAuMjg2ODY1IFEgMzUuMDIwMDIgMTAuOTA3MjI3IDM1LjAyMDAyIDExLjk5NzU1OSBRIDM1LjAyMDAyIDEzLjA4Nzg5MiAzNS40Njg1MDYgMTMuNzA4MjUyIFEgMzUuOTE2OTkyIDE0LjMyODYxMyAzNi43MDExNyAxNC4zMjg2MTMgUSAzNy40ODUzNSAxNC4zMjg2MTMgMzcuOTMzODM4IDEzLjcwODI1MiBRIDM4LjM4MjMyNCAxMy4wODc4OTIgMzguMzgyMzI0IDExLjk5NzU1OSBaIE0gNDMuNzgwMjczIDExLjk3NjA3NCBRIDQyLjU4MjUyIDExLjk3NjA3NCA0Mi4xMjA2MDUgMTIuMjQ5OTk5IFEgNDEuNjU4NjkgMTIuNTIzOTI2IDQxLjY1ODY5IDEzLjE4NDU3MSBRIDQxLjY1ODY5IDEzLjcxMDkzNzUgNDIuMDA1MTI3IDE0LjAxOTc3NiBRIDQyLjM1MTU2MyAxNC4zMjg2MTMgNDIuOTQ3NzU0IDE0LjMyODYxMyBRIDQzLjc2OTUzNSAxNC4zMjg2MTMgNDQuMjY2MzU3IDEzLjc0NTg1IFEgNDQuNzYzMTg0IDEzLjE2MzA4NiA0NC43NjMxODQgMTIuMTk2Mjg5IEwgNDQuNzYzMTg0IDExLjk3NjA3NCBMIDQzLjc4MDI3MyAxMS45NzYwNzQgWiBNIDQ1Ljc1MTQ2NSAxMS41Njc4NzEgTCA0NS43NTE0NjUgMTUgTCA0NC43NjMxODQgMTUgTCA0NC43NjMxODQgMTQuMDg2OTE1IFEgNDQuNDI0ODA1IDE0LjYzNDc2NiA0My45MTk5MiAxNC44OTUyNjQgUSA0My40MTUwNCAxNS4xNTU3NjIgNDIuNjg0NTcgMTUuMTU1NzYyIFEgNDEuNzYwNzQyIDE1LjE1NTc2MiA0MS4yMTU1NzYgMTQuNjM3NDUxIFEgNDAuNjcwNDEgMTQuMTE5MTQyIDQwLjY3MDQxIDEzLjI0OTAyNCBRIDQwLjY3MDQxIDEyLjIzMzg4NyA0MS4zNDk4NTQgMTEuNzE4MjYyIFEgNDIuMDI5Mjk3IDExLjIwMjYzNyA0My4zNzc0NDUgMTEuMjAyNjM3IEwgNDQuNzYzMTg0IDExLjIwMjYzNyBMIDQ0Ljc2MzE4NCAxMS4xMDU5NTcgUSA0NC43NjMxODQgMTAuNDIzODI4IDQ0LjMxNDY5NyAxMC4wNTA1MzcgUSA0My44NjYyMSA5LjY3NzI0NiA0My4wNTUxNzYgOS42NzcyNDYgUSA0Mi41Mzk1NSA5LjY3NzI0NiA0Mi4wNTA3OCA5LjgwMDc4MSBRIDQxLjU2MjAxIDkuOTI0MzE2IDQxLjExMDg0IDEwLjE3MTM4NyBMIDQxLjExMDg0IDkuMjU4MzAxIFEgNDEuNjUzMzIgOS4wNDg4MjggNDIuMTYzNTc0IDguOTQ0MDkyIFEgNDIuNjczODMgOC44MzkzNTUgNDMuMTU3MjI3IDguODM5MzU1IFEgNDQuNDYyNDAyIDguODM5MzU1IDQ1LjEwNjkzNCA5LjUxNjExMyBRIDQ1Ljc1MTQ2NSAxMC4xOTI4NzEgNDUuNzUxNDY1IDExLjU2Nzg3MSBaIE0gNTIuMTE2MjA3IDkuMjE1MzMyIEwgNTIuMTE2MjA3IDEwLjEzOTE2IFEgNTEuNjk3MjY2IDkuOTA4MjAzIDUxLjI3NTYzIDkuNzkyNzI1IFEgNTAuODU0MDA0IDkuNjc3MjQ2IDUwLjQyNDMxNiA5LjY3NzI0NiBRIDQ5LjQ2Mjg5IDkuNjc3MjQ2IDQ4LjkzMTE1MiAxMC4yODY4NjUgUSA0OC4zOTk0MTggMTAuODk2NDgzIDQ4LjM5OTQxOCAxMS45OTc1NTkgUSA0OC4zOTk0MTggMTMuMDk4NjMzIDQ4LjkzMTE1MiAxMy43MDgyNTIgUSA0OS40NjI4OSAxNC4zMTc4NzEgNTAuNDI0MzE2IDE0LjMxNzg3MSBRIDUwLjg1NDAwNCAxNC4zMTc4NzEgNTEuMjc1NjMgMTQuMjAyMzkzIFEgNTEuNjk3MjY2IDE0LjA4NjkxNSA1Mi4xMTYyMDcgMTMuODU1OTU2IEwgNTIuMTE2MjA3IDE0Ljc2OTA0MyBRIDUxLjcwMjYzNyAxNC45NjI0MDIgNTEuMjU5NTIgMTUuMDU5MDgyIFEgNTAuODE2NDA2IDE1LjE1NTc2MiA1MC4zMTY4OSAxNS4xNTU3NjIgUSA0OC45NTgwMDggMTUuMTU1NzYyIDQ4LjE1NzcxNSAxNC4zMDE3NTggUSA0Ny4zNTc0MTggMTMuNDQ3NzU0IDQ3LjM1NzQxOCAxMS45OTc1NTkgUSA0Ny4zNTc0MTggMTAuNTI1ODc5IDQ4LjE2NTc3IDkuNjgyNjE3IFEgNDguOTc0MTIgOC44MzkzNTUgNTAuMzgxMzQ4IDguODM5MzU1IFEgNTAuODM3ODk0IDguODM5MzU1IDUxLjI3Mjk1IDguOTMzMzUgUSA1MS43MDgwMDggOS4wMjczNDQgNTIuMTE2MjA3IDkuMjE1MzMyIFogTSA1My43OTczNjcgNi42NDI1NzggTCA1NC43OTEwMTYgNi42NDI1NzggTCA1NC43OTEwMTYgMTEuNTc4NjE0IEwgNTcuNzM5NzQ2IDguOTg0Mzc1IEwgNTkuMDAxOTUzIDguOTg0Mzc1IEwgNTUuODExNTIzIDExLjc5ODgyNyBMIDU5LjEzNjIzIDE1IEwgNTcuODQ3MTY4IDE1IEwgNTQuNzkxMDE2IDEyLjA2MjAxMiBMIDU0Ljc5MTAxNiAxNSBMIDUzLjc5NzM2NyAxNSBMIDUzLjc5NzM2NyA2LjY0MjU3OCBaIE0gNjIuNzQ1NjA1IDExLjk3NjA3NCBRIDYxLjU0Nzg1IDExLjk3NjA3NCA2MS4wODU5MzggMTIuMjQ5OTk5IFEgNjAuNjI0MDI3IDEyLjUyMzkyNiA2MC42MjQwMjcgMTMuMTg0NTcxIFEgNjAuNjI0MDI3IDEzLjcxMDkzNzUgNjAuOTcwNDYgMTQuMDE5Nzc2IFEgNjEuMzE2ODk1IDE0LjMyODYxMyA2MS45MTMwOSAxNC4zMjg2MTMgUSA2Mi43MzQ4NjMgMTQuMzI4NjEzIDYzLjIzMTY5IDEzLjc0NTg1IFEgNjMuNzI4NTE2IDEzLjE2MzA4NiA2My43Mjg1MTYgMTIuMTk2Mjg5IEwgNjMuNzI4NTE2IDExLjk3NjA3NCBMIDYyLjc0NTYwNSAxMS45NzYwNzQgWiBNIDY0LjcxNjggMTEuNTY3ODcxIEwgNjQuNzE2OCAxNSBMIDYzLjcyODUxNiAxNSBMIDYzLjcyODUxNiAxNC4wODY5MTUgUSA2My4zOTAxMzcgMTQuNjM0NzY2IDYyLjg4NTI1NCAxNC44OTUyNjQgUSA2Mi4zODAzNyAxNS4xNTU3NjIgNjEuNjQ5OTA2IDE1LjE1NTc2MiBRIDYwLjcyNjA3NCAxNS4xNTU3NjIgNjAuMTgwOTEgMTQuNjM3NDUxIFEgNTkuNjM1NzQyIDE0LjExOTE0MiA1OS42MzU3NDIgMTMuMjQ5MDI0IFEgNTkuNjM1NzQyIDEyLjIzMzg4NyA2MC4zMTUxODYgMTEuNzE4MjYyIFEgNjAuOTk0NjI1IDExLjIwMjYzNyA2Mi4zNDI3NzMgMTEuMjAyNjM3IEwgNjMuNzI4NTE2IDExLjIwMjYzNyBMIDYzLjcyODUxNiAxMS4xMDU5NTcgUSA2My43Mjg1MTYgMTAuNDIzODI4IDYzLjI4MDAzIDEwLjA1MDUzNyBRIDYyLjgzMTU0MyA5LjY3NzI0NiA2Mi4wMjA1MDQgOS42NzcyNDYgUSA2MS41MDQ4OCA5LjY3NzI0NiA2MS4wMTYxMTcgOS44MDA3ODEgUSA2MC41MjczNDQgOS45MjQzMTYgNjAuMDc2MTcgMTAuMTcxMzg3IEwgNjAuMDc2MTcgOS4yNTgzMDEgUSA2MC42MTg2NTYgOS4wNDg4MjggNjEuMTI4OTEgOC45NDQwOTIgUSA2MS42MzkxNTYgOC44MzkzNTUgNjIuMTIyNTYgOC44MzkzNTUgUSA2My40Mjc3MzQgOC44MzkzNTUgNjQuMDcyMjY2IDkuNTE2MTEzIFEgNjQuNzE2OCAxMC4xOTI4NzEgNjQuNzE2OCAxMS41Njc4NzEgWiBNIDcwLjcxMDk0IDExLjkyMjM2MyBRIDcwLjcxMDk0IDEwLjg0ODE0NSA3MC4yNjc4MiAxMC4yNTczMjQgUSA2OS44MjQ3MSA5LjY2NjUwNCA2OS4wMjQ0MTQgOS42NjY1MDQgUSA2OC4yMjk0OSA5LjY2NjUwNCA2Ny43ODYzOCAxMC4yNTczMjQgUSA2Ny4zNDMyNiAxMC44NDgxNDUgNjcuMzQzMjYgMTEuOTIyMzYzIFEgNjcuMzQzMjYgMTIuOTkxMjEyIDY3Ljc4NjM4IDEzLjU4MjAzMSBRIDY4LjIyOTQ5IDE0LjE3Mjg1MiA2OS4wMjQ0MTQgMTQuMTcyODUyIFEgNjkuODI0NzEgMTQuMTcyODUyIDcwLjI2NzgyIDEzLjU4MjAzMSBRIDcwLjcxMDk0IDEyLjk5MTIxMiA3MC43MTA5NCAxMS45MjIzNjMgWiBNIDcxLjY5OTIyIDE0LjI1MzQxOCBRIDcxLjY5OTIyIDE1Ljc4OTU1MiA3MS4wMTcwOSAxNi41Mzg4MTggUSA3MC4zMzQ5NiAxNy4yODgwODYgNjguOTI3NzM0IDE3LjI4ODA4NiBRIDY4LjQwNjc0IDE3LjI4ODA4NiA2Ny45NDQ4MjQgMTcuMjEwMjA1IFEgNjcuNDgyOTEgMTcuMTMyMzI0IDY3LjA0Nzg1IDE2Ljk3MTE5MSBMIDY3LjA0Nzg1IDE2LjAwOTc2NiBRIDY3LjQ4MjkxIDE2LjI0NjA5NCA2Ny45MDcyMyAxNi4zNTg4ODcgUSA2OC4zMzE1NCAxNi40NzE2OCA2OC43NzE5NyAxNi40NzE2OCBRIDY5Ljc0NDE0IDE2LjQ3MTY4IDcwLjIyNzU0IDE1Ljk2NDExMSBRIDcwLjcxMDk0IDE1LjQ1NjU0MyA3MC43MTA5NCAxNC40MzA2NjQgTCA3MC43MTA5NCAxMy45NDE4OTUgUSA3MC40MDQ3ODUgMTQuNDczNjMzIDY5LjkyNjc2IDE0LjczNjgxNiBRIDY5LjQ0ODczIDE1IDY4Ljc4MjcxNSAxNSBRIDY3LjY3NjI3IDE1IDY2Ljk5OTUxIDE0LjE1NjczOCBRIDY2LjMyMjc1NCAxMy4zMTM0Nzc1IDY2LjMyMjc1NCAxMS45MjIzNjMgUSA2Ni4zMjI3NTQgMTAuNTI1ODc5IDY2Ljk5OTUxIDkuNjgyNjE3IFEgNjcuNjc2MjcgOC44MzkzNTUgNjguNzgyNzE1IDguODM5MzU1IFEgNjkuNDQ4NzMgOC44MzkzNTUgNjkuOTI2NzYgOS4xMDI1MzkgUSA3MC40MDQ3ODUgOS4zNjU3MjMgNzAuNzEwOTQgOS44OTc0NjEgTCA3MC43MTA5NCA4Ljk4NDM3NSBMIDcxLjY5OTIyIDguOTg0Mzc1IEwgNzEuNjk5MjIgMTQuMjUzNDE4IFogTSA3OC44ODAzNyAxMS43NDUxMTcgTCA3OC44ODAzNyAxMi4yMjg1MTYgTCA3NC4zMzY0MjYgMTIuMjI4NTE2IFEgNzQuNDAwODggMTMuMjQ5MDI0IDc0Ljk1MTQxNiAxMy43ODM0NDcgUSA3NS41MDE5NSAxNC4zMTc4NzEgNzYuNDg0ODYgMTQuMzE3ODcxIFEgNzcuMDU0MiAxNC4zMTc4NzEgNzcuNTg4NjIgMTQuMTc4MjIyIFEgNzguMTIzMDUgMTQuMDM4NTc0IDc4LjY0OTQxNCAxMy43NTkyNzYgTCA3OC42NDk0MTQgMTQuNjkzODQ3IFEgNzguMTE3Njc2IDE0LjkxOTQzMyA3Ny41NTkwOCAxNS4wMzc1OTggUSA3Ny4wMDA0OSAxNS4xNTU3NjIgNzYuNDI1NzggMTUuMTU1NzYyIFEgNzQuOTg2MzMgMTUuMTU1NzYyIDc0LjE0NTc1IDE0LjMxNzg3MSBRIDczLjMwNTE3NiAxMy40Nzk5OCA3My4zMDUxNzYgMTIuMDUxMjcgUSA3My4zMDUxNzYgMTAuNTc0MjE5IDc0LjEwMjc4IDkuNzA2Nzg3IFEgNzQuOTAwMzkgOC44MzkzNTUgNzYuMjUzOTEgOC44MzkzNTUgUSA3Ny40Njc3NyA4LjgzOTM1NSA3OC4xNzQwNyA5LjYyMDg1IFEgNzguODgwMzcgMTAuNDAyMzQ0IDc4Ljg4MDM3IDExLjc0NTExNyBaIE0gNzcuODkyMDkgMTEuNDU1MDc4IFEgNzcuODgxMzUgMTAuNjQ0MDQzIDc3LjQzODIzIDEwLjE2MDY0NSBRIDc2Ljk5NTEyIDkuNjc3MjQ2IDc2LjI2NDY1IDkuNjc3MjQ2IFEgNzUuNDM3NSA5LjY3NzI0NiA3NC45NDA2NzQgMTAuMTQ0NTMxIFEgNzQuNDQzODUgMTAuNjExODE2IDc0LjM2ODY1IDExLjQ2MDQ0OSBMIDc3Ljg5MjA5IDExLjQ1NTA3OCBaIi8+CiAgICA8L2c+CiAgICA8ZwogICAgICBpZD0idFRleHQiPgogICAgICA8cGF0aAogICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICAgc3Ryb2tlPSIjZmZmZmZmIgogICAgICAgIHN0cm9rZS13aWR0aD0iMC4zIgogICAgICAgIGQ9Ik0gNy45OTI2NzYgMTMuMDk3NjU2IEwgNy45OTI2NzYgMTYuMjg4MDg2IEwgNi45OTkwMjM0IDE2LjI4ODA4NiBMIDYuOTk5MDIzNCA3Ljk4NDM3NSBMIDcuOTkyNjc2IDcuOTg0Mzc1IEwgNy45OTI2NzYgOC44OTc0NjEgUSA4LjMwNDE5OSA4LjM2MDM1MiA4Ljc3OTU0MSA4LjA5OTg1MzUgUSA5LjI1NDg4MyA3LjgzOTM1NTUgOS45MTU1MjcgNy44MzkzNTU1IFEgMTEuMDExMjMgNy44MzkzNTU1IDExLjY5NjA0NSA4LjcwOTQ3MyBRIDEyLjM4MDg1OCA5LjU3OTU5IDEyLjM4MDg1OCAxMC45OTc1NTkgUSAxMi4zODA4NTggMTIuNDE1NTI3IDExLjY5NjA0NSAxMy4yODU2NDUgUSAxMS4wMTEyMyAxNC4xNTU3NjIgOS45MTU1MjcgMTQuMTU1NzYyIFEgOS4yNTQ4ODMgMTQuMTU1NzYyIDguNzc5NTQxIDEzLjg5NTI2NCBRIDguMzA0MTk5IDEzLjYzNDc2NiA3Ljk5MjY3NiAxMy4wOTc2NTYgWiBNIDExLjM1NDk3OTUgMTAuOTk3NTU5IFEgMTEuMzU0OTc5NSA5LjkwNzIyNyAxMC45MDY0OTUgOS4yODY4NjUgUSAxMC40NTgwMDggOC42NjY1MDQgOS42NzM4MjggOC42NjY1MDQgUSA4Ljg4OTY0OCA4LjY2NjUwNCA4LjQ0MTE2MiA5LjI4Njg2NSBRIDcuOTkyNjc2IDkuOTA3MjI3IDcuOTkyNjc2IDEwLjk5NzU1OSBRIDcuOTkyNjc2IDEyLjA4Nzg5MiA4LjQ0MTE2MiAxMi43MDgyNTIgUSA4Ljg4OTY0OCAxMy4zMjg2MTMgOS42NzM4MjggMTMuMzI4NjEzIFEgMTAuNDU4MDA4IDEzLjMyODYxMyAxMC45MDY0OTUgMTIuNzA4MjUyIFEgMTEuMzU0OTc5NSAxMi4wODc4OTIgMTEuMzU0OTc5NSAxMC45OTc1NTkgWiBNIDE2LjUyMTk3MyAxNC41NTg1OTQgUSAxNi4xMDMwMjcgMTUuNjMyODEyNSAxNS43MDU1NjYgMTUuOTYwNDQ5IFEgMTUuMzA4MTA0NSAxNi4yODgwODYgMTQuNjQyMDkgMTYuMjg4MDg2IEwgMTMuODUyNTM5IDE2LjI4ODA4NiBMIDEzLjg1MjUzOSAxNS40NjA5MzcgTCAxNC40MzI2MTcgMTUuNDYwOTM3IFEgMTQuODQwODIgMTUuNDYwOTM3IDE1LjA2NjQwNiAxNS4yNjc1NzcgUSAxNS4yOTE5OTIgMTUuMDc0MjE4IDE1LjU2NTkxNyAxNC4zNTQ0OTIgTCAxNS43NDMxNjQgMTMuOTAzMzIgTCAxMy4zMTAwNTkgNy45ODQzNzUgTCAxNC4zNTc0MjIgNy45ODQzNzUgTCAxNi4yMzczMDUgMTIuNjg5NDUzIEwgMTguMTE3MTg4IDcuOTg0Mzc1IEwgMTkuMTY0NTUgNy45ODQzNzUgTCAxNi41MjE5NzMgMTQuNTU4NTk0IFogTSAyMS40ODQ4NjMgMTMuMDk3NjU2IEwgMjEuNDg0ODYzIDE2LjI4ODA4NiBMIDIwLjQ5MTIxIDE2LjI4ODA4NiBMIDIwLjQ5MTIxIDcuOTg0Mzc1IEwgMjEuNDg0ODYzIDcuOTg0Mzc1IEwgMjEuNDg0ODYzIDguODk3NDYxIFEgMjEuNzk2Mzg5IDguMzYwMzUyIDIyLjI3MTcyOSA4LjA5OTg1MzUgUSAyMi43NDcwNyA3LjgzOTM1NTUgMjMuNDA3NzE3IDcuODM5MzU1NSBRIDI0LjUwMzQxOCA3LjgzOTM1NTUgMjUuMTg4MjMyIDguNzA5NDczIFEgMjUuODczMDQ3IDkuNTc5NTkgMjUuODczMDQ3IDEwLjk5NzU1OSBRIDI1Ljg3MzA0NyAxMi40MTU1MjcgMjUuMTg4MjMyIDEzLjI4NTY0NSBRIDI0LjUwMzQxOCAxNC4xNTU3NjIgMjMuNDA3NzE3IDE0LjE1NTc2MiBRIDIyLjc0NzA3IDE0LjE1NTc2MiAyMi4yNzE3MjkgMTMuODk1MjY0IFEgMjEuNzk2Mzg5IDEzLjYzNDc2NiAyMS40ODQ4NjMgMTMuMDk3NjU2IFogTSAyNC44NDcxNjggMTAuOTk3NTU5IFEgMjQuODQ3MTY4IDkuOTA3MjI3IDI0LjM5ODY4MiA5LjI4Njg2NSBRIDIzLjk1MDE5NSA4LjY2NjUwNCAyMy4xNjYwMTYgOC42NjY1MDQgUSAyMi4zODE4MzYgOC42NjY1MDQgMjEuOTMzMzUgOS4yODY4NjUgUSAyMS40ODQ4NjMgOS45MDcyMjcgMjEuNDg0ODYzIDEwLjk5NzU1OSBRIDIxLjQ4NDg2MyAxMi4wODc4OTIgMjEuOTMzMzUgMTIuNzA4MjUyIFEgMjIuMzgxODM2IDEzLjMyODYxMyAyMy4xNjYwMTYgMTMuMzI4NjEzIFEgMjMuOTUwMTk1IDEzLjMyODYxMyAyNC4zOTg2ODIgMTIuNzA4MjUyIFEgMjQuODQ3MTY4IDEyLjA4Nzg5MiAyNC44NDcxNjggMTAuOTk3NTU5IFogTSAyNy41MTEyMjkgNy45ODQzNzUgTCAyOC40OTk1MTIgNy45ODQzNzUgTCAyOC40OTk1MTIgMTQgTCAyNy41MTEyMjkgMTQgTCAyNy41MTEyMjkgNy45ODQzNzUgWiBNIDI3LjUxMTIyOSA1LjY0MjU3OCBMIDI4LjQ5OTUxMiA1LjY0MjU3OCBMIDI4LjQ5OTUxMiA2Ljg5NDA0MyBMIDI3LjUxMTIyOSA2Ljg5NDA0MyBMIDI3LjUxMTIyOSA1LjY0MjU3OCBaIE0gMzUuMDIwMDIgMTMuMDk3NjU2IEwgMzUuMDIwMDIgMTYuMjg4MDg2IEwgMzQuMDI2MzY3IDE2LjI4ODA4NiBMIDM0LjAyNjM2NyA3Ljk4NDM3NSBMIDM1LjAyMDAyIDcuOTg0Mzc1IEwgMzUuMDIwMDIgOC44OTc0NjEgUSAzNS4zMzE1NDMgOC4zNjAzNTIgMzUuODA2ODg1IDguMDk5ODUzNSBRIDM2LjI4MjIyNyA3LjgzOTM1NTUgMzYuOTQyODcgNy44MzkzNTU1IFEgMzguMDM4NTc0IDcuODM5MzU1NSAzOC43MjMzOSA4LjcwOTQ3MyBRIDM5LjQwODIwMyA5LjU3OTU5IDM5LjQwODIwMyAxMC45OTc1NTkgUSAzOS40MDgyMDMgMTIuNDE1NTI3IDM4LjcyMzM5IDEzLjI4NTY0NSBRIDM4LjAzODU3NCAxNC4xNTU3NjIgMzYuOTQyODcgMTQuMTU1NzYyIFEgMzYuMjgyMjI3IDE0LjE1NTc2MiAzNS44MDY4ODUgMTMuODk1MjY0IFEgMzUuMzMxNTQzIDEzLjYzNDc2NiAzNS4wMjAwMiAxMy4wOTc2NTYgWiBNIDM4LjM4MjMyNCAxMC45OTc1NTkgUSAzOC4zODIzMjQgOS45MDcyMjcgMzcuOTMzODM4IDkuMjg2ODY1IFEgMzcuNDg1MzUgOC42NjY1MDQgMzYuNzAxMTcgOC42NjY1MDQgUSAzNS45MTY5OTIgOC42NjY1MDQgMzUuNDY4NTA2IDkuMjg2ODY1IFEgMzUuMDIwMDIgOS45MDcyMjcgMzUuMDIwMDIgMTAuOTk3NTU5IFEgMzUuMDIwMDIgMTIuMDg3ODkyIDM1LjQ2ODUwNiAxMi43MDgyNTIgUSAzNS45MTY5OTIgMTMuMzI4NjEzIDM2LjcwMTE3IDEzLjMyODYxMyBRIDM3LjQ4NTM1IDEzLjMyODYxMyAzNy45MzM4MzggMTIuNzA4MjUyIFEgMzguMzgyMzI0IDEyLjA4Nzg5MiAzOC4zODIzMjQgMTAuOTk3NTU5IFogTSA0My43ODAyNzMgMTAuOTc2MDc0IFEgNDIuNTgyNTIgMTAuOTc2MDc0IDQyLjEyMDYwNSAxMS4yNDk5OTkgUSA0MS42NTg2OSAxMS41MjM5MjYgNDEuNjU4NjkgMTIuMTg0NTcxIFEgNDEuNjU4NjkgMTIuNzEwOTM3NSA0Mi4wMDUxMjcgMTMuMDE5Nzc2IFEgNDIuMzUxNTYzIDEzLjMyODYxMyA0Mi45NDc3NTQgMTMuMzI4NjEzIFEgNDMuNzY5NTM1IDEzLjMyODYxMyA0NC4yNjYzNTcgMTIuNzQ1ODUgUSA0NC43NjMxODQgMTIuMTYzMDg2IDQ0Ljc2MzE4NCAxMS4xOTYyODkgTCA0NC43NjMxODQgMTAuOTc2MDc0IEwgNDMuNzgwMjczIDEwLjk3NjA3NCBaIE0gNDUuNzUxNDY1IDEwLjU2Nzg3MSBMIDQ1Ljc1MTQ2NSAxNCBMIDQ0Ljc2MzE4NCAxNCBMIDQ0Ljc2MzE4NCAxMy4wODY5MTUgUSA0NC40MjQ4MDUgMTMuNjM0NzY2IDQzLjkxOTkyIDEzLjg5NTI2NCBRIDQzLjQxNTA0IDE0LjE1NTc2MiA0Mi42ODQ1NyAxNC4xNTU3NjIgUSA0MS43NjA3NDIgMTQuMTU1NzYyIDQxLjIxNTU3NiAxMy42Mzc0NTEgUSA0MC42NzA0MSAxMy4xMTkxNDIgNDAuNjcwNDEgMTIuMjQ5MDI0IFEgNDAuNjcwNDEgMTEuMjMzODg3IDQxLjM0OTg1NCAxMC43MTgyNjIgUSA0Mi4wMjkyOTcgMTAuMjAyNjM3IDQzLjM3NzQ0NSAxMC4yMDI2MzcgTCA0NC43NjMxODQgMTAuMjAyNjM3IEwgNDQuNzYzMTg0IDEwLjEwNTk1NyBRIDQ0Ljc2MzE4NCA5LjQyMzgyOCA0NC4zMTQ2OTcgOS4wNTA1MzcgUSA0My44NjYyMSA4LjY3NzI0NiA0My4wNTUxNzYgOC42NzcyNDYgUSA0Mi41Mzk1NSA4LjY3NzI0NiA0Mi4wNTA3OCA4LjgwMDc4MSBRIDQxLjU2MjAxIDguOTI0MzE2IDQxLjExMDg0IDkuMTcxMzg3IEwgNDEuMTEwODQgOC4yNTgzMDEgUSA0MS42NTMzMiA4LjA0ODgyOCA0Mi4xNjM1NzQgNy45NDQwOTEzIFEgNDIuNjczODMgNy44MzkzNTU1IDQzLjE1NzIyNyA3LjgzOTM1NTUgUSA0NC40NjI0MDIgNy44MzkzNTU1IDQ1LjEwNjkzNCA4LjUxNjExMyBRIDQ1Ljc1MTQ2NSA5LjE5Mjg3MSA0NS43NTE0NjUgMTAuNTY3ODcxIFogTSA1Mi4xMTYyMDcgOC4yMTUzMzIgTCA1Mi4xMTYyMDcgOS4xMzkxNiBRIDUxLjY5NzI2NiA4LjkwODIwMyA1MS4yNzU2MyA4Ljc5MjcyNSBRIDUwLjg1NDAwNCA4LjY3NzI0NiA1MC40MjQzMTYgOC42NzcyNDYgUSA0OS40NjI4OSA4LjY3NzI0NiA0OC45MzExNTIgOS4yODY4NjUgUSA0OC4zOTk0MTggOS44OTY0ODQgNDguMzk5NDE4IDEwLjk5NzU1OSBRIDQ4LjM5OTQxOCAxMi4wOTg2MzMgNDguOTMxMTUyIDEyLjcwODI1MiBRIDQ5LjQ2Mjg5IDEzLjMxNzg3MSA1MC40MjQzMTYgMTMuMzE3ODcxIFEgNTAuODU0MDA0IDEzLjMxNzg3MSA1MS4yNzU2MyAxMy4yMDIzOTMgUSA1MS42OTcyNjYgMTMuMDg2OTE1IDUyLjExNjIwNyAxMi44NTU5NTYgTCA1Mi4xMTYyMDcgMTMuNzY5MDQzIFEgNTEuNzAyNjM3IDEzLjk2MjQwMiA1MS4yNTk1MiAxNC4wNTkwODIgUSA1MC44MTY0MDYgMTQuMTU1NzYyIDUwLjMxNjg5IDE0LjE1NTc2MiBRIDQ4Ljk1ODAwOCAxNC4xNTU3NjIgNDguMTU3NzE1IDEzLjMwMTc1OCBRIDQ3LjM1NzQxOCAxMi40NDc3NTQgNDcuMzU3NDE4IDEwLjk5NzU1OSBRIDQ3LjM1NzQxOCA5LjUyNTg3OSA0OC4xNjU3NyA4LjY4MjYxNyBRIDQ4Ljk3NDEyIDcuODM5MzU1NSA1MC4zODEzNDggNy44MzkzNTU1IFEgNTAuODM3ODk0IDcuODM5MzU1NSA1MS4yNzI5NSA3LjkzMzM0OTYgUSA1MS43MDgwMDggOC4wMjczNDQgNTIuMTE2MjA3IDguMjE1MzMyIFogTSA1My43OTczNjcgNS42NDI1NzggTCA1NC43OTEwMTYgNS42NDI1NzggTCA1NC43OTEwMTYgMTAuNTc4NjEzIEwgNTcuNzM5NzQ2IDcuOTg0Mzc1IEwgNTkuMDAxOTUzIDcuOTg0Mzc1IEwgNTUuODExNTIzIDEwLjc5ODgyNyBMIDU5LjEzNjIzIDE0IEwgNTcuODQ3MTY4IDE0IEwgNTQuNzkxMDE2IDExLjA2MjAxMiBMIDU0Ljc5MTAxNiAxNCBMIDUzLjc5NzM2NyAxNCBMIDUzLjc5NzM2NyA1LjY0MjU3OCBaIE0gNjIuNzQ1NjA1IDEwLjk3NjA3NCBRIDYxLjU0Nzg1IDEwLjk3NjA3NCA2MS4wODU5MzggMTEuMjQ5OTk5IFEgNjAuNjI0MDI3IDExLjUyMzkyNiA2MC42MjQwMjcgMTIuMTg0NTcxIFEgNjAuNjI0MDI3IDEyLjcxMDkzNzUgNjAuOTcwNDYgMTMuMDE5Nzc2IFEgNjEuMzE2ODk1IDEzLjMyODYxMyA2MS45MTMwOSAxMy4zMjg2MTMgUSA2Mi43MzQ4NjMgMTMuMzI4NjEzIDYzLjIzMTY5IDEyLjc0NTg1IFEgNjMuNzI4NTE2IDEyLjE2MzA4NiA2My43Mjg1MTYgMTEuMTk2Mjg5IEwgNjMuNzI4NTE2IDEwLjk3NjA3NCBMIDYyLjc0NTYwNSAxMC45NzYwNzQgWiBNIDY0LjcxNjggMTAuNTY3ODcxIEwgNjQuNzE2OCAxNCBMIDYzLjcyODUxNiAxNCBMIDYzLjcyODUxNiAxMy4wODY5MTUgUSA2My4zOTAxMzcgMTMuNjM0NzY2IDYyLjg4NTI1NCAxMy44OTUyNjQgUSA2Mi4zODAzNyAxNC4xNTU3NjIgNjEuNjQ5OTA2IDE0LjE1NTc2MiBRIDYwLjcyNjA3NCAxNC4xNTU3NjIgNjAuMTgwOTEgMTMuNjM3NDUxIFEgNTkuNjM1NzQyIDEzLjExOTE0MiA1OS42MzU3NDIgMTIuMjQ5MDI0IFEgNTkuNjM1NzQyIDExLjIzMzg4NyA2MC4zMTUxODYgMTAuNzE4MjYyIFEgNjAuOTk0NjI1IDEwLjIwMjYzNyA2Mi4zNDI3NzMgMTAuMjAyNjM3IEwgNjMuNzI4NTE2IDEwLjIwMjYzNyBMIDYzLjcyODUxNiAxMC4xMDU5NTcgUSA2My43Mjg1MTYgOS40MjM4MjggNjMuMjgwMDMgOS4wNTA1MzcgUSA2Mi44MzE1NDMgOC42NzcyNDYgNjIuMDIwNTA0IDguNjc3MjQ2IFEgNjEuNTA0ODggOC42NzcyNDYgNjEuMDE2MTE3IDguODAwNzgxIFEgNjAuNTI3MzQ0IDguOTI0MzE2IDYwLjA3NjE3IDkuMTcxMzg3IEwgNjAuMDc2MTcgOC4yNTgzMDEgUSA2MC42MTg2NTYgOC4wNDg4MjggNjEuMTI4OTEgNy45NDQwOTEzIFEgNjEuNjM5MTU2IDcuODM5MzU1NSA2Mi4xMjI1NiA3LjgzOTM1NTUgUSA2My40Mjc3MzQgNy44MzkzNTU1IDY0LjA3MjI2NiA4LjUxNjExMyBRIDY0LjcxNjggOS4xOTI4NzEgNjQuNzE2OCAxMC41Njc4NzEgWiBNIDcwLjcxMDk0IDEwLjkyMjM2MyBRIDcwLjcxMDk0IDkuODQ4MTQ1IDcwLjI2NzgyIDkuMjU3MzI0IFEgNjkuODI0NzEgOC42NjY1MDQgNjkuMDI0NDE0IDguNjY2NTA0IFEgNjguMjI5NDkgOC42NjY1MDQgNjcuNzg2MzggOS4yNTczMjQgUSA2Ny4zNDMyNiA5Ljg0ODE0NSA2Ny4zNDMyNiAxMC45MjIzNjMgUSA2Ny4zNDMyNiAxMS45OTEyMTIgNjcuNzg2MzggMTIuNTgyMDMxIFEgNjguMjI5NDkgMTMuMTcyODUyIDY5LjAyNDQxNCAxMy4xNzI4NTIgUSA2OS44MjQ3MSAxMy4xNzI4NTIgNzAuMjY3ODIgMTIuNTgyMDMxIFEgNzAuNzEwOTQgMTEuOTkxMjEyIDcwLjcxMDk0IDEwLjkyMjM2MyBaIE0gNzEuNjk5MjIgMTMuMjUzNDE4IFEgNzEuNjk5MjIgMTQuNzg5NTUyIDcxLjAxNzA5IDE1LjUzODgxOCBRIDcwLjMzNDk2IDE2LjI4ODA4NiA2OC45Mjc3MzQgMTYuMjg4MDg2IFEgNjguNDA2NzQgMTYuMjg4MDg2IDY3Ljk0NDgyNCAxNi4yMTAyMDUgUSA2Ny40ODI5MSAxNi4xMzIzMjQgNjcuMDQ3ODUgMTUuOTcxMTkxIEwgNjcuMDQ3ODUgMTUuMDA5NzY1IFEgNjcuNDgyOTEgMTUuMjQ2MDk0IDY3LjkwNzIzIDE1LjM1ODg4NyBRIDY4LjMzMTU0IDE1LjQ3MTY4IDY4Ljc3MTk3IDE1LjQ3MTY4IFEgNjkuNzQ0MTQgMTUuNDcxNjggNzAuMjI3NTQgMTQuOTY0MTExIFEgNzAuNzEwOTQgMTQuNDU2NTQzIDcwLjcxMDk0IDEzLjQzMDY2NCBMIDcwLjcxMDk0IDEyLjk0MTg5NSBRIDcwLjQwNDc4NSAxMy40NzM2MzMgNjkuOTI2NzYgMTMuNzM2ODE2IFEgNjkuNDQ4NzMgMTQgNjguNzgyNzE1IDE0IFEgNjcuNjc2MjcgMTQgNjYuOTk5NTEgMTMuMTU2NzM4IFEgNjYuMzIyNzU0IDEyLjMxMzQ3NzUgNjYuMzIyNzU0IDEwLjkyMjM2MyBRIDY2LjMyMjc1NCA5LjUyNTg3OSA2Ni45OTk1MSA4LjY4MjYxNyBRIDY3LjY3NjI3IDcuODM5MzU1NSA2OC43ODI3MTUgNy44MzkzNTU1IFEgNjkuNDQ4NzMgNy44MzkzNTU1IDY5LjkyNjc2IDguMTAyNTM5IFEgNzAuNDA0Nzg1IDguMzY1NzIzIDcwLjcxMDk0IDguODk3NDYxIEwgNzAuNzEwOTQgNy45ODQzNzUgTCA3MS42OTkyMiA3Ljk4NDM3NSBMIDcxLjY5OTIyIDEzLjI1MzQxOCBaIE0gNzguODgwMzcgMTAuNzQ1MTE3IEwgNzguODgwMzcgMTEuMjI4NTE2IEwgNzQuMzM2NDI2IDExLjIyODUxNiBRIDc0LjQwMDg4IDEyLjI0OTAyNCA3NC45NTE0MTYgMTIuNzgzNDQ3IFEgNzUuNTAxOTUgMTMuMzE3ODcxIDc2LjQ4NDg2IDEzLjMxNzg3MSBRIDc3LjA1NDIgMTMuMzE3ODcxIDc3LjU4ODYyIDEzLjE3ODIyMiBRIDc4LjEyMzA1IDEzLjAzODU3NCA3OC42NDk0MTQgMTIuNzU5Mjc2IEwgNzguNjQ5NDE0IDEzLjY5Mzg0NyBRIDc4LjExNzY3NiAxMy45MTk0MzMgNzcuNTU5MDggMTQuMDM3NTk4IFEgNzcuMDAwNDkgMTQuMTU1NzYyIDc2LjQyNTc4IDE0LjE1NTc2MiBRIDc0Ljk4NjMzIDE0LjE1NTc2MiA3NC4xNDU3NSAxMy4zMTc4NzEgUSA3My4zMDUxNzYgMTIuNDc5OTggNzMuMzA1MTc2IDExLjA1MTI3IFEgNzMuMzA1MTc2IDkuNTc0MjE5IDc0LjEwMjc4IDguNzA2Nzg3IFEgNzQuOTAwMzkgNy44MzkzNTU1IDc2LjI1MzkxIDcuODM5MzU1NSBRIDc3LjQ2Nzc3IDcuODM5MzU1NSA3OC4xNzQwNyA4LjYyMDg1IFEgNzguODgwMzcgOS40MDIzNDQgNzguODgwMzcgMTAuNzQ1MTE3IFogTSA3Ny44OTIwOSAxMC40NTUwNzggUSA3Ny44ODEzNSA5LjY0NDA0MyA3Ny40MzgyMyA5LjE2MDY0NSBRIDc2Ljk5NTEyIDguNjc3MjQ2IDc2LjI2NDY1IDguNjc3MjQ2IFEgNzUuNDM3NSA4LjY3NzI0NiA3NC45NDA2NzQgOS4xNDQ1MzEgUSA3NC40NDM4NSA5LjYxMTgxNiA3NC4zNjg2NSAxMC40NjA0NDkgTCA3Ny44OTIwOSAxMC40NTUwNzggWiIvPgogICAgPC9nPgogIDwvZz4KICA8Zz4KICAgIDxnCiAgICAgIGlkPSJ2QmFjayI+CiAgICAgIDxwYXRoCiAgICAgICAgZmlsbD0iIzAxMDEwMSIKICAgICAgICBmaWxsLW9wYWNpdHk9IjAuMyIKICAgICAgICBzdHJva2U9IiMwMTAxMDEiCiAgICAgICAgc3Ryb2tlLW9wYWNpdHk9IjAuMDk4MDM5MjIiCiAgICAgICAgc3Ryb2tlLXdpZHRoPSIwLjMiCiAgICAgICAgZD0iTSA5NC40OTY1OCA3LjY5NTMxMjUgUSA5My42NTg3IDcuNjk1MzEyNSA5My4yMzcwNiA4LjUxOTc3NSBRIDkyLjgxNTQzIDkuMzQ0MjM4IDkyLjgxNTQzIDEwLjk5ODUzNiBRIDkyLjgxNTQzIDEyLjY0NzQ2MSA5My4yMzcwNiAxMy40NzE5MjMgUSA5My42NTg3IDE0LjI5NjM4NyA5NC40OTY1OCAxNC4yOTYzODcgUSA5NS4zMzk4NSAxNC4yOTYzODcgOTUuNzYxNDggMTMuNDcxOTIzIFEgOTYuMTgzMSAxMi42NDc0NjEgOTYuMTgzMSAxMC45OTg1MzYgUSA5Ni4xODMxIDkuMzQ0MjM4IDk1Ljc2MTQ4IDguNTE5Nzc1IFEgOTUuMzM5ODUgNy42OTUzMTI1IDk0LjQ5NjU4IDcuNjk1MzEyNSBaIE0gOTQuNDk2NTggNi44MzU5Mzc1IFEgOTUuODQ0NzM0IDYuODM1OTM3NSA5Ni41NTY0MDQgNy45MDIwOTk2IFEgOTcuMjY4MDc0IDguOTY4MjYyIDk3LjI2ODA3NCAxMC45OTg1MzYgUSA5Ny4yNjgwNzQgMTMuMDIzNDM4IDk2LjU1NjQwNCAxNC4wODk2IFEgOTUuODQ0NzM0IDE1LjE1NTc2MiA5NC40OTY1OCAxNS4xNTU3NjIgUSA5My4xNDg0NCAxNS4xNTU3NjIgOTIuNDM2NzcgMTQuMDg5NiBRIDkxLjcyNTEgMTMuMDIzNDM4IDkxLjcyNTEgMTAuOTk4NTM2IFEgOTEuNzI1MSA4Ljk2ODI2MiA5Mi40MzY3NyA3LjkwMjA5OTYgUSA5My4xNDg0NCA2LjgzNTkzNzUgOTQuNDk2NTggNi44MzU5Mzc1IFogTSA5OS4xNzQ4MSAxMy42MzU3NDMgTCAxMDAuMzA4MSAxMy42MzU3NDMgTCAxMDAuMzA4MSAxNSBMIDk5LjE3NDgxIDE1IEwgOTkuMTc0ODEgMTMuNjM1NzQzIFogTSAxMDQuOTkxNzEgNy42OTUzMTI1IFEgMTA0LjE1MzgxIDcuNjk1MzEyNSAxMDMuNzMyMTcgOC41MTk3NzUgUSAxMDMuMzEwNTU1IDkuMzQ0MjM4IDEwMy4zMTA1NTUgMTAuOTk4NTM2IFEgMTAzLjMxMDU1NSAxMi42NDc0NjEgMTAzLjczMjE3IDEzLjQ3MTkyMyBRIDEwNC4xNTM4MSAxNC4yOTYzODcgMTA0Ljk5MTcxIDE0LjI5NjM4NyBRIDEwNS44MzQ5NSAxNC4yOTYzODcgMTA2LjI1NjU5IDEzLjQ3MTkyMyBRIDEwNi42NzgyMiAxMi42NDc0NjEgMTA2LjY3ODIyIDEwLjk5ODUzNiBRIDEwNi42NzgyMiA5LjM0NDIzOCAxMDYuMjU2NTkgOC41MTk3NzUgUSAxMDUuODM0OTUgNy42OTUzMTI1IDEwNC45OTE3MSA3LjY5NTMxMjUgWiBNIDEwNC45OTE3MSA2LjgzNTkzNzUgUSAxMDYuMzM5ODQgNi44MzU5Mzc1IDEwNy4wNTE1MDYgNy45MDIwOTk2IFEgMTA3Ljc2MzE3NiA4Ljk2ODI2MiAxMDcuNzYzMTc2IDEwLjk5ODUzNiBRIDEwNy43NjMxNzYgMTMuMDIzNDM4IDEwNy4wNTE1MDYgMTQuMDg5NiBRIDEwNi4zMzk4NCAxNS4xNTU3NjIgMTA0Ljk5MTcxIDE1LjE1NTc2MiBRIDEwMy42NDM1NTUgMTUuMTU1NzYyIDEwMi45MzE4ODUgMTQuMDg5NiBRIDEwMi4yMjAyMTUgMTMuMDIzNDM4IDEwMi4yMjAyMTUgMTAuOTk4NTM2IFEgMTAyLjIyMDIxNSA4Ljk2ODI2MiAxMDIuOTMxODg1IDcuOTAyMDk5NiBRIDEwMy42NDM1NTUgNi44MzU5Mzc1IDEwNC45OTE3MSA2LjgzNTkzNzUgWiBNIDEwOS42Njk5MiAxMy42MzU3NDMgTCAxMTAuODAzMjIgMTMuNjM1NzQzIEwgMTEwLjgwMzIyIDE1IEwgMTA5LjY2OTkyIDE1IEwgMTA5LjY2OTkyIDEzLjYzNTc0MyBaIE0gMTE1LjYyMTA4NiAxMC41NTgxMDUgUSAxMTQuODkwNjMgMTAuNTU4MTA1IDExNC40NjM2MiAxMS4wNTc2MTYgUSAxMTQuMDM2NjIgMTEuNTU3MTI5IDExNC4wMzY2MiAxMi40MjcyNDYgUSAxMTQuMDM2NjIgMTMuMjkxOTkyIDExNC40NjM2MiAxMy43OTQxOSBRIDExNC44OTA2MyAxNC4yOTYzODcgMTE1LjYyMTA4NiAxNC4yOTYzODcgUSAxMTYuMzUxNTYgMTQuMjk2Mzg3IDExNi43Nzg1NjQgMTMuNzk0MTkgUSAxMTcuMjA1NTcgMTMuMjkxOTkyIDExNy4yMDU1NyAxMi40MjcyNDYgUSAxMTcuMjA1NTcgMTEuNTU3MTI5IDExNi43Nzg1NjQgMTEuMDU3NjE2IFEgMTE2LjM1MTU2IDEwLjU1ODEwNSAxMTUuNjIxMDg2IDEwLjU1ODEwNSBaIE0gMTE3Ljc3NDkgNy4xNTgyMDI2IEwgMTE3Ljc3NDkgOC4xNDY0ODQgUSAxMTcuMzY2NyA3Ljk1MzEyNSAxMTYuOTUwNDQgNy44NTEwNzM3IFEgMTE2LjUzNDE4IDcuNzQ5MDIzNCAxMTYuMTI1OTcgNy43NDkwMjM0IFEgMTE1LjA1MTc2IDcuNzQ5MDIzNCAxMTQuNDg1MTEgOC40NzQxMjEgUSAxMTMuOTE4NDYgOS4xOTkyMTkgMTEzLjgzNzkgMTAuNjY1NTI3IFEgMTE0LjE1NDc4NSAxMC4xOTgyNDIgMTE0LjYzMjgyIDkuOTQ4NDg2IFEgMTE1LjExMDg0IDkuNjk4NzMgMTE1LjY4NTU1IDkuNjk4NzMgUSAxMTYuODk0MDQgOS42OTg3MyAxMTcuNTk0OTcgMTAuNDMxODg1IFEgMTE4LjI5NTkgMTEuMTY1MDM5IDExOC4yOTU5IDEyLjQyNzI0NiBRIDExOC4yOTU5IDEzLjY2MjU5NyAxMTcuNTY1NDMgMTQuNDA5MTggUSAxMTYuODM0OTYgMTUuMTU1NzYyIDExNS42MjEwODYgMTUuMTU1NzYyIFEgMTE0LjIyOTk5IDE1LjE1NTc2MiAxMTMuNDk0MTQgMTQuMDg5NiBRIDExMi43NTgzIDEzLjAyMzQzOCAxMTIuNzU4MyAxMC45OTg1MzYgUSAxMTIuNzU4MyA5LjA5NzE2OCAxMTMuNjYwNjQ1IDcuOTY2NTUyNyBRIDExNC41NjI5OSA2LjgzNTkzNzUgMTE2LjA4MzAxIDYuODM1OTM3NSBRIDExNi40OTEyMSA2LjgzNTkzNzUgMTE2LjkwNzQ3IDYuOTE2NTA0IFEgMTE3LjMyMzc0IDYuOTk3MDcwMyAxMTcuNzc0OSA3LjE1ODIwMjYgWiBNIDEyMC4xNzU3OCA2Ljk4MDk1NyBMIDEyNC40MzUwNiA2Ljk4MDk1NyBMIDEyNC40MzUwNiA3Ljg5NDA0MyBMIDEyMS4xNjk0MjYgNy44OTQwNDMgTCAxMjEuMTY5NDI2IDkuODU5ODYzIFEgMTIxLjQwNTc1NCA5Ljc3OTI5NyAxMjEuNjQyMDkgOS43MzkwMTQgUSAxMjEuODc4NDIgOS42OTg3MyAxMjIuMTE0NzQ2IDkuNjk4NzMgUSAxMjMuNDU3NTEgOS42OTg3MyAxMjQuMjQxNjkgMTAuNDM0NTcgUSAxMjUuMDI1ODcgMTEuMTcwNDEgMTI1LjAyNTg3IDEyLjQyNzI0NiBRIDEyNS4wMjU4NyAxMy43MjE2OCAxMjQuMjIwMjE1IDE0LjQzODcyMiBRIDEyMy40MTQ1NSAxNS4xNTU3NjIgMTIxLjk0ODI0IDE1LjE1NTc2MiBRIDEyMS40NDMzNiAxNS4xNTU3NjIgMTIwLjkxOTY4IDE1LjA2OTgyNCBRIDEyMC4zOTU5OSAxNC45ODM4ODYgMTE5LjgzNzQgMTQuODEyMDEyIEwgMTE5LjgzNzQgMTMuNzIxNjggUSAxMjAuMzIwOCAxMy45ODQ4NjIgMTIwLjgzNjQyNiAxNC4xMTM3NjkgUSAxMjEuMzUyMDUgMTQuMjQyNjc1IDEyMS45MjY3NiAxNC4yNDI2NzUgUSAxMjIuODU1OTYgMTQuMjQyNjc1IDEyMy4zOTg0NCAxMy43NTM5MDYgUSAxMjMuOTQwOTIgMTMuMjY1MTM3IDEyMy45NDA5MiAxMi40MjcyNDYgUSAxMjMuOTQwOTIgMTEuNTg5MzU1IDEyMy4zOTg0NCAxMS4xMDA1ODYgUSAxMjIuODU1OTYgMTAuNjExODE2IDEyMS45MjY3NiAxMC42MTE4MTYgUSAxMjEuNDkxNyAxMC42MTE4MTYgMTIxLjA1OTMyNiAxMC43MDg0OTYgUSAxMjAuNjI2OTUgMTAuODA1MTc3IDEyMC4xNzU3OCAxMS4wMDkyNzcgTCAxMjAuMTc1NzggNi45ODA5NTcgWiIvPgogICAgPC9nPgogICAgPGcKICAgICAgaWQ9InZUZXh0Ij4KICAgICAgPHBhdGgKICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgIHN0cm9rZT0iI2ZmZmZmZiIKICAgICAgICBzdHJva2Utd2lkdGg9IjAuMyIKICAgICAgICBkPSJNIDk0LjQ5NjU4IDYuNjk1MzEyNSBRIDkzLjY1ODcgNi42OTUzMTI1IDkzLjIzNzA2IDcuNTE5Nzc1NCBRIDkyLjgxNTQzIDguMzQ0MjM4IDkyLjgxNTQzIDkuOTk4NTM1IFEgOTIuODE1NDMgMTEuNjQ3NDYxIDkzLjIzNzA2IDEyLjQ3MTkyMyBRIDkzLjY1ODcgMTMuMjk2Mzg3IDk0LjQ5NjU4IDEzLjI5NjM4NyBRIDk1LjMzOTg1IDEzLjI5NjM4NyA5NS43NjE0OCAxMi40NzE5MjMgUSA5Ni4xODMxIDExLjY0NzQ2MSA5Ni4xODMxIDkuOTk4NTM1IFEgOTYuMTgzMSA4LjM0NDIzOCA5NS43NjE0OCA3LjUxOTc3NTQgUSA5NS4zMzk4NSA2LjY5NTMxMjUgOTQuNDk2NTggNi42OTUzMTI1IFogTSA5NC40OTY1OCA1LjgzNTkzNzUgUSA5NS44NDQ3MzQgNS44MzU5Mzc1IDk2LjU1NjQwNCA2LjkwMjA5OTYgUSA5Ny4yNjgwNzQgNy45NjgyNjE3IDk3LjI2ODA3NCA5Ljk5ODUzNSBRIDk3LjI2ODA3NCAxMi4wMjM0MzggOTYuNTU2NDA0IDEzLjA4OTYgUSA5NS44NDQ3MzQgMTQuMTU1NzYyIDk0LjQ5NjU4IDE0LjE1NTc2MiBRIDkzLjE0ODQ0IDE0LjE1NTc2MiA5Mi40MzY3NyAxMy4wODk2IFEgOTEuNzI1MSAxMi4wMjM0MzggOTEuNzI1MSA5Ljk5ODUzNSBRIDkxLjcyNTEgNy45NjgyNjE3IDkyLjQzNjc3IDYuOTAyMDk5NiBRIDkzLjE0ODQ0IDUuODM1OTM3NSA5NC40OTY1OCA1LjgzNTkzNzUgWiBNIDk5LjE3NDgxIDEyLjYzNTc0MyBMIDEwMC4zMDgxIDEyLjYzNTc0MyBMIDEwMC4zMDgxIDE0IEwgOTkuMTc0ODEgMTQgTCA5OS4xNzQ4MSAxMi42MzU3NDMgWiBNIDEwNC45OTE3MSA2LjY5NTMxMjUgUSAxMDQuMTUzODEgNi42OTUzMTI1IDEwMy43MzIxNyA3LjUxOTc3NTQgUSAxMDMuMzEwNTU1IDguMzQ0MjM4IDEwMy4zMTA1NTUgOS45OTg1MzUgUSAxMDMuMzEwNTU1IDExLjY0NzQ2MSAxMDMuNzMyMTcgMTIuNDcxOTIzIFEgMTA0LjE1MzgxIDEzLjI5NjM4NyAxMDQuOTkxNzEgMTMuMjk2Mzg3IFEgMTA1LjgzNDk1IDEzLjI5NjM4NyAxMDYuMjU2NTkgMTIuNDcxOTIzIFEgMTA2LjY3ODIyIDExLjY0NzQ2MSAxMDYuNjc4MjIgOS45OTg1MzUgUSAxMDYuNjc4MjIgOC4zNDQyMzggMTA2LjI1NjU5IDcuNTE5Nzc1NCBRIDEwNS44MzQ5NSA2LjY5NTMxMjUgMTA0Ljk5MTcxIDYuNjk1MzEyNSBaIE0gMTA0Ljk5MTcxIDUuODM1OTM3NSBRIDEwNi4zMzk4NCA1LjgzNTkzNzUgMTA3LjA1MTUwNiA2LjkwMjA5OTYgUSAxMDcuNzYzMTc2IDcuOTY4MjYxNyAxMDcuNzYzMTc2IDkuOTk4NTM1IFEgMTA3Ljc2MzE3NiAxMi4wMjM0MzggMTA3LjA1MTUwNiAxMy4wODk2IFEgMTA2LjMzOTg0IDE0LjE1NTc2MiAxMDQuOTkxNzEgMTQuMTU1NzYyIFEgMTAzLjY0MzU1NSAxNC4xNTU3NjIgMTAyLjkzMTg4NSAxMy4wODk2IFEgMTAyLjIyMDIxNSAxMi4wMjM0MzggMTAyLjIyMDIxNSA5Ljk5ODUzNSBRIDEwMi4yMjAyMTUgNy45NjgyNjE3IDEwMi45MzE4ODUgNi45MDIwOTk2IFEgMTAzLjY0MzU1NSA1LjgzNTkzNzUgMTA0Ljk5MTcxIDUuODM1OTM3NSBaIE0gMTA5LjY2OTkyIDEyLjYzNTc0MyBMIDExMC44MDMyMiAxMi42MzU3NDMgTCAxMTAuODAzMjIgMTQgTCAxMDkuNjY5OTIgMTQgTCAxMDkuNjY5OTIgMTIuNjM1NzQzIFogTSAxMTUuNjIxMDg2IDkuNTU4MTA1IFEgMTE0Ljg5MDYzIDkuNTU4MTA1IDExNC40NjM2MiAxMC4wNTc2MTcgUSAxMTQuMDM2NjIgMTAuNTU3MTI5IDExNC4wMzY2MiAxMS40MjcyNDYgUSAxMTQuMDM2NjIgMTIuMjkxOTkyIDExNC40NjM2MiAxMi43OTQxOSBRIDExNC44OTA2MyAxMy4yOTYzODcgMTE1LjYyMTA4NiAxMy4yOTYzODcgUSAxMTYuMzUxNTYgMTMuMjk2Mzg3IDExNi43Nzg1NjQgMTIuNzk0MTkgUSAxMTcuMjA1NTcgMTIuMjkxOTkyIDExNy4yMDU1NyAxMS40MjcyNDYgUSAxMTcuMjA1NTcgMTAuNTU3MTI5IDExNi43Nzg1NjQgMTAuMDU3NjE3IFEgMTE2LjM1MTU2IDkuNTU4MTA1IDExNS42MjEwODYgOS41NTgxMDUgWiBNIDExNy43NzQ5IDYuMTU4MjAyNiBMIDExNy43NzQ5IDcuMTQ2NDg0NCBRIDExNy4zNjY3IDYuOTUzMTI1IDExNi45NTA0NCA2Ljg1MTA3MzcgUSAxMTYuNTM0MTggNi43NDkwMjM0IDExNi4xMjU5NyA2Ljc0OTAyMzQgUSAxMTUuMDUxNzYgNi43NDkwMjM0IDExNC40ODUxMSA3LjQ3NDEyMSBRIDExMy45MTg0NiA4LjE5OTIxOSAxMTMuODM3OSA5LjY2NTUyNyBRIDExNC4xNTQ3ODUgOS4xOTgyNDIgMTE0LjYzMjgyIDguOTQ4NDg2IFEgMTE1LjExMDg0IDguNjk4NzMgMTE1LjY4NTU1IDguNjk4NzMgUSAxMTYuODk0MDQgOC42OTg3MyAxMTcuNTk0OTcgOS40MzE4ODUgUSAxMTguMjk1OSAxMC4xNjUwMzkgMTE4LjI5NTkgMTEuNDI3MjQ2IFEgMTE4LjI5NTkgMTIuNjYyNTk3IDExNy41NjU0MyAxMy40MDkxOCBRIDExNi44MzQ5NiAxNC4xNTU3NjIgMTE1LjYyMTA4NiAxNC4xNTU3NjIgUSAxMTQuMjI5OTkgMTQuMTU1NzYyIDExMy40OTQxNCAxMy4wODk2IFEgMTEyLjc1ODMgMTIuMDIzNDM4IDExMi43NTgzIDkuOTk4NTM1IFEgMTEyLjc1ODMgOC4wOTcxNjggMTEzLjY2MDY0NSA2Ljk2NjU1MjcgUSAxMTQuNTYyOTkgNS44MzU5Mzc1IDExNi4wODMwMSA1LjgzNTkzNzUgUSAxMTYuNDkxMjEgNS44MzU5Mzc1IDExNi45MDc0NyA1LjkxNjUwNCBRIDExNy4zMjM3NCA1Ljk5NzA3MDMgMTE3Ljc3NDkgNi4xNTgyMDI2IFogTSAxMjAuMTc1NzggNS45ODA5NTcgTCAxMjQuNDM1MDYgNS45ODA5NTcgTCAxMjQuNDM1MDYgNi44OTQwNDMgTCAxMjEuMTY5NDI2IDYuODk0MDQzIEwgMTIxLjE2OTQyNiA4Ljg1OTg2MyBRIDEyMS40MDU3NTQgOC43NzkyOTcgMTIxLjY0MjA5IDguNzM5MDE0IFEgMTIxLjg3ODQyIDguNjk4NzMgMTIyLjExNDc0NiA4LjY5ODczIFEgMTIzLjQ1NzUxIDguNjk4NzMgMTI0LjI0MTY5IDkuNDM0NTcgUSAxMjUuMDI1ODcgMTAuMTcwNDEgMTI1LjAyNTg3IDExLjQyNzI0NiBRIDEyNS4wMjU4NyAxMi43MjE2OCAxMjQuMjIwMjE1IDEzLjQzODcyMiBRIDEyMy40MTQ1NSAxNC4xNTU3NjIgMTIxLjk0ODI0IDE0LjE1NTc2MiBRIDEyMS40NDMzNiAxNC4xNTU3NjIgMTIwLjkxOTY4IDE0LjA2OTgyNCBRIDEyMC4zOTU5OSAxMy45ODM4ODYgMTE5LjgzNzQgMTMuODEyMDEyIEwgMTE5LjgzNzQgMTIuNzIxNjggUSAxMjAuMzIwOCAxMi45ODQ4NjIgMTIwLjgzNjQyNiAxMy4xMTM3NjkgUSAxMjEuMzUyMDUgMTMuMjQyNjc1IDEyMS45MjY3NiAxMy4yNDI2NzUgUSAxMjIuODU1OTYgMTMuMjQyNjc1IDEyMy4zOTg0NCAxMi43NTM5MDYgUSAxMjMuOTQwOTIgMTIuMjY1MTM3IDEyMy45NDA5MiAxMS40MjcyNDYgUSAxMjMuOTQwOTIgMTAuNTg5MzU1IDEyMy4zOTg0NCAxMC4xMDA1ODYgUSAxMjIuODU1OTYgOS42MTE4MTYgMTIxLjkyNjc2IDkuNjExODE2IFEgMTIxLjQ5MTcgOS42MTE4MTYgMTIxLjA1OTMyNiA5LjcwODQ5NiBRIDEyMC42MjY5NSA5LjgwNTE3NiAxMjAuMTc1NzggMTAuMDA5Mjc3IEwgMTIwLjE3NTc4IDUuOTgwOTU3IFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=" alt="PyPI version" /></a></p>
172
+ <p>Guessing reasonable defaults for locale, keyboard layout, territory,
173
+ and language.</p>
174
+ <h2 id="purpose-of-this-package">Purpose of this package</h2>
175
+ <p><em>langtable</em> is used to guess reasonable defaults for locale,
176
+ keyboard, territory, …, if part of that information is already known.
177
+ For example, guess the territory and the keyboard layout if the language
178
+ is known or guess the language and keyboard layout if the territory is
179
+ already known.</p>
180
+ <h2 id="license">License</h2>
181
+ <p>GPLv3+, see the included file “COPYING”.</p>
182
+ <p>Translations for languages and territory names are from CLDR which is
183
+ governed by the Unicode Terms of Use, see the included file
184
+ “unicode-license.txt”. The short name for this Unicode license is “MIT”.
185
+ See:</p>
186
+ <p><a href="https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29">https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29</a></p>
187
+ <h2 id="installation">Installation</h2>
188
+ <p>To install langtable, run</p>
189
+ <pre><code> make install DESTDIR=/usr</code></pre>
190
+ <p>To create a distribution tarball run</p>
191
+ <pre><code> make dist</code></pre>
192
+ <p>To run the test cases in the source directory:</p>
193
+ <pre><code> make check</code></pre>
194
+ <h2 id="how-to-use-it">How to use it</h2>
195
+ <pre><code>import langtable</code></pre>
196
+ <p>Functions in the public API:</p>
197
+ <pre><code> parse_locale()
198
+ list_locales()
199
+ list_keyboards()
200
+ list_common_languages()
201
+ list_common_locales()
202
+ list_common_keyboards()
203
+ list_consolefonts()
204
+ list_inputmethods()
205
+ list_timezones()
206
+ list_scripts()
207
+ language_name()
208
+ territory_name()
209
+ timezone_name()
210
+ languageId()
211
+ territoryId()
212
+ supports_ascii()
213
+ list_all_languages()
214
+ list_all_locales()
215
+ list_all_keyboards()
216
+ list_all_territories()
217
+ list_all_timezones()
218
+ list_all_scripts()
219
+ list_all_input_methods()
220
+ list_all_console_fonts()</code></pre>
221
+ <p>Some examples to show the usage are found in the documentation of the
222
+ public functions in <code>langtable.py</code>.</p>
223
+ <p>Some more examples are in the test cases in the file
224
+ <code>test_cases.py</code>.</p>
225
+ </body>
226
+ </html>
@@ -0,0 +1,72 @@
1
+ # langtable
2
+
3
+ [![PyPI version](https://badge.fury.io/py/langtable.svg)](https://badge.fury.io/py/langtable)
4
+
5
+ Guessing reasonable defaults for locale, keyboard layout, territory, and language.
6
+
7
+ ## Purpose of this package
8
+ _langtable_ is used to guess reasonable defaults for locale, keyboard, territory, …, if part of that information is already known. For example, guess the territory and the keyboard layout if the language is known or guess the language and keyboard layout if the territory is already known.
9
+
10
+ ## License
11
+
12
+ GPLv3+, see the included file “COPYING”.
13
+
14
+ Translations for languages and territory names are from CLDR which is governed by the Unicode Terms of Use, see the included file “unicode-license.txt”. The short name for this Unicode license is “MIT”. See:
15
+
16
+ https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Style_without_sublicense_.28Unicode.29
17
+
18
+ ## Installation
19
+
20
+ To install langtable, run
21
+
22
+ ```
23
+ make install DESTDIR=/usr
24
+ ```
25
+
26
+ To create a distribution tarball run
27
+ ```
28
+ make dist
29
+ ```
30
+ To run the test cases in the source directory:
31
+ ```
32
+ make check
33
+ ```
34
+
35
+ ## How to use it
36
+
37
+ ```
38
+ import langtable
39
+ ```
40
+
41
+ Functions in the public API:
42
+
43
+ ```
44
+ parse_locale()
45
+ list_locales()
46
+ list_keyboards()
47
+ list_common_languages()
48
+ list_common_locales()
49
+ list_common_keyboards()
50
+ list_consolefonts()
51
+ list_inputmethods()
52
+ list_timezones()
53
+ list_scripts()
54
+ language_name()
55
+ territory_name()
56
+ timezone_name()
57
+ languageId()
58
+ territoryId()
59
+ supports_ascii()
60
+ list_all_languages()
61
+ list_all_locales()
62
+ list_all_keyboards()
63
+ list_all_territories()
64
+ list_all_timezones()
65
+ list_all_scripts()
66
+ list_all_input_methods()
67
+ list_all_console_fonts()
68
+ ```
69
+
70
+ Some examples to show the usage are found in the documentation of the public functions in `langtable.py`.
71
+
72
+ Some more examples are in the test cases in the file `test_cases.py`.