rigid 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/vendor/click/__init__.pyc +0 -0
- data/vendor/click/_bashcomplete.pyc +0 -0
- data/vendor/click/_compat.pyc +0 -0
- data/vendor/click/_termui_impl.pyc +0 -0
- data/vendor/click/_textwrap.pyc +0 -0
- data/vendor/click/_unicodefun.pyc +0 -0
- data/vendor/click/_winconsole.pyc +0 -0
- data/vendor/click/core.pyc +0 -0
- data/vendor/click/decorators.pyc +0 -0
- data/vendor/click/exceptions.pyc +0 -0
- data/vendor/click/formatting.pyc +0 -0
- data/vendor/click/globals.pyc +0 -0
- data/vendor/click/parser.pyc +0 -0
- data/vendor/click/termui.pyc +0 -0
- data/vendor/click/testing.pyc +0 -0
- data/vendor/click/types.pyc +0 -0
- data/vendor/click/utils.pyc +0 -0
- data/vendor/easy_install.pyc +0 -0
- data/vendor/pkg_resources/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/appdirs.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/markers.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/utils.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/version.pyc +0 -0
- data/vendor/pkg_resources/_vendor/pyparsing.pyc +0 -0
- data/vendor/pkg_resources/_vendor/six.pyc +0 -0
- data/vendor/pkg_resources/extern/__init__.pyc +0 -0
- data/vendor/{requests-2.11.1.dist-info/METADATA → requests-2.12.1.dist-info/DESCRIPTION.rst} +51 -30
- data/vendor/{requests-2.11.1.dist-info → requests-2.12.1.dist-info}/INSTALLER +0 -0
- data/vendor/{requests-2.11.1.dist-info/DESCRIPTION.rst → requests-2.12.1.dist-info/METADATA} +80 -1
- data/vendor/{requests-2.11.1.dist-info → requests-2.12.1.dist-info}/RECORD +61 -41
- data/vendor/{requests-2.11.1.dist-info → requests-2.12.1.dist-info}/WHEEL +1 -1
- data/vendor/requests-2.12.1.dist-info/metadata.json +1 -0
- data/vendor/{requests-2.11.1.dist-info → requests-2.12.1.dist-info}/top_level.txt +0 -0
- data/vendor/requests/__init__.py +2 -2
- data/vendor/requests/__init__.pyc +0 -0
- data/vendor/requests/_internal_utils.py +27 -0
- data/vendor/requests/_internal_utils.pyc +0 -0
- data/vendor/requests/adapters.py +1 -1
- data/vendor/requests/adapters.pyc +0 -0
- data/vendor/requests/api.py +3 -1
- data/vendor/requests/api.pyc +0 -0
- data/vendor/requests/auth.py +2 -1
- data/vendor/requests/auth.pyc +0 -0
- data/vendor/requests/cacert.pem +448 -375
- data/vendor/requests/certs.pyc +0 -0
- data/vendor/requests/compat.py +2 -0
- data/vendor/requests/compat.pyc +0 -0
- data/vendor/requests/cookies.py +3 -1
- data/vendor/requests/cookies.pyc +0 -0
- data/vendor/requests/exceptions.py +2 -0
- data/vendor/requests/exceptions.pyc +0 -0
- data/vendor/requests/hooks.pyc +0 -0
- data/vendor/requests/models.py +53 -29
- data/vendor/requests/models.pyc +0 -0
- data/vendor/requests/packages/__init__.py +6 -0
- data/vendor/requests/packages/__init__.pyc +0 -0
- data/vendor/requests/packages/chardet/__init__.pyc +0 -0
- data/vendor/requests/packages/chardet/big5freq.pyc +0 -0
- data/vendor/requests/packages/chardet/big5prober.pyc +0 -0
- data/vendor/requests/packages/chardet/chardetect.pyc +0 -0
- data/vendor/requests/packages/chardet/chardistribution.pyc +0 -0
- data/vendor/requests/packages/chardet/charsetgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/charsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/codingstatemachine.pyc +0 -0
- data/vendor/requests/packages/chardet/compat.pyc +0 -0
- data/vendor/requests/packages/chardet/constants.pyc +0 -0
- data/vendor/requests/packages/chardet/cp949prober.pyc +0 -0
- data/vendor/requests/packages/chardet/escprober.pyc +0 -0
- data/vendor/requests/packages/chardet/escsm.pyc +0 -0
- data/vendor/requests/packages/chardet/eucjpprober.pyc +0 -0
- data/vendor/requests/packages/chardet/euckrfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/euckrprober.pyc +0 -0
- data/vendor/requests/packages/chardet/euctwfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/euctwprober.pyc +0 -0
- data/vendor/requests/packages/chardet/gb2312freq.pyc +0 -0
- data/vendor/requests/packages/chardet/gb2312prober.pyc +0 -0
- data/vendor/requests/packages/chardet/hebrewprober.pyc +0 -0
- data/vendor/requests/packages/chardet/jisfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/jpcntx.pyc +0 -0
- data/vendor/requests/packages/chardet/langbulgarianmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langcyrillicmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langgreekmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langhebrewmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langhungarianmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langthaimodel.pyc +0 -0
- data/vendor/requests/packages/chardet/latin1prober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcharsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcsgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcssm.pyc +0 -0
- data/vendor/requests/packages/chardet/sbcharsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/sbcsgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/sjisprober.pyc +0 -0
- data/vendor/requests/packages/chardet/universaldetector.pyc +0 -0
- data/vendor/requests/packages/chardet/utf8prober.pyc +0 -0
- data/vendor/requests/packages/idna/__init__.py +1 -0
- data/vendor/requests/packages/idna/__init__.pyc +0 -0
- data/vendor/requests/packages/idna/codec.py +118 -0
- data/vendor/requests/packages/idna/codec.pyc +0 -0
- data/vendor/requests/packages/idna/compat.py +12 -0
- data/vendor/requests/packages/idna/compat.pyc +0 -0
- data/vendor/requests/packages/idna/core.py +387 -0
- data/vendor/requests/packages/idna/core.pyc +0 -0
- data/vendor/requests/packages/idna/idnadata.py +1584 -0
- data/vendor/requests/packages/idna/idnadata.pyc +0 -0
- data/vendor/requests/packages/idna/intranges.py +46 -0
- data/vendor/requests/packages/idna/intranges.pyc +0 -0
- data/vendor/requests/packages/idna/uts46data.py +7267 -0
- data/vendor/requests/packages/idna/uts46data.pyc +0 -0
- data/vendor/requests/packages/urllib3/__init__.py +2 -1
- data/vendor/requests/packages/urllib3/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/_collections.pyc +0 -0
- data/vendor/requests/packages/urllib3/connection.py +62 -26
- data/vendor/requests/packages/urllib3/connection.pyc +0 -0
- data/vendor/requests/packages/urllib3/connectionpool.py +25 -20
- data/vendor/requests/packages/urllib3/connectionpool.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/appengine.py +87 -22
- data/vendor/requests/packages/urllib3/contrib/appengine.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/ntlmpool.py +2 -5
- data/vendor/requests/packages/urllib3/contrib/ntlmpool.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/pyopenssl.py +191 -118
- data/vendor/requests/packages/urllib3/contrib/pyopenssl.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/socks.py +11 -5
- data/vendor/requests/packages/urllib3/contrib/socks.pyc +0 -0
- data/vendor/requests/packages/urllib3/exceptions.py +32 -0
- data/vendor/requests/packages/urllib3/exceptions.pyc +0 -0
- data/vendor/requests/packages/urllib3/fields.py +1 -1
- data/vendor/requests/packages/urllib3/fields.pyc +0 -0
- data/vendor/requests/packages/urllib3/filepost.py +1 -1
- data/vendor/requests/packages/urllib3/filepost.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/backports/__init__.py +0 -0
- data/vendor/requests/packages/urllib3/packages/backports/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/backports/makefile.py +53 -0
- data/vendor/requests/packages/urllib3/packages/backports/makefile.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ordered_dict.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/six.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +7 -1
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +55 -3
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc +0 -0
- data/vendor/requests/packages/urllib3/poolmanager.py +2 -6
- data/vendor/requests/packages/urllib3/poolmanager.pyc +0 -0
- data/vendor/requests/packages/urllib3/request.py +1 -4
- data/vendor/requests/packages/urllib3/request.pyc +0 -0
- data/vendor/requests/packages/urllib3/response.py +94 -6
- data/vendor/requests/packages/urllib3/response.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/connection.py +1 -0
- data/vendor/requests/packages/urllib3/util/connection.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/request.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/response.py +7 -0
- data/vendor/requests/packages/urllib3/util/response.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/retry.py +93 -17
- data/vendor/requests/packages/urllib3/util/retry.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/ssl_.py +28 -12
- data/vendor/requests/packages/urllib3/util/ssl_.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/timeout.py +9 -6
- data/vendor/requests/packages/urllib3/util/timeout.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/url.py +14 -5
- data/vendor/requests/packages/urllib3/util/url.pyc +0 -0
- data/vendor/requests/sessions.py +18 -5
- data/vendor/requests/sessions.pyc +0 -0
- data/vendor/requests/status_codes.pyc +0 -0
- data/vendor/requests/structures.pyc +0 -0
- data/vendor/requests/utils.py +42 -32
- data/vendor/requests/utils.pyc +0 -0
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/DESCRIPTION.rst +0 -0
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/INSTALLER +0 -0
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/METADATA +2 -2
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/RECORD +18 -18
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/WHEEL +0 -0
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/entry_points.txt +0 -0
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/metadata.json +1 -1
- data/vendor/{rigid-0.2.0.dist-info → rigid-0.2.1.dist-info}/top_level.txt +0 -0
- data/vendor/rigid/__init__.pyc +0 -0
- data/vendor/rigid/api.py +39 -2
- data/vendor/rigid/api.pyc +0 -0
- data/vendor/rigid/commands/__init__.py +71 -11
- data/vendor/rigid/commands/__init__.pyc +0 -0
- data/vendor/rigid/commands/deploy.pyc +0 -0
- data/vendor/rigid/deploy.py +1 -1
- data/vendor/rigid/deploy.pyc +0 -0
- data/vendor/rigid/file_scanner.py +1 -1
- data/vendor/rigid/file_scanner.pyc +0 -0
- data/vendor/rigid/utils.pyc +0 -0
- data/vendor/tests/__init__.pyc +0 -0
- data/vendor/tests/integration/__init__.pyc +0 -0
- data/vendor/tests/integration/test_app.py +12 -0
- data/vendor/tests/integration/test_app.pyc +0 -0
- data/vendor/tests/integration/test_apps.pyc +0 -0
- data/vendor/tests/integration/test_deploy.pyc +0 -0
- data/vendor/tests/integration/test_domains.pyc +0 -0
- data/vendor/tests/integration/test_login.pyc +0 -0
- data/vendor/tests/integration/test_promote.py +2 -2
- data/vendor/tests/integration/test_promote.pyc +0 -0
- data/vendor/tests/integration/test_token.pyc +0 -0
- data/vendor/tests/integration/test_whoami.pyc +0 -0
- data/vendor/tests/test_deploy.pyc +0 -0
- data/vendor/tests/test_file_scanner.pyc +0 -0
- data/vendor/tests/utils.py +5 -2
- data/vendor/tests/utils.pyc +0 -0
- data/vendor/yaml/__init__.pyc +0 -0
- data/vendor/yaml/composer.pyc +0 -0
- data/vendor/yaml/constructor.pyc +0 -0
- data/vendor/yaml/cyaml.pyc +0 -0
- data/vendor/yaml/dumper.pyc +0 -0
- data/vendor/yaml/emitter.pyc +0 -0
- data/vendor/yaml/error.pyc +0 -0
- data/vendor/yaml/events.pyc +0 -0
- data/vendor/yaml/loader.pyc +0 -0
- data/vendor/yaml/nodes.pyc +0 -0
- data/vendor/yaml/parser.pyc +0 -0
- data/vendor/yaml/reader.pyc +0 -0
- data/vendor/yaml/representer.pyc +0 -0
- data/vendor/yaml/resolver.pyc +0 -0
- data/vendor/yaml/scanner.pyc +0 -0
- data/vendor/yaml/serializer.pyc +0 -0
- data/vendor/yaml/tokens.pyc +0 -0
- metadata +37 -17
- data/vendor/requests-2.11.1.dist-info/metadata.json +0 -1
Binary file
|
@@ -0,0 +1,387 @@
|
|
1
|
+
from . import idnadata
|
2
|
+
import bisect
|
3
|
+
import unicodedata
|
4
|
+
import re
|
5
|
+
import sys
|
6
|
+
from .intranges import intranges_contain
|
7
|
+
|
8
|
+
_virama_combining_class = 9
|
9
|
+
_alabel_prefix = b'xn--'
|
10
|
+
_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]')
|
11
|
+
|
12
|
+
if sys.version_info[0] == 3:
|
13
|
+
unicode = str
|
14
|
+
unichr = chr
|
15
|
+
|
16
|
+
class IDNAError(UnicodeError):
|
17
|
+
""" Base exception for all IDNA-encoding related problems """
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
class IDNABidiError(IDNAError):
|
22
|
+
""" Exception when bidirectional requirements are not satisfied """
|
23
|
+
pass
|
24
|
+
|
25
|
+
|
26
|
+
class InvalidCodepoint(IDNAError):
|
27
|
+
""" Exception when a disallowed or unallocated codepoint is used """
|
28
|
+
pass
|
29
|
+
|
30
|
+
|
31
|
+
class InvalidCodepointContext(IDNAError):
|
32
|
+
""" Exception when the codepoint is not valid in the context it is used """
|
33
|
+
pass
|
34
|
+
|
35
|
+
|
36
|
+
def _combining_class(cp):
|
37
|
+
return unicodedata.combining(unichr(cp))
|
38
|
+
|
39
|
+
def _is_script(cp, script):
|
40
|
+
return intranges_contain(ord(cp), idnadata.scripts[script])
|
41
|
+
|
42
|
+
def _punycode(s):
|
43
|
+
return s.encode('punycode')
|
44
|
+
|
45
|
+
def _unot(s):
|
46
|
+
return 'U+{0:04X}'.format(s)
|
47
|
+
|
48
|
+
|
49
|
+
def valid_label_length(label):
|
50
|
+
|
51
|
+
if len(label) > 63:
|
52
|
+
return False
|
53
|
+
return True
|
54
|
+
|
55
|
+
|
56
|
+
def valid_string_length(label, trailing_dot):
|
57
|
+
|
58
|
+
if len(label) > (254 if trailing_dot else 253):
|
59
|
+
return False
|
60
|
+
return True
|
61
|
+
|
62
|
+
|
63
|
+
def check_bidi(label, check_ltr=False):
|
64
|
+
|
65
|
+
# Bidi rules should only be applied if string contains RTL characters
|
66
|
+
bidi_label = False
|
67
|
+
for (idx, cp) in enumerate(label, 1):
|
68
|
+
direction = unicodedata.bidirectional(cp)
|
69
|
+
if direction == '':
|
70
|
+
# String likely comes from a newer version of Unicode
|
71
|
+
raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx))
|
72
|
+
if direction in ['R', 'AL', 'AN']:
|
73
|
+
bidi_label = True
|
74
|
+
break
|
75
|
+
if not bidi_label and not check_ltr:
|
76
|
+
return True
|
77
|
+
|
78
|
+
# Bidi rule 1
|
79
|
+
direction = unicodedata.bidirectional(label[0])
|
80
|
+
if direction in ['R', 'AL']:
|
81
|
+
rtl = True
|
82
|
+
elif direction == 'L':
|
83
|
+
rtl = False
|
84
|
+
else:
|
85
|
+
raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label)))
|
86
|
+
|
87
|
+
valid_ending = False
|
88
|
+
number_type = False
|
89
|
+
for (idx, cp) in enumerate(label, 1):
|
90
|
+
direction = unicodedata.bidirectional(cp)
|
91
|
+
|
92
|
+
if rtl:
|
93
|
+
# Bidi rule 2
|
94
|
+
if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']:
|
95
|
+
raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx))
|
96
|
+
# Bidi rule 3
|
97
|
+
if direction in ['R', 'AL', 'EN', 'AN']:
|
98
|
+
valid_ending = True
|
99
|
+
elif direction != 'NSM':
|
100
|
+
valid_ending = False
|
101
|
+
# Bidi rule 4
|
102
|
+
if direction in ['AN', 'EN']:
|
103
|
+
if not number_type:
|
104
|
+
number_type = direction
|
105
|
+
else:
|
106
|
+
if number_type != direction:
|
107
|
+
raise IDNABidiError('Can not mix numeral types in a right-to-left label')
|
108
|
+
else:
|
109
|
+
# Bidi rule 5
|
110
|
+
if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']:
|
111
|
+
raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx))
|
112
|
+
# Bidi rule 6
|
113
|
+
if direction in ['L', 'EN']:
|
114
|
+
valid_ending = True
|
115
|
+
elif direction != 'NSM':
|
116
|
+
valid_ending = False
|
117
|
+
|
118
|
+
if not valid_ending:
|
119
|
+
raise IDNABidiError('Label ends with illegal codepoint directionality')
|
120
|
+
|
121
|
+
return True
|
122
|
+
|
123
|
+
|
124
|
+
def check_initial_combiner(label):
|
125
|
+
|
126
|
+
if unicodedata.category(label[0])[0] == 'M':
|
127
|
+
raise IDNAError('Label begins with an illegal combining character')
|
128
|
+
return True
|
129
|
+
|
130
|
+
|
131
|
+
def check_hyphen_ok(label):
|
132
|
+
|
133
|
+
if label[2:4] == '--':
|
134
|
+
raise IDNAError('Label has disallowed hyphens in 3rd and 4th position')
|
135
|
+
if label[0] == '-' or label[-1] == '-':
|
136
|
+
raise IDNAError('Label must not start or end with a hyphen')
|
137
|
+
return True
|
138
|
+
|
139
|
+
|
140
|
+
def check_nfc(label):
|
141
|
+
|
142
|
+
if unicodedata.normalize('NFC', label) != label:
|
143
|
+
raise IDNAError('Label must be in Normalization Form C')
|
144
|
+
|
145
|
+
|
146
|
+
def valid_contextj(label, pos):
|
147
|
+
|
148
|
+
cp_value = ord(label[pos])
|
149
|
+
|
150
|
+
if cp_value == 0x200c:
|
151
|
+
|
152
|
+
if pos > 0:
|
153
|
+
if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
|
154
|
+
return True
|
155
|
+
|
156
|
+
ok = False
|
157
|
+
for i in range(pos-1, -1, -1):
|
158
|
+
joining_type = idnadata.joining_types.get(ord(label[i]))
|
159
|
+
if joining_type == 'T':
|
160
|
+
continue
|
161
|
+
if joining_type in ['L', 'D']:
|
162
|
+
ok = True
|
163
|
+
break
|
164
|
+
|
165
|
+
if not ok:
|
166
|
+
return False
|
167
|
+
|
168
|
+
ok = False
|
169
|
+
for i in range(pos+1, len(label)):
|
170
|
+
joining_type = idnadata.joining_types.get(ord(label[i]))
|
171
|
+
if joining_type == 'T':
|
172
|
+
continue
|
173
|
+
if joining_type in ['R', 'D']:
|
174
|
+
ok = True
|
175
|
+
break
|
176
|
+
return ok
|
177
|
+
|
178
|
+
if cp_value == 0x200d:
|
179
|
+
|
180
|
+
if pos > 0:
|
181
|
+
if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
|
182
|
+
return True
|
183
|
+
return False
|
184
|
+
|
185
|
+
else:
|
186
|
+
|
187
|
+
return False
|
188
|
+
|
189
|
+
|
190
|
+
def valid_contexto(label, pos, exception=False):
|
191
|
+
|
192
|
+
cp_value = ord(label[pos])
|
193
|
+
|
194
|
+
if cp_value == 0x00b7:
|
195
|
+
if 0 < pos < len(label)-1:
|
196
|
+
if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c:
|
197
|
+
return True
|
198
|
+
return False
|
199
|
+
|
200
|
+
elif cp_value == 0x0375:
|
201
|
+
if pos < len(label)-1 and len(label) > 1:
|
202
|
+
return _is_script(label[pos + 1], 'Greek')
|
203
|
+
return False
|
204
|
+
|
205
|
+
elif cp_value == 0x05f3 or cp_value == 0x05f4:
|
206
|
+
if pos > 0:
|
207
|
+
return _is_script(label[pos - 1], 'Hebrew')
|
208
|
+
return False
|
209
|
+
|
210
|
+
elif cp_value == 0x30fb:
|
211
|
+
for cp in label:
|
212
|
+
if cp == u'\u30fb':
|
213
|
+
continue
|
214
|
+
if not _is_script(cp, 'Hiragana') and not _is_script(cp, 'Katakana') and not _is_script(cp, 'Han'):
|
215
|
+
return False
|
216
|
+
return True
|
217
|
+
|
218
|
+
elif 0x660 <= cp_value <= 0x669:
|
219
|
+
for cp in label:
|
220
|
+
if 0x6f0 <= ord(cp) <= 0x06f9:
|
221
|
+
return False
|
222
|
+
return True
|
223
|
+
|
224
|
+
elif 0x6f0 <= cp_value <= 0x6f9:
|
225
|
+
for cp in label:
|
226
|
+
if 0x660 <= ord(cp) <= 0x0669:
|
227
|
+
return False
|
228
|
+
return True
|
229
|
+
|
230
|
+
|
231
|
+
def check_label(label):
|
232
|
+
|
233
|
+
if isinstance(label, (bytes, bytearray)):
|
234
|
+
label = label.decode('utf-8')
|
235
|
+
if len(label) == 0:
|
236
|
+
raise IDNAError('Empty Label')
|
237
|
+
|
238
|
+
check_nfc(label)
|
239
|
+
check_hyphen_ok(label)
|
240
|
+
check_initial_combiner(label)
|
241
|
+
|
242
|
+
for (pos, cp) in enumerate(label):
|
243
|
+
cp_value = ord(cp)
|
244
|
+
if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']):
|
245
|
+
continue
|
246
|
+
elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']):
|
247
|
+
if not valid_contextj(label, pos):
|
248
|
+
raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label)))
|
249
|
+
elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']):
|
250
|
+
if not valid_contexto(label, pos):
|
251
|
+
raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label)))
|
252
|
+
else:
|
253
|
+
raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label)))
|
254
|
+
|
255
|
+
check_bidi(label)
|
256
|
+
|
257
|
+
|
258
|
+
def alabel(label):
|
259
|
+
|
260
|
+
try:
|
261
|
+
label = label.encode('ascii')
|
262
|
+
try:
|
263
|
+
ulabel(label)
|
264
|
+
except:
|
265
|
+
raise IDNAError('The label {0} is not a valid A-label'.format(label))
|
266
|
+
if not valid_label_length(label):
|
267
|
+
raise IDNAError('Label too long')
|
268
|
+
return label
|
269
|
+
except UnicodeError:
|
270
|
+
pass
|
271
|
+
|
272
|
+
if not label:
|
273
|
+
raise IDNAError('No Input')
|
274
|
+
|
275
|
+
label = unicode(label)
|
276
|
+
check_label(label)
|
277
|
+
label = _punycode(label)
|
278
|
+
label = _alabel_prefix + label
|
279
|
+
|
280
|
+
if not valid_label_length(label):
|
281
|
+
raise IDNAError('Label too long')
|
282
|
+
|
283
|
+
return label
|
284
|
+
|
285
|
+
|
286
|
+
def ulabel(label):
|
287
|
+
|
288
|
+
if not isinstance(label, (bytes, bytearray)):
|
289
|
+
try:
|
290
|
+
label = label.encode('ascii')
|
291
|
+
except UnicodeError:
|
292
|
+
check_label(label)
|
293
|
+
return label
|
294
|
+
|
295
|
+
label = label.lower()
|
296
|
+
if label.startswith(_alabel_prefix):
|
297
|
+
label = label[len(_alabel_prefix):]
|
298
|
+
else:
|
299
|
+
check_label(label)
|
300
|
+
return label.decode('ascii')
|
301
|
+
|
302
|
+
label = label.decode('punycode')
|
303
|
+
check_label(label)
|
304
|
+
return label
|
305
|
+
|
306
|
+
|
307
|
+
def uts46_remap(domain, std3_rules=True, transitional=False):
|
308
|
+
"""Re-map the characters in the string according to UTS46 processing."""
|
309
|
+
from .uts46data import uts46data
|
310
|
+
output = u""
|
311
|
+
try:
|
312
|
+
for pos, char in enumerate(domain):
|
313
|
+
code_point = ord(char)
|
314
|
+
uts46row = uts46data[code_point if code_point < 256 else
|
315
|
+
bisect.bisect_left(uts46data, (code_point, "Z")) - 1]
|
316
|
+
status = uts46row[1]
|
317
|
+
replacement = uts46row[2] if len(uts46row) == 3 else None
|
318
|
+
if (status == "V" or
|
319
|
+
(status == "D" and not transitional) or
|
320
|
+
(status == "3" and std3_rules and replacement is None)):
|
321
|
+
output += char
|
322
|
+
elif replacement is not None and (status == "M" or
|
323
|
+
(status == "3" and std3_rules) or
|
324
|
+
(status == "D" and transitional)):
|
325
|
+
output += replacement
|
326
|
+
elif status != "I":
|
327
|
+
raise IndexError()
|
328
|
+
return unicodedata.normalize("NFC", output)
|
329
|
+
except IndexError:
|
330
|
+
raise InvalidCodepoint(
|
331
|
+
"Codepoint {0} not allowed at position {1} in {2}".format(
|
332
|
+
_unot(code_point), pos + 1, repr(domain)))
|
333
|
+
|
334
|
+
|
335
|
+
def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False):
|
336
|
+
|
337
|
+
if isinstance(s, (bytes, bytearray)):
|
338
|
+
s = s.decode("ascii")
|
339
|
+
if uts46:
|
340
|
+
s = uts46_remap(s, std3_rules, transitional)
|
341
|
+
trailing_dot = False
|
342
|
+
result = []
|
343
|
+
if strict:
|
344
|
+
labels = s.split('.')
|
345
|
+
else:
|
346
|
+
labels = _unicode_dots_re.split(s)
|
347
|
+
while labels and not labels[0]:
|
348
|
+
del labels[0]
|
349
|
+
if not labels:
|
350
|
+
raise IDNAError('Empty domain')
|
351
|
+
if labels[-1] == '':
|
352
|
+
del labels[-1]
|
353
|
+
trailing_dot = True
|
354
|
+
for label in labels:
|
355
|
+
result.append(alabel(label))
|
356
|
+
if trailing_dot:
|
357
|
+
result.append(b'')
|
358
|
+
s = b'.'.join(result)
|
359
|
+
if not valid_string_length(s, trailing_dot):
|
360
|
+
raise IDNAError('Domain too long')
|
361
|
+
return s
|
362
|
+
|
363
|
+
|
364
|
+
def decode(s, strict=False, uts46=False, std3_rules=False):
|
365
|
+
|
366
|
+
if isinstance(s, (bytes, bytearray)):
|
367
|
+
s = s.decode("ascii")
|
368
|
+
if uts46:
|
369
|
+
s = uts46_remap(s, std3_rules, False)
|
370
|
+
trailing_dot = False
|
371
|
+
result = []
|
372
|
+
if not strict:
|
373
|
+
labels = _unicode_dots_re.split(s)
|
374
|
+
else:
|
375
|
+
labels = s.split(u'.')
|
376
|
+
while labels and not labels[0]:
|
377
|
+
del labels[0]
|
378
|
+
if not labels:
|
379
|
+
raise IDNAError('Empty domain')
|
380
|
+
if not labels[-1]:
|
381
|
+
del labels[-1]
|
382
|
+
trailing_dot = True
|
383
|
+
for label in labels:
|
384
|
+
result.append(ulabel(label))
|
385
|
+
if trailing_dot:
|
386
|
+
result.append(u'')
|
387
|
+
return u'.'.join(result)
|
Binary file
|
@@ -0,0 +1,1584 @@
|
|
1
|
+
# This file is automatically generated by build-idnadata.py
|
2
|
+
|
3
|
+
scripts = {
|
4
|
+
'Greek': (
|
5
|
+
(0x370, 0x374),
|
6
|
+
(0x375, 0x378),
|
7
|
+
(0x37a, 0x37e),
|
8
|
+
(0x384, 0x385),
|
9
|
+
(0x386, 0x387),
|
10
|
+
(0x388, 0x38b),
|
11
|
+
(0x38c, 0x38d),
|
12
|
+
(0x38e, 0x3a2),
|
13
|
+
(0x3a3, 0x3e2),
|
14
|
+
(0x3f0, 0x400),
|
15
|
+
(0x1d26, 0x1d2b),
|
16
|
+
(0x1d5d, 0x1d62),
|
17
|
+
(0x1d66, 0x1d6b),
|
18
|
+
(0x1dbf, 0x1dc0),
|
19
|
+
(0x1f00, 0x1f16),
|
20
|
+
(0x1f18, 0x1f1e),
|
21
|
+
(0x1f20, 0x1f46),
|
22
|
+
(0x1f48, 0x1f4e),
|
23
|
+
(0x1f50, 0x1f58),
|
24
|
+
(0x1f59, 0x1f5a),
|
25
|
+
(0x1f5b, 0x1f5c),
|
26
|
+
(0x1f5d, 0x1f5e),
|
27
|
+
(0x1f5f, 0x1f7e),
|
28
|
+
(0x1f80, 0x1fb5),
|
29
|
+
(0x1fb6, 0x1fc5),
|
30
|
+
(0x1fc6, 0x1fd4),
|
31
|
+
(0x1fd6, 0x1fdc),
|
32
|
+
(0x1fdd, 0x1ff0),
|
33
|
+
(0x1ff2, 0x1ff5),
|
34
|
+
(0x1ff6, 0x1fff),
|
35
|
+
(0x2126, 0x2127),
|
36
|
+
(0x10140, 0x1018b),
|
37
|
+
(0x1d200, 0x1d246),
|
38
|
+
),
|
39
|
+
'Han': (
|
40
|
+
(0x2e80, 0x2e9a),
|
41
|
+
(0x2e9b, 0x2ef4),
|
42
|
+
(0x2f00, 0x2fd6),
|
43
|
+
(0x3005, 0x3006),
|
44
|
+
(0x3007, 0x3008),
|
45
|
+
(0x3021, 0x302a),
|
46
|
+
(0x3038, 0x303c),
|
47
|
+
(0x3400, 0x4db6),
|
48
|
+
(0x4e00, 0x9fcd),
|
49
|
+
(0xf900, 0xfa6e),
|
50
|
+
(0xfa70, 0xfada),
|
51
|
+
(0x20000, 0x2a6d7),
|
52
|
+
(0x2a700, 0x2b735),
|
53
|
+
(0x2b740, 0x2b81e),
|
54
|
+
(0x2f800, 0x2fa1e),
|
55
|
+
),
|
56
|
+
'Hebrew': (
|
57
|
+
(0x591, 0x5c8),
|
58
|
+
(0x5d0, 0x5eb),
|
59
|
+
(0x5f0, 0x5f5),
|
60
|
+
(0xfb1d, 0xfb37),
|
61
|
+
(0xfb38, 0xfb3d),
|
62
|
+
(0xfb3e, 0xfb3f),
|
63
|
+
(0xfb40, 0xfb42),
|
64
|
+
(0xfb43, 0xfb45),
|
65
|
+
(0xfb46, 0xfb50),
|
66
|
+
),
|
67
|
+
'Hiragana': (
|
68
|
+
(0x3041, 0x3097),
|
69
|
+
(0x309d, 0x30a0),
|
70
|
+
(0x1b001, 0x1b002),
|
71
|
+
(0x1f200, 0x1f201),
|
72
|
+
),
|
73
|
+
'Katakana': (
|
74
|
+
(0x30a1, 0x30fb),
|
75
|
+
(0x30fd, 0x3100),
|
76
|
+
(0x31f0, 0x3200),
|
77
|
+
(0x32d0, 0x32ff),
|
78
|
+
(0x3300, 0x3358),
|
79
|
+
(0xff66, 0xff70),
|
80
|
+
(0xff71, 0xff9e),
|
81
|
+
(0x1b000, 0x1b001),
|
82
|
+
),
|
83
|
+
}
|
84
|
+
joining_types = {
|
85
|
+
0x600: 'U',
|
86
|
+
0x601: 'U',
|
87
|
+
0x602: 'U',
|
88
|
+
0x603: 'U',
|
89
|
+
0x604: 'U',
|
90
|
+
0x608: 'U',
|
91
|
+
0x60b: 'U',
|
92
|
+
0x620: 'D',
|
93
|
+
0x621: 'U',
|
94
|
+
0x622: 'R',
|
95
|
+
0x623: 'R',
|
96
|
+
0x624: 'R',
|
97
|
+
0x625: 'R',
|
98
|
+
0x626: 'D',
|
99
|
+
0x627: 'R',
|
100
|
+
0x628: 'D',
|
101
|
+
0x629: 'R',
|
102
|
+
0x62a: 'D',
|
103
|
+
0x62b: 'D',
|
104
|
+
0x62c: 'D',
|
105
|
+
0x62d: 'D',
|
106
|
+
0x62e: 'D',
|
107
|
+
0x62f: 'R',
|
108
|
+
0x630: 'R',
|
109
|
+
0x631: 'R',
|
110
|
+
0x632: 'R',
|
111
|
+
0x633: 'D',
|
112
|
+
0x634: 'D',
|
113
|
+
0x635: 'D',
|
114
|
+
0x636: 'D',
|
115
|
+
0x637: 'D',
|
116
|
+
0x638: 'D',
|
117
|
+
0x639: 'D',
|
118
|
+
0x63a: 'D',
|
119
|
+
0x63b: 'D',
|
120
|
+
0x63c: 'D',
|
121
|
+
0x63d: 'D',
|
122
|
+
0x63e: 'D',
|
123
|
+
0x63f: 'D',
|
124
|
+
0x640: 'C',
|
125
|
+
0x641: 'D',
|
126
|
+
0x642: 'D',
|
127
|
+
0x643: 'D',
|
128
|
+
0x644: 'D',
|
129
|
+
0x645: 'D',
|
130
|
+
0x646: 'D',
|
131
|
+
0x647: 'D',
|
132
|
+
0x648: 'R',
|
133
|
+
0x649: 'D',
|
134
|
+
0x64a: 'D',
|
135
|
+
0x66e: 'D',
|
136
|
+
0x66f: 'D',
|
137
|
+
0x671: 'R',
|
138
|
+
0x672: 'R',
|
139
|
+
0x673: 'R',
|
140
|
+
0x674: 'U',
|
141
|
+
0x675: 'R',
|
142
|
+
0x676: 'R',
|
143
|
+
0x677: 'R',
|
144
|
+
0x678: 'D',
|
145
|
+
0x679: 'D',
|
146
|
+
0x67a: 'D',
|
147
|
+
0x67b: 'D',
|
148
|
+
0x67c: 'D',
|
149
|
+
0x67d: 'D',
|
150
|
+
0x67e: 'D',
|
151
|
+
0x67f: 'D',
|
152
|
+
0x680: 'D',
|
153
|
+
0x681: 'D',
|
154
|
+
0x682: 'D',
|
155
|
+
0x683: 'D',
|
156
|
+
0x684: 'D',
|
157
|
+
0x685: 'D',
|
158
|
+
0x686: 'D',
|
159
|
+
0x687: 'D',
|
160
|
+
0x688: 'R',
|
161
|
+
0x689: 'R',
|
162
|
+
0x68a: 'R',
|
163
|
+
0x68b: 'R',
|
164
|
+
0x68c: 'R',
|
165
|
+
0x68d: 'R',
|
166
|
+
0x68e: 'R',
|
167
|
+
0x68f: 'R',
|
168
|
+
0x690: 'R',
|
169
|
+
0x691: 'R',
|
170
|
+
0x692: 'R',
|
171
|
+
0x693: 'R',
|
172
|
+
0x694: 'R',
|
173
|
+
0x695: 'R',
|
174
|
+
0x696: 'R',
|
175
|
+
0x697: 'R',
|
176
|
+
0x698: 'R',
|
177
|
+
0x699: 'R',
|
178
|
+
0x69a: 'D',
|
179
|
+
0x69b: 'D',
|
180
|
+
0x69c: 'D',
|
181
|
+
0x69d: 'D',
|
182
|
+
0x69e: 'D',
|
183
|
+
0x69f: 'D',
|
184
|
+
0x6a0: 'D',
|
185
|
+
0x6a1: 'D',
|
186
|
+
0x6a2: 'D',
|
187
|
+
0x6a3: 'D',
|
188
|
+
0x6a4: 'D',
|
189
|
+
0x6a5: 'D',
|
190
|
+
0x6a6: 'D',
|
191
|
+
0x6a7: 'D',
|
192
|
+
0x6a8: 'D',
|
193
|
+
0x6a9: 'D',
|
194
|
+
0x6aa: 'D',
|
195
|
+
0x6ab: 'D',
|
196
|
+
0x6ac: 'D',
|
197
|
+
0x6ad: 'D',
|
198
|
+
0x6ae: 'D',
|
199
|
+
0x6af: 'D',
|
200
|
+
0x6b0: 'D',
|
201
|
+
0x6b1: 'D',
|
202
|
+
0x6b2: 'D',
|
203
|
+
0x6b3: 'D',
|
204
|
+
0x6b4: 'D',
|
205
|
+
0x6b5: 'D',
|
206
|
+
0x6b6: 'D',
|
207
|
+
0x6b7: 'D',
|
208
|
+
0x6b8: 'D',
|
209
|
+
0x6b9: 'D',
|
210
|
+
0x6ba: 'D',
|
211
|
+
0x6bb: 'D',
|
212
|
+
0x6bc: 'D',
|
213
|
+
0x6bd: 'D',
|
214
|
+
0x6be: 'D',
|
215
|
+
0x6bf: 'D',
|
216
|
+
0x6c0: 'R',
|
217
|
+
0x6c1: 'D',
|
218
|
+
0x6c2: 'D',
|
219
|
+
0x6c3: 'R',
|
220
|
+
0x6c4: 'R',
|
221
|
+
0x6c5: 'R',
|
222
|
+
0x6c6: 'R',
|
223
|
+
0x6c7: 'R',
|
224
|
+
0x6c8: 'R',
|
225
|
+
0x6c9: 'R',
|
226
|
+
0x6ca: 'R',
|
227
|
+
0x6cb: 'R',
|
228
|
+
0x6cc: 'D',
|
229
|
+
0x6cd: 'R',
|
230
|
+
0x6ce: 'D',
|
231
|
+
0x6cf: 'R',
|
232
|
+
0x6d0: 'D',
|
233
|
+
0x6d1: 'D',
|
234
|
+
0x6d2: 'R',
|
235
|
+
0x6d3: 'R',
|
236
|
+
0x6d5: 'R',
|
237
|
+
0x6dd: 'U',
|
238
|
+
0x6ee: 'R',
|
239
|
+
0x6ef: 'R',
|
240
|
+
0x6fa: 'D',
|
241
|
+
0x6fb: 'D',
|
242
|
+
0x6fc: 'D',
|
243
|
+
0x6ff: 'D',
|
244
|
+
0x710: 'R',
|
245
|
+
0x712: 'D',
|
246
|
+
0x713: 'D',
|
247
|
+
0x714: 'D',
|
248
|
+
0x715: 'R',
|
249
|
+
0x716: 'R',
|
250
|
+
0x717: 'R',
|
251
|
+
0x718: 'R',
|
252
|
+
0x719: 'R',
|
253
|
+
0x71a: 'D',
|
254
|
+
0x71b: 'D',
|
255
|
+
0x71c: 'D',
|
256
|
+
0x71d: 'D',
|
257
|
+
0x71e: 'R',
|
258
|
+
0x71f: 'D',
|
259
|
+
0x720: 'D',
|
260
|
+
0x721: 'D',
|
261
|
+
0x722: 'D',
|
262
|
+
0x723: 'D',
|
263
|
+
0x724: 'D',
|
264
|
+
0x725: 'D',
|
265
|
+
0x726: 'D',
|
266
|
+
0x727: 'D',
|
267
|
+
0x728: 'R',
|
268
|
+
0x729: 'D',
|
269
|
+
0x72a: 'R',
|
270
|
+
0x72b: 'D',
|
271
|
+
0x72c: 'R',
|
272
|
+
0x72d: 'D',
|
273
|
+
0x72e: 'D',
|
274
|
+
0x72f: 'R',
|
275
|
+
0x74d: 'R',
|
276
|
+
0x74e: 'D',
|
277
|
+
0x74f: 'D',
|
278
|
+
0x750: 'D',
|
279
|
+
0x751: 'D',
|
280
|
+
0x752: 'D',
|
281
|
+
0x753: 'D',
|
282
|
+
0x754: 'D',
|
283
|
+
0x755: 'D',
|
284
|
+
0x756: 'D',
|
285
|
+
0x757: 'D',
|
286
|
+
0x758: 'D',
|
287
|
+
0x759: 'R',
|
288
|
+
0x75a: 'R',
|
289
|
+
0x75b: 'R',
|
290
|
+
0x75c: 'D',
|
291
|
+
0x75d: 'D',
|
292
|
+
0x75e: 'D',
|
293
|
+
0x75f: 'D',
|
294
|
+
0x760: 'D',
|
295
|
+
0x761: 'D',
|
296
|
+
0x762: 'D',
|
297
|
+
0x763: 'D',
|
298
|
+
0x764: 'D',
|
299
|
+
0x765: 'D',
|
300
|
+
0x766: 'D',
|
301
|
+
0x767: 'D',
|
302
|
+
0x768: 'D',
|
303
|
+
0x769: 'D',
|
304
|
+
0x76a: 'D',
|
305
|
+
0x76b: 'R',
|
306
|
+
0x76c: 'R',
|
307
|
+
0x76d: 'D',
|
308
|
+
0x76e: 'D',
|
309
|
+
0x76f: 'D',
|
310
|
+
0x770: 'D',
|
311
|
+
0x771: 'R',
|
312
|
+
0x772: 'D',
|
313
|
+
0x773: 'R',
|
314
|
+
0x774: 'R',
|
315
|
+
0x775: 'D',
|
316
|
+
0x776: 'D',
|
317
|
+
0x777: 'D',
|
318
|
+
0x778: 'R',
|
319
|
+
0x779: 'R',
|
320
|
+
0x77a: 'D',
|
321
|
+
0x77b: 'D',
|
322
|
+
0x77c: 'D',
|
323
|
+
0x77d: 'D',
|
324
|
+
0x77e: 'D',
|
325
|
+
0x77f: 'D',
|
326
|
+
0x7ca: 'D',
|
327
|
+
0x7cb: 'D',
|
328
|
+
0x7cc: 'D',
|
329
|
+
0x7cd: 'D',
|
330
|
+
0x7ce: 'D',
|
331
|
+
0x7cf: 'D',
|
332
|
+
0x7d0: 'D',
|
333
|
+
0x7d1: 'D',
|
334
|
+
0x7d2: 'D',
|
335
|
+
0x7d3: 'D',
|
336
|
+
0x7d4: 'D',
|
337
|
+
0x7d5: 'D',
|
338
|
+
0x7d6: 'D',
|
339
|
+
0x7d7: 'D',
|
340
|
+
0x7d8: 'D',
|
341
|
+
0x7d9: 'D',
|
342
|
+
0x7da: 'D',
|
343
|
+
0x7db: 'D',
|
344
|
+
0x7dc: 'D',
|
345
|
+
0x7dd: 'D',
|
346
|
+
0x7de: 'D',
|
347
|
+
0x7df: 'D',
|
348
|
+
0x7e0: 'D',
|
349
|
+
0x7e1: 'D',
|
350
|
+
0x7e2: 'D',
|
351
|
+
0x7e3: 'D',
|
352
|
+
0x7e4: 'D',
|
353
|
+
0x7e5: 'D',
|
354
|
+
0x7e6: 'D',
|
355
|
+
0x7e7: 'D',
|
356
|
+
0x7e8: 'D',
|
357
|
+
0x7e9: 'D',
|
358
|
+
0x7ea: 'D',
|
359
|
+
0x7fa: 'C',
|
360
|
+
0x840: 'R',
|
361
|
+
0x841: 'D',
|
362
|
+
0x842: 'D',
|
363
|
+
0x843: 'D',
|
364
|
+
0x844: 'D',
|
365
|
+
0x845: 'D',
|
366
|
+
0x846: 'R',
|
367
|
+
0x847: 'D',
|
368
|
+
0x848: 'D',
|
369
|
+
0x849: 'R',
|
370
|
+
0x84a: 'D',
|
371
|
+
0x84b: 'D',
|
372
|
+
0x84c: 'D',
|
373
|
+
0x84d: 'D',
|
374
|
+
0x84e: 'D',
|
375
|
+
0x84f: 'R',
|
376
|
+
0x850: 'D',
|
377
|
+
0x851: 'D',
|
378
|
+
0x852: 'D',
|
379
|
+
0x853: 'D',
|
380
|
+
0x854: 'R',
|
381
|
+
0x855: 'D',
|
382
|
+
0x856: 'U',
|
383
|
+
0x857: 'U',
|
384
|
+
0x858: 'U',
|
385
|
+
0x8a0: 'D',
|
386
|
+
0x8a2: 'D',
|
387
|
+
0x8a3: 'D',
|
388
|
+
0x8a4: 'D',
|
389
|
+
0x8a5: 'D',
|
390
|
+
0x8a6: 'D',
|
391
|
+
0x8a7: 'D',
|
392
|
+
0x8a8: 'D',
|
393
|
+
0x8a9: 'D',
|
394
|
+
0x8aa: 'R',
|
395
|
+
0x8ab: 'R',
|
396
|
+
0x8ac: 'R',
|
397
|
+
0x1806: 'U',
|
398
|
+
0x1807: 'D',
|
399
|
+
0x180a: 'C',
|
400
|
+
0x180e: 'U',
|
401
|
+
0x1820: 'D',
|
402
|
+
0x1821: 'D',
|
403
|
+
0x1822: 'D',
|
404
|
+
0x1823: 'D',
|
405
|
+
0x1824: 'D',
|
406
|
+
0x1825: 'D',
|
407
|
+
0x1826: 'D',
|
408
|
+
0x1827: 'D',
|
409
|
+
0x1828: 'D',
|
410
|
+
0x1829: 'D',
|
411
|
+
0x182a: 'D',
|
412
|
+
0x182b: 'D',
|
413
|
+
0x182c: 'D',
|
414
|
+
0x182d: 'D',
|
415
|
+
0x182e: 'D',
|
416
|
+
0x182f: 'D',
|
417
|
+
0x1830: 'D',
|
418
|
+
0x1831: 'D',
|
419
|
+
0x1832: 'D',
|
420
|
+
0x1833: 'D',
|
421
|
+
0x1834: 'D',
|
422
|
+
0x1835: 'D',
|
423
|
+
0x1836: 'D',
|
424
|
+
0x1837: 'D',
|
425
|
+
0x1838: 'D',
|
426
|
+
0x1839: 'D',
|
427
|
+
0x183a: 'D',
|
428
|
+
0x183b: 'D',
|
429
|
+
0x183c: 'D',
|
430
|
+
0x183d: 'D',
|
431
|
+
0x183e: 'D',
|
432
|
+
0x183f: 'D',
|
433
|
+
0x1840: 'D',
|
434
|
+
0x1841: 'D',
|
435
|
+
0x1842: 'D',
|
436
|
+
0x1843: 'D',
|
437
|
+
0x1844: 'D',
|
438
|
+
0x1845: 'D',
|
439
|
+
0x1846: 'D',
|
440
|
+
0x1847: 'D',
|
441
|
+
0x1848: 'D',
|
442
|
+
0x1849: 'D',
|
443
|
+
0x184a: 'D',
|
444
|
+
0x184b: 'D',
|
445
|
+
0x184c: 'D',
|
446
|
+
0x184d: 'D',
|
447
|
+
0x184e: 'D',
|
448
|
+
0x184f: 'D',
|
449
|
+
0x1850: 'D',
|
450
|
+
0x1851: 'D',
|
451
|
+
0x1852: 'D',
|
452
|
+
0x1853: 'D',
|
453
|
+
0x1854: 'D',
|
454
|
+
0x1855: 'D',
|
455
|
+
0x1856: 'D',
|
456
|
+
0x1857: 'D',
|
457
|
+
0x1858: 'D',
|
458
|
+
0x1859: 'D',
|
459
|
+
0x185a: 'D',
|
460
|
+
0x185b: 'D',
|
461
|
+
0x185c: 'D',
|
462
|
+
0x185d: 'D',
|
463
|
+
0x185e: 'D',
|
464
|
+
0x185f: 'D',
|
465
|
+
0x1860: 'D',
|
466
|
+
0x1861: 'D',
|
467
|
+
0x1862: 'D',
|
468
|
+
0x1863: 'D',
|
469
|
+
0x1864: 'D',
|
470
|
+
0x1865: 'D',
|
471
|
+
0x1866: 'D',
|
472
|
+
0x1867: 'D',
|
473
|
+
0x1868: 'D',
|
474
|
+
0x1869: 'D',
|
475
|
+
0x186a: 'D',
|
476
|
+
0x186b: 'D',
|
477
|
+
0x186c: 'D',
|
478
|
+
0x186d: 'D',
|
479
|
+
0x186e: 'D',
|
480
|
+
0x186f: 'D',
|
481
|
+
0x1870: 'D',
|
482
|
+
0x1871: 'D',
|
483
|
+
0x1872: 'D',
|
484
|
+
0x1873: 'D',
|
485
|
+
0x1874: 'D',
|
486
|
+
0x1875: 'D',
|
487
|
+
0x1876: 'D',
|
488
|
+
0x1877: 'D',
|
489
|
+
0x1880: 'U',
|
490
|
+
0x1881: 'U',
|
491
|
+
0x1882: 'U',
|
492
|
+
0x1883: 'U',
|
493
|
+
0x1884: 'U',
|
494
|
+
0x1885: 'U',
|
495
|
+
0x1886: 'U',
|
496
|
+
0x1887: 'D',
|
497
|
+
0x1888: 'D',
|
498
|
+
0x1889: 'D',
|
499
|
+
0x188a: 'D',
|
500
|
+
0x188b: 'D',
|
501
|
+
0x188c: 'D',
|
502
|
+
0x188d: 'D',
|
503
|
+
0x188e: 'D',
|
504
|
+
0x188f: 'D',
|
505
|
+
0x1890: 'D',
|
506
|
+
0x1891: 'D',
|
507
|
+
0x1892: 'D',
|
508
|
+
0x1893: 'D',
|
509
|
+
0x1894: 'D',
|
510
|
+
0x1895: 'D',
|
511
|
+
0x1896: 'D',
|
512
|
+
0x1897: 'D',
|
513
|
+
0x1898: 'D',
|
514
|
+
0x1899: 'D',
|
515
|
+
0x189a: 'D',
|
516
|
+
0x189b: 'D',
|
517
|
+
0x189c: 'D',
|
518
|
+
0x189d: 'D',
|
519
|
+
0x189e: 'D',
|
520
|
+
0x189f: 'D',
|
521
|
+
0x18a0: 'D',
|
522
|
+
0x18a1: 'D',
|
523
|
+
0x18a2: 'D',
|
524
|
+
0x18a3: 'D',
|
525
|
+
0x18a4: 'D',
|
526
|
+
0x18a5: 'D',
|
527
|
+
0x18a6: 'D',
|
528
|
+
0x18a7: 'D',
|
529
|
+
0x18a8: 'D',
|
530
|
+
0x18aa: 'D',
|
531
|
+
0x200c: 'U',
|
532
|
+
0x200d: 'C',
|
533
|
+
0x2066: 'U',
|
534
|
+
0x2067: 'U',
|
535
|
+
0x2068: 'U',
|
536
|
+
0x2069: 'U',
|
537
|
+
0xa840: 'D',
|
538
|
+
0xa841: 'D',
|
539
|
+
0xa842: 'D',
|
540
|
+
0xa843: 'D',
|
541
|
+
0xa844: 'D',
|
542
|
+
0xa845: 'D',
|
543
|
+
0xa846: 'D',
|
544
|
+
0xa847: 'D',
|
545
|
+
0xa848: 'D',
|
546
|
+
0xa849: 'D',
|
547
|
+
0xa84a: 'D',
|
548
|
+
0xa84b: 'D',
|
549
|
+
0xa84c: 'D',
|
550
|
+
0xa84d: 'D',
|
551
|
+
0xa84e: 'D',
|
552
|
+
0xa84f: 'D',
|
553
|
+
0xa850: 'D',
|
554
|
+
0xa851: 'D',
|
555
|
+
0xa852: 'D',
|
556
|
+
0xa853: 'D',
|
557
|
+
0xa854: 'D',
|
558
|
+
0xa855: 'D',
|
559
|
+
0xa856: 'D',
|
560
|
+
0xa857: 'D',
|
561
|
+
0xa858: 'D',
|
562
|
+
0xa859: 'D',
|
563
|
+
0xa85a: 'D',
|
564
|
+
0xa85b: 'D',
|
565
|
+
0xa85c: 'D',
|
566
|
+
0xa85d: 'D',
|
567
|
+
0xa85e: 'D',
|
568
|
+
0xa85f: 'D',
|
569
|
+
0xa860: 'D',
|
570
|
+
0xa861: 'D',
|
571
|
+
0xa862: 'D',
|
572
|
+
0xa863: 'D',
|
573
|
+
0xa864: 'D',
|
574
|
+
0xa865: 'D',
|
575
|
+
0xa866: 'D',
|
576
|
+
0xa867: 'D',
|
577
|
+
0xa868: 'D',
|
578
|
+
0xa869: 'D',
|
579
|
+
0xa86a: 'D',
|
580
|
+
0xa86b: 'D',
|
581
|
+
0xa86c: 'D',
|
582
|
+
0xa86d: 'D',
|
583
|
+
0xa86e: 'D',
|
584
|
+
0xa86f: 'D',
|
585
|
+
0xa870: 'D',
|
586
|
+
0xa871: 'D',
|
587
|
+
0xa872: 'L',
|
588
|
+
0xa873: 'U',
|
589
|
+
}
|
590
|
+
codepoint_classes = {
|
591
|
+
'PVALID': (
|
592
|
+
(0x2d, 0x2e),
|
593
|
+
(0x30, 0x3a),
|
594
|
+
(0x61, 0x7b),
|
595
|
+
(0xdf, 0xf7),
|
596
|
+
(0xf8, 0x100),
|
597
|
+
(0x101, 0x102),
|
598
|
+
(0x103, 0x104),
|
599
|
+
(0x105, 0x106),
|
600
|
+
(0x107, 0x108),
|
601
|
+
(0x109, 0x10a),
|
602
|
+
(0x10b, 0x10c),
|
603
|
+
(0x10d, 0x10e),
|
604
|
+
(0x10f, 0x110),
|
605
|
+
(0x111, 0x112),
|
606
|
+
(0x113, 0x114),
|
607
|
+
(0x115, 0x116),
|
608
|
+
(0x117, 0x118),
|
609
|
+
(0x119, 0x11a),
|
610
|
+
(0x11b, 0x11c),
|
611
|
+
(0x11d, 0x11e),
|
612
|
+
(0x11f, 0x120),
|
613
|
+
(0x121, 0x122),
|
614
|
+
(0x123, 0x124),
|
615
|
+
(0x125, 0x126),
|
616
|
+
(0x127, 0x128),
|
617
|
+
(0x129, 0x12a),
|
618
|
+
(0x12b, 0x12c),
|
619
|
+
(0x12d, 0x12e),
|
620
|
+
(0x12f, 0x130),
|
621
|
+
(0x131, 0x132),
|
622
|
+
(0x135, 0x136),
|
623
|
+
(0x137, 0x139),
|
624
|
+
(0x13a, 0x13b),
|
625
|
+
(0x13c, 0x13d),
|
626
|
+
(0x13e, 0x13f),
|
627
|
+
(0x142, 0x143),
|
628
|
+
(0x144, 0x145),
|
629
|
+
(0x146, 0x147),
|
630
|
+
(0x148, 0x149),
|
631
|
+
(0x14b, 0x14c),
|
632
|
+
(0x14d, 0x14e),
|
633
|
+
(0x14f, 0x150),
|
634
|
+
(0x151, 0x152),
|
635
|
+
(0x153, 0x154),
|
636
|
+
(0x155, 0x156),
|
637
|
+
(0x157, 0x158),
|
638
|
+
(0x159, 0x15a),
|
639
|
+
(0x15b, 0x15c),
|
640
|
+
(0x15d, 0x15e),
|
641
|
+
(0x15f, 0x160),
|
642
|
+
(0x161, 0x162),
|
643
|
+
(0x163, 0x164),
|
644
|
+
(0x165, 0x166),
|
645
|
+
(0x167, 0x168),
|
646
|
+
(0x169, 0x16a),
|
647
|
+
(0x16b, 0x16c),
|
648
|
+
(0x16d, 0x16e),
|
649
|
+
(0x16f, 0x170),
|
650
|
+
(0x171, 0x172),
|
651
|
+
(0x173, 0x174),
|
652
|
+
(0x175, 0x176),
|
653
|
+
(0x177, 0x178),
|
654
|
+
(0x17a, 0x17b),
|
655
|
+
(0x17c, 0x17d),
|
656
|
+
(0x17e, 0x17f),
|
657
|
+
(0x180, 0x181),
|
658
|
+
(0x183, 0x184),
|
659
|
+
(0x185, 0x186),
|
660
|
+
(0x188, 0x189),
|
661
|
+
(0x18c, 0x18e),
|
662
|
+
(0x192, 0x193),
|
663
|
+
(0x195, 0x196),
|
664
|
+
(0x199, 0x19c),
|
665
|
+
(0x19e, 0x19f),
|
666
|
+
(0x1a1, 0x1a2),
|
667
|
+
(0x1a3, 0x1a4),
|
668
|
+
(0x1a5, 0x1a6),
|
669
|
+
(0x1a8, 0x1a9),
|
670
|
+
(0x1aa, 0x1ac),
|
671
|
+
(0x1ad, 0x1ae),
|
672
|
+
(0x1b0, 0x1b1),
|
673
|
+
(0x1b4, 0x1b5),
|
674
|
+
(0x1b6, 0x1b7),
|
675
|
+
(0x1b9, 0x1bc),
|
676
|
+
(0x1bd, 0x1c4),
|
677
|
+
(0x1ce, 0x1cf),
|
678
|
+
(0x1d0, 0x1d1),
|
679
|
+
(0x1d2, 0x1d3),
|
680
|
+
(0x1d4, 0x1d5),
|
681
|
+
(0x1d6, 0x1d7),
|
682
|
+
(0x1d8, 0x1d9),
|
683
|
+
(0x1da, 0x1db),
|
684
|
+
(0x1dc, 0x1de),
|
685
|
+
(0x1df, 0x1e0),
|
686
|
+
(0x1e1, 0x1e2),
|
687
|
+
(0x1e3, 0x1e4),
|
688
|
+
(0x1e5, 0x1e6),
|
689
|
+
(0x1e7, 0x1e8),
|
690
|
+
(0x1e9, 0x1ea),
|
691
|
+
(0x1eb, 0x1ec),
|
692
|
+
(0x1ed, 0x1ee),
|
693
|
+
(0x1ef, 0x1f1),
|
694
|
+
(0x1f5, 0x1f6),
|
695
|
+
(0x1f9, 0x1fa),
|
696
|
+
(0x1fb, 0x1fc),
|
697
|
+
(0x1fd, 0x1fe),
|
698
|
+
(0x1ff, 0x200),
|
699
|
+
(0x201, 0x202),
|
700
|
+
(0x203, 0x204),
|
701
|
+
(0x205, 0x206),
|
702
|
+
(0x207, 0x208),
|
703
|
+
(0x209, 0x20a),
|
704
|
+
(0x20b, 0x20c),
|
705
|
+
(0x20d, 0x20e),
|
706
|
+
(0x20f, 0x210),
|
707
|
+
(0x211, 0x212),
|
708
|
+
(0x213, 0x214),
|
709
|
+
(0x215, 0x216),
|
710
|
+
(0x217, 0x218),
|
711
|
+
(0x219, 0x21a),
|
712
|
+
(0x21b, 0x21c),
|
713
|
+
(0x21d, 0x21e),
|
714
|
+
(0x21f, 0x220),
|
715
|
+
(0x221, 0x222),
|
716
|
+
(0x223, 0x224),
|
717
|
+
(0x225, 0x226),
|
718
|
+
(0x227, 0x228),
|
719
|
+
(0x229, 0x22a),
|
720
|
+
(0x22b, 0x22c),
|
721
|
+
(0x22d, 0x22e),
|
722
|
+
(0x22f, 0x230),
|
723
|
+
(0x231, 0x232),
|
724
|
+
(0x233, 0x23a),
|
725
|
+
(0x23c, 0x23d),
|
726
|
+
(0x23f, 0x241),
|
727
|
+
(0x242, 0x243),
|
728
|
+
(0x247, 0x248),
|
729
|
+
(0x249, 0x24a),
|
730
|
+
(0x24b, 0x24c),
|
731
|
+
(0x24d, 0x24e),
|
732
|
+
(0x24f, 0x2b0),
|
733
|
+
(0x2b9, 0x2c2),
|
734
|
+
(0x2c6, 0x2d2),
|
735
|
+
(0x2ec, 0x2ed),
|
736
|
+
(0x2ee, 0x2ef),
|
737
|
+
(0x300, 0x340),
|
738
|
+
(0x342, 0x343),
|
739
|
+
(0x346, 0x34f),
|
740
|
+
(0x350, 0x370),
|
741
|
+
(0x371, 0x372),
|
742
|
+
(0x373, 0x374),
|
743
|
+
(0x377, 0x378),
|
744
|
+
(0x37b, 0x37e),
|
745
|
+
(0x390, 0x391),
|
746
|
+
(0x3ac, 0x3cf),
|
747
|
+
(0x3d7, 0x3d8),
|
748
|
+
(0x3d9, 0x3da),
|
749
|
+
(0x3db, 0x3dc),
|
750
|
+
(0x3dd, 0x3de),
|
751
|
+
(0x3df, 0x3e0),
|
752
|
+
(0x3e1, 0x3e2),
|
753
|
+
(0x3e3, 0x3e4),
|
754
|
+
(0x3e5, 0x3e6),
|
755
|
+
(0x3e7, 0x3e8),
|
756
|
+
(0x3e9, 0x3ea),
|
757
|
+
(0x3eb, 0x3ec),
|
758
|
+
(0x3ed, 0x3ee),
|
759
|
+
(0x3ef, 0x3f0),
|
760
|
+
(0x3f3, 0x3f4),
|
761
|
+
(0x3f8, 0x3f9),
|
762
|
+
(0x3fb, 0x3fd),
|
763
|
+
(0x430, 0x460),
|
764
|
+
(0x461, 0x462),
|
765
|
+
(0x463, 0x464),
|
766
|
+
(0x465, 0x466),
|
767
|
+
(0x467, 0x468),
|
768
|
+
(0x469, 0x46a),
|
769
|
+
(0x46b, 0x46c),
|
770
|
+
(0x46d, 0x46e),
|
771
|
+
(0x46f, 0x470),
|
772
|
+
(0x471, 0x472),
|
773
|
+
(0x473, 0x474),
|
774
|
+
(0x475, 0x476),
|
775
|
+
(0x477, 0x478),
|
776
|
+
(0x479, 0x47a),
|
777
|
+
(0x47b, 0x47c),
|
778
|
+
(0x47d, 0x47e),
|
779
|
+
(0x47f, 0x480),
|
780
|
+
(0x481, 0x482),
|
781
|
+
(0x483, 0x488),
|
782
|
+
(0x48b, 0x48c),
|
783
|
+
(0x48d, 0x48e),
|
784
|
+
(0x48f, 0x490),
|
785
|
+
(0x491, 0x492),
|
786
|
+
(0x493, 0x494),
|
787
|
+
(0x495, 0x496),
|
788
|
+
(0x497, 0x498),
|
789
|
+
(0x499, 0x49a),
|
790
|
+
(0x49b, 0x49c),
|
791
|
+
(0x49d, 0x49e),
|
792
|
+
(0x49f, 0x4a0),
|
793
|
+
(0x4a1, 0x4a2),
|
794
|
+
(0x4a3, 0x4a4),
|
795
|
+
(0x4a5, 0x4a6),
|
796
|
+
(0x4a7, 0x4a8),
|
797
|
+
(0x4a9, 0x4aa),
|
798
|
+
(0x4ab, 0x4ac),
|
799
|
+
(0x4ad, 0x4ae),
|
800
|
+
(0x4af, 0x4b0),
|
801
|
+
(0x4b1, 0x4b2),
|
802
|
+
(0x4b3, 0x4b4),
|
803
|
+
(0x4b5, 0x4b6),
|
804
|
+
(0x4b7, 0x4b8),
|
805
|
+
(0x4b9, 0x4ba),
|
806
|
+
(0x4bb, 0x4bc),
|
807
|
+
(0x4bd, 0x4be),
|
808
|
+
(0x4bf, 0x4c0),
|
809
|
+
(0x4c2, 0x4c3),
|
810
|
+
(0x4c4, 0x4c5),
|
811
|
+
(0x4c6, 0x4c7),
|
812
|
+
(0x4c8, 0x4c9),
|
813
|
+
(0x4ca, 0x4cb),
|
814
|
+
(0x4cc, 0x4cd),
|
815
|
+
(0x4ce, 0x4d0),
|
816
|
+
(0x4d1, 0x4d2),
|
817
|
+
(0x4d3, 0x4d4),
|
818
|
+
(0x4d5, 0x4d6),
|
819
|
+
(0x4d7, 0x4d8),
|
820
|
+
(0x4d9, 0x4da),
|
821
|
+
(0x4db, 0x4dc),
|
822
|
+
(0x4dd, 0x4de),
|
823
|
+
(0x4df, 0x4e0),
|
824
|
+
(0x4e1, 0x4e2),
|
825
|
+
(0x4e3, 0x4e4),
|
826
|
+
(0x4e5, 0x4e6),
|
827
|
+
(0x4e7, 0x4e8),
|
828
|
+
(0x4e9, 0x4ea),
|
829
|
+
(0x4eb, 0x4ec),
|
830
|
+
(0x4ed, 0x4ee),
|
831
|
+
(0x4ef, 0x4f0),
|
832
|
+
(0x4f1, 0x4f2),
|
833
|
+
(0x4f3, 0x4f4),
|
834
|
+
(0x4f5, 0x4f6),
|
835
|
+
(0x4f7, 0x4f8),
|
836
|
+
(0x4f9, 0x4fa),
|
837
|
+
(0x4fb, 0x4fc),
|
838
|
+
(0x4fd, 0x4fe),
|
839
|
+
(0x4ff, 0x500),
|
840
|
+
(0x501, 0x502),
|
841
|
+
(0x503, 0x504),
|
842
|
+
(0x505, 0x506),
|
843
|
+
(0x507, 0x508),
|
844
|
+
(0x509, 0x50a),
|
845
|
+
(0x50b, 0x50c),
|
846
|
+
(0x50d, 0x50e),
|
847
|
+
(0x50f, 0x510),
|
848
|
+
(0x511, 0x512),
|
849
|
+
(0x513, 0x514),
|
850
|
+
(0x515, 0x516),
|
851
|
+
(0x517, 0x518),
|
852
|
+
(0x519, 0x51a),
|
853
|
+
(0x51b, 0x51c),
|
854
|
+
(0x51d, 0x51e),
|
855
|
+
(0x51f, 0x520),
|
856
|
+
(0x521, 0x522),
|
857
|
+
(0x523, 0x524),
|
858
|
+
(0x525, 0x526),
|
859
|
+
(0x527, 0x528),
|
860
|
+
(0x559, 0x55a),
|
861
|
+
(0x561, 0x587),
|
862
|
+
(0x591, 0x5be),
|
863
|
+
(0x5bf, 0x5c0),
|
864
|
+
(0x5c1, 0x5c3),
|
865
|
+
(0x5c4, 0x5c6),
|
866
|
+
(0x5c7, 0x5c8),
|
867
|
+
(0x5d0, 0x5eb),
|
868
|
+
(0x5f0, 0x5f3),
|
869
|
+
(0x610, 0x61b),
|
870
|
+
(0x620, 0x640),
|
871
|
+
(0x641, 0x660),
|
872
|
+
(0x66e, 0x675),
|
873
|
+
(0x679, 0x6d4),
|
874
|
+
(0x6d5, 0x6dd),
|
875
|
+
(0x6df, 0x6e9),
|
876
|
+
(0x6ea, 0x6f0),
|
877
|
+
(0x6fa, 0x700),
|
878
|
+
(0x710, 0x74b),
|
879
|
+
(0x74d, 0x7b2),
|
880
|
+
(0x7c0, 0x7f6),
|
881
|
+
(0x800, 0x82e),
|
882
|
+
(0x840, 0x85c),
|
883
|
+
(0x8a0, 0x8a1),
|
884
|
+
(0x8a2, 0x8ad),
|
885
|
+
(0x8e4, 0x8ff),
|
886
|
+
(0x900, 0x958),
|
887
|
+
(0x960, 0x964),
|
888
|
+
(0x966, 0x970),
|
889
|
+
(0x971, 0x978),
|
890
|
+
(0x979, 0x980),
|
891
|
+
(0x981, 0x984),
|
892
|
+
(0x985, 0x98d),
|
893
|
+
(0x98f, 0x991),
|
894
|
+
(0x993, 0x9a9),
|
895
|
+
(0x9aa, 0x9b1),
|
896
|
+
(0x9b2, 0x9b3),
|
897
|
+
(0x9b6, 0x9ba),
|
898
|
+
(0x9bc, 0x9c5),
|
899
|
+
(0x9c7, 0x9c9),
|
900
|
+
(0x9cb, 0x9cf),
|
901
|
+
(0x9d7, 0x9d8),
|
902
|
+
(0x9e0, 0x9e4),
|
903
|
+
(0x9e6, 0x9f2),
|
904
|
+
(0xa01, 0xa04),
|
905
|
+
(0xa05, 0xa0b),
|
906
|
+
(0xa0f, 0xa11),
|
907
|
+
(0xa13, 0xa29),
|
908
|
+
(0xa2a, 0xa31),
|
909
|
+
(0xa32, 0xa33),
|
910
|
+
(0xa35, 0xa36),
|
911
|
+
(0xa38, 0xa3a),
|
912
|
+
(0xa3c, 0xa3d),
|
913
|
+
(0xa3e, 0xa43),
|
914
|
+
(0xa47, 0xa49),
|
915
|
+
(0xa4b, 0xa4e),
|
916
|
+
(0xa51, 0xa52),
|
917
|
+
(0xa5c, 0xa5d),
|
918
|
+
(0xa66, 0xa76),
|
919
|
+
(0xa81, 0xa84),
|
920
|
+
(0xa85, 0xa8e),
|
921
|
+
(0xa8f, 0xa92),
|
922
|
+
(0xa93, 0xaa9),
|
923
|
+
(0xaaa, 0xab1),
|
924
|
+
(0xab2, 0xab4),
|
925
|
+
(0xab5, 0xaba),
|
926
|
+
(0xabc, 0xac6),
|
927
|
+
(0xac7, 0xaca),
|
928
|
+
(0xacb, 0xace),
|
929
|
+
(0xad0, 0xad1),
|
930
|
+
(0xae0, 0xae4),
|
931
|
+
(0xae6, 0xaf0),
|
932
|
+
(0xb01, 0xb04),
|
933
|
+
(0xb05, 0xb0d),
|
934
|
+
(0xb0f, 0xb11),
|
935
|
+
(0xb13, 0xb29),
|
936
|
+
(0xb2a, 0xb31),
|
937
|
+
(0xb32, 0xb34),
|
938
|
+
(0xb35, 0xb3a),
|
939
|
+
(0xb3c, 0xb45),
|
940
|
+
(0xb47, 0xb49),
|
941
|
+
(0xb4b, 0xb4e),
|
942
|
+
(0xb56, 0xb58),
|
943
|
+
(0xb5f, 0xb64),
|
944
|
+
(0xb66, 0xb70),
|
945
|
+
(0xb71, 0xb72),
|
946
|
+
(0xb82, 0xb84),
|
947
|
+
(0xb85, 0xb8b),
|
948
|
+
(0xb8e, 0xb91),
|
949
|
+
(0xb92, 0xb96),
|
950
|
+
(0xb99, 0xb9b),
|
951
|
+
(0xb9c, 0xb9d),
|
952
|
+
(0xb9e, 0xba0),
|
953
|
+
(0xba3, 0xba5),
|
954
|
+
(0xba8, 0xbab),
|
955
|
+
(0xbae, 0xbba),
|
956
|
+
(0xbbe, 0xbc3),
|
957
|
+
(0xbc6, 0xbc9),
|
958
|
+
(0xbca, 0xbce),
|
959
|
+
(0xbd0, 0xbd1),
|
960
|
+
(0xbd7, 0xbd8),
|
961
|
+
(0xbe6, 0xbf0),
|
962
|
+
(0xc01, 0xc04),
|
963
|
+
(0xc05, 0xc0d),
|
964
|
+
(0xc0e, 0xc11),
|
965
|
+
(0xc12, 0xc29),
|
966
|
+
(0xc2a, 0xc34),
|
967
|
+
(0xc35, 0xc3a),
|
968
|
+
(0xc3d, 0xc45),
|
969
|
+
(0xc46, 0xc49),
|
970
|
+
(0xc4a, 0xc4e),
|
971
|
+
(0xc55, 0xc57),
|
972
|
+
(0xc58, 0xc5a),
|
973
|
+
(0xc60, 0xc64),
|
974
|
+
(0xc66, 0xc70),
|
975
|
+
(0xc82, 0xc84),
|
976
|
+
(0xc85, 0xc8d),
|
977
|
+
(0xc8e, 0xc91),
|
978
|
+
(0xc92, 0xca9),
|
979
|
+
(0xcaa, 0xcb4),
|
980
|
+
(0xcb5, 0xcba),
|
981
|
+
(0xcbc, 0xcc5),
|
982
|
+
(0xcc6, 0xcc9),
|
983
|
+
(0xcca, 0xcce),
|
984
|
+
(0xcd5, 0xcd7),
|
985
|
+
(0xcde, 0xcdf),
|
986
|
+
(0xce0, 0xce4),
|
987
|
+
(0xce6, 0xcf0),
|
988
|
+
(0xcf1, 0xcf3),
|
989
|
+
(0xd02, 0xd04),
|
990
|
+
(0xd05, 0xd0d),
|
991
|
+
(0xd0e, 0xd11),
|
992
|
+
(0xd12, 0xd3b),
|
993
|
+
(0xd3d, 0xd45),
|
994
|
+
(0xd46, 0xd49),
|
995
|
+
(0xd4a, 0xd4f),
|
996
|
+
(0xd57, 0xd58),
|
997
|
+
(0xd60, 0xd64),
|
998
|
+
(0xd66, 0xd70),
|
999
|
+
(0xd7a, 0xd80),
|
1000
|
+
(0xd82, 0xd84),
|
1001
|
+
(0xd85, 0xd97),
|
1002
|
+
(0xd9a, 0xdb2),
|
1003
|
+
(0xdb3, 0xdbc),
|
1004
|
+
(0xdbd, 0xdbe),
|
1005
|
+
(0xdc0, 0xdc7),
|
1006
|
+
(0xdca, 0xdcb),
|
1007
|
+
(0xdcf, 0xdd5),
|
1008
|
+
(0xdd6, 0xdd7),
|
1009
|
+
(0xdd8, 0xde0),
|
1010
|
+
(0xdf2, 0xdf4),
|
1011
|
+
(0xe01, 0xe33),
|
1012
|
+
(0xe34, 0xe3b),
|
1013
|
+
(0xe40, 0xe4f),
|
1014
|
+
(0xe50, 0xe5a),
|
1015
|
+
(0xe81, 0xe83),
|
1016
|
+
(0xe84, 0xe85),
|
1017
|
+
(0xe87, 0xe89),
|
1018
|
+
(0xe8a, 0xe8b),
|
1019
|
+
(0xe8d, 0xe8e),
|
1020
|
+
(0xe94, 0xe98),
|
1021
|
+
(0xe99, 0xea0),
|
1022
|
+
(0xea1, 0xea4),
|
1023
|
+
(0xea5, 0xea6),
|
1024
|
+
(0xea7, 0xea8),
|
1025
|
+
(0xeaa, 0xeac),
|
1026
|
+
(0xead, 0xeb3),
|
1027
|
+
(0xeb4, 0xeba),
|
1028
|
+
(0xebb, 0xebe),
|
1029
|
+
(0xec0, 0xec5),
|
1030
|
+
(0xec6, 0xec7),
|
1031
|
+
(0xec8, 0xece),
|
1032
|
+
(0xed0, 0xeda),
|
1033
|
+
(0xede, 0xee0),
|
1034
|
+
(0xf00, 0xf01),
|
1035
|
+
(0xf0b, 0xf0c),
|
1036
|
+
(0xf18, 0xf1a),
|
1037
|
+
(0xf20, 0xf2a),
|
1038
|
+
(0xf35, 0xf36),
|
1039
|
+
(0xf37, 0xf38),
|
1040
|
+
(0xf39, 0xf3a),
|
1041
|
+
(0xf3e, 0xf43),
|
1042
|
+
(0xf44, 0xf48),
|
1043
|
+
(0xf49, 0xf4d),
|
1044
|
+
(0xf4e, 0xf52),
|
1045
|
+
(0xf53, 0xf57),
|
1046
|
+
(0xf58, 0xf5c),
|
1047
|
+
(0xf5d, 0xf69),
|
1048
|
+
(0xf6a, 0xf6d),
|
1049
|
+
(0xf71, 0xf73),
|
1050
|
+
(0xf74, 0xf75),
|
1051
|
+
(0xf7a, 0xf81),
|
1052
|
+
(0xf82, 0xf85),
|
1053
|
+
(0xf86, 0xf93),
|
1054
|
+
(0xf94, 0xf98),
|
1055
|
+
(0xf99, 0xf9d),
|
1056
|
+
(0xf9e, 0xfa2),
|
1057
|
+
(0xfa3, 0xfa7),
|
1058
|
+
(0xfa8, 0xfac),
|
1059
|
+
(0xfad, 0xfb9),
|
1060
|
+
(0xfba, 0xfbd),
|
1061
|
+
(0xfc6, 0xfc7),
|
1062
|
+
(0x1000, 0x104a),
|
1063
|
+
(0x1050, 0x109e),
|
1064
|
+
(0x10d0, 0x10fb),
|
1065
|
+
(0x10fd, 0x1100),
|
1066
|
+
(0x1200, 0x1249),
|
1067
|
+
(0x124a, 0x124e),
|
1068
|
+
(0x1250, 0x1257),
|
1069
|
+
(0x1258, 0x1259),
|
1070
|
+
(0x125a, 0x125e),
|
1071
|
+
(0x1260, 0x1289),
|
1072
|
+
(0x128a, 0x128e),
|
1073
|
+
(0x1290, 0x12b1),
|
1074
|
+
(0x12b2, 0x12b6),
|
1075
|
+
(0x12b8, 0x12bf),
|
1076
|
+
(0x12c0, 0x12c1),
|
1077
|
+
(0x12c2, 0x12c6),
|
1078
|
+
(0x12c8, 0x12d7),
|
1079
|
+
(0x12d8, 0x1311),
|
1080
|
+
(0x1312, 0x1316),
|
1081
|
+
(0x1318, 0x135b),
|
1082
|
+
(0x135d, 0x1360),
|
1083
|
+
(0x1380, 0x1390),
|
1084
|
+
(0x13a0, 0x13f5),
|
1085
|
+
(0x1401, 0x166d),
|
1086
|
+
(0x166f, 0x1680),
|
1087
|
+
(0x1681, 0x169b),
|
1088
|
+
(0x16a0, 0x16eb),
|
1089
|
+
(0x1700, 0x170d),
|
1090
|
+
(0x170e, 0x1715),
|
1091
|
+
(0x1720, 0x1735),
|
1092
|
+
(0x1740, 0x1754),
|
1093
|
+
(0x1760, 0x176d),
|
1094
|
+
(0x176e, 0x1771),
|
1095
|
+
(0x1772, 0x1774),
|
1096
|
+
(0x1780, 0x17b4),
|
1097
|
+
(0x17b6, 0x17d4),
|
1098
|
+
(0x17d7, 0x17d8),
|
1099
|
+
(0x17dc, 0x17de),
|
1100
|
+
(0x17e0, 0x17ea),
|
1101
|
+
(0x1810, 0x181a),
|
1102
|
+
(0x1820, 0x1878),
|
1103
|
+
(0x1880, 0x18ab),
|
1104
|
+
(0x18b0, 0x18f6),
|
1105
|
+
(0x1900, 0x191d),
|
1106
|
+
(0x1920, 0x192c),
|
1107
|
+
(0x1930, 0x193c),
|
1108
|
+
(0x1946, 0x196e),
|
1109
|
+
(0x1970, 0x1975),
|
1110
|
+
(0x1980, 0x19ac),
|
1111
|
+
(0x19b0, 0x19ca),
|
1112
|
+
(0x19d0, 0x19da),
|
1113
|
+
(0x1a00, 0x1a1c),
|
1114
|
+
(0x1a20, 0x1a5f),
|
1115
|
+
(0x1a60, 0x1a7d),
|
1116
|
+
(0x1a7f, 0x1a8a),
|
1117
|
+
(0x1a90, 0x1a9a),
|
1118
|
+
(0x1aa7, 0x1aa8),
|
1119
|
+
(0x1b00, 0x1b4c),
|
1120
|
+
(0x1b50, 0x1b5a),
|
1121
|
+
(0x1b6b, 0x1b74),
|
1122
|
+
(0x1b80, 0x1bf4),
|
1123
|
+
(0x1c00, 0x1c38),
|
1124
|
+
(0x1c40, 0x1c4a),
|
1125
|
+
(0x1c4d, 0x1c7e),
|
1126
|
+
(0x1cd0, 0x1cd3),
|
1127
|
+
(0x1cd4, 0x1cf7),
|
1128
|
+
(0x1d00, 0x1d2c),
|
1129
|
+
(0x1d2f, 0x1d30),
|
1130
|
+
(0x1d3b, 0x1d3c),
|
1131
|
+
(0x1d4e, 0x1d4f),
|
1132
|
+
(0x1d6b, 0x1d78),
|
1133
|
+
(0x1d79, 0x1d9b),
|
1134
|
+
(0x1dc0, 0x1de7),
|
1135
|
+
(0x1dfc, 0x1e00),
|
1136
|
+
(0x1e01, 0x1e02),
|
1137
|
+
(0x1e03, 0x1e04),
|
1138
|
+
(0x1e05, 0x1e06),
|
1139
|
+
(0x1e07, 0x1e08),
|
1140
|
+
(0x1e09, 0x1e0a),
|
1141
|
+
(0x1e0b, 0x1e0c),
|
1142
|
+
(0x1e0d, 0x1e0e),
|
1143
|
+
(0x1e0f, 0x1e10),
|
1144
|
+
(0x1e11, 0x1e12),
|
1145
|
+
(0x1e13, 0x1e14),
|
1146
|
+
(0x1e15, 0x1e16),
|
1147
|
+
(0x1e17, 0x1e18),
|
1148
|
+
(0x1e19, 0x1e1a),
|
1149
|
+
(0x1e1b, 0x1e1c),
|
1150
|
+
(0x1e1d, 0x1e1e),
|
1151
|
+
(0x1e1f, 0x1e20),
|
1152
|
+
(0x1e21, 0x1e22),
|
1153
|
+
(0x1e23, 0x1e24),
|
1154
|
+
(0x1e25, 0x1e26),
|
1155
|
+
(0x1e27, 0x1e28),
|
1156
|
+
(0x1e29, 0x1e2a),
|
1157
|
+
(0x1e2b, 0x1e2c),
|
1158
|
+
(0x1e2d, 0x1e2e),
|
1159
|
+
(0x1e2f, 0x1e30),
|
1160
|
+
(0x1e31, 0x1e32),
|
1161
|
+
(0x1e33, 0x1e34),
|
1162
|
+
(0x1e35, 0x1e36),
|
1163
|
+
(0x1e37, 0x1e38),
|
1164
|
+
(0x1e39, 0x1e3a),
|
1165
|
+
(0x1e3b, 0x1e3c),
|
1166
|
+
(0x1e3d, 0x1e3e),
|
1167
|
+
(0x1e3f, 0x1e40),
|
1168
|
+
(0x1e41, 0x1e42),
|
1169
|
+
(0x1e43, 0x1e44),
|
1170
|
+
(0x1e45, 0x1e46),
|
1171
|
+
(0x1e47, 0x1e48),
|
1172
|
+
(0x1e49, 0x1e4a),
|
1173
|
+
(0x1e4b, 0x1e4c),
|
1174
|
+
(0x1e4d, 0x1e4e),
|
1175
|
+
(0x1e4f, 0x1e50),
|
1176
|
+
(0x1e51, 0x1e52),
|
1177
|
+
(0x1e53, 0x1e54),
|
1178
|
+
(0x1e55, 0x1e56),
|
1179
|
+
(0x1e57, 0x1e58),
|
1180
|
+
(0x1e59, 0x1e5a),
|
1181
|
+
(0x1e5b, 0x1e5c),
|
1182
|
+
(0x1e5d, 0x1e5e),
|
1183
|
+
(0x1e5f, 0x1e60),
|
1184
|
+
(0x1e61, 0x1e62),
|
1185
|
+
(0x1e63, 0x1e64),
|
1186
|
+
(0x1e65, 0x1e66),
|
1187
|
+
(0x1e67, 0x1e68),
|
1188
|
+
(0x1e69, 0x1e6a),
|
1189
|
+
(0x1e6b, 0x1e6c),
|
1190
|
+
(0x1e6d, 0x1e6e),
|
1191
|
+
(0x1e6f, 0x1e70),
|
1192
|
+
(0x1e71, 0x1e72),
|
1193
|
+
(0x1e73, 0x1e74),
|
1194
|
+
(0x1e75, 0x1e76),
|
1195
|
+
(0x1e77, 0x1e78),
|
1196
|
+
(0x1e79, 0x1e7a),
|
1197
|
+
(0x1e7b, 0x1e7c),
|
1198
|
+
(0x1e7d, 0x1e7e),
|
1199
|
+
(0x1e7f, 0x1e80),
|
1200
|
+
(0x1e81, 0x1e82),
|
1201
|
+
(0x1e83, 0x1e84),
|
1202
|
+
(0x1e85, 0x1e86),
|
1203
|
+
(0x1e87, 0x1e88),
|
1204
|
+
(0x1e89, 0x1e8a),
|
1205
|
+
(0x1e8b, 0x1e8c),
|
1206
|
+
(0x1e8d, 0x1e8e),
|
1207
|
+
(0x1e8f, 0x1e90),
|
1208
|
+
(0x1e91, 0x1e92),
|
1209
|
+
(0x1e93, 0x1e94),
|
1210
|
+
(0x1e95, 0x1e9a),
|
1211
|
+
(0x1e9c, 0x1e9e),
|
1212
|
+
(0x1e9f, 0x1ea0),
|
1213
|
+
(0x1ea1, 0x1ea2),
|
1214
|
+
(0x1ea3, 0x1ea4),
|
1215
|
+
(0x1ea5, 0x1ea6),
|
1216
|
+
(0x1ea7, 0x1ea8),
|
1217
|
+
(0x1ea9, 0x1eaa),
|
1218
|
+
(0x1eab, 0x1eac),
|
1219
|
+
(0x1ead, 0x1eae),
|
1220
|
+
(0x1eaf, 0x1eb0),
|
1221
|
+
(0x1eb1, 0x1eb2),
|
1222
|
+
(0x1eb3, 0x1eb4),
|
1223
|
+
(0x1eb5, 0x1eb6),
|
1224
|
+
(0x1eb7, 0x1eb8),
|
1225
|
+
(0x1eb9, 0x1eba),
|
1226
|
+
(0x1ebb, 0x1ebc),
|
1227
|
+
(0x1ebd, 0x1ebe),
|
1228
|
+
(0x1ebf, 0x1ec0),
|
1229
|
+
(0x1ec1, 0x1ec2),
|
1230
|
+
(0x1ec3, 0x1ec4),
|
1231
|
+
(0x1ec5, 0x1ec6),
|
1232
|
+
(0x1ec7, 0x1ec8),
|
1233
|
+
(0x1ec9, 0x1eca),
|
1234
|
+
(0x1ecb, 0x1ecc),
|
1235
|
+
(0x1ecd, 0x1ece),
|
1236
|
+
(0x1ecf, 0x1ed0),
|
1237
|
+
(0x1ed1, 0x1ed2),
|
1238
|
+
(0x1ed3, 0x1ed4),
|
1239
|
+
(0x1ed5, 0x1ed6),
|
1240
|
+
(0x1ed7, 0x1ed8),
|
1241
|
+
(0x1ed9, 0x1eda),
|
1242
|
+
(0x1edb, 0x1edc),
|
1243
|
+
(0x1edd, 0x1ede),
|
1244
|
+
(0x1edf, 0x1ee0),
|
1245
|
+
(0x1ee1, 0x1ee2),
|
1246
|
+
(0x1ee3, 0x1ee4),
|
1247
|
+
(0x1ee5, 0x1ee6),
|
1248
|
+
(0x1ee7, 0x1ee8),
|
1249
|
+
(0x1ee9, 0x1eea),
|
1250
|
+
(0x1eeb, 0x1eec),
|
1251
|
+
(0x1eed, 0x1eee),
|
1252
|
+
(0x1eef, 0x1ef0),
|
1253
|
+
(0x1ef1, 0x1ef2),
|
1254
|
+
(0x1ef3, 0x1ef4),
|
1255
|
+
(0x1ef5, 0x1ef6),
|
1256
|
+
(0x1ef7, 0x1ef8),
|
1257
|
+
(0x1ef9, 0x1efa),
|
1258
|
+
(0x1efb, 0x1efc),
|
1259
|
+
(0x1efd, 0x1efe),
|
1260
|
+
(0x1eff, 0x1f08),
|
1261
|
+
(0x1f10, 0x1f16),
|
1262
|
+
(0x1f20, 0x1f28),
|
1263
|
+
(0x1f30, 0x1f38),
|
1264
|
+
(0x1f40, 0x1f46),
|
1265
|
+
(0x1f50, 0x1f58),
|
1266
|
+
(0x1f60, 0x1f68),
|
1267
|
+
(0x1f70, 0x1f71),
|
1268
|
+
(0x1f72, 0x1f73),
|
1269
|
+
(0x1f74, 0x1f75),
|
1270
|
+
(0x1f76, 0x1f77),
|
1271
|
+
(0x1f78, 0x1f79),
|
1272
|
+
(0x1f7a, 0x1f7b),
|
1273
|
+
(0x1f7c, 0x1f7d),
|
1274
|
+
(0x1fb0, 0x1fb2),
|
1275
|
+
(0x1fb6, 0x1fb7),
|
1276
|
+
(0x1fc6, 0x1fc7),
|
1277
|
+
(0x1fd0, 0x1fd3),
|
1278
|
+
(0x1fd6, 0x1fd8),
|
1279
|
+
(0x1fe0, 0x1fe3),
|
1280
|
+
(0x1fe4, 0x1fe8),
|
1281
|
+
(0x1ff6, 0x1ff7),
|
1282
|
+
(0x214e, 0x214f),
|
1283
|
+
(0x2184, 0x2185),
|
1284
|
+
(0x2c30, 0x2c5f),
|
1285
|
+
(0x2c61, 0x2c62),
|
1286
|
+
(0x2c65, 0x2c67),
|
1287
|
+
(0x2c68, 0x2c69),
|
1288
|
+
(0x2c6a, 0x2c6b),
|
1289
|
+
(0x2c6c, 0x2c6d),
|
1290
|
+
(0x2c71, 0x2c72),
|
1291
|
+
(0x2c73, 0x2c75),
|
1292
|
+
(0x2c76, 0x2c7c),
|
1293
|
+
(0x2c81, 0x2c82),
|
1294
|
+
(0x2c83, 0x2c84),
|
1295
|
+
(0x2c85, 0x2c86),
|
1296
|
+
(0x2c87, 0x2c88),
|
1297
|
+
(0x2c89, 0x2c8a),
|
1298
|
+
(0x2c8b, 0x2c8c),
|
1299
|
+
(0x2c8d, 0x2c8e),
|
1300
|
+
(0x2c8f, 0x2c90),
|
1301
|
+
(0x2c91, 0x2c92),
|
1302
|
+
(0x2c93, 0x2c94),
|
1303
|
+
(0x2c95, 0x2c96),
|
1304
|
+
(0x2c97, 0x2c98),
|
1305
|
+
(0x2c99, 0x2c9a),
|
1306
|
+
(0x2c9b, 0x2c9c),
|
1307
|
+
(0x2c9d, 0x2c9e),
|
1308
|
+
(0x2c9f, 0x2ca0),
|
1309
|
+
(0x2ca1, 0x2ca2),
|
1310
|
+
(0x2ca3, 0x2ca4),
|
1311
|
+
(0x2ca5, 0x2ca6),
|
1312
|
+
(0x2ca7, 0x2ca8),
|
1313
|
+
(0x2ca9, 0x2caa),
|
1314
|
+
(0x2cab, 0x2cac),
|
1315
|
+
(0x2cad, 0x2cae),
|
1316
|
+
(0x2caf, 0x2cb0),
|
1317
|
+
(0x2cb1, 0x2cb2),
|
1318
|
+
(0x2cb3, 0x2cb4),
|
1319
|
+
(0x2cb5, 0x2cb6),
|
1320
|
+
(0x2cb7, 0x2cb8),
|
1321
|
+
(0x2cb9, 0x2cba),
|
1322
|
+
(0x2cbb, 0x2cbc),
|
1323
|
+
(0x2cbd, 0x2cbe),
|
1324
|
+
(0x2cbf, 0x2cc0),
|
1325
|
+
(0x2cc1, 0x2cc2),
|
1326
|
+
(0x2cc3, 0x2cc4),
|
1327
|
+
(0x2cc5, 0x2cc6),
|
1328
|
+
(0x2cc7, 0x2cc8),
|
1329
|
+
(0x2cc9, 0x2cca),
|
1330
|
+
(0x2ccb, 0x2ccc),
|
1331
|
+
(0x2ccd, 0x2cce),
|
1332
|
+
(0x2ccf, 0x2cd0),
|
1333
|
+
(0x2cd1, 0x2cd2),
|
1334
|
+
(0x2cd3, 0x2cd4),
|
1335
|
+
(0x2cd5, 0x2cd6),
|
1336
|
+
(0x2cd7, 0x2cd8),
|
1337
|
+
(0x2cd9, 0x2cda),
|
1338
|
+
(0x2cdb, 0x2cdc),
|
1339
|
+
(0x2cdd, 0x2cde),
|
1340
|
+
(0x2cdf, 0x2ce0),
|
1341
|
+
(0x2ce1, 0x2ce2),
|
1342
|
+
(0x2ce3, 0x2ce5),
|
1343
|
+
(0x2cec, 0x2ced),
|
1344
|
+
(0x2cee, 0x2cf2),
|
1345
|
+
(0x2cf3, 0x2cf4),
|
1346
|
+
(0x2d00, 0x2d26),
|
1347
|
+
(0x2d27, 0x2d28),
|
1348
|
+
(0x2d2d, 0x2d2e),
|
1349
|
+
(0x2d30, 0x2d68),
|
1350
|
+
(0x2d7f, 0x2d97),
|
1351
|
+
(0x2da0, 0x2da7),
|
1352
|
+
(0x2da8, 0x2daf),
|
1353
|
+
(0x2db0, 0x2db7),
|
1354
|
+
(0x2db8, 0x2dbf),
|
1355
|
+
(0x2dc0, 0x2dc7),
|
1356
|
+
(0x2dc8, 0x2dcf),
|
1357
|
+
(0x2dd0, 0x2dd7),
|
1358
|
+
(0x2dd8, 0x2ddf),
|
1359
|
+
(0x2de0, 0x2e00),
|
1360
|
+
(0x2e2f, 0x2e30),
|
1361
|
+
(0x3005, 0x3008),
|
1362
|
+
(0x302a, 0x302e),
|
1363
|
+
(0x303c, 0x303d),
|
1364
|
+
(0x3041, 0x3097),
|
1365
|
+
(0x3099, 0x309b),
|
1366
|
+
(0x309d, 0x309f),
|
1367
|
+
(0x30a1, 0x30fb),
|
1368
|
+
(0x30fc, 0x30ff),
|
1369
|
+
(0x3105, 0x312e),
|
1370
|
+
(0x31a0, 0x31bb),
|
1371
|
+
(0x31f0, 0x3200),
|
1372
|
+
(0x3400, 0x4db6),
|
1373
|
+
(0x4e00, 0x9fcd),
|
1374
|
+
(0xa000, 0xa48d),
|
1375
|
+
(0xa4d0, 0xa4fe),
|
1376
|
+
(0xa500, 0xa60d),
|
1377
|
+
(0xa610, 0xa62c),
|
1378
|
+
(0xa641, 0xa642),
|
1379
|
+
(0xa643, 0xa644),
|
1380
|
+
(0xa645, 0xa646),
|
1381
|
+
(0xa647, 0xa648),
|
1382
|
+
(0xa649, 0xa64a),
|
1383
|
+
(0xa64b, 0xa64c),
|
1384
|
+
(0xa64d, 0xa64e),
|
1385
|
+
(0xa64f, 0xa650),
|
1386
|
+
(0xa651, 0xa652),
|
1387
|
+
(0xa653, 0xa654),
|
1388
|
+
(0xa655, 0xa656),
|
1389
|
+
(0xa657, 0xa658),
|
1390
|
+
(0xa659, 0xa65a),
|
1391
|
+
(0xa65b, 0xa65c),
|
1392
|
+
(0xa65d, 0xa65e),
|
1393
|
+
(0xa65f, 0xa660),
|
1394
|
+
(0xa661, 0xa662),
|
1395
|
+
(0xa663, 0xa664),
|
1396
|
+
(0xa665, 0xa666),
|
1397
|
+
(0xa667, 0xa668),
|
1398
|
+
(0xa669, 0xa66a),
|
1399
|
+
(0xa66b, 0xa66c),
|
1400
|
+
(0xa66d, 0xa670),
|
1401
|
+
(0xa674, 0xa67e),
|
1402
|
+
(0xa67f, 0xa680),
|
1403
|
+
(0xa681, 0xa682),
|
1404
|
+
(0xa683, 0xa684),
|
1405
|
+
(0xa685, 0xa686),
|
1406
|
+
(0xa687, 0xa688),
|
1407
|
+
(0xa689, 0xa68a),
|
1408
|
+
(0xa68b, 0xa68c),
|
1409
|
+
(0xa68d, 0xa68e),
|
1410
|
+
(0xa68f, 0xa690),
|
1411
|
+
(0xa691, 0xa692),
|
1412
|
+
(0xa693, 0xa694),
|
1413
|
+
(0xa695, 0xa696),
|
1414
|
+
(0xa697, 0xa698),
|
1415
|
+
(0xa69f, 0xa6e6),
|
1416
|
+
(0xa6f0, 0xa6f2),
|
1417
|
+
(0xa717, 0xa720),
|
1418
|
+
(0xa723, 0xa724),
|
1419
|
+
(0xa725, 0xa726),
|
1420
|
+
(0xa727, 0xa728),
|
1421
|
+
(0xa729, 0xa72a),
|
1422
|
+
(0xa72b, 0xa72c),
|
1423
|
+
(0xa72d, 0xa72e),
|
1424
|
+
(0xa72f, 0xa732),
|
1425
|
+
(0xa733, 0xa734),
|
1426
|
+
(0xa735, 0xa736),
|
1427
|
+
(0xa737, 0xa738),
|
1428
|
+
(0xa739, 0xa73a),
|
1429
|
+
(0xa73b, 0xa73c),
|
1430
|
+
(0xa73d, 0xa73e),
|
1431
|
+
(0xa73f, 0xa740),
|
1432
|
+
(0xa741, 0xa742),
|
1433
|
+
(0xa743, 0xa744),
|
1434
|
+
(0xa745, 0xa746),
|
1435
|
+
(0xa747, 0xa748),
|
1436
|
+
(0xa749, 0xa74a),
|
1437
|
+
(0xa74b, 0xa74c),
|
1438
|
+
(0xa74d, 0xa74e),
|
1439
|
+
(0xa74f, 0xa750),
|
1440
|
+
(0xa751, 0xa752),
|
1441
|
+
(0xa753, 0xa754),
|
1442
|
+
(0xa755, 0xa756),
|
1443
|
+
(0xa757, 0xa758),
|
1444
|
+
(0xa759, 0xa75a),
|
1445
|
+
(0xa75b, 0xa75c),
|
1446
|
+
(0xa75d, 0xa75e),
|
1447
|
+
(0xa75f, 0xa760),
|
1448
|
+
(0xa761, 0xa762),
|
1449
|
+
(0xa763, 0xa764),
|
1450
|
+
(0xa765, 0xa766),
|
1451
|
+
(0xa767, 0xa768),
|
1452
|
+
(0xa769, 0xa76a),
|
1453
|
+
(0xa76b, 0xa76c),
|
1454
|
+
(0xa76d, 0xa76e),
|
1455
|
+
(0xa76f, 0xa770),
|
1456
|
+
(0xa771, 0xa779),
|
1457
|
+
(0xa77a, 0xa77b),
|
1458
|
+
(0xa77c, 0xa77d),
|
1459
|
+
(0xa77f, 0xa780),
|
1460
|
+
(0xa781, 0xa782),
|
1461
|
+
(0xa783, 0xa784),
|
1462
|
+
(0xa785, 0xa786),
|
1463
|
+
(0xa787, 0xa789),
|
1464
|
+
(0xa78c, 0xa78d),
|
1465
|
+
(0xa78e, 0xa78f),
|
1466
|
+
(0xa791, 0xa792),
|
1467
|
+
(0xa793, 0xa794),
|
1468
|
+
(0xa7a1, 0xa7a2),
|
1469
|
+
(0xa7a3, 0xa7a4),
|
1470
|
+
(0xa7a5, 0xa7a6),
|
1471
|
+
(0xa7a7, 0xa7a8),
|
1472
|
+
(0xa7a9, 0xa7aa),
|
1473
|
+
(0xa7fa, 0xa828),
|
1474
|
+
(0xa840, 0xa874),
|
1475
|
+
(0xa880, 0xa8c5),
|
1476
|
+
(0xa8d0, 0xa8da),
|
1477
|
+
(0xa8e0, 0xa8f8),
|
1478
|
+
(0xa8fb, 0xa8fc),
|
1479
|
+
(0xa900, 0xa92e),
|
1480
|
+
(0xa930, 0xa954),
|
1481
|
+
(0xa980, 0xa9c1),
|
1482
|
+
(0xa9cf, 0xa9da),
|
1483
|
+
(0xaa00, 0xaa37),
|
1484
|
+
(0xaa40, 0xaa4e),
|
1485
|
+
(0xaa50, 0xaa5a),
|
1486
|
+
(0xaa60, 0xaa77),
|
1487
|
+
(0xaa7a, 0xaa7c),
|
1488
|
+
(0xaa80, 0xaac3),
|
1489
|
+
(0xaadb, 0xaade),
|
1490
|
+
(0xaae0, 0xaaf0),
|
1491
|
+
(0xaaf2, 0xaaf7),
|
1492
|
+
(0xab01, 0xab07),
|
1493
|
+
(0xab09, 0xab0f),
|
1494
|
+
(0xab11, 0xab17),
|
1495
|
+
(0xab20, 0xab27),
|
1496
|
+
(0xab28, 0xab2f),
|
1497
|
+
(0xabc0, 0xabeb),
|
1498
|
+
(0xabec, 0xabee),
|
1499
|
+
(0xabf0, 0xabfa),
|
1500
|
+
(0xac00, 0xd7a4),
|
1501
|
+
(0xfa0e, 0xfa10),
|
1502
|
+
(0xfa11, 0xfa12),
|
1503
|
+
(0xfa13, 0xfa15),
|
1504
|
+
(0xfa1f, 0xfa20),
|
1505
|
+
(0xfa21, 0xfa22),
|
1506
|
+
(0xfa23, 0xfa25),
|
1507
|
+
(0xfa27, 0xfa2a),
|
1508
|
+
(0xfb1e, 0xfb1f),
|
1509
|
+
(0xfe20, 0xfe27),
|
1510
|
+
(0xfe73, 0xfe74),
|
1511
|
+
(0x10000, 0x1000c),
|
1512
|
+
(0x1000d, 0x10027),
|
1513
|
+
(0x10028, 0x1003b),
|
1514
|
+
(0x1003c, 0x1003e),
|
1515
|
+
(0x1003f, 0x1004e),
|
1516
|
+
(0x10050, 0x1005e),
|
1517
|
+
(0x10080, 0x100fb),
|
1518
|
+
(0x101fd, 0x101fe),
|
1519
|
+
(0x10280, 0x1029d),
|
1520
|
+
(0x102a0, 0x102d1),
|
1521
|
+
(0x10300, 0x1031f),
|
1522
|
+
(0x10330, 0x10341),
|
1523
|
+
(0x10342, 0x1034a),
|
1524
|
+
(0x10380, 0x1039e),
|
1525
|
+
(0x103a0, 0x103c4),
|
1526
|
+
(0x103c8, 0x103d0),
|
1527
|
+
(0x10428, 0x1049e),
|
1528
|
+
(0x104a0, 0x104aa),
|
1529
|
+
(0x10800, 0x10806),
|
1530
|
+
(0x10808, 0x10809),
|
1531
|
+
(0x1080a, 0x10836),
|
1532
|
+
(0x10837, 0x10839),
|
1533
|
+
(0x1083c, 0x1083d),
|
1534
|
+
(0x1083f, 0x10856),
|
1535
|
+
(0x10900, 0x10916),
|
1536
|
+
(0x10920, 0x1093a),
|
1537
|
+
(0x10980, 0x109b8),
|
1538
|
+
(0x109be, 0x109c0),
|
1539
|
+
(0x10a00, 0x10a04),
|
1540
|
+
(0x10a05, 0x10a07),
|
1541
|
+
(0x10a0c, 0x10a14),
|
1542
|
+
(0x10a15, 0x10a18),
|
1543
|
+
(0x10a19, 0x10a34),
|
1544
|
+
(0x10a38, 0x10a3b),
|
1545
|
+
(0x10a3f, 0x10a40),
|
1546
|
+
(0x10a60, 0x10a7d),
|
1547
|
+
(0x10b00, 0x10b36),
|
1548
|
+
(0x10b40, 0x10b56),
|
1549
|
+
(0x10b60, 0x10b73),
|
1550
|
+
(0x10c00, 0x10c49),
|
1551
|
+
(0x11000, 0x11047),
|
1552
|
+
(0x11066, 0x11070),
|
1553
|
+
(0x11080, 0x110bb),
|
1554
|
+
(0x110d0, 0x110e9),
|
1555
|
+
(0x110f0, 0x110fa),
|
1556
|
+
(0x11100, 0x11135),
|
1557
|
+
(0x11136, 0x11140),
|
1558
|
+
(0x11180, 0x111c5),
|
1559
|
+
(0x111d0, 0x111da),
|
1560
|
+
(0x11680, 0x116b8),
|
1561
|
+
(0x116c0, 0x116ca),
|
1562
|
+
(0x12000, 0x1236f),
|
1563
|
+
(0x13000, 0x1342f),
|
1564
|
+
(0x16800, 0x16a39),
|
1565
|
+
(0x16f00, 0x16f45),
|
1566
|
+
(0x16f50, 0x16f7f),
|
1567
|
+
(0x16f8f, 0x16fa0),
|
1568
|
+
(0x1b000, 0x1b002),
|
1569
|
+
(0x20000, 0x2a6d7),
|
1570
|
+
(0x2a700, 0x2b735),
|
1571
|
+
(0x2b740, 0x2b81e),
|
1572
|
+
),
|
1573
|
+
'CONTEXTJ': (
|
1574
|
+
(0x200c, 0x200e),
|
1575
|
+
),
|
1576
|
+
'CONTEXTO': (
|
1577
|
+
(0xb7, 0xb8),
|
1578
|
+
(0x375, 0x376),
|
1579
|
+
(0x5f3, 0x5f5),
|
1580
|
+
(0x660, 0x66a),
|
1581
|
+
(0x6f0, 0x6fa),
|
1582
|
+
(0x30fb, 0x30fc),
|
1583
|
+
),
|
1584
|
+
}
|