Version Description
Download this release
Release Info
Developer | rankmath |
Plugin | Instant Indexing for Google |
Version | 1.1.15 |
Comparing to | |
See all releases |
Code changes from version 1.1.14 to 1.1.15
- includes/class-instant-indexing.php +1 -1
- readme.txt +5 -2
- vendor/composer/autoload_classmap.php +0 -1
- vendor/composer/autoload_files.php +1 -3
- vendor/composer/autoload_psr4.php +1 -3
- vendor/composer/autoload_static.php +6 -22
- vendor/composer/installed.json +94 -216
- vendor/composer/installed.php +25 -28
- vendor/composer/platform_check.php +2 -2
- vendor/guzzlehttp/guzzle/.php_cs +0 -23
- vendor/guzzlehttp/guzzle/Dockerfile +0 -18
- vendor/guzzlehttp/guzzle/src/BodySummarizer.php +28 -0
- vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php +13 -0
- vendor/guzzlehttp/guzzle/src/Client.php +106 -130
- vendor/guzzlehttp/guzzle/src/ClientInterface.php +10 -13
- vendor/guzzlehttp/guzzle/src/ClientTrait.php +241 -0
- vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +63 -66
- vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +9 -14
- vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +28 -18
- vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +20 -15
- vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php +134 -98
- vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php +21 -9
- vendor/guzzlehttp/guzzle/src/Exception/ClientException.php +1 -0
- vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php +29 -10
- vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php +4 -18
- vendor/guzzlehttp/guzzle/src/Exception/RequestException.php +41 -67
- vendor/guzzlehttp/guzzle/src/Exception/SeekException.php +0 -27
- vendor/guzzlehttp/guzzle/src/Exception/ServerException.php +1 -0
- vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php +1 -0
- vendor/guzzlehttp/guzzle/src/Exception/TransferException.php +1 -0
- vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +211 -201
- vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php +3 -5
- vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php +15 -11
- vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +91 -49
- vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php +50 -30
- vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php +42 -0
- vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +78 -62
- vendor/guzzlehttp/guzzle/src/Handler/Proxy.php +18 -22
- vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +232 -184
- vendor/guzzlehttp/guzzle/src/HandlerStack.php +70 -72
- vendor/guzzlehttp/guzzle/src/MessageFormatter.php +50 -37
- vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php +18 -0
- vendor/guzzlehttp/guzzle/src/Middleware.php +61 -55
- vendor/guzzlehttp/guzzle/src/Pool.php +27 -36
- vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php +13 -20
- vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php +78 -80
- vendor/guzzlehttp/guzzle/src/RequestOptions.php +32 -31
- vendor/guzzlehttp/guzzle/src/RetryMiddleware.php +36 -48
- vendor/guzzlehttp/guzzle/src/TransferStats.php +31 -24
- vendor/guzzlehttp/guzzle/src/UriTemplate.php +0 -237
- vendor/guzzlehttp/guzzle/src/Utils.php +321 -31
- vendor/guzzlehttp/guzzle/src/functions.php +54 -221
- vendor/guzzlehttp/guzzle/src/functions_include.php +1 -1
- vendor/{symfony/polyfill-intl-normalizer → psr/http-client}/LICENSE +8 -8
- vendor/psr/http-client/src/ClientExceptionInterface.php +10 -0
- vendor/psr/http-client/src/ClientInterface.php +20 -0
- vendor/psr/http-client/src/NetworkExceptionInterface.php +24 -0
- vendor/psr/http-client/src/RequestExceptionInterface.php +24 -0
- vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
- vendor/symfony/deprecation-contracts/function.php +27 -0
- vendor/symfony/polyfill-intl-idn/Idn.php +0 -925
- vendor/symfony/polyfill-intl-idn/Info.php +0 -23
- vendor/symfony/polyfill-intl-idn/LICENSE +0 -19
- vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php +0 -375
- vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php +0 -24
- vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php +0 -8
- vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php +0 -2638
- vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php +0 -308
- vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php +0 -71
- vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php +0 -273
- vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php +0 -5778
- vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php +0 -65
- vendor/symfony/polyfill-intl-idn/bootstrap.php +0 -145
- vendor/symfony/polyfill-intl-idn/bootstrap80.php +0 -125
- vendor/symfony/polyfill-intl-normalizer/Normalizer.php +0 -310
- vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php +0 -17
- vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php +0 -945
- vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php +0 -2065
- vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php +0 -876
- vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php +0 -3695
- vendor/symfony/polyfill-intl-normalizer/bootstrap.php +0 -23
- vendor/symfony/polyfill-intl-normalizer/bootstrap80.php +0 -19
- vendor/symfony/polyfill-php72/Php72.php +0 -217
- vendor/symfony/polyfill-php72/bootstrap.php +0 -57
includes/class-instant-indexing.php
CHANGED
@@ -15,7 +15,7 @@ class RM_GIAPI {
|
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
-
public $version = '1.1.
|
19 |
|
20 |
/**
|
21 |
* Holds the admin menu hook suffix for the "dummy" dashboard.
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
+
public $version = '1.1.15';
|
19 |
|
20 |
/**
|
21 |
* Holds the admin menu hook suffix for the "dummy" dashboard.
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Plugin link: https://rankmath.com/wordpress/plugin/instant-indexing/
|
|
4 |
Tags: indexing api, crawling, live streaming, fast indexing, job posting
|
5 |
Tested up to: 6.0
|
6 |
Requires at least: 5.6
|
7 |
-
Requires PHP: 7.2
|
8 |
-
Stable tag: 1.1.
|
9 |
License: GPL-2.0+
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.txt
|
11 |
|
@@ -106,6 +106,9 @@ Technically, yes. That's what the plugin is made to do. But, please note that we
|
|
106 |
|
107 |
== Changelog ==
|
108 |
|
|
|
|
|
|
|
109 |
= v1.1.14 [Jun 4, 2022] =
|
110 |
* Updated the third-party libraries included in the plugin
|
111 |
|
4 |
Tags: indexing api, crawling, live streaming, fast indexing, job posting
|
5 |
Tested up to: 6.0
|
6 |
Requires at least: 5.6
|
7 |
+
Requires PHP: 7.2.5
|
8 |
+
Stable tag: 1.1.15
|
9 |
License: GPL-2.0+
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.txt
|
11 |
|
106 |
|
107 |
== Changelog ==
|
108 |
|
109 |
+
= v1.1.15 [Jun 21, 2022] =
|
110 |
+
* Updated the Guzzle HTTP library to version 7.4.4 (requires PHP 7.2.5)
|
111 |
+
|
112 |
= v1.1.14 [Jun 4, 2022] =
|
113 |
* Updated the third-party libraries included in the plugin
|
114 |
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -28,5 +28,4 @@ return array(
|
|
28 |
'Google_Task_Retryable' => $vendorDir . '/google/apiclient/src/aliases.php',
|
29 |
'Google_Task_Runner' => $vendorDir . '/google/apiclient/src/aliases.php',
|
30 |
'Google_Utils_UriTemplate' => $vendorDir . '/google/apiclient/src/aliases.php',
|
31 |
-
'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
|
32 |
);
|
28 |
'Google_Task_Retryable' => $vendorDir . '/google/apiclient/src/aliases.php',
|
29 |
'Google_Task_Runner' => $vendorDir . '/google/apiclient/src/aliases.php',
|
30 |
'Google_Utils_UriTemplate' => $vendorDir . '/google/apiclient/src/aliases.php',
|
|
|
31 |
);
|
vendor/composer/autoload_files.php
CHANGED
@@ -9,9 +9,7 @@ return array(
|
|
9 |
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
10 |
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
|
11 |
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
12 |
-
'
|
13 |
-
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
14 |
-
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
15 |
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
16 |
'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
|
17 |
'1f87db08236948d07391152dccb70f04' => $vendorDir . '/google/apiclient-services/autoload.php',
|
9 |
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
10 |
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
|
11 |
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
12 |
+
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
|
|
|
|
13 |
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
14 |
'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
|
15 |
'1f87db08236948d07391152dccb70f04' => $vendorDir . '/google/apiclient-services/autoload.php',
|
vendor/composer/autoload_psr4.php
CHANGED
@@ -7,11 +7,9 @@ $baseDir = dirname($vendorDir);
|
|
7 |
|
8 |
return array(
|
9 |
'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
|
10 |
-
'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
|
11 |
-
'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
|
12 |
-
'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),
|
13 |
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
14 |
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
|
|
|
15 |
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
16 |
'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
|
17 |
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
7 |
|
8 |
return array(
|
9 |
'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
|
|
|
|
|
|
|
10 |
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
11 |
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
|
12 |
+
'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
|
13 |
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
14 |
'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
|
15 |
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
vendor/composer/autoload_static.php
CHANGED
@@ -10,9 +10,7 @@ class ComposerStaticInit1cfac4bac5a1827f26c0b477558bd882
|
|
10 |
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
11 |
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
|
12 |
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
13 |
-
'
|
14 |
-
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
15 |
-
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
16 |
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
17 |
'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
|
18 |
'1f87db08236948d07391152dccb70f04' => __DIR__ . '/..' . '/google/apiclient-services/autoload.php',
|
@@ -24,16 +22,11 @@ class ComposerStaticInit1cfac4bac5a1827f26c0b477558bd882
|
|
24 |
array (
|
25 |
'phpseclib3\\' => 11,
|
26 |
),
|
27 |
-
'S' =>
|
28 |
-
array (
|
29 |
-
'Symfony\\Polyfill\\Php72\\' => 23,
|
30 |
-
'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
|
31 |
-
'Symfony\\Polyfill\\Intl\\Idn\\' => 26,
|
32 |
-
),
|
33 |
'P' =>
|
34 |
array (
|
35 |
'Psr\\Log\\' => 8,
|
36 |
'Psr\\Http\\Message\\' => 17,
|
|
|
37 |
'Psr\\Cache\\' => 10,
|
38 |
'ParagonIE\\ConstantTime\\' => 23,
|
39 |
),
|
@@ -61,18 +54,6 @@ class ComposerStaticInit1cfac4bac5a1827f26c0b477558bd882
|
|
61 |
array (
|
62 |
0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
|
63 |
),
|
64 |
-
'Symfony\\Polyfill\\Php72\\' =>
|
65 |
-
array (
|
66 |
-
0 => __DIR__ . '/..' . '/symfony/polyfill-php72',
|
67 |
-
),
|
68 |
-
'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
|
69 |
-
array (
|
70 |
-
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer',
|
71 |
-
),
|
72 |
-
'Symfony\\Polyfill\\Intl\\Idn\\' =>
|
73 |
-
array (
|
74 |
-
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn',
|
75 |
-
),
|
76 |
'Psr\\Log\\' =>
|
77 |
array (
|
78 |
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
|
@@ -81,6 +62,10 @@ class ComposerStaticInit1cfac4bac5a1827f26c0b477558bd882
|
|
81 |
array (
|
82 |
0 => __DIR__ . '/..' . '/psr/http-message/src',
|
83 |
),
|
|
|
|
|
|
|
|
|
84 |
'Psr\\Cache\\' =>
|
85 |
array (
|
86 |
0 => __DIR__ . '/..' . '/psr/cache/src',
|
@@ -146,7 +131,6 @@ class ComposerStaticInit1cfac4bac5a1827f26c0b477558bd882
|
|
146 |
'Google_Task_Retryable' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
147 |
'Google_Task_Runner' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
148 |
'Google_Utils_UriTemplate' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
149 |
-
'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
|
150 |
);
|
151 |
|
152 |
public static function getInitializer(ClassLoader $loader)
|
10 |
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
11 |
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
|
12 |
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
13 |
+
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
|
|
|
|
14 |
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
15 |
'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
|
16 |
'1f87db08236948d07391152dccb70f04' => __DIR__ . '/..' . '/google/apiclient-services/autoload.php',
|
22 |
array (
|
23 |
'phpseclib3\\' => 11,
|
24 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
'P' =>
|
26 |
array (
|
27 |
'Psr\\Log\\' => 8,
|
28 |
'Psr\\Http\\Message\\' => 17,
|
29 |
+
'Psr\\Http\\Client\\' => 16,
|
30 |
'Psr\\Cache\\' => 10,
|
31 |
'ParagonIE\\ConstantTime\\' => 23,
|
32 |
),
|
54 |
array (
|
55 |
0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
|
56 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
'Psr\\Log\\' =>
|
58 |
array (
|
59 |
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
|
62 |
array (
|
63 |
0 => __DIR__ . '/..' . '/psr/http-message/src',
|
64 |
),
|
65 |
+
'Psr\\Http\\Client\\' =>
|
66 |
+
array (
|
67 |
+
0 => __DIR__ . '/..' . '/psr/http-client/src',
|
68 |
+
),
|
69 |
'Psr\\Cache\\' =>
|
70 |
array (
|
71 |
0 => __DIR__ . '/..' . '/psr/cache/src',
|
131 |
'Google_Task_Retryable' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
132 |
'Google_Task_Runner' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
133 |
'Google_Utils_UriTemplate' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
|
|
|
134 |
);
|
135 |
|
136 |
public static function getInitializer(ClassLoader $loader)
|
vendor/composer/installed.json
CHANGED
@@ -248,39 +248,47 @@
|
|
248 |
},
|
249 |
{
|
250 |
"name": "guzzlehttp/guzzle",
|
251 |
-
"version": "
|
252 |
-
"version_normalized": "
|
253 |
"source": {
|
254 |
"type": "git",
|
255 |
"url": "https://github.com/guzzle/guzzle.git",
|
256 |
-
"reference": "
|
257 |
},
|
258 |
"dist": {
|
259 |
"type": "zip",
|
260 |
-
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/
|
261 |
-
"reference": "
|
262 |
"shasum": ""
|
263 |
},
|
264 |
"require": {
|
265 |
"ext-json": "*",
|
266 |
-
"guzzlehttp/promises": "^1.
|
267 |
-
"guzzlehttp/psr7": "^1.
|
268 |
-
"php": "
|
269 |
-
"
|
|
|
|
|
|
|
|
|
270 |
},
|
271 |
"require-dev": {
|
|
|
272 |
"ext-curl": "*",
|
273 |
-
"
|
274 |
-
"
|
|
|
275 |
},
|
276 |
"suggest": {
|
|
|
|
|
277 |
"psr/log": "Required for using the Log middleware"
|
278 |
},
|
279 |
-
"time": "2022-
|
280 |
"type": "library",
|
281 |
"extra": {
|
282 |
"branch-alias": {
|
283 |
-
"dev-master": "
|
284 |
}
|
285 |
},
|
286 |
"installation-source": "dist",
|
@@ -334,19 +342,20 @@
|
|
334 |
}
|
335 |
],
|
336 |
"description": "Guzzle is a PHP HTTP client library",
|
337 |
-
"homepage": "http://guzzlephp.org/",
|
338 |
"keywords": [
|
339 |
"client",
|
340 |
"curl",
|
341 |
"framework",
|
342 |
"http",
|
343 |
"http client",
|
|
|
|
|
344 |
"rest",
|
345 |
"web service"
|
346 |
],
|
347 |
"support": {
|
348 |
"issues": "https://github.com/guzzle/guzzle/issues",
|
349 |
-
"source": "https://github.com/guzzle/guzzle/tree/
|
350 |
},
|
351 |
"funding": [
|
352 |
{
|
@@ -958,6 +967,61 @@
|
|
958 |
},
|
959 |
"install-path": "../psr/cache"
|
960 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
961 |
{
|
962 |
"name": "psr/http-message",
|
963 |
"version": "1.0.1",
|
@@ -1115,137 +1179,38 @@
|
|
1115 |
"install-path": "../ralouphie/getallheaders"
|
1116 |
},
|
1117 |
{
|
1118 |
-
"name": "symfony/
|
1119 |
-
"version": "
|
1120 |
-
"version_normalized": "
|
1121 |
"source": {
|
1122 |
"type": "git",
|
1123 |
-
"url": "https://github.com/symfony/
|
1124 |
-
"reference": "
|
1125 |
},
|
1126 |
"dist": {
|
1127 |
"type": "zip",
|
1128 |
-
"url": "https://api.github.com/repos/symfony/
|
1129 |
-
"reference": "
|
1130 |
-
"shasum": ""
|
1131 |
-
},
|
1132 |
-
"require": {
|
1133 |
-
"php": ">=7.1",
|
1134 |
-
"symfony/polyfill-intl-normalizer": "^1.10",
|
1135 |
-
"symfony/polyfill-php72": "^1.10"
|
1136 |
-
},
|
1137 |
-
"suggest": {
|
1138 |
-
"ext-intl": "For best performance"
|
1139 |
-
},
|
1140 |
-
"time": "2022-05-24T11:49:31+00:00",
|
1141 |
-
"type": "library",
|
1142 |
-
"extra": {
|
1143 |
-
"branch-alias": {
|
1144 |
-
"dev-main": "1.26-dev"
|
1145 |
-
},
|
1146 |
-
"thanks": {
|
1147 |
-
"name": "symfony/polyfill",
|
1148 |
-
"url": "https://github.com/symfony/polyfill"
|
1149 |
-
}
|
1150 |
-
},
|
1151 |
-
"installation-source": "dist",
|
1152 |
-
"autoload": {
|
1153 |
-
"files": [
|
1154 |
-
"bootstrap.php"
|
1155 |
-
],
|
1156 |
-
"psr-4": {
|
1157 |
-
"Symfony\\Polyfill\\Intl\\Idn\\": ""
|
1158 |
-
}
|
1159 |
-
},
|
1160 |
-
"notification-url": "https://packagist.org/downloads/",
|
1161 |
-
"license": [
|
1162 |
-
"MIT"
|
1163 |
-
],
|
1164 |
-
"authors": [
|
1165 |
-
{
|
1166 |
-
"name": "Laurent Bassin",
|
1167 |
-
"email": "laurent@bassin.info"
|
1168 |
-
},
|
1169 |
-
{
|
1170 |
-
"name": "Trevor Rowbotham",
|
1171 |
-
"email": "trevor.rowbotham@pm.me"
|
1172 |
-
},
|
1173 |
-
{
|
1174 |
-
"name": "Symfony Community",
|
1175 |
-
"homepage": "https://symfony.com/contributors"
|
1176 |
-
}
|
1177 |
-
],
|
1178 |
-
"description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
|
1179 |
-
"homepage": "https://symfony.com",
|
1180 |
-
"keywords": [
|
1181 |
-
"compatibility",
|
1182 |
-
"idn",
|
1183 |
-
"intl",
|
1184 |
-
"polyfill",
|
1185 |
-
"portable",
|
1186 |
-
"shim"
|
1187 |
-
],
|
1188 |
-
"support": {
|
1189 |
-
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0"
|
1190 |
-
},
|
1191 |
-
"funding": [
|
1192 |
-
{
|
1193 |
-
"url": "https://symfony.com/sponsor",
|
1194 |
-
"type": "custom"
|
1195 |
-
},
|
1196 |
-
{
|
1197 |
-
"url": "https://github.com/fabpot",
|
1198 |
-
"type": "github"
|
1199 |
-
},
|
1200 |
-
{
|
1201 |
-
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
1202 |
-
"type": "tidelift"
|
1203 |
-
}
|
1204 |
-
],
|
1205 |
-
"install-path": "../symfony/polyfill-intl-idn"
|
1206 |
-
},
|
1207 |
-
{
|
1208 |
-
"name": "symfony/polyfill-intl-normalizer",
|
1209 |
-
"version": "v1.26.0",
|
1210 |
-
"version_normalized": "1.26.0.0",
|
1211 |
-
"source": {
|
1212 |
-
"type": "git",
|
1213 |
-
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
1214 |
-
"reference": "219aa369ceff116e673852dce47c3a41794c14bd"
|
1215 |
-
},
|
1216 |
-
"dist": {
|
1217 |
-
"type": "zip",
|
1218 |
-
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
|
1219 |
-
"reference": "219aa369ceff116e673852dce47c3a41794c14bd",
|
1220 |
"shasum": ""
|
1221 |
},
|
1222 |
"require": {
|
1223 |
"php": ">=7.1"
|
1224 |
},
|
1225 |
-
"
|
1226 |
-
"ext-intl": "For best performance"
|
1227 |
-
},
|
1228 |
-
"time": "2022-05-24T11:49:31+00:00",
|
1229 |
"type": "library",
|
1230 |
"extra": {
|
1231 |
"branch-alias": {
|
1232 |
-
"dev-main": "
|
1233 |
},
|
1234 |
"thanks": {
|
1235 |
-
"name": "symfony/
|
1236 |
-
"url": "https://github.com/symfony/
|
1237 |
}
|
1238 |
},
|
1239 |
"installation-source": "dist",
|
1240 |
"autoload": {
|
1241 |
"files": [
|
1242 |
-
"
|
1243 |
-
],
|
1244 |
-
"psr-4": {
|
1245 |
-
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
|
1246 |
-
},
|
1247 |
-
"classmap": [
|
1248 |
-
"Resources/stubs"
|
1249 |
]
|
1250 |
},
|
1251 |
"notification-url": "https://packagist.org/downloads/",
|
@@ -1262,97 +1227,10 @@
|
|
1262 |
"homepage": "https://symfony.com/contributors"
|
1263 |
}
|
1264 |
],
|
1265 |
-
"description": "
|
1266 |
"homepage": "https://symfony.com",
|
1267 |
-
"keywords": [
|
1268 |
-
"compatibility",
|
1269 |
-
"intl",
|
1270 |
-
"normalizer",
|
1271 |
-
"polyfill",
|
1272 |
-
"portable",
|
1273 |
-
"shim"
|
1274 |
-
],
|
1275 |
-
"support": {
|
1276 |
-
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
|
1277 |
-
},
|
1278 |
-
"funding": [
|
1279 |
-
{
|
1280 |
-
"url": "https://symfony.com/sponsor",
|
1281 |
-
"type": "custom"
|
1282 |
-
},
|
1283 |
-
{
|
1284 |
-
"url": "https://github.com/fabpot",
|
1285 |
-
"type": "github"
|
1286 |
-
},
|
1287 |
-
{
|
1288 |
-
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
1289 |
-
"type": "tidelift"
|
1290 |
-
}
|
1291 |
-
],
|
1292 |
-
"install-path": "../symfony/polyfill-intl-normalizer"
|
1293 |
-
},
|
1294 |
-
{
|
1295 |
-
"name": "symfony/polyfill-php72",
|
1296 |
-
"version": "v1.26.0",
|
1297 |
-
"version_normalized": "1.26.0.0",
|
1298 |
-
"source": {
|
1299 |
-
"type": "git",
|
1300 |
-
"url": "https://github.com/symfony/polyfill-php72.git",
|
1301 |
-
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2"
|
1302 |
-
},
|
1303 |
-
"dist": {
|
1304 |
-
"type": "zip",
|
1305 |
-
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
1306 |
-
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
1307 |
-
"shasum": ""
|
1308 |
-
},
|
1309 |
-
"require": {
|
1310 |
-
"php": ">=7.1"
|
1311 |
-
},
|
1312 |
-
"time": "2022-05-24T11:49:31+00:00",
|
1313 |
-
"type": "library",
|
1314 |
-
"extra": {
|
1315 |
-
"branch-alias": {
|
1316 |
-
"dev-main": "1.26-dev"
|
1317 |
-
},
|
1318 |
-
"thanks": {
|
1319 |
-
"name": "symfony/polyfill",
|
1320 |
-
"url": "https://github.com/symfony/polyfill"
|
1321 |
-
}
|
1322 |
-
},
|
1323 |
-
"installation-source": "dist",
|
1324 |
-
"autoload": {
|
1325 |
-
"files": [
|
1326 |
-
"bootstrap.php"
|
1327 |
-
],
|
1328 |
-
"psr-4": {
|
1329 |
-
"Symfony\\Polyfill\\Php72\\": ""
|
1330 |
-
}
|
1331 |
-
},
|
1332 |
-
"notification-url": "https://packagist.org/downloads/",
|
1333 |
-
"license": [
|
1334 |
-
"MIT"
|
1335 |
-
],
|
1336 |
-
"authors": [
|
1337 |
-
{
|
1338 |
-
"name": "Nicolas Grekas",
|
1339 |
-
"email": "p@tchwork.com"
|
1340 |
-
},
|
1341 |
-
{
|
1342 |
-
"name": "Symfony Community",
|
1343 |
-
"homepage": "https://symfony.com/contributors"
|
1344 |
-
}
|
1345 |
-
],
|
1346 |
-
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
|
1347 |
-
"homepage": "https://symfony.com",
|
1348 |
-
"keywords": [
|
1349 |
-
"compatibility",
|
1350 |
-
"polyfill",
|
1351 |
-
"portable",
|
1352 |
-
"shim"
|
1353 |
-
],
|
1354 |
"support": {
|
1355 |
-
"source": "https://github.com/symfony/
|
1356 |
},
|
1357 |
"funding": [
|
1358 |
{
|
@@ -1368,7 +1246,7 @@
|
|
1368 |
"type": "tidelift"
|
1369 |
}
|
1370 |
],
|
1371 |
-
"install-path": "../symfony/
|
1372 |
}
|
1373 |
],
|
1374 |
"dev": true,
|
248 |
},
|
249 |
{
|
250 |
"name": "guzzlehttp/guzzle",
|
251 |
+
"version": "7.4.4",
|
252 |
+
"version_normalized": "7.4.4.0",
|
253 |
"source": {
|
254 |
"type": "git",
|
255 |
"url": "https://github.com/guzzle/guzzle.git",
|
256 |
+
"reference": "e3ff079b22820c2029d4c2a87796b6a0b8716ad8"
|
257 |
},
|
258 |
"dist": {
|
259 |
"type": "zip",
|
260 |
+
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/e3ff079b22820c2029d4c2a87796b6a0b8716ad8",
|
261 |
+
"reference": "e3ff079b22820c2029d4c2a87796b6a0b8716ad8",
|
262 |
"shasum": ""
|
263 |
},
|
264 |
"require": {
|
265 |
"ext-json": "*",
|
266 |
+
"guzzlehttp/promises": "^1.5",
|
267 |
+
"guzzlehttp/psr7": "^1.8.3 || ^2.1",
|
268 |
+
"php": "^7.2.5 || ^8.0",
|
269 |
+
"psr/http-client": "^1.0",
|
270 |
+
"symfony/deprecation-contracts": "^2.2 || ^3.0"
|
271 |
+
},
|
272 |
+
"provide": {
|
273 |
+
"psr/http-client-implementation": "1.0"
|
274 |
},
|
275 |
"require-dev": {
|
276 |
+
"bamarni/composer-bin-plugin": "^1.4.1",
|
277 |
"ext-curl": "*",
|
278 |
+
"php-http/client-integration-tests": "^3.0",
|
279 |
+
"phpunit/phpunit": "^8.5.5 || ^9.3.5",
|
280 |
+
"psr/log": "^1.1 || ^2.0 || ^3.0"
|
281 |
},
|
282 |
"suggest": {
|
283 |
+
"ext-curl": "Required for CURL handler support",
|
284 |
+
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
|
285 |
"psr/log": "Required for using the Log middleware"
|
286 |
},
|
287 |
+
"time": "2022-06-09T21:39:15+00:00",
|
288 |
"type": "library",
|
289 |
"extra": {
|
290 |
"branch-alias": {
|
291 |
+
"dev-master": "7.4-dev"
|
292 |
}
|
293 |
},
|
294 |
"installation-source": "dist",
|
342 |
}
|
343 |
],
|
344 |
"description": "Guzzle is a PHP HTTP client library",
|
|
|
345 |
"keywords": [
|
346 |
"client",
|
347 |
"curl",
|
348 |
"framework",
|
349 |
"http",
|
350 |
"http client",
|
351 |
+
"psr-18",
|
352 |
+
"psr-7",
|
353 |
"rest",
|
354 |
"web service"
|
355 |
],
|
356 |
"support": {
|
357 |
"issues": "https://github.com/guzzle/guzzle/issues",
|
358 |
+
"source": "https://github.com/guzzle/guzzle/tree/7.4.4"
|
359 |
},
|
360 |
"funding": [
|
361 |
{
|
967 |
},
|
968 |
"install-path": "../psr/cache"
|
969 |
},
|
970 |
+
{
|
971 |
+
"name": "psr/http-client",
|
972 |
+
"version": "1.0.1",
|
973 |
+
"version_normalized": "1.0.1.0",
|
974 |
+
"source": {
|
975 |
+
"type": "git",
|
976 |
+
"url": "https://github.com/php-fig/http-client.git",
|
977 |
+
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
|
978 |
+
},
|
979 |
+
"dist": {
|
980 |
+
"type": "zip",
|
981 |
+
"url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
|
982 |
+
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
|
983 |
+
"shasum": ""
|
984 |
+
},
|
985 |
+
"require": {
|
986 |
+
"php": "^7.0 || ^8.0",
|
987 |
+
"psr/http-message": "^1.0"
|
988 |
+
},
|
989 |
+
"time": "2020-06-29T06:28:15+00:00",
|
990 |
+
"type": "library",
|
991 |
+
"extra": {
|
992 |
+
"branch-alias": {
|
993 |
+
"dev-master": "1.0.x-dev"
|
994 |
+
}
|
995 |
+
},
|
996 |
+
"installation-source": "dist",
|
997 |
+
"autoload": {
|
998 |
+
"psr-4": {
|
999 |
+
"Psr\\Http\\Client\\": "src/"
|
1000 |
+
}
|
1001 |
+
},
|
1002 |
+
"notification-url": "https://packagist.org/downloads/",
|
1003 |
+
"license": [
|
1004 |
+
"MIT"
|
1005 |
+
],
|
1006 |
+
"authors": [
|
1007 |
+
{
|
1008 |
+
"name": "PHP-FIG",
|
1009 |
+
"homepage": "http://www.php-fig.org/"
|
1010 |
+
}
|
1011 |
+
],
|
1012 |
+
"description": "Common interface for HTTP clients",
|
1013 |
+
"homepage": "https://github.com/php-fig/http-client",
|
1014 |
+
"keywords": [
|
1015 |
+
"http",
|
1016 |
+
"http-client",
|
1017 |
+
"psr",
|
1018 |
+
"psr-18"
|
1019 |
+
],
|
1020 |
+
"support": {
|
1021 |
+
"source": "https://github.com/php-fig/http-client/tree/master"
|
1022 |
+
},
|
1023 |
+
"install-path": "../psr/http-client"
|
1024 |
+
},
|
1025 |
{
|
1026 |
"name": "psr/http-message",
|
1027 |
"version": "1.0.1",
|
1179 |
"install-path": "../ralouphie/getallheaders"
|
1180 |
},
|
1181 |
{
|
1182 |
+
"name": "symfony/deprecation-contracts",
|
1183 |
+
"version": "v2.5.1",
|
1184 |
+
"version_normalized": "2.5.1.0",
|
1185 |
"source": {
|
1186 |
"type": "git",
|
1187 |
+
"url": "https://github.com/symfony/deprecation-contracts.git",
|
1188 |
+
"reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
|
1189 |
},
|
1190 |
"dist": {
|
1191 |
"type": "zip",
|
1192 |
+
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
|
1193 |
+
"reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1194 |
"shasum": ""
|
1195 |
},
|
1196 |
"require": {
|
1197 |
"php": ">=7.1"
|
1198 |
},
|
1199 |
+
"time": "2022-01-02T09:53:40+00:00",
|
|
|
|
|
|
|
1200 |
"type": "library",
|
1201 |
"extra": {
|
1202 |
"branch-alias": {
|
1203 |
+
"dev-main": "2.5-dev"
|
1204 |
},
|
1205 |
"thanks": {
|
1206 |
+
"name": "symfony/contracts",
|
1207 |
+
"url": "https://github.com/symfony/contracts"
|
1208 |
}
|
1209 |
},
|
1210 |
"installation-source": "dist",
|
1211 |
"autoload": {
|
1212 |
"files": [
|
1213 |
+
"function.php"
|
|
|
|
|
|
|
|
|
|
|
|
|
1214 |
]
|
1215 |
},
|
1216 |
"notification-url": "https://packagist.org/downloads/",
|
1227 |
"homepage": "https://symfony.com/contributors"
|
1228 |
}
|
1229 |
],
|
1230 |
+
"description": "A generic function and convention to trigger deprecation notices",
|
1231 |
"homepage": "https://symfony.com",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1232 |
"support": {
|
1233 |
+
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1"
|
1234 |
},
|
1235 |
"funding": [
|
1236 |
{
|
1246 |
"type": "tidelift"
|
1247 |
}
|
1248 |
],
|
1249 |
+
"install-path": "../symfony/deprecation-contracts"
|
1250 |
}
|
1251 |
],
|
1252 |
"dev": true,
|
vendor/composer/installed.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
-
'reference' => '
|
9 |
'name' => '__root__',
|
10 |
'dev' => true,
|
11 |
),
|
@@ -16,7 +16,7 @@
|
|
16 |
'type' => 'library',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
-
'reference' => '
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'firebase/php-jwt' => array(
|
@@ -56,12 +56,12 @@
|
|
56 |
'dev_requirement' => false,
|
57 |
),
|
58 |
'guzzlehttp/guzzle' => array(
|
59 |
-
'pretty_version' => '
|
60 |
-
'version' => '
|
61 |
'type' => 'library',
|
62 |
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
63 |
'aliases' => array(),
|
64 |
-
'reference' => '
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'guzzlehttp/promises' => array(
|
@@ -127,6 +127,21 @@
|
|
127 |
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
|
128 |
'dev_requirement' => false,
|
129 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
'psr/http-message' => array(
|
131 |
'pretty_version' => '1.0.1',
|
132 |
'version' => '1.0.1.0',
|
@@ -166,31 +181,13 @@
|
|
166 |
'reference' => '120b605dfeb996808c31b6477290a714d356e822',
|
167 |
'dev_requirement' => false,
|
168 |
),
|
169 |
-
'symfony/
|
170 |
-
'pretty_version' => '
|
171 |
-
'version' => '
|
172 |
-
'type' => 'library',
|
173 |
-
'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn',
|
174 |
-
'aliases' => array(),
|
175 |
-
'reference' => '59a8d271f00dd0e4c2e518104cc7963f655a1aa8',
|
176 |
-
'dev_requirement' => false,
|
177 |
-
),
|
178 |
-
'symfony/polyfill-intl-normalizer' => array(
|
179 |
-
'pretty_version' => 'v1.26.0',
|
180 |
-
'version' => '1.26.0.0',
|
181 |
-
'type' => 'library',
|
182 |
-
'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
|
183 |
-
'aliases' => array(),
|
184 |
-
'reference' => '219aa369ceff116e673852dce47c3a41794c14bd',
|
185 |
-
'dev_requirement' => false,
|
186 |
-
),
|
187 |
-
'symfony/polyfill-php72' => array(
|
188 |
-
'pretty_version' => 'v1.26.0',
|
189 |
-
'version' => '1.26.0.0',
|
190 |
'type' => 'library',
|
191 |
-
'install_path' => __DIR__ . '/../symfony/
|
192 |
'aliases' => array(),
|
193 |
-
'reference' => '
|
194 |
'dev_requirement' => false,
|
195 |
),
|
196 |
),
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
+
'reference' => '4c4fa5ca8b204e9eafc307ec71ecb1b0cc3f92be',
|
9 |
'name' => '__root__',
|
10 |
'dev' => true,
|
11 |
),
|
16 |
'type' => 'library',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
+
'reference' => '4c4fa5ca8b204e9eafc307ec71ecb1b0cc3f92be',
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'firebase/php-jwt' => array(
|
56 |
'dev_requirement' => false,
|
57 |
),
|
58 |
'guzzlehttp/guzzle' => array(
|
59 |
+
'pretty_version' => '7.4.4',
|
60 |
+
'version' => '7.4.4.0',
|
61 |
'type' => 'library',
|
62 |
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
63 |
'aliases' => array(),
|
64 |
+
'reference' => 'e3ff079b22820c2029d4c2a87796b6a0b8716ad8',
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'guzzlehttp/promises' => array(
|
127 |
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
|
128 |
'dev_requirement' => false,
|
129 |
),
|
130 |
+
'psr/http-client' => array(
|
131 |
+
'pretty_version' => '1.0.1',
|
132 |
+
'version' => '1.0.1.0',
|
133 |
+
'type' => 'library',
|
134 |
+
'install_path' => __DIR__ . '/../psr/http-client',
|
135 |
+
'aliases' => array(),
|
136 |
+
'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621',
|
137 |
+
'dev_requirement' => false,
|
138 |
+
),
|
139 |
+
'psr/http-client-implementation' => array(
|
140 |
+
'dev_requirement' => false,
|
141 |
+
'provided' => array(
|
142 |
+
0 => '1.0',
|
143 |
+
),
|
144 |
+
),
|
145 |
'psr/http-message' => array(
|
146 |
'pretty_version' => '1.0.1',
|
147 |
'version' => '1.0.1.0',
|
181 |
'reference' => '120b605dfeb996808c31b6477290a714d356e822',
|
182 |
'dev_requirement' => false,
|
183 |
),
|
184 |
+
'symfony/deprecation-contracts' => array(
|
185 |
+
'pretty_version' => 'v2.5.1',
|
186 |
+
'version' => '2.5.1.0',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
'type' => 'library',
|
188 |
+
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
|
189 |
'aliases' => array(),
|
190 |
+
'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66',
|
191 |
'dev_requirement' => false,
|
192 |
),
|
193 |
),
|
vendor/composer/platform_check.php
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
|
5 |
$issues = array();
|
6 |
|
7 |
-
if (!(PHP_VERSION_ID >=
|
8 |
-
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.
|
9 |
}
|
10 |
|
11 |
if ($issues) {
|
4 |
|
5 |
$issues = array();
|
6 |
|
7 |
+
if (!(PHP_VERSION_ID >= 70205)) {
|
8 |
+
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
|
9 |
}
|
10 |
|
11 |
if ($issues) {
|
vendor/guzzlehttp/guzzle/.php_cs
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$config = PhpCsFixer\Config::create()
|
4 |
-
->setRiskyAllowed(true)
|
5 |
-
->setRules([
|
6 |
-
'@PSR2' => true,
|
7 |
-
'array_syntax' => ['syntax' => 'short'],
|
8 |
-
'declare_strict_types' => false,
|
9 |
-
'concat_space' => ['spacing'=>'one'],
|
10 |
-
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
|
11 |
-
'ordered_imports' => true,
|
12 |
-
// 'phpdoc_align' => ['align'=>'vertical'],
|
13 |
-
// 'native_function_invocation' => true,
|
14 |
-
])
|
15 |
-
->setFinder(
|
16 |
-
PhpCsFixer\Finder::create()
|
17 |
-
->in(__DIR__.'/src')
|
18 |
-
->in(__DIR__.'/tests')
|
19 |
-
->name('*.php')
|
20 |
-
)
|
21 |
-
;
|
22 |
-
|
23 |
-
return $config;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/Dockerfile
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
FROM composer:latest as setup
|
2 |
-
|
3 |
-
RUN mkdir /guzzle
|
4 |
-
|
5 |
-
WORKDIR /guzzle
|
6 |
-
|
7 |
-
RUN set -xe \
|
8 |
-
&& composer init --name=guzzlehttp/test --description="Simple project for testing Guzzle scripts" --author="Márk Sági-Kazár <mark.sagikazar@gmail.com>" --no-interaction \
|
9 |
-
&& composer require guzzlehttp/guzzle
|
10 |
-
|
11 |
-
|
12 |
-
FROM php:7.3
|
13 |
-
|
14 |
-
RUN mkdir /guzzle
|
15 |
-
|
16 |
-
WORKDIR /guzzle
|
17 |
-
|
18 |
-
COPY --from=setup /guzzle /guzzle
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/src/BodySummarizer.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GuzzleHttp;
|
4 |
+
|
5 |
+
use Psr\Http\Message\MessageInterface;
|
6 |
+
|
7 |
+
final class BodySummarizer implements BodySummarizerInterface
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* @var int|null
|
11 |
+
*/
|
12 |
+
private $truncateAt;
|
13 |
+
|
14 |
+
public function __construct(int $truncateAt = null)
|
15 |
+
{
|
16 |
+
$this->truncateAt = $truncateAt;
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Returns a summarized message body.
|
21 |
+
*/
|
22 |
+
public function summarize(MessageInterface $message): ?string
|
23 |
+
{
|
24 |
+
return $this->truncateAt === null
|
25 |
+
? \GuzzleHttp\Psr7\Message::bodySummary($message)
|
26 |
+
: \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
|
27 |
+
}
|
28 |
+
}
|
vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GuzzleHttp;
|
4 |
+
|
5 |
+
use Psr\Http\Message\MessageInterface;
|
6 |
+
|
7 |
+
interface BodySummarizerInterface
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* Returns a summarized message body.
|
11 |
+
*/
|
12 |
+
public function summarize(MessageInterface $message): ?string;
|
13 |
+
}
|
vendor/guzzlehttp/guzzle/src/Client.php
CHANGED
@@ -1,31 +1,26 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Cookie\CookieJar;
|
5 |
use GuzzleHttp\Exception\GuzzleException;
|
6 |
-
use GuzzleHttp\
|
7 |
-
use GuzzleHttp\
|
|
|
8 |
use Psr\Http\Message\RequestInterface;
|
9 |
use Psr\Http\Message\ResponseInterface;
|
10 |
use Psr\Http\Message\UriInterface;
|
11 |
|
12 |
/**
|
13 |
-
* @
|
14 |
-
* @method ResponseInterface head(string|UriInterface $uri, array $options = [])
|
15 |
-
* @method ResponseInterface put(string|UriInterface $uri, array $options = [])
|
16 |
-
* @method ResponseInterface post(string|UriInterface $uri, array $options = [])
|
17 |
-
* @method ResponseInterface patch(string|UriInterface $uri, array $options = [])
|
18 |
-
* @method ResponseInterface delete(string|UriInterface $uri, array $options = [])
|
19 |
-
* @method Promise\PromiseInterface getAsync(string|UriInterface $uri, array $options = [])
|
20 |
-
* @method Promise\PromiseInterface headAsync(string|UriInterface $uri, array $options = [])
|
21 |
-
* @method Promise\PromiseInterface putAsync(string|UriInterface $uri, array $options = [])
|
22 |
-
* @method Promise\PromiseInterface postAsync(string|UriInterface $uri, array $options = [])
|
23 |
-
* @method Promise\PromiseInterface patchAsync(string|UriInterface $uri, array $options = [])
|
24 |
-
* @method Promise\PromiseInterface deleteAsync(string|UriInterface $uri, array $options = [])
|
25 |
*/
|
26 |
-
class Client implements ClientInterface
|
27 |
{
|
28 |
-
|
|
|
|
|
|
|
|
|
29 |
private $config;
|
30 |
|
31 |
/**
|
@@ -63,13 +58,13 @@ class Client implements ClientInterface
|
|
63 |
{
|
64 |
if (!isset($config['handler'])) {
|
65 |
$config['handler'] = HandlerStack::create();
|
66 |
-
} elseif (
|
67 |
-
throw new
|
68 |
}
|
69 |
|
70 |
// Convert the base_uri to a UriInterface
|
71 |
if (isset($config['base_uri'])) {
|
72 |
-
$config['base_uri'] = Psr7\
|
73 |
}
|
74 |
|
75 |
$this->configureDefaults($config);
|
@@ -79,19 +74,21 @@ class Client implements ClientInterface
|
|
79 |
* @param string $method
|
80 |
* @param array $args
|
81 |
*
|
82 |
-
* @return
|
|
|
|
|
83 |
*/
|
84 |
public function __call($method, $args)
|
85 |
{
|
86 |
-
if (count($args) < 1) {
|
87 |
-
throw new
|
88 |
}
|
89 |
|
90 |
$uri = $args[0];
|
91 |
-
$opts =
|
92 |
|
93 |
-
return substr($method, -5) === 'Async'
|
94 |
-
? $this->requestAsync(substr($method, 0, -5), $uri, $opts)
|
95 |
: $this->request($method, $uri, $opts);
|
96 |
}
|
97 |
|
@@ -100,10 +97,8 @@ class Client implements ClientInterface
|
|
100 |
*
|
101 |
* @param array $options Request options to apply to the given
|
102 |
* request and to the transfer. See \GuzzleHttp\RequestOptions.
|
103 |
-
*
|
104 |
-
* @return Promise\PromiseInterface
|
105 |
*/
|
106 |
-
public function sendAsync(RequestInterface $request, array $options = [])
|
107 |
{
|
108 |
// Merge the base URI into the request URI if needed.
|
109 |
$options = $this->prepareDefaults($options);
|
@@ -120,12 +115,25 @@ class Client implements ClientInterface
|
|
120 |
* @param array $options Request options to apply to the given
|
121 |
* request and to the transfer. See \GuzzleHttp\RequestOptions.
|
122 |
*
|
123 |
-
* @return ResponseInterface
|
124 |
* @throws GuzzleException
|
125 |
*/
|
126 |
-
public function send(RequestInterface $request, array $options = [])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
{
|
128 |
$options[RequestOptions::SYNCHRONOUS] = true;
|
|
|
|
|
|
|
129 |
return $this->sendAsync($request, $options)->wait();
|
130 |
}
|
131 |
|
@@ -140,20 +148,18 @@ class Client implements ClientInterface
|
|
140 |
* @param string $method HTTP method
|
141 |
* @param string|UriInterface $uri URI object or string.
|
142 |
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
|
143 |
-
*
|
144 |
-
* @return Promise\PromiseInterface
|
145 |
*/
|
146 |
-
public function requestAsync($method, $uri = '', array $options = [])
|
147 |
{
|
148 |
$options = $this->prepareDefaults($options);
|
149 |
// Remove request modifying parameter because it can be done up-front.
|
150 |
-
$headers =
|
151 |
-
$body =
|
152 |
-
$version =
|
153 |
// Merge the URI into the base URI.
|
154 |
-
$uri = $this->buildUri($uri, $options);
|
155 |
-
if (is_array($body)) {
|
156 |
-
$this->invalidBody();
|
157 |
}
|
158 |
$request = new Psr7\Request($method, $uri, $headers, $body, $version);
|
159 |
// Remove the option so that they are not doubly-applied.
|
@@ -173,10 +179,9 @@ class Client implements ClientInterface
|
|
173 |
* @param string|UriInterface $uri URI object or string.
|
174 |
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
|
175 |
*
|
176 |
-
* @return ResponseInterface
|
177 |
* @throws GuzzleException
|
178 |
*/
|
179 |
-
public function request($method, $uri = '', array $options = [])
|
180 |
{
|
181 |
$options[RequestOptions::SYNCHRONOUS] = true;
|
182 |
return $this->requestAsync($method, $uri, $options)->wait();
|
@@ -192,30 +197,24 @@ class Client implements ClientInterface
|
|
192 |
* @param string|null $option The config option to retrieve.
|
193 |
*
|
194 |
* @return mixed
|
|
|
|
|
195 |
*/
|
196 |
-
public function getConfig($option = null)
|
197 |
{
|
198 |
return $option === null
|
199 |
? $this->config
|
200 |
-
: (
|
201 |
}
|
202 |
|
203 |
-
|
204 |
-
* @param string|null $uri
|
205 |
-
*
|
206 |
-
* @return UriInterface
|
207 |
-
*/
|
208 |
-
private function buildUri($uri, array $config)
|
209 |
{
|
210 |
-
// for BC we accept null which would otherwise fail in uri_for
|
211 |
-
$uri = Psr7\uri_for($uri === null ? '' : $uri);
|
212 |
-
|
213 |
if (isset($config['base_uri'])) {
|
214 |
-
$uri = Psr7\UriResolver::resolve(Psr7\
|
215 |
}
|
216 |
|
217 |
if (isset($config['idn_conversion']) && ($config['idn_conversion'] !== false)) {
|
218 |
-
$idnOptions = ($config['idn_conversion'] === true) ? IDNA_DEFAULT : $config['idn_conversion'];
|
219 |
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
220 |
}
|
221 |
|
@@ -224,11 +223,8 @@ class Client implements ClientInterface
|
|
224 |
|
225 |
/**
|
226 |
* Configures the default options for a client.
|
227 |
-
*
|
228 |
-
* @param array $config
|
229 |
-
* @return void
|
230 |
*/
|
231 |
-
private function configureDefaults(array $config)
|
232 |
{
|
233 |
$defaults = [
|
234 |
'allow_redirects' => RedirectMiddleware::$defaultSettings,
|
@@ -236,7 +232,7 @@ class Client implements ClientInterface
|
|
236 |
'decode_content' => true,
|
237 |
'verify' => true,
|
238 |
'cookies' => false,
|
239 |
-
'idn_conversion' =>
|
240 |
];
|
241 |
|
242 |
// Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
|
@@ -244,17 +240,17 @@ class Client implements ClientInterface
|
|
244 |
// We can only trust the HTTP_PROXY environment variable in a CLI
|
245 |
// process due to the fact that PHP has no reliable mechanism to
|
246 |
// get environment variables that start with "HTTP_".
|
247 |
-
if (
|
248 |
-
$defaults['proxy']['http'] =
|
249 |
}
|
250 |
|
251 |
-
if ($proxy = getenv('HTTPS_PROXY')) {
|
252 |
$defaults['proxy']['https'] = $proxy;
|
253 |
}
|
254 |
|
255 |
-
if ($noProxy = getenv('NO_PROXY')) {
|
256 |
-
$cleanedNoProxy = str_replace(' ', '', $noProxy);
|
257 |
-
$defaults['proxy']['no'] = explode(',', $cleanedNoProxy);
|
258 |
}
|
259 |
|
260 |
$this->config = $config + $defaults;
|
@@ -265,15 +261,15 @@ class Client implements ClientInterface
|
|
265 |
|
266 |
// Add the default user-agent header.
|
267 |
if (!isset($this->config['headers'])) {
|
268 |
-
$this->config['headers'] = ['User-Agent' =>
|
269 |
} else {
|
270 |
// Add the User-Agent header if one was not already set.
|
271 |
-
foreach (array_keys($this->config['headers']) as $name) {
|
272 |
-
if (strtolower($name) === 'user-agent') {
|
273 |
return;
|
274 |
}
|
275 |
}
|
276 |
-
$this->config['headers']['User-Agent'] =
|
277 |
}
|
278 |
}
|
279 |
|
@@ -281,10 +277,8 @@ class Client implements ClientInterface
|
|
281 |
* Merges default options into the array.
|
282 |
*
|
283 |
* @param array $options Options to modify by reference
|
284 |
-
*
|
285 |
-
* @return array
|
286 |
*/
|
287 |
-
private function prepareDefaults(array $options)
|
288 |
{
|
289 |
$defaults = $this->config;
|
290 |
|
@@ -296,13 +290,13 @@ class Client implements ClientInterface
|
|
296 |
|
297 |
// Special handling for headers is required as they are added as
|
298 |
// conditional headers and as headers passed to a request ctor.
|
299 |
-
if (array_key_exists('headers', $options)) {
|
300 |
// Allows default headers to be unset.
|
301 |
if ($options['headers'] === null) {
|
302 |
$defaults['_conditional'] = [];
|
303 |
unset($options['headers']);
|
304 |
-
} elseif (
|
305 |
-
throw new
|
306 |
}
|
307 |
}
|
308 |
|
@@ -326,65 +320,49 @@ class Client implements ClientInterface
|
|
326 |
* as-is without merging in default options.
|
327 |
*
|
328 |
* @param array $options See \GuzzleHttp\RequestOptions.
|
329 |
-
*
|
330 |
-
* @return Promise\PromiseInterface
|
331 |
*/
|
332 |
-
private function transfer(RequestInterface $request, array $options)
|
333 |
{
|
334 |
-
// save_to -> sink
|
335 |
-
if (isset($options['save_to'])) {
|
336 |
-
$options['sink'] = $options['save_to'];
|
337 |
-
unset($options['save_to']);
|
338 |
-
}
|
339 |
-
|
340 |
-
// exceptions -> http_errors
|
341 |
-
if (isset($options['exceptions'])) {
|
342 |
-
$options['http_errors'] = $options['exceptions'];
|
343 |
-
unset($options['exceptions']);
|
344 |
-
}
|
345 |
-
|
346 |
$request = $this->applyOptions($request, $options);
|
347 |
/** @var HandlerStack $handler */
|
348 |
$handler = $options['handler'];
|
349 |
|
350 |
try {
|
351 |
-
return
|
352 |
} catch (\Exception $e) {
|
353 |
-
return
|
354 |
}
|
355 |
}
|
356 |
|
357 |
/**
|
358 |
* Applies the array of request options to a request.
|
359 |
-
*
|
360 |
-
* @param RequestInterface $request
|
361 |
-
* @param array $options
|
362 |
-
*
|
363 |
-
* @return RequestInterface
|
364 |
*/
|
365 |
-
private function applyOptions(RequestInterface $request, array &$options)
|
366 |
{
|
367 |
$modify = [
|
368 |
'set_headers' => [],
|
369 |
];
|
370 |
|
371 |
if (isset($options['headers'])) {
|
|
|
|
|
|
|
372 |
$modify['set_headers'] = $options['headers'];
|
373 |
unset($options['headers']);
|
374 |
}
|
375 |
|
376 |
if (isset($options['form_params'])) {
|
377 |
if (isset($options['multipart'])) {
|
378 |
-
throw new
|
379 |
. 'form_params and multipart at the same time. Use the '
|
380 |
. 'form_params option if you want to send application/'
|
381 |
. 'x-www-form-urlencoded requests, and the multipart '
|
382 |
. 'option to send multipart/form-data requests.');
|
383 |
}
|
384 |
-
$options['body'] = http_build_query($options['form_params'], '', '&');
|
385 |
unset($options['form_params']);
|
386 |
// Ensure that we don't have the header in different case and set the new value.
|
387 |
-
$options['_conditional'] = Psr7\
|
388 |
$options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded';
|
389 |
}
|
390 |
|
@@ -394,10 +372,10 @@ class Client implements ClientInterface
|
|
394 |
}
|
395 |
|
396 |
if (isset($options['json'])) {
|
397 |
-
$options['body'] =
|
398 |
unset($options['json']);
|
399 |
// Ensure that we don't have the header in different case and set the new value.
|
400 |
-
$options['_conditional'] = Psr7\
|
401 |
$options['_conditional']['Content-Type'] = 'application/json';
|
402 |
}
|
403 |
|
@@ -405,47 +383,47 @@ class Client implements ClientInterface
|
|
405 |
&& $options['decode_content'] !== true
|
406 |
) {
|
407 |
// Ensure that we don't have the header in different case and set the new value.
|
408 |
-
$options['_conditional'] = Psr7\
|
409 |
$modify['set_headers']['Accept-Encoding'] = $options['decode_content'];
|
410 |
}
|
411 |
|
412 |
if (isset($options['body'])) {
|
413 |
-
if (is_array($options['body'])) {
|
414 |
-
$this->invalidBody();
|
415 |
}
|
416 |
-
$modify['body'] = Psr7\
|
417 |
unset($options['body']);
|
418 |
}
|
419 |
|
420 |
-
if (!empty($options['auth']) && is_array($options['auth'])) {
|
421 |
$value = $options['auth'];
|
422 |
-
$type = isset($value[2]) ? strtolower($value[2]) : 'basic';
|
423 |
switch ($type) {
|
424 |
case 'basic':
|
425 |
// Ensure that we don't have the header in different case and set the new value.
|
426 |
-
$modify['set_headers'] = Psr7\
|
427 |
$modify['set_headers']['Authorization'] = 'Basic '
|
428 |
-
. base64_encode("$value[0]:$value[1]");
|
429 |
break;
|
430 |
case 'digest':
|
431 |
// @todo: Do not rely on curl
|
432 |
-
$options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_DIGEST;
|
433 |
-
$options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]";
|
434 |
break;
|
435 |
case 'ntlm':
|
436 |
-
$options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_NTLM;
|
437 |
-
$options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]";
|
438 |
break;
|
439 |
}
|
440 |
}
|
441 |
|
442 |
if (isset($options['query'])) {
|
443 |
$value = $options['query'];
|
444 |
-
if (is_array($value)) {
|
445 |
-
$value = http_build_query($value,
|
446 |
}
|
447 |
-
if (
|
448 |
-
throw new
|
449 |
}
|
450 |
$modify['query'] = $value;
|
451 |
unset($options['query']);
|
@@ -454,16 +432,16 @@ class Client implements ClientInterface
|
|
454 |
// Ensure that sink is not an invalid value.
|
455 |
if (isset($options['sink'])) {
|
456 |
// TODO: Add more sink validation?
|
457 |
-
if (is_bool($options['sink'])) {
|
458 |
-
throw new
|
459 |
}
|
460 |
}
|
461 |
|
462 |
-
$request = Psr7\
|
463 |
if ($request->getBody() instanceof Psr7\MultipartStream) {
|
464 |
// Use a multipart/form-data POST if a Content-Type is not set.
|
465 |
// Ensure that we don't have the header in different case and set the new value.
|
466 |
-
$options['_conditional'] = Psr7\
|
467 |
$options['_conditional']['Content-Type'] = 'multipart/form-data; boundary='
|
468 |
. $request->getBody()->getBoundary();
|
469 |
}
|
@@ -477,7 +455,7 @@ class Client implements ClientInterface
|
|
477 |
$modify['set_headers'][$k] = $v;
|
478 |
}
|
479 |
}
|
480 |
-
$request = Psr7\
|
481 |
// Don't pass this internal value along to middleware/handlers.
|
482 |
unset($options['_conditional']);
|
483 |
}
|
@@ -486,14 +464,12 @@ class Client implements ClientInterface
|
|
486 |
}
|
487 |
|
488 |
/**
|
489 |
-
*
|
490 |
-
* @return void
|
491 |
-
* @throws \InvalidArgumentException Invalid body.
|
492 |
*/
|
493 |
-
private function invalidBody()
|
494 |
{
|
495 |
-
|
496 |
-
. 'option as an array to send a
|
497 |
. 'Please use the "form_params" request option to send a '
|
498 |
. 'application/x-www-form-urlencoded request, or the "multipart" '
|
499 |
. 'request option to send a multipart/form-data request.');
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Cookie\CookieJar;
|
6 |
use GuzzleHttp\Exception\GuzzleException;
|
7 |
+
use GuzzleHttp\Exception\InvalidArgumentException;
|
8 |
+
use GuzzleHttp\Promise as P;
|
9 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
10 |
use Psr\Http\Message\RequestInterface;
|
11 |
use Psr\Http\Message\ResponseInterface;
|
12 |
use Psr\Http\Message\UriInterface;
|
13 |
|
14 |
/**
|
15 |
+
* @final
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
*/
|
17 |
+
class Client implements ClientInterface, \Psr\Http\Client\ClientInterface
|
18 |
{
|
19 |
+
use ClientTrait;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var array Default request options
|
23 |
+
*/
|
24 |
private $config;
|
25 |
|
26 |
/**
|
58 |
{
|
59 |
if (!isset($config['handler'])) {
|
60 |
$config['handler'] = HandlerStack::create();
|
61 |
+
} elseif (!\is_callable($config['handler'])) {
|
62 |
+
throw new InvalidArgumentException('handler must be a callable');
|
63 |
}
|
64 |
|
65 |
// Convert the base_uri to a UriInterface
|
66 |
if (isset($config['base_uri'])) {
|
67 |
+
$config['base_uri'] = Psr7\Utils::uriFor($config['base_uri']);
|
68 |
}
|
69 |
|
70 |
$this->configureDefaults($config);
|
74 |
* @param string $method
|
75 |
* @param array $args
|
76 |
*
|
77 |
+
* @return PromiseInterface|ResponseInterface
|
78 |
+
*
|
79 |
+
* @deprecated Client::__call will be removed in guzzlehttp/guzzle:8.0.
|
80 |
*/
|
81 |
public function __call($method, $args)
|
82 |
{
|
83 |
+
if (\count($args) < 1) {
|
84 |
+
throw new InvalidArgumentException('Magic request methods require a URI and optional options array');
|
85 |
}
|
86 |
|
87 |
$uri = $args[0];
|
88 |
+
$opts = $args[1] ?? [];
|
89 |
|
90 |
+
return \substr($method, -5) === 'Async'
|
91 |
+
? $this->requestAsync(\substr($method, 0, -5), $uri, $opts)
|
92 |
: $this->request($method, $uri, $opts);
|
93 |
}
|
94 |
|
97 |
*
|
98 |
* @param array $options Request options to apply to the given
|
99 |
* request and to the transfer. See \GuzzleHttp\RequestOptions.
|
|
|
|
|
100 |
*/
|
101 |
+
public function sendAsync(RequestInterface $request, array $options = []): PromiseInterface
|
102 |
{
|
103 |
// Merge the base URI into the request URI if needed.
|
104 |
$options = $this->prepareDefaults($options);
|
115 |
* @param array $options Request options to apply to the given
|
116 |
* request and to the transfer. See \GuzzleHttp\RequestOptions.
|
117 |
*
|
|
|
118 |
* @throws GuzzleException
|
119 |
*/
|
120 |
+
public function send(RequestInterface $request, array $options = []): ResponseInterface
|
121 |
+
{
|
122 |
+
$options[RequestOptions::SYNCHRONOUS] = true;
|
123 |
+
return $this->sendAsync($request, $options)->wait();
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* The HttpClient PSR (PSR-18) specify this method.
|
128 |
+
*
|
129 |
+
* @inheritDoc
|
130 |
+
*/
|
131 |
+
public function sendRequest(RequestInterface $request): ResponseInterface
|
132 |
{
|
133 |
$options[RequestOptions::SYNCHRONOUS] = true;
|
134 |
+
$options[RequestOptions::ALLOW_REDIRECTS] = false;
|
135 |
+
$options[RequestOptions::HTTP_ERRORS] = false;
|
136 |
+
|
137 |
return $this->sendAsync($request, $options)->wait();
|
138 |
}
|
139 |
|
148 |
* @param string $method HTTP method
|
149 |
* @param string|UriInterface $uri URI object or string.
|
150 |
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
|
|
|
|
|
151 |
*/
|
152 |
+
public function requestAsync(string $method, $uri = '', array $options = []): PromiseInterface
|
153 |
{
|
154 |
$options = $this->prepareDefaults($options);
|
155 |
// Remove request modifying parameter because it can be done up-front.
|
156 |
+
$headers = $options['headers'] ?? [];
|
157 |
+
$body = $options['body'] ?? null;
|
158 |
+
$version = $options['version'] ?? '1.1';
|
159 |
// Merge the URI into the base URI.
|
160 |
+
$uri = $this->buildUri(Psr7\Utils::uriFor($uri), $options);
|
161 |
+
if (\is_array($body)) {
|
162 |
+
throw $this->invalidBody();
|
163 |
}
|
164 |
$request = new Psr7\Request($method, $uri, $headers, $body, $version);
|
165 |
// Remove the option so that they are not doubly-applied.
|
179 |
* @param string|UriInterface $uri URI object or string.
|
180 |
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
|
181 |
*
|
|
|
182 |
* @throws GuzzleException
|
183 |
*/
|
184 |
+
public function request(string $method, $uri = '', array $options = []): ResponseInterface
|
185 |
{
|
186 |
$options[RequestOptions::SYNCHRONOUS] = true;
|
187 |
return $this->requestAsync($method, $uri, $options)->wait();
|
197 |
* @param string|null $option The config option to retrieve.
|
198 |
*
|
199 |
* @return mixed
|
200 |
+
*
|
201 |
+
* @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
|
202 |
*/
|
203 |
+
public function getConfig(?string $option = null)
|
204 |
{
|
205 |
return $option === null
|
206 |
? $this->config
|
207 |
+
: ($this->config[$option] ?? null);
|
208 |
}
|
209 |
|
210 |
+
private function buildUri(UriInterface $uri, array $config): UriInterface
|
|
|
|
|
|
|
|
|
|
|
211 |
{
|
|
|
|
|
|
|
212 |
if (isset($config['base_uri'])) {
|
213 |
+
$uri = Psr7\UriResolver::resolve(Psr7\Utils::uriFor($config['base_uri']), $uri);
|
214 |
}
|
215 |
|
216 |
if (isset($config['idn_conversion']) && ($config['idn_conversion'] !== false)) {
|
217 |
+
$idnOptions = ($config['idn_conversion'] === true) ? \IDNA_DEFAULT : $config['idn_conversion'];
|
218 |
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
219 |
}
|
220 |
|
223 |
|
224 |
/**
|
225 |
* Configures the default options for a client.
|
|
|
|
|
|
|
226 |
*/
|
227 |
+
private function configureDefaults(array $config): void
|
228 |
{
|
229 |
$defaults = [
|
230 |
'allow_redirects' => RedirectMiddleware::$defaultSettings,
|
232 |
'decode_content' => true,
|
233 |
'verify' => true,
|
234 |
'cookies' => false,
|
235 |
+
'idn_conversion' => false,
|
236 |
];
|
237 |
|
238 |
// Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
|
240 |
// We can only trust the HTTP_PROXY environment variable in a CLI
|
241 |
// process due to the fact that PHP has no reliable mechanism to
|
242 |
// get environment variables that start with "HTTP_".
|
243 |
+
if (\PHP_SAPI === 'cli' && ($proxy = Utils::getenv('HTTP_PROXY'))) {
|
244 |
+
$defaults['proxy']['http'] = $proxy;
|
245 |
}
|
246 |
|
247 |
+
if ($proxy = Utils::getenv('HTTPS_PROXY')) {
|
248 |
$defaults['proxy']['https'] = $proxy;
|
249 |
}
|
250 |
|
251 |
+
if ($noProxy = Utils::getenv('NO_PROXY')) {
|
252 |
+
$cleanedNoProxy = \str_replace(' ', '', $noProxy);
|
253 |
+
$defaults['proxy']['no'] = \explode(',', $cleanedNoProxy);
|
254 |
}
|
255 |
|
256 |
$this->config = $config + $defaults;
|
261 |
|
262 |
// Add the default user-agent header.
|
263 |
if (!isset($this->config['headers'])) {
|
264 |
+
$this->config['headers'] = ['User-Agent' => Utils::defaultUserAgent()];
|
265 |
} else {
|
266 |
// Add the User-Agent header if one was not already set.
|
267 |
+
foreach (\array_keys($this->config['headers']) as $name) {
|
268 |
+
if (\strtolower($name) === 'user-agent') {
|
269 |
return;
|
270 |
}
|
271 |
}
|
272 |
+
$this->config['headers']['User-Agent'] = Utils::defaultUserAgent();
|
273 |
}
|
274 |
}
|
275 |
|
277 |
* Merges default options into the array.
|
278 |
*
|
279 |
* @param array $options Options to modify by reference
|
|
|
|
|
280 |
*/
|
281 |
+
private function prepareDefaults(array $options): array
|
282 |
{
|
283 |
$defaults = $this->config;
|
284 |
|
290 |
|
291 |
// Special handling for headers is required as they are added as
|
292 |
// conditional headers and as headers passed to a request ctor.
|
293 |
+
if (\array_key_exists('headers', $options)) {
|
294 |
// Allows default headers to be unset.
|
295 |
if ($options['headers'] === null) {
|
296 |
$defaults['_conditional'] = [];
|
297 |
unset($options['headers']);
|
298 |
+
} elseif (!\is_array($options['headers'])) {
|
299 |
+
throw new InvalidArgumentException('headers must be an array');
|
300 |
}
|
301 |
}
|
302 |
|
320 |
* as-is without merging in default options.
|
321 |
*
|
322 |
* @param array $options See \GuzzleHttp\RequestOptions.
|
|
|
|
|
323 |
*/
|
324 |
+
private function transfer(RequestInterface $request, array $options): PromiseInterface
|
325 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
$request = $this->applyOptions($request, $options);
|
327 |
/** @var HandlerStack $handler */
|
328 |
$handler = $options['handler'];
|
329 |
|
330 |
try {
|
331 |
+
return P\Create::promiseFor($handler($request, $options));
|
332 |
} catch (\Exception $e) {
|
333 |
+
return P\Create::rejectionFor($e);
|
334 |
}
|
335 |
}
|
336 |
|
337 |
/**
|
338 |
* Applies the array of request options to a request.
|
|
|
|
|
|
|
|
|
|
|
339 |
*/
|
340 |
+
private function applyOptions(RequestInterface $request, array &$options): RequestInterface
|
341 |
{
|
342 |
$modify = [
|
343 |
'set_headers' => [],
|
344 |
];
|
345 |
|
346 |
if (isset($options['headers'])) {
|
347 |
+
if (array_keys($options['headers']) === range(0, count($options['headers']) - 1)) {
|
348 |
+
throw new InvalidArgumentException('The headers array must have header name as keys.');
|
349 |
+
}
|
350 |
$modify['set_headers'] = $options['headers'];
|
351 |
unset($options['headers']);
|
352 |
}
|
353 |
|
354 |
if (isset($options['form_params'])) {
|
355 |
if (isset($options['multipart'])) {
|
356 |
+
throw new InvalidArgumentException('You cannot use '
|
357 |
. 'form_params and multipart at the same time. Use the '
|
358 |
. 'form_params option if you want to send application/'
|
359 |
. 'x-www-form-urlencoded requests, and the multipart '
|
360 |
. 'option to send multipart/form-data requests.');
|
361 |
}
|
362 |
+
$options['body'] = \http_build_query($options['form_params'], '', '&');
|
363 |
unset($options['form_params']);
|
364 |
// Ensure that we don't have the header in different case and set the new value.
|
365 |
+
$options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
|
366 |
$options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded';
|
367 |
}
|
368 |
|
372 |
}
|
373 |
|
374 |
if (isset($options['json'])) {
|
375 |
+
$options['body'] = Utils::jsonEncode($options['json']);
|
376 |
unset($options['json']);
|
377 |
// Ensure that we don't have the header in different case and set the new value.
|
378 |
+
$options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
|
379 |
$options['_conditional']['Content-Type'] = 'application/json';
|
380 |
}
|
381 |
|
383 |
&& $options['decode_content'] !== true
|
384 |
) {
|
385 |
// Ensure that we don't have the header in different case and set the new value.
|
386 |
+
$options['_conditional'] = Psr7\Utils::caselessRemove(['Accept-Encoding'], $options['_conditional']);
|
387 |
$modify['set_headers']['Accept-Encoding'] = $options['decode_content'];
|
388 |
}
|
389 |
|
390 |
if (isset($options['body'])) {
|
391 |
+
if (\is_array($options['body'])) {
|
392 |
+
throw $this->invalidBody();
|
393 |
}
|
394 |
+
$modify['body'] = Psr7\Utils::streamFor($options['body']);
|
395 |
unset($options['body']);
|
396 |
}
|
397 |
|
398 |
+
if (!empty($options['auth']) && \is_array($options['auth'])) {
|
399 |
$value = $options['auth'];
|
400 |
+
$type = isset($value[2]) ? \strtolower($value[2]) : 'basic';
|
401 |
switch ($type) {
|
402 |
case 'basic':
|
403 |
// Ensure that we don't have the header in different case and set the new value.
|
404 |
+
$modify['set_headers'] = Psr7\Utils::caselessRemove(['Authorization'], $modify['set_headers']);
|
405 |
$modify['set_headers']['Authorization'] = 'Basic '
|
406 |
+
. \base64_encode("$value[0]:$value[1]");
|
407 |
break;
|
408 |
case 'digest':
|
409 |
// @todo: Do not rely on curl
|
410 |
+
$options['curl'][\CURLOPT_HTTPAUTH] = \CURLAUTH_DIGEST;
|
411 |
+
$options['curl'][\CURLOPT_USERPWD] = "$value[0]:$value[1]";
|
412 |
break;
|
413 |
case 'ntlm':
|
414 |
+
$options['curl'][\CURLOPT_HTTPAUTH] = \CURLAUTH_NTLM;
|
415 |
+
$options['curl'][\CURLOPT_USERPWD] = "$value[0]:$value[1]";
|
416 |
break;
|
417 |
}
|
418 |
}
|
419 |
|
420 |
if (isset($options['query'])) {
|
421 |
$value = $options['query'];
|
422 |
+
if (\is_array($value)) {
|
423 |
+
$value = \http_build_query($value, '', '&', \PHP_QUERY_RFC3986);
|
424 |
}
|
425 |
+
if (!\is_string($value)) {
|
426 |
+
throw new InvalidArgumentException('query must be a string or array');
|
427 |
}
|
428 |
$modify['query'] = $value;
|
429 |
unset($options['query']);
|
432 |
// Ensure that sink is not an invalid value.
|
433 |
if (isset($options['sink'])) {
|
434 |
// TODO: Add more sink validation?
|
435 |
+
if (\is_bool($options['sink'])) {
|
436 |
+
throw new InvalidArgumentException('sink must not be a boolean');
|
437 |
}
|
438 |
}
|
439 |
|
440 |
+
$request = Psr7\Utils::modifyRequest($request, $modify);
|
441 |
if ($request->getBody() instanceof Psr7\MultipartStream) {
|
442 |
// Use a multipart/form-data POST if a Content-Type is not set.
|
443 |
// Ensure that we don't have the header in different case and set the new value.
|
444 |
+
$options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
|
445 |
$options['_conditional']['Content-Type'] = 'multipart/form-data; boundary='
|
446 |
. $request->getBody()->getBoundary();
|
447 |
}
|
455 |
$modify['set_headers'][$k] = $v;
|
456 |
}
|
457 |
}
|
458 |
+
$request = Psr7\Utils::modifyRequest($request, $modify);
|
459 |
// Don't pass this internal value along to middleware/handlers.
|
460 |
unset($options['_conditional']);
|
461 |
}
|
464 |
}
|
465 |
|
466 |
/**
|
467 |
+
* Return an InvalidArgumentException with pre-set message.
|
|
|
|
|
468 |
*/
|
469 |
+
private function invalidBody(): InvalidArgumentException
|
470 |
{
|
471 |
+
return new InvalidArgumentException('Passing in the "body" request '
|
472 |
+
. 'option as an array to send a request is not supported. '
|
473 |
. 'Please use the "form_params" request option to send a '
|
474 |
. 'application/x-www-form-urlencoded request, or the "multipart" '
|
475 |
. 'request option to send a multipart/form-data request.');
|
vendor/guzzlehttp/guzzle/src/ClientInterface.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Exception\GuzzleException;
|
@@ -13,9 +14,9 @@ use Psr\Http\Message\UriInterface;
|
|
13 |
interface ClientInterface
|
14 |
{
|
15 |
/**
|
16 |
-
*
|
17 |
*/
|
18 |
-
const
|
19 |
|
20 |
/**
|
21 |
* Send an HTTP request.
|
@@ -24,10 +25,9 @@ interface ClientInterface
|
|
24 |
* @param array $options Request options to apply to the given
|
25 |
* request and to the transfer.
|
26 |
*
|
27 |
-
* @return ResponseInterface
|
28 |
* @throws GuzzleException
|
29 |
*/
|
30 |
-
public function send(RequestInterface $request, array $options = []);
|
31 |
|
32 |
/**
|
33 |
* Asynchronously send an HTTP request.
|
@@ -35,10 +35,8 @@ interface ClientInterface
|
|
35 |
* @param RequestInterface $request Request to send
|
36 |
* @param array $options Request options to apply to the given
|
37 |
* request and to the transfer.
|
38 |
-
*
|
39 |
-
* @return PromiseInterface
|
40 |
*/
|
41 |
-
public function sendAsync(RequestInterface $request, array $options = []);
|
42 |
|
43 |
/**
|
44 |
* Create and send an HTTP request.
|
@@ -51,10 +49,9 @@ interface ClientInterface
|
|
51 |
* @param string|UriInterface $uri URI object or string.
|
52 |
* @param array $options Request options to apply.
|
53 |
*
|
54 |
-
* @return ResponseInterface
|
55 |
* @throws GuzzleException
|
56 |
*/
|
57 |
-
public function request($method, $uri, array $options = []);
|
58 |
|
59 |
/**
|
60 |
* Create and send an asynchronous HTTP request.
|
@@ -67,10 +64,8 @@ interface ClientInterface
|
|
67 |
* @param string $method HTTP method
|
68 |
* @param string|UriInterface $uri URI object or string.
|
69 |
* @param array $options Request options to apply.
|
70 |
-
*
|
71 |
-
* @return PromiseInterface
|
72 |
*/
|
73 |
-
public function requestAsync($method, $uri, array $options = []);
|
74 |
|
75 |
/**
|
76 |
* Get a client configuration option.
|
@@ -82,6 +77,8 @@ interface ClientInterface
|
|
82 |
* @param string|null $option The config option to retrieve.
|
83 |
*
|
84 |
* @return mixed
|
|
|
|
|
85 |
*/
|
86 |
-
public function getConfig($option = null);
|
87 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Exception\GuzzleException;
|
14 |
interface ClientInterface
|
15 |
{
|
16 |
/**
|
17 |
+
* The Guzzle major version.
|
18 |
*/
|
19 |
+
public const MAJOR_VERSION = 7;
|
20 |
|
21 |
/**
|
22 |
* Send an HTTP request.
|
25 |
* @param array $options Request options to apply to the given
|
26 |
* request and to the transfer.
|
27 |
*
|
|
|
28 |
* @throws GuzzleException
|
29 |
*/
|
30 |
+
public function send(RequestInterface $request, array $options = []): ResponseInterface;
|
31 |
|
32 |
/**
|
33 |
* Asynchronously send an HTTP request.
|
35 |
* @param RequestInterface $request Request to send
|
36 |
* @param array $options Request options to apply to the given
|
37 |
* request and to the transfer.
|
|
|
|
|
38 |
*/
|
39 |
+
public function sendAsync(RequestInterface $request, array $options = []): PromiseInterface;
|
40 |
|
41 |
/**
|
42 |
* Create and send an HTTP request.
|
49 |
* @param string|UriInterface $uri URI object or string.
|
50 |
* @param array $options Request options to apply.
|
51 |
*
|
|
|
52 |
* @throws GuzzleException
|
53 |
*/
|
54 |
+
public function request(string $method, $uri, array $options = []): ResponseInterface;
|
55 |
|
56 |
/**
|
57 |
* Create and send an asynchronous HTTP request.
|
64 |
* @param string $method HTTP method
|
65 |
* @param string|UriInterface $uri URI object or string.
|
66 |
* @param array $options Request options to apply.
|
|
|
|
|
67 |
*/
|
68 |
+
public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
|
69 |
|
70 |
/**
|
71 |
* Get a client configuration option.
|
77 |
* @param string|null $option The config option to retrieve.
|
78 |
*
|
79 |
* @return mixed
|
80 |
+
*
|
81 |
+
* @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
|
82 |
*/
|
83 |
+
public function getConfig(?string $option = null);
|
84 |
}
|
vendor/guzzlehttp/guzzle/src/ClientTrait.php
ADDED
@@ -0,0 +1,241 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GuzzleHttp;
|
4 |
+
|
5 |
+
use GuzzleHttp\Exception\GuzzleException;
|
6 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
7 |
+
use Psr\Http\Message\ResponseInterface;
|
8 |
+
use Psr\Http\Message\UriInterface;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Client interface for sending HTTP requests.
|
12 |
+
*/
|
13 |
+
trait ClientTrait
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* Create and send an HTTP request.
|
17 |
+
*
|
18 |
+
* Use an absolute path to override the base path of the client, or a
|
19 |
+
* relative path to append to the base path of the client. The URL can
|
20 |
+
* contain the query string as well.
|
21 |
+
*
|
22 |
+
* @param string $method HTTP method.
|
23 |
+
* @param string|UriInterface $uri URI object or string.
|
24 |
+
* @param array $options Request options to apply.
|
25 |
+
*
|
26 |
+
* @throws GuzzleException
|
27 |
+
*/
|
28 |
+
abstract public function request(string $method, $uri, array $options = []): ResponseInterface;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Create and send an HTTP GET request.
|
32 |
+
*
|
33 |
+
* Use an absolute path to override the base path of the client, or a
|
34 |
+
* relative path to append to the base path of the client. The URL can
|
35 |
+
* contain the query string as well.
|
36 |
+
*
|
37 |
+
* @param string|UriInterface $uri URI object or string.
|
38 |
+
* @param array $options Request options to apply.
|
39 |
+
*
|
40 |
+
* @throws GuzzleException
|
41 |
+
*/
|
42 |
+
public function get($uri, array $options = []): ResponseInterface
|
43 |
+
{
|
44 |
+
return $this->request('GET', $uri, $options);
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Create and send an HTTP HEAD request.
|
49 |
+
*
|
50 |
+
* Use an absolute path to override the base path of the client, or a
|
51 |
+
* relative path to append to the base path of the client. The URL can
|
52 |
+
* contain the query string as well.
|
53 |
+
*
|
54 |
+
* @param string|UriInterface $uri URI object or string.
|
55 |
+
* @param array $options Request options to apply.
|
56 |
+
*
|
57 |
+
* @throws GuzzleException
|
58 |
+
*/
|
59 |
+
public function head($uri, array $options = []): ResponseInterface
|
60 |
+
{
|
61 |
+
return $this->request('HEAD', $uri, $options);
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Create and send an HTTP PUT request.
|
66 |
+
*
|
67 |
+
* Use an absolute path to override the base path of the client, or a
|
68 |
+
* relative path to append to the base path of the client. The URL can
|
69 |
+
* contain the query string as well.
|
70 |
+
*
|
71 |
+
* @param string|UriInterface $uri URI object or string.
|
72 |
+
* @param array $options Request options to apply.
|
73 |
+
*
|
74 |
+
* @throws GuzzleException
|
75 |
+
*/
|
76 |
+
public function put($uri, array $options = []): ResponseInterface
|
77 |
+
{
|
78 |
+
return $this->request('PUT', $uri, $options);
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Create and send an HTTP POST request.
|
83 |
+
*
|
84 |
+
* Use an absolute path to override the base path of the client, or a
|
85 |
+
* relative path to append to the base path of the client. The URL can
|
86 |
+
* contain the query string as well.
|
87 |
+
*
|
88 |
+
* @param string|UriInterface $uri URI object or string.
|
89 |
+
* @param array $options Request options to apply.
|
90 |
+
*
|
91 |
+
* @throws GuzzleException
|
92 |
+
*/
|
93 |
+
public function post($uri, array $options = []): ResponseInterface
|
94 |
+
{
|
95 |
+
return $this->request('POST', $uri, $options);
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Create and send an HTTP PATCH request.
|
100 |
+
*
|
101 |
+
* Use an absolute path to override the base path of the client, or a
|
102 |
+
* relative path to append to the base path of the client. The URL can
|
103 |
+
* contain the query string as well.
|
104 |
+
*
|
105 |
+
* @param string|UriInterface $uri URI object or string.
|
106 |
+
* @param array $options Request options to apply.
|
107 |
+
*
|
108 |
+
* @throws GuzzleException
|
109 |
+
*/
|
110 |
+
public function patch($uri, array $options = []): ResponseInterface
|
111 |
+
{
|
112 |
+
return $this->request('PATCH', $uri, $options);
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Create and send an HTTP DELETE request.
|
117 |
+
*
|
118 |
+
* Use an absolute path to override the base path of the client, or a
|
119 |
+
* relative path to append to the base path of the client. The URL can
|
120 |
+
* contain the query string as well.
|
121 |
+
*
|
122 |
+
* @param string|UriInterface $uri URI object or string.
|
123 |
+
* @param array $options Request options to apply.
|
124 |
+
*
|
125 |
+
* @throws GuzzleException
|
126 |
+
*/
|
127 |
+
public function delete($uri, array $options = []): ResponseInterface
|
128 |
+
{
|
129 |
+
return $this->request('DELETE', $uri, $options);
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Create and send an asynchronous HTTP request.
|
134 |
+
*
|
135 |
+
* Use an absolute path to override the base path of the client, or a
|
136 |
+
* relative path to append to the base path of the client. The URL can
|
137 |
+
* contain the query string as well. Use an array to provide a URL
|
138 |
+
* template and additional variables to use in the URL template expansion.
|
139 |
+
*
|
140 |
+
* @param string $method HTTP method
|
141 |
+
* @param string|UriInterface $uri URI object or string.
|
142 |
+
* @param array $options Request options to apply.
|
143 |
+
*/
|
144 |
+
abstract public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Create and send an asynchronous HTTP GET request.
|
148 |
+
*
|
149 |
+
* Use an absolute path to override the base path of the client, or a
|
150 |
+
* relative path to append to the base path of the client. The URL can
|
151 |
+
* contain the query string as well. Use an array to provide a URL
|
152 |
+
* template and additional variables to use in the URL template expansion.
|
153 |
+
*
|
154 |
+
* @param string|UriInterface $uri URI object or string.
|
155 |
+
* @param array $options Request options to apply.
|
156 |
+
*/
|
157 |
+
public function getAsync($uri, array $options = []): PromiseInterface
|
158 |
+
{
|
159 |
+
return $this->requestAsync('GET', $uri, $options);
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Create and send an asynchronous HTTP HEAD request.
|
164 |
+
*
|
165 |
+
* Use an absolute path to override the base path of the client, or a
|
166 |
+
* relative path to append to the base path of the client. The URL can
|
167 |
+
* contain the query string as well. Use an array to provide a URL
|
168 |
+
* template and additional variables to use in the URL template expansion.
|
169 |
+
*
|
170 |
+
* @param string|UriInterface $uri URI object or string.
|
171 |
+
* @param array $options Request options to apply.
|
172 |
+
*/
|
173 |
+
public function headAsync($uri, array $options = []): PromiseInterface
|
174 |
+
{
|
175 |
+
return $this->requestAsync('HEAD', $uri, $options);
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Create and send an asynchronous HTTP PUT request.
|
180 |
+
*
|
181 |
+
* Use an absolute path to override the base path of the client, or a
|
182 |
+
* relative path to append to the base path of the client. The URL can
|
183 |
+
* contain the query string as well. Use an array to provide a URL
|
184 |
+
* template and additional variables to use in the URL template expansion.
|
185 |
+
*
|
186 |
+
* @param string|UriInterface $uri URI object or string.
|
187 |
+
* @param array $options Request options to apply.
|
188 |
+
*/
|
189 |
+
public function putAsync($uri, array $options = []): PromiseInterface
|
190 |
+
{
|
191 |
+
return $this->requestAsync('PUT', $uri, $options);
|
192 |
+
}
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Create and send an asynchronous HTTP POST request.
|
196 |
+
*
|
197 |
+
* Use an absolute path to override the base path of the client, or a
|
198 |
+
* relative path to append to the base path of the client. The URL can
|
199 |
+
* contain the query string as well. Use an array to provide a URL
|
200 |
+
* template and additional variables to use in the URL template expansion.
|
201 |
+
*
|
202 |
+
* @param string|UriInterface $uri URI object or string.
|
203 |
+
* @param array $options Request options to apply.
|
204 |
+
*/
|
205 |
+
public function postAsync($uri, array $options = []): PromiseInterface
|
206 |
+
{
|
207 |
+
return $this->requestAsync('POST', $uri, $options);
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Create and send an asynchronous HTTP PATCH request.
|
212 |
+
*
|
213 |
+
* Use an absolute path to override the base path of the client, or a
|
214 |
+
* relative path to append to the base path of the client. The URL can
|
215 |
+
* contain the query string as well. Use an array to provide a URL
|
216 |
+
* template and additional variables to use in the URL template expansion.
|
217 |
+
*
|
218 |
+
* @param string|UriInterface $uri URI object or string.
|
219 |
+
* @param array $options Request options to apply.
|
220 |
+
*/
|
221 |
+
public function patchAsync($uri, array $options = []): PromiseInterface
|
222 |
+
{
|
223 |
+
return $this->requestAsync('PATCH', $uri, $options);
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Create and send an asynchronous HTTP DELETE request.
|
228 |
+
*
|
229 |
+
* Use an absolute path to override the base path of the client, or a
|
230 |
+
* relative path to append to the base path of the client. The URL can
|
231 |
+
* contain the query string as well. Use an array to provide a URL
|
232 |
+
* template and additional variables to use in the URL template expansion.
|
233 |
+
*
|
234 |
+
* @param string|UriInterface $uri URI object or string.
|
235 |
+
* @param array $options Request options to apply.
|
236 |
+
*/
|
237 |
+
public function deleteAsync($uri, array $options = []): PromiseInterface
|
238 |
+
{
|
239 |
+
return $this->requestAsync('DELETE', $uri, $options);
|
240 |
+
}
|
241 |
+
}
|
vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Cookie;
|
3 |
|
4 |
use Psr\Http\Message\RequestInterface;
|
@@ -9,20 +10,24 @@ use Psr\Http\Message\ResponseInterface;
|
|
9 |
*/
|
10 |
class CookieJar implements CookieJarInterface
|
11 |
{
|
12 |
-
/**
|
|
|
|
|
13 |
private $cookies = [];
|
14 |
|
15 |
-
/**
|
|
|
|
|
16 |
private $strictMode;
|
17 |
|
18 |
/**
|
19 |
-
* @param bool
|
20 |
* cookies are added to the cookie jar.
|
21 |
* @param array $cookieArray Array of SetCookie objects or a hash of
|
22 |
* arrays that can be used with the SetCookie
|
23 |
* constructor
|
24 |
*/
|
25 |
-
public function __construct($strictMode = false, $cookieArray = [])
|
26 |
{
|
27 |
$this->strictMode = $strictMode;
|
28 |
|
@@ -39,10 +44,8 @@ class CookieJar implements CookieJarInterface
|
|
39 |
*
|
40 |
* @param array $cookies Cookies to create the jar from
|
41 |
* @param string $domain Domain to set the cookies to
|
42 |
-
*
|
43 |
-
* @return self
|
44 |
*/
|
45 |
-
public static function fromArray(array $cookies, $domain)
|
46 |
{
|
47 |
$cookieJar = new self();
|
48 |
foreach ($cookies as $name => $value) {
|
@@ -57,26 +60,15 @@ class CookieJar implements CookieJarInterface
|
|
57 |
return $cookieJar;
|
58 |
}
|
59 |
|
60 |
-
/**
|
61 |
-
* @deprecated
|
62 |
-
*/
|
63 |
-
public static function getCookieValue($value)
|
64 |
-
{
|
65 |
-
return $value;
|
66 |
-
}
|
67 |
-
|
68 |
/**
|
69 |
* Evaluate if this cookie should be persisted to storage
|
70 |
* that survives between requests.
|
71 |
*
|
72 |
-
* @param SetCookie $cookie
|
73 |
-
* @param bool
|
74 |
-
* @return bool
|
75 |
*/
|
76 |
-
public static function shouldPersist(
|
77 |
-
|
78 |
-
$allowSessionCookies = false
|
79 |
-
) {
|
80 |
if ($cookie->getExpires() || $allowSessionCookies) {
|
81 |
if (!$cookie->getDiscard()) {
|
82 |
return true;
|
@@ -90,16 +82,13 @@ class CookieJar implements CookieJarInterface
|
|
90 |
* Finds and returns the cookie based on the name
|
91 |
*
|
92 |
* @param string $name cookie name to search for
|
|
|
93 |
* @return SetCookie|null cookie that was found or null if not found
|
94 |
*/
|
95 |
-
public function getCookieByName($name)
|
96 |
{
|
97 |
-
// don't allow a non string name
|
98 |
-
if ($name === null || !is_scalar($name)) {
|
99 |
-
return null;
|
100 |
-
}
|
101 |
foreach ($this->cookies as $cookie) {
|
102 |
-
if ($cookie->getName() !== null && strcasecmp($cookie->getName(), $name) === 0) {
|
103 |
return $cookie;
|
104 |
}
|
105 |
}
|
@@ -107,37 +96,43 @@ class CookieJar implements CookieJarInterface
|
|
107 |
return null;
|
108 |
}
|
109 |
|
110 |
-
|
|
|
|
|
|
|
111 |
{
|
112 |
-
return array_map(function (SetCookie $cookie) {
|
113 |
return $cookie->toArray();
|
114 |
}, $this->getIterator()->getArrayCopy());
|
115 |
}
|
116 |
|
117 |
-
|
|
|
|
|
|
|
118 |
{
|
119 |
if (!$domain) {
|
120 |
$this->cookies = [];
|
121 |
return;
|
122 |
} elseif (!$path) {
|
123 |
-
$this->cookies = array_filter(
|
124 |
$this->cookies,
|
125 |
-
function (SetCookie $cookie) use ($domain) {
|
126 |
return !$cookie->matchesDomain($domain);
|
127 |
}
|
128 |
);
|
129 |
} elseif (!$name) {
|
130 |
-
$this->cookies = array_filter(
|
131 |
$this->cookies,
|
132 |
-
function (SetCookie $cookie) use ($path, $domain) {
|
133 |
return !($cookie->matchesPath($path) &&
|
134 |
$cookie->matchesDomain($domain));
|
135 |
}
|
136 |
);
|
137 |
} else {
|
138 |
-
$this->cookies = array_filter(
|
139 |
$this->cookies,
|
140 |
-
function (SetCookie $cookie) use ($path, $domain, $name) {
|
141 |
return !($cookie->getName() == $name &&
|
142 |
$cookie->matchesPath($path) &&
|
143 |
$cookie->matchesDomain($domain));
|
@@ -146,17 +141,23 @@ class CookieJar implements CookieJarInterface
|
|
146 |
}
|
147 |
}
|
148 |
|
149 |
-
|
|
|
|
|
|
|
150 |
{
|
151 |
-
$this->cookies = array_filter(
|
152 |
$this->cookies,
|
153 |
-
function (SetCookie $cookie) {
|
154 |
return !$cookie->getDiscard() && $cookie->getExpires();
|
155 |
}
|
156 |
);
|
157 |
}
|
158 |
|
159 |
-
|
|
|
|
|
|
|
160 |
{
|
161 |
// If the name string is empty (but not 0), ignore the set-cookie
|
162 |
// string entirely.
|
@@ -170,10 +171,9 @@ class CookieJar implements CookieJarInterface
|
|
170 |
if ($result !== true) {
|
171 |
if ($this->strictMode) {
|
172 |
throw new \RuntimeException('Invalid cookie: ' . $result);
|
173 |
-
} else {
|
174 |
-
$this->removeCookieIfEmpty($cookie);
|
175 |
-
return false;
|
176 |
}
|
|
|
|
|
177 |
}
|
178 |
|
179 |
// Resolve conflicts with previously set cookies
|
@@ -217,27 +217,28 @@ class CookieJar implements CookieJarInterface
|
|
217 |
return true;
|
218 |
}
|
219 |
|
220 |
-
public function count()
|
221 |
{
|
222 |
-
return count($this->cookies);
|
223 |
}
|
224 |
|
225 |
-
|
|
|
|
|
|
|
226 |
{
|
227 |
-
return new \ArrayIterator(array_values($this->cookies));
|
228 |
}
|
229 |
|
230 |
-
public function extractCookies(
|
231 |
-
|
232 |
-
ResponseInterface $response
|
233 |
-
) {
|
234 |
if ($cookieHeader = $response->getHeader('Set-Cookie')) {
|
235 |
foreach ($cookieHeader as $cookie) {
|
236 |
$sc = SetCookie::fromString($cookie);
|
237 |
if (!$sc->getDomain()) {
|
238 |
$sc->setDomain($request->getUri()->getHost());
|
239 |
}
|
240 |
-
if (0 !== strpos($sc->getPath(), '/')) {
|
241 |
$sc->setPath($this->getCookiePathFromRequest($request));
|
242 |
}
|
243 |
if (!$sc->matchesDomain($request->getUri()->getHost())) {
|
@@ -254,30 +255,28 @@ class CookieJar implements CookieJarInterface
|
|
254 |
* Computes cookie path following RFC 6265 section 5.1.4
|
255 |
*
|
256 |
* @link https://tools.ietf.org/html/rfc6265#section-5.1.4
|
257 |
-
*
|
258 |
-
* @param RequestInterface $request
|
259 |
-
* @return string
|
260 |
*/
|
261 |
-
private function getCookiePathFromRequest(RequestInterface $request)
|
262 |
{
|
263 |
$uriPath = $request->getUri()->getPath();
|
264 |
-
if (''
|
265 |
return '/';
|
266 |
}
|
267 |
-
if (0 !== strpos($uriPath, '/')) {
|
268 |
return '/';
|
269 |
}
|
270 |
if ('/' === $uriPath) {
|
271 |
return '/';
|
272 |
}
|
273 |
-
|
|
|
274 |
return '/';
|
275 |
}
|
276 |
|
277 |
-
return substr($uriPath, 0, $lastSlashPos);
|
278 |
}
|
279 |
|
280 |
-
public function withCookieHeader(RequestInterface $request)
|
281 |
{
|
282 |
$values = [];
|
283 |
$uri = $request->getUri();
|
@@ -297,17 +296,15 @@ class CookieJar implements CookieJarInterface
|
|
297 |
}
|
298 |
|
299 |
return $values
|
300 |
-
? $request->withHeader('Cookie', implode('; ', $values))
|
301 |
: $request;
|
302 |
}
|
303 |
|
304 |
/**
|
305 |
* If a cookie already exists and the server asks to set it again with a
|
306 |
* null value, the cookie must be deleted.
|
307 |
-
*
|
308 |
-
* @param SetCookie $cookie
|
309 |
*/
|
310 |
-
private function removeCookieIfEmpty(SetCookie $cookie)
|
311 |
{
|
312 |
$cookieValue = $cookie->getValue();
|
313 |
if ($cookieValue === null || $cookieValue === '') {
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Cookie;
|
4 |
|
5 |
use Psr\Http\Message\RequestInterface;
|
10 |
*/
|
11 |
class CookieJar implements CookieJarInterface
|
12 |
{
|
13 |
+
/**
|
14 |
+
* @var SetCookie[] Loaded cookie data
|
15 |
+
*/
|
16 |
private $cookies = [];
|
17 |
|
18 |
+
/**
|
19 |
+
* @var bool
|
20 |
+
*/
|
21 |
private $strictMode;
|
22 |
|
23 |
/**
|
24 |
+
* @param bool $strictMode Set to true to throw exceptions when invalid
|
25 |
* cookies are added to the cookie jar.
|
26 |
* @param array $cookieArray Array of SetCookie objects or a hash of
|
27 |
* arrays that can be used with the SetCookie
|
28 |
* constructor
|
29 |
*/
|
30 |
+
public function __construct(bool $strictMode = false, array $cookieArray = [])
|
31 |
{
|
32 |
$this->strictMode = $strictMode;
|
33 |
|
44 |
*
|
45 |
* @param array $cookies Cookies to create the jar from
|
46 |
* @param string $domain Domain to set the cookies to
|
|
|
|
|
47 |
*/
|
48 |
+
public static function fromArray(array $cookies, string $domain): self
|
49 |
{
|
50 |
$cookieJar = new self();
|
51 |
foreach ($cookies as $name => $value) {
|
60 |
return $cookieJar;
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
/**
|
64 |
* Evaluate if this cookie should be persisted to storage
|
65 |
* that survives between requests.
|
66 |
*
|
67 |
+
* @param SetCookie $cookie Being evaluated.
|
68 |
+
* @param bool $allowSessionCookies If we should persist session cookies
|
|
|
69 |
*/
|
70 |
+
public static function shouldPersist(SetCookie $cookie, bool $allowSessionCookies = false): bool
|
71 |
+
{
|
|
|
|
|
72 |
if ($cookie->getExpires() || $allowSessionCookies) {
|
73 |
if (!$cookie->getDiscard()) {
|
74 |
return true;
|
82 |
* Finds and returns the cookie based on the name
|
83 |
*
|
84 |
* @param string $name cookie name to search for
|
85 |
+
*
|
86 |
* @return SetCookie|null cookie that was found or null if not found
|
87 |
*/
|
88 |
+
public function getCookieByName(string $name): ?SetCookie
|
89 |
{
|
|
|
|
|
|
|
|
|
90 |
foreach ($this->cookies as $cookie) {
|
91 |
+
if ($cookie->getName() !== null && \strcasecmp($cookie->getName(), $name) === 0) {
|
92 |
return $cookie;
|
93 |
}
|
94 |
}
|
96 |
return null;
|
97 |
}
|
98 |
|
99 |
+
/**
|
100 |
+
* @inheritDoc
|
101 |
+
*/
|
102 |
+
public function toArray(): array
|
103 |
{
|
104 |
+
return \array_map(static function (SetCookie $cookie): array {
|
105 |
return $cookie->toArray();
|
106 |
}, $this->getIterator()->getArrayCopy());
|
107 |
}
|
108 |
|
109 |
+
/**
|
110 |
+
* @inheritDoc
|
111 |
+
*/
|
112 |
+
public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
|
113 |
{
|
114 |
if (!$domain) {
|
115 |
$this->cookies = [];
|
116 |
return;
|
117 |
} elseif (!$path) {
|
118 |
+
$this->cookies = \array_filter(
|
119 |
$this->cookies,
|
120 |
+
static function (SetCookie $cookie) use ($domain): bool {
|
121 |
return !$cookie->matchesDomain($domain);
|
122 |
}
|
123 |
);
|
124 |
} elseif (!$name) {
|
125 |
+
$this->cookies = \array_filter(
|
126 |
$this->cookies,
|
127 |
+
static function (SetCookie $cookie) use ($path, $domain): bool {
|
128 |
return !($cookie->matchesPath($path) &&
|
129 |
$cookie->matchesDomain($domain));
|
130 |
}
|
131 |
);
|
132 |
} else {
|
133 |
+
$this->cookies = \array_filter(
|
134 |
$this->cookies,
|
135 |
+
static function (SetCookie $cookie) use ($path, $domain, $name) {
|
136 |
return !($cookie->getName() == $name &&
|
137 |
$cookie->matchesPath($path) &&
|
138 |
$cookie->matchesDomain($domain));
|
141 |
}
|
142 |
}
|
143 |
|
144 |
+
/**
|
145 |
+
* @inheritDoc
|
146 |
+
*/
|
147 |
+
public function clearSessionCookies(): void
|
148 |
{
|
149 |
+
$this->cookies = \array_filter(
|
150 |
$this->cookies,
|
151 |
+
static function (SetCookie $cookie): bool {
|
152 |
return !$cookie->getDiscard() && $cookie->getExpires();
|
153 |
}
|
154 |
);
|
155 |
}
|
156 |
|
157 |
+
/**
|
158 |
+
* @inheritDoc
|
159 |
+
*/
|
160 |
+
public function setCookie(SetCookie $cookie): bool
|
161 |
{
|
162 |
// If the name string is empty (but not 0), ignore the set-cookie
|
163 |
// string entirely.
|
171 |
if ($result !== true) {
|
172 |
if ($this->strictMode) {
|
173 |
throw new \RuntimeException('Invalid cookie: ' . $result);
|
|
|
|
|
|
|
174 |
}
|
175 |
+
$this->removeCookieIfEmpty($cookie);
|
176 |
+
return false;
|
177 |
}
|
178 |
|
179 |
// Resolve conflicts with previously set cookies
|
217 |
return true;
|
218 |
}
|
219 |
|
220 |
+
public function count(): int
|
221 |
{
|
222 |
+
return \count($this->cookies);
|
223 |
}
|
224 |
|
225 |
+
/**
|
226 |
+
* @return \ArrayIterator<int, SetCookie>
|
227 |
+
*/
|
228 |
+
public function getIterator(): \ArrayIterator
|
229 |
{
|
230 |
+
return new \ArrayIterator(\array_values($this->cookies));
|
231 |
}
|
232 |
|
233 |
+
public function extractCookies(RequestInterface $request, ResponseInterface $response): void
|
234 |
+
{
|
|
|
|
|
235 |
if ($cookieHeader = $response->getHeader('Set-Cookie')) {
|
236 |
foreach ($cookieHeader as $cookie) {
|
237 |
$sc = SetCookie::fromString($cookie);
|
238 |
if (!$sc->getDomain()) {
|
239 |
$sc->setDomain($request->getUri()->getHost());
|
240 |
}
|
241 |
+
if (0 !== \strpos($sc->getPath(), '/')) {
|
242 |
$sc->setPath($this->getCookiePathFromRequest($request));
|
243 |
}
|
244 |
if (!$sc->matchesDomain($request->getUri()->getHost())) {
|
255 |
* Computes cookie path following RFC 6265 section 5.1.4
|
256 |
*
|
257 |
* @link https://tools.ietf.org/html/rfc6265#section-5.1.4
|
|
|
|
|
|
|
258 |
*/
|
259 |
+
private function getCookiePathFromRequest(RequestInterface $request): string
|
260 |
{
|
261 |
$uriPath = $request->getUri()->getPath();
|
262 |
+
if ('' === $uriPath) {
|
263 |
return '/';
|
264 |
}
|
265 |
+
if (0 !== \strpos($uriPath, '/')) {
|
266 |
return '/';
|
267 |
}
|
268 |
if ('/' === $uriPath) {
|
269 |
return '/';
|
270 |
}
|
271 |
+
$lastSlashPos = \strrpos($uriPath, '/');
|
272 |
+
if (0 === $lastSlashPos || false === $lastSlashPos) {
|
273 |
return '/';
|
274 |
}
|
275 |
|
276 |
+
return \substr($uriPath, 0, $lastSlashPos);
|
277 |
}
|
278 |
|
279 |
+
public function withCookieHeader(RequestInterface $request): RequestInterface
|
280 |
{
|
281 |
$values = [];
|
282 |
$uri = $request->getUri();
|
296 |
}
|
297 |
|
298 |
return $values
|
299 |
+
? $request->withHeader('Cookie', \implode('; ', $values))
|
300 |
: $request;
|
301 |
}
|
302 |
|
303 |
/**
|
304 |
* If a cookie already exists and the server asks to set it again with a
|
305 |
* null value, the cookie must be deleted.
|
|
|
|
|
306 |
*/
|
307 |
+
private function removeCookieIfEmpty(SetCookie $cookie): void
|
308 |
{
|
309 |
$cookieValue = $cookie->getValue();
|
310 |
if ($cookieValue === null || $cookieValue === '') {
|
vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Cookie;
|
3 |
|
4 |
use Psr\Http\Message\RequestInterface;
|
@@ -12,7 +13,8 @@ use Psr\Http\Message\ResponseInterface;
|
|
12 |
* necessary. Subclasses are also responsible for storing and retrieving
|
13 |
* cookies from a file, database, etc.
|
14 |
*
|
15 |
-
* @link
|
|
|
16 |
*/
|
17 |
interface CookieJarInterface extends \Countable, \IteratorAggregate
|
18 |
{
|
@@ -26,7 +28,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
|
|
26 |
*
|
27 |
* @return RequestInterface returns the modified request.
|
28 |
*/
|
29 |
-
public function withCookieHeader(RequestInterface $request);
|
30 |
|
31 |
/**
|
32 |
* Extract cookies from an HTTP response and store them in the CookieJar.
|
@@ -34,10 +36,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
|
|
34 |
* @param RequestInterface $request Request that was sent
|
35 |
* @param ResponseInterface $response Response that was received
|
36 |
*/
|
37 |
-
public function extractCookies(
|
38 |
-
RequestInterface $request,
|
39 |
-
ResponseInterface $response
|
40 |
-
);
|
41 |
|
42 |
/**
|
43 |
* Sets a cookie in the cookie jar.
|
@@ -46,7 +45,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
|
|
46 |
*
|
47 |
* @return bool Returns true on success or false on failure
|
48 |
*/
|
49 |
-
public function setCookie(SetCookie $cookie);
|
50 |
|
51 |
/**
|
52 |
* Remove cookies currently held in the cookie jar.
|
@@ -61,10 +60,8 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
|
|
61 |
* @param string|null $domain Clears cookies matching a domain
|
62 |
* @param string|null $path Clears cookies matching a domain and path
|
63 |
* @param string|null $name Clears cookies matching a domain, path, and name
|
64 |
-
*
|
65 |
-
* @return CookieJarInterface
|
66 |
*/
|
67 |
-
public function clear($domain = null, $path = null, $name = null);
|
68 |
|
69 |
/**
|
70 |
* Discard all sessions cookies.
|
@@ -73,12 +70,10 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
|
|
73 |
* field set to true. To be called when the user agent shuts down according
|
74 |
* to RFC 2965.
|
75 |
*/
|
76 |
-
public function clearSessionCookies();
|
77 |
|
78 |
/**
|
79 |
* Converts the cookie jar to an array.
|
80 |
-
*
|
81 |
-
* @return array
|
82 |
*/
|
83 |
-
public function toArray();
|
84 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Cookie;
|
4 |
|
5 |
use Psr\Http\Message\RequestInterface;
|
13 |
* necessary. Subclasses are also responsible for storing and retrieving
|
14 |
* cookies from a file, database, etc.
|
15 |
*
|
16 |
+
* @link https://docs.python.org/2/library/cookielib.html Inspiration
|
17 |
+
* @extends \IteratorAggregate<SetCookie>
|
18 |
*/
|
19 |
interface CookieJarInterface extends \Countable, \IteratorAggregate
|
20 |
{
|
28 |
*
|
29 |
* @return RequestInterface returns the modified request.
|
30 |
*/
|
31 |
+
public function withCookieHeader(RequestInterface $request): RequestInterface;
|
32 |
|
33 |
/**
|
34 |
* Extract cookies from an HTTP response and store them in the CookieJar.
|
36 |
* @param RequestInterface $request Request that was sent
|
37 |
* @param ResponseInterface $response Response that was received
|
38 |
*/
|
39 |
+
public function extractCookies(RequestInterface $request, ResponseInterface $response): void;
|
|
|
|
|
|
|
40 |
|
41 |
/**
|
42 |
* Sets a cookie in the cookie jar.
|
45 |
*
|
46 |
* @return bool Returns true on success or false on failure
|
47 |
*/
|
48 |
+
public function setCookie(SetCookie $cookie): bool;
|
49 |
|
50 |
/**
|
51 |
* Remove cookies currently held in the cookie jar.
|
60 |
* @param string|null $domain Clears cookies matching a domain
|
61 |
* @param string|null $path Clears cookies matching a domain and path
|
62 |
* @param string|null $name Clears cookies matching a domain, path, and name
|
|
|
|
|
63 |
*/
|
64 |
+
public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
|
65 |
|
66 |
/**
|
67 |
* Discard all sessions cookies.
|
70 |
* field set to true. To be called when the user agent shuts down according
|
71 |
* to RFC 2965.
|
72 |
*/
|
73 |
+
public function clearSessionCookies(): void;
|
74 |
|
75 |
/**
|
76 |
* Converts the cookie jar to an array.
|
|
|
|
|
77 |
*/
|
78 |
+
public function toArray(): array;
|
79 |
}
|
vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
CHANGED
@@ -1,33 +1,40 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Cookie;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Persists non-session cookies using a JSON formatted file
|
6 |
*/
|
7 |
class FileCookieJar extends CookieJar
|
8 |
{
|
9 |
-
/**
|
|
|
|
|
10 |
private $filename;
|
11 |
|
12 |
-
/**
|
|
|
|
|
13 |
private $storeSessionCookies;
|
14 |
|
15 |
/**
|
16 |
* Create a new FileCookieJar object
|
17 |
*
|
18 |
-
* @param string $cookieFile
|
19 |
-
* @param bool
|
20 |
-
*
|
21 |
*
|
22 |
* @throws \RuntimeException if the file cannot be found or created
|
23 |
*/
|
24 |
-
public function __construct($cookieFile, $storeSessionCookies = false)
|
25 |
{
|
26 |
parent::__construct();
|
27 |
$this->filename = $cookieFile;
|
28 |
$this->storeSessionCookies = $storeSessionCookies;
|
29 |
|
30 |
-
if (file_exists($cookieFile)) {
|
31 |
$this->load($cookieFile);
|
32 |
}
|
33 |
}
|
@@ -44,20 +51,21 @@ class FileCookieJar extends CookieJar
|
|
44 |
* Saves the cookies to a file.
|
45 |
*
|
46 |
* @param string $filename File to save
|
|
|
47 |
* @throws \RuntimeException if the file cannot be found or created
|
48 |
*/
|
49 |
-
public function save($filename)
|
50 |
{
|
51 |
$json = [];
|
|
|
52 |
foreach ($this as $cookie) {
|
53 |
-
/** @var SetCookie $cookie */
|
54 |
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
|
55 |
$json[] = $cookie->toArray();
|
56 |
}
|
57 |
}
|
58 |
|
59 |
-
$jsonStr =
|
60 |
-
if (false === file_put_contents($filename, $jsonStr, LOCK_EX)) {
|
61 |
throw new \RuntimeException("Unable to save file {$filename}");
|
62 |
}
|
63 |
}
|
@@ -68,23 +76,25 @@ class FileCookieJar extends CookieJar
|
|
68 |
* Old cookies are kept unless overwritten by newly loaded ones.
|
69 |
*
|
70 |
* @param string $filename Cookie file to load.
|
|
|
71 |
* @throws \RuntimeException if the file cannot be loaded.
|
72 |
*/
|
73 |
-
public function load($filename)
|
74 |
{
|
75 |
-
$json = file_get_contents($filename);
|
76 |
if (false === $json) {
|
77 |
throw new \RuntimeException("Unable to load file {$filename}");
|
78 |
-
}
|
|
|
79 |
return;
|
80 |
}
|
81 |
|
82 |
-
$data =
|
83 |
-
if (is_array($data)) {
|
84 |
-
foreach (
|
85 |
$this->setCookie(new SetCookie($cookie));
|
86 |
}
|
87 |
-
} elseif (
|
88 |
throw new \RuntimeException("Invalid cookie file: {$filename}");
|
89 |
}
|
90 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Cookie;
|
4 |
|
5 |
+
use GuzzleHttp\Utils;
|
6 |
+
|
7 |
/**
|
8 |
* Persists non-session cookies using a JSON formatted file
|
9 |
*/
|
10 |
class FileCookieJar extends CookieJar
|
11 |
{
|
12 |
+
/**
|
13 |
+
* @var string filename
|
14 |
+
*/
|
15 |
private $filename;
|
16 |
|
17 |
+
/**
|
18 |
+
* @var bool Control whether to persist session cookies or not.
|
19 |
+
*/
|
20 |
private $storeSessionCookies;
|
21 |
|
22 |
/**
|
23 |
* Create a new FileCookieJar object
|
24 |
*
|
25 |
+
* @param string $cookieFile File to store the cookie data
|
26 |
+
* @param bool $storeSessionCookies Set to true to store session cookies
|
27 |
+
* in the cookie jar.
|
28 |
*
|
29 |
* @throws \RuntimeException if the file cannot be found or created
|
30 |
*/
|
31 |
+
public function __construct(string $cookieFile, bool $storeSessionCookies = false)
|
32 |
{
|
33 |
parent::__construct();
|
34 |
$this->filename = $cookieFile;
|
35 |
$this->storeSessionCookies = $storeSessionCookies;
|
36 |
|
37 |
+
if (\file_exists($cookieFile)) {
|
38 |
$this->load($cookieFile);
|
39 |
}
|
40 |
}
|
51 |
* Saves the cookies to a file.
|
52 |
*
|
53 |
* @param string $filename File to save
|
54 |
+
*
|
55 |
* @throws \RuntimeException if the file cannot be found or created
|
56 |
*/
|
57 |
+
public function save(string $filename): void
|
58 |
{
|
59 |
$json = [];
|
60 |
+
/** @var SetCookie $cookie */
|
61 |
foreach ($this as $cookie) {
|
|
|
62 |
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
|
63 |
$json[] = $cookie->toArray();
|
64 |
}
|
65 |
}
|
66 |
|
67 |
+
$jsonStr = Utils::jsonEncode($json);
|
68 |
+
if (false === \file_put_contents($filename, $jsonStr, \LOCK_EX)) {
|
69 |
throw new \RuntimeException("Unable to save file {$filename}");
|
70 |
}
|
71 |
}
|
76 |
* Old cookies are kept unless overwritten by newly loaded ones.
|
77 |
*
|
78 |
* @param string $filename Cookie file to load.
|
79 |
+
*
|
80 |
* @throws \RuntimeException if the file cannot be loaded.
|
81 |
*/
|
82 |
+
public function load(string $filename): void
|
83 |
{
|
84 |
+
$json = \file_get_contents($filename);
|
85 |
if (false === $json) {
|
86 |
throw new \RuntimeException("Unable to load file {$filename}");
|
87 |
+
}
|
88 |
+
if ($json === '') {
|
89 |
return;
|
90 |
}
|
91 |
|
92 |
+
$data = Utils::jsonDecode($json, true);
|
93 |
+
if (\is_array($data)) {
|
94 |
+
foreach ($data as $cookie) {
|
95 |
$this->setCookie(new SetCookie($cookie));
|
96 |
}
|
97 |
+
} elseif (\is_scalar($data) && !empty($data)) {
|
98 |
throw new \RuntimeException("Invalid cookie file: {$filename}");
|
99 |
}
|
100 |
}
|
vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Cookie;
|
3 |
|
4 |
/**
|
@@ -6,21 +7,25 @@ namespace GuzzleHttp\Cookie;
|
|
6 |
*/
|
7 |
class SessionCookieJar extends CookieJar
|
8 |
{
|
9 |
-
/**
|
|
|
|
|
10 |
private $sessionKey;
|
11 |
-
|
12 |
-
/**
|
|
|
|
|
13 |
private $storeSessionCookies;
|
14 |
|
15 |
/**
|
16 |
* Create a new SessionCookieJar object
|
17 |
*
|
18 |
-
* @param string $sessionKey
|
19 |
-
*
|
20 |
-
* @param bool
|
21 |
-
*
|
22 |
*/
|
23 |
-
public function __construct($sessionKey, $storeSessionCookies = false)
|
24 |
{
|
25 |
parent::__construct();
|
26 |
$this->sessionKey = $sessionKey;
|
@@ -39,33 +44,33 @@ class SessionCookieJar extends CookieJar
|
|
39 |
/**
|
40 |
* Save cookies to the client session
|
41 |
*/
|
42 |
-
public function save()
|
43 |
{
|
44 |
$json = [];
|
|
|
45 |
foreach ($this as $cookie) {
|
46 |
-
/** @var SetCookie $cookie */
|
47 |
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
|
48 |
$json[] = $cookie->toArray();
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
$_SESSION[$this->sessionKey] = json_encode($json);
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* Load the contents of the client session into the data array
|
57 |
*/
|
58 |
-
protected function load()
|
59 |
{
|
60 |
if (!isset($_SESSION[$this->sessionKey])) {
|
61 |
return;
|
62 |
}
|
63 |
-
$data = json_decode($_SESSION[$this->sessionKey], true);
|
64 |
-
if (is_array($data)) {
|
65 |
foreach ($data as $cookie) {
|
66 |
$this->setCookie(new SetCookie($cookie));
|
67 |
}
|
68 |
-
} elseif (strlen($data)) {
|
69 |
throw new \RuntimeException("Invalid cookie data");
|
70 |
}
|
71 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Cookie;
|
4 |
|
5 |
/**
|
7 |
*/
|
8 |
class SessionCookieJar extends CookieJar
|
9 |
{
|
10 |
+
/**
|
11 |
+
* @var string session key
|
12 |
+
*/
|
13 |
private $sessionKey;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var bool Control whether to persist session cookies or not.
|
17 |
+
*/
|
18 |
private $storeSessionCookies;
|
19 |
|
20 |
/**
|
21 |
* Create a new SessionCookieJar object
|
22 |
*
|
23 |
+
* @param string $sessionKey Session key name to store the cookie
|
24 |
+
* data in session
|
25 |
+
* @param bool $storeSessionCookies Set to true to store session cookies
|
26 |
+
* in the cookie jar.
|
27 |
*/
|
28 |
+
public function __construct(string $sessionKey, bool $storeSessionCookies = false)
|
29 |
{
|
30 |
parent::__construct();
|
31 |
$this->sessionKey = $sessionKey;
|
44 |
/**
|
45 |
* Save cookies to the client session
|
46 |
*/
|
47 |
+
public function save(): void
|
48 |
{
|
49 |
$json = [];
|
50 |
+
/** @var SetCookie $cookie */
|
51 |
foreach ($this as $cookie) {
|
|
|
52 |
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
|
53 |
$json[] = $cookie->toArray();
|
54 |
}
|
55 |
}
|
56 |
|
57 |
+
$_SESSION[$this->sessionKey] = \json_encode($json);
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* Load the contents of the client session into the data array
|
62 |
*/
|
63 |
+
protected function load(): void
|
64 |
{
|
65 |
if (!isset($_SESSION[$this->sessionKey])) {
|
66 |
return;
|
67 |
}
|
68 |
+
$data = \json_decode($_SESSION[$this->sessionKey], true);
|
69 |
+
if (\is_array($data)) {
|
70 |
foreach ($data as $cookie) {
|
71 |
$this->setCookie(new SetCookie($cookie));
|
72 |
}
|
73 |
+
} elseif (\strlen($data)) {
|
74 |
throw new \RuntimeException("Invalid cookie data");
|
75 |
}
|
76 |
}
|
vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Cookie;
|
3 |
|
4 |
/**
|
@@ -6,7 +7,9 @@ namespace GuzzleHttp\Cookie;
|
|
6 |
*/
|
7 |
class SetCookie
|
8 |
{
|
9 |
-
/**
|
|
|
|
|
10 |
private static $defaults = [
|
11 |
'Name' => null,
|
12 |
'Value' => null,
|
@@ -19,42 +22,42 @@ class SetCookie
|
|
19 |
'HttpOnly' => false
|
20 |
];
|
21 |
|
22 |
-
/**
|
|
|
|
|
23 |
private $data;
|
24 |
|
25 |
/**
|
26 |
-
* Create a new SetCookie object from a string
|
27 |
*
|
28 |
* @param string $cookie Set-Cookie header string
|
29 |
-
*
|
30 |
-
* @return self
|
31 |
*/
|
32 |
-
public static function fromString($cookie)
|
33 |
{
|
34 |
// Create the default return array
|
35 |
$data = self::$defaults;
|
36 |
// Explode the cookie string using a series of semicolons
|
37 |
-
$pieces = array_filter(array_map('trim', explode(';', $cookie)));
|
38 |
// The name of the cookie (first kvp) must exist and include an equal sign.
|
39 |
-
if (
|
40 |
return new self($data);
|
41 |
}
|
42 |
|
43 |
// Add the cookie pieces into the parsed data array
|
44 |
foreach ($pieces as $part) {
|
45 |
-
$cookieParts = explode('=', $part, 2);
|
46 |
-
$key = trim($cookieParts[0]);
|
47 |
$value = isset($cookieParts[1])
|
48 |
-
? trim($cookieParts[1], " \n\r\t\0\x0B")
|
49 |
: true;
|
50 |
|
51 |
// Only check for non-cookies when cookies have been found
|
52 |
-
if (
|
53 |
$data['Name'] = $key;
|
54 |
$data['Value'] = $value;
|
55 |
} else {
|
56 |
-
foreach (array_keys(self::$defaults) as $search) {
|
57 |
-
if (
|
58 |
$data[$search] = $value;
|
59 |
continue 2;
|
60 |
}
|
@@ -71,39 +74,45 @@ class SetCookie
|
|
71 |
*/
|
72 |
public function __construct(array $data = [])
|
73 |
{
|
74 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
// Extract the Expires value and turn it into a UNIX timestamp if needed
|
76 |
if (!$this->getExpires() && $this->getMaxAge()) {
|
77 |
// Calculate the Expires date
|
78 |
-
$this->setExpires(time() + $this->getMaxAge());
|
79 |
-
} elseif ($this->getExpires() &&
|
80 |
-
$this->setExpires($
|
81 |
}
|
82 |
}
|
83 |
|
84 |
public function __toString()
|
85 |
{
|
86 |
-
$str = $this->data['Name'] . '=' . $this->data['Value'] . '; ';
|
87 |
foreach ($this->data as $k => $v) {
|
88 |
if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) {
|
89 |
if ($k === 'Expires') {
|
90 |
-
$str .= 'Expires=' . gmdate('D, d M Y H:i:s \G\M\T', $v) . '; ';
|
91 |
} else {
|
92 |
$str .= ($v === true ? $k : "{$k}={$v}") . '; ';
|
93 |
}
|
94 |
}
|
95 |
}
|
96 |
|
97 |
-
return rtrim($str, '; ');
|
98 |
}
|
99 |
|
100 |
-
public function toArray()
|
101 |
{
|
102 |
return $this->data;
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
-
* Get the cookie name
|
107 |
*
|
108 |
* @return string
|
109 |
*/
|
@@ -113,19 +122,23 @@ class SetCookie
|
|
113 |
}
|
114 |
|
115 |
/**
|
116 |
-
* Set the cookie name
|
117 |
*
|
118 |
* @param string $name Cookie name
|
119 |
*/
|
120 |
-
public function setName($name)
|
121 |
{
|
122 |
-
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
|
125 |
/**
|
126 |
-
* Get the cookie value
|
127 |
*
|
128 |
-
* @return string
|
129 |
*/
|
130 |
public function getValue()
|
131 |
{
|
@@ -133,17 +146,21 @@ class SetCookie
|
|
133 |
}
|
134 |
|
135 |
/**
|
136 |
-
* Set the cookie value
|
137 |
*
|
138 |
* @param string $value Cookie value
|
139 |
*/
|
140 |
-
public function setValue($value)
|
141 |
{
|
142 |
-
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
|
145 |
/**
|
146 |
-
* Get the domain
|
147 |
*
|
148 |
* @return string|null
|
149 |
*/
|
@@ -153,17 +170,21 @@ class SetCookie
|
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
-
* Set the domain of the cookie
|
157 |
*
|
158 |
-
* @param string $domain
|
159 |
*/
|
160 |
-
public function setDomain($domain)
|
161 |
{
|
162 |
-
$
|
|
|
|
|
|
|
|
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
-
* Get the path
|
167 |
*
|
168 |
* @return string
|
169 |
*/
|
@@ -173,39 +194,47 @@ class SetCookie
|
|
173 |
}
|
174 |
|
175 |
/**
|
176 |
-
* Set the path of the cookie
|
177 |
*
|
178 |
* @param string $path Path of the cookie
|
179 |
*/
|
180 |
-
public function setPath($path)
|
181 |
{
|
182 |
-
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
|
185 |
/**
|
186 |
-
* Maximum lifetime of the cookie in seconds
|
187 |
*
|
188 |
* @return int|null
|
189 |
*/
|
190 |
public function getMaxAge()
|
191 |
{
|
192 |
-
return $this->data['Max-Age'];
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
-
* Set the max-age of the cookie
|
197 |
*
|
198 |
-
* @param int $maxAge Max age of the cookie in seconds
|
199 |
*/
|
200 |
-
public function setMaxAge($maxAge)
|
201 |
{
|
202 |
-
$
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
|
205 |
/**
|
206 |
-
* The UNIX timestamp when the cookie Expires
|
207 |
*
|
208 |
-
* @return
|
209 |
*/
|
210 |
public function getExpires()
|
211 |
{
|
@@ -213,21 +242,23 @@ class SetCookie
|
|
213 |
}
|
214 |
|
215 |
/**
|
216 |
-
* Set the unix timestamp for which the cookie will expire
|
217 |
*
|
218 |
-
* @param int $timestamp Unix timestamp
|
219 |
*/
|
220 |
-
public function setExpires($timestamp)
|
221 |
{
|
222 |
-
$
|
223 |
-
|
224 |
-
|
|
|
|
|
225 |
}
|
226 |
|
227 |
/**
|
228 |
-
* Get whether or not this is a secure cookie
|
229 |
*
|
230 |
-
* @return bool
|
231 |
*/
|
232 |
public function getSecure()
|
233 |
{
|
@@ -235,17 +266,21 @@ class SetCookie
|
|
235 |
}
|
236 |
|
237 |
/**
|
238 |
-
* Set whether or not the cookie is secure
|
239 |
*
|
240 |
* @param bool $secure Set to true or false if secure
|
241 |
*/
|
242 |
-
public function setSecure($secure)
|
243 |
{
|
244 |
-
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
-
* Get whether or not this is a session cookie
|
249 |
*
|
250 |
* @return bool|null
|
251 |
*/
|
@@ -255,17 +290,21 @@ class SetCookie
|
|
255 |
}
|
256 |
|
257 |
/**
|
258 |
-
* Set whether or not this is a session cookie
|
259 |
*
|
260 |
* @param bool $discard Set to true or false if this is a session cookie
|
261 |
*/
|
262 |
-
public function setDiscard($discard)
|
263 |
{
|
264 |
-
|
|
|
|
|
|
|
|
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
-
* Get whether or not this is an HTTP only cookie
|
269 |
*
|
270 |
* @return bool
|
271 |
*/
|
@@ -275,13 +314,17 @@ class SetCookie
|
|
275 |
}
|
276 |
|
277 |
/**
|
278 |
-
* Set whether or not this is an HTTP only cookie
|
279 |
*
|
280 |
* @param bool $httpOnly Set to true or false if this is HTTP only
|
281 |
*/
|
282 |
-
public function setHttpOnly($httpOnly)
|
283 |
{
|
284 |
-
|
|
|
|
|
|
|
|
|
285 |
}
|
286 |
|
287 |
/**
|
@@ -298,10 +341,8 @@ class SetCookie
|
|
298 |
* path is a %x2F ("/") character.
|
299 |
*
|
300 |
* @param string $requestPath Path to check against
|
301 |
-
*
|
302 |
-
* @return bool
|
303 |
*/
|
304 |
-
public function matchesPath($requestPath)
|
305 |
{
|
306 |
$cookiePath = $this->getPath();
|
307 |
|
@@ -311,27 +352,25 @@ class SetCookie
|
|
311 |
}
|
312 |
|
313 |
// Ensure that the cookie-path is a prefix of the request path.
|
314 |
-
if (0 !== strpos($requestPath, $cookiePath)) {
|
315 |
return false;
|
316 |
}
|
317 |
|
318 |
// Match if the last character of the cookie-path is "/"
|
319 |
-
if (substr($cookiePath, -1, 1) === '/') {
|
320 |
return true;
|
321 |
}
|
322 |
|
323 |
// Match if the first character not included in cookie path is "/"
|
324 |
-
return substr($requestPath, strlen($cookiePath), 1) === '/';
|
325 |
}
|
326 |
|
327 |
/**
|
328 |
-
* Check if the cookie matches a domain value
|
329 |
*
|
330 |
* @param string $domain Domain to check against
|
331 |
-
*
|
332 |
-
* @return bool
|
333 |
*/
|
334 |
-
public function matchesDomain($domain)
|
335 |
{
|
336 |
$cookieDomain = $this->getDomain();
|
337 |
if (null === $cookieDomain) {
|
@@ -339,10 +378,10 @@ class SetCookie
|
|
339 |
}
|
340 |
|
341 |
// Remove the leading '.' as per spec in RFC 6265.
|
342 |
-
//
|
343 |
-
$cookieDomain = ltrim(strtolower($cookieDomain), '.');
|
344 |
|
345 |
-
$domain = strtolower($domain);
|
346 |
|
347 |
// Domain not set or exact match.
|
348 |
if ('' === $cookieDomain || $domain === $cookieDomain) {
|
@@ -350,39 +389,36 @@ class SetCookie
|
|
350 |
}
|
351 |
|
352 |
// Matching the subdomain according to RFC 6265.
|
353 |
-
//
|
354 |
-
if (filter_var($domain, FILTER_VALIDATE_IP)) {
|
355 |
return false;
|
356 |
}
|
357 |
|
358 |
-
return (bool) preg_match('/\.' . preg_quote($cookieDomain, '/') . '$/', $domain);
|
359 |
}
|
360 |
|
361 |
/**
|
362 |
-
* Check if the cookie is expired
|
363 |
-
*
|
364 |
-
* @return bool
|
365 |
*/
|
366 |
-
public function isExpired()
|
367 |
{
|
368 |
-
return $this->getExpires() !== null && time() > $this->getExpires();
|
369 |
}
|
370 |
|
371 |
/**
|
372 |
-
* Check if the cookie is valid according to RFC 6265
|
373 |
*
|
374 |
* @return bool|string Returns true if valid or an error message if invalid
|
375 |
*/
|
376 |
public function validate()
|
377 |
{
|
378 |
-
// Names must not be empty, but can be 0
|
379 |
$name = $this->getName();
|
380 |
-
if (
|
381 |
return 'The cookie name must not be empty';
|
382 |
}
|
383 |
|
384 |
// Check if any of the invalid characters are present in the cookie name
|
385 |
-
if (preg_match(
|
386 |
'/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/',
|
387 |
$name
|
388 |
)) {
|
@@ -391,17 +427,17 @@ class SetCookie
|
|
391 |
. 'following characters: ()<>@,;:\"/?={}';
|
392 |
}
|
393 |
|
394 |
-
// Value must not be empty
|
|
|
395 |
$value = $this->getValue();
|
396 |
-
if (
|
397 |
return 'The cookie value must not be empty';
|
398 |
}
|
399 |
|
400 |
-
// Domains must not be empty, but can be 0
|
401 |
-
//
|
402 |
-
// in a private network.
|
403 |
$domain = $this->getDomain();
|
404 |
-
if (
|
405 |
return 'The cookie domain must not be empty';
|
406 |
}
|
407 |
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Cookie;
|
4 |
|
5 |
/**
|
7 |
*/
|
8 |
class SetCookie
|
9 |
{
|
10 |
+
/**
|
11 |
+
* @var array
|
12 |
+
*/
|
13 |
private static $defaults = [
|
14 |
'Name' => null,
|
15 |
'Value' => null,
|
22 |
'HttpOnly' => false
|
23 |
];
|
24 |
|
25 |
+
/**
|
26 |
+
* @var array Cookie data
|
27 |
+
*/
|
28 |
private $data;
|
29 |
|
30 |
/**
|
31 |
+
* Create a new SetCookie object from a string.
|
32 |
*
|
33 |
* @param string $cookie Set-Cookie header string
|
|
|
|
|
34 |
*/
|
35 |
+
public static function fromString(string $cookie): self
|
36 |
{
|
37 |
// Create the default return array
|
38 |
$data = self::$defaults;
|
39 |
// Explode the cookie string using a series of semicolons
|
40 |
+
$pieces = \array_filter(\array_map('trim', \explode(';', $cookie)));
|
41 |
// The name of the cookie (first kvp) must exist and include an equal sign.
|
42 |
+
if (!isset($pieces[0]) || \strpos($pieces[0], '=') === false) {
|
43 |
return new self($data);
|
44 |
}
|
45 |
|
46 |
// Add the cookie pieces into the parsed data array
|
47 |
foreach ($pieces as $part) {
|
48 |
+
$cookieParts = \explode('=', $part, 2);
|
49 |
+
$key = \trim($cookieParts[0]);
|
50 |
$value = isset($cookieParts[1])
|
51 |
+
? \trim($cookieParts[1], " \n\r\t\0\x0B")
|
52 |
: true;
|
53 |
|
54 |
// Only check for non-cookies when cookies have been found
|
55 |
+
if (!isset($data['Name'])) {
|
56 |
$data['Name'] = $key;
|
57 |
$data['Value'] = $value;
|
58 |
} else {
|
59 |
+
foreach (\array_keys(self::$defaults) as $search) {
|
60 |
+
if (!\strcasecmp($search, $key)) {
|
61 |
$data[$search] = $value;
|
62 |
continue 2;
|
63 |
}
|
74 |
*/
|
75 |
public function __construct(array $data = [])
|
76 |
{
|
77 |
+
/** @var array|null $replaced will be null in case of replace error */
|
78 |
+
$replaced = \array_replace(self::$defaults, $data);
|
79 |
+
if ($replaced === null) {
|
80 |
+
throw new \InvalidArgumentException('Unable to replace the default values for the Cookie.');
|
81 |
+
}
|
82 |
+
|
83 |
+
$this->data = $replaced;
|
84 |
// Extract the Expires value and turn it into a UNIX timestamp if needed
|
85 |
if (!$this->getExpires() && $this->getMaxAge()) {
|
86 |
// Calculate the Expires date
|
87 |
+
$this->setExpires(\time() + $this->getMaxAge());
|
88 |
+
} elseif (null !== ($expires = $this->getExpires()) && !\is_numeric($expires)) {
|
89 |
+
$this->setExpires($expires);
|
90 |
}
|
91 |
}
|
92 |
|
93 |
public function __toString()
|
94 |
{
|
95 |
+
$str = $this->data['Name'] . '=' . ($this->data['Value'] ?? '') . '; ';
|
96 |
foreach ($this->data as $k => $v) {
|
97 |
if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) {
|
98 |
if ($k === 'Expires') {
|
99 |
+
$str .= 'Expires=' . \gmdate('D, d M Y H:i:s \G\M\T', $v) . '; ';
|
100 |
} else {
|
101 |
$str .= ($v === true ? $k : "{$k}={$v}") . '; ';
|
102 |
}
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
return \rtrim($str, '; ');
|
107 |
}
|
108 |
|
109 |
+
public function toArray(): array
|
110 |
{
|
111 |
return $this->data;
|
112 |
}
|
113 |
|
114 |
/**
|
115 |
+
* Get the cookie name.
|
116 |
*
|
117 |
* @return string
|
118 |
*/
|
122 |
}
|
123 |
|
124 |
/**
|
125 |
+
* Set the cookie name.
|
126 |
*
|
127 |
* @param string $name Cookie name
|
128 |
*/
|
129 |
+
public function setName($name): void
|
130 |
{
|
131 |
+
if (!is_string($name)) {
|
132 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
133 |
+
}
|
134 |
+
|
135 |
+
$this->data['Name'] = (string) $name;
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
+
* Get the cookie value.
|
140 |
*
|
141 |
+
* @return string|null
|
142 |
*/
|
143 |
public function getValue()
|
144 |
{
|
146 |
}
|
147 |
|
148 |
/**
|
149 |
+
* Set the cookie value.
|
150 |
*
|
151 |
* @param string $value Cookie value
|
152 |
*/
|
153 |
+
public function setValue($value): void
|
154 |
{
|
155 |
+
if (!is_string($value)) {
|
156 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
157 |
+
}
|
158 |
+
|
159 |
+
$this->data['Value'] = (string) $value;
|
160 |
}
|
161 |
|
162 |
/**
|
163 |
+
* Get the domain.
|
164 |
*
|
165 |
* @return string|null
|
166 |
*/
|
170 |
}
|
171 |
|
172 |
/**
|
173 |
+
* Set the domain of the cookie.
|
174 |
*
|
175 |
+
* @param string|null $domain
|
176 |
*/
|
177 |
+
public function setDomain($domain): void
|
178 |
{
|
179 |
+
if (!is_string($domain) && null !== $domain) {
|
180 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
181 |
+
}
|
182 |
+
|
183 |
+
$this->data['Domain'] = null === $domain ? null : (string) $domain;
|
184 |
}
|
185 |
|
186 |
/**
|
187 |
+
* Get the path.
|
188 |
*
|
189 |
* @return string
|
190 |
*/
|
194 |
}
|
195 |
|
196 |
/**
|
197 |
+
* Set the path of the cookie.
|
198 |
*
|
199 |
* @param string $path Path of the cookie
|
200 |
*/
|
201 |
+
public function setPath($path): void
|
202 |
{
|
203 |
+
if (!is_string($path)) {
|
204 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
205 |
+
}
|
206 |
+
|
207 |
+
$this->data['Path'] = (string) $path;
|
208 |
}
|
209 |
|
210 |
/**
|
211 |
+
* Maximum lifetime of the cookie in seconds.
|
212 |
*
|
213 |
* @return int|null
|
214 |
*/
|
215 |
public function getMaxAge()
|
216 |
{
|
217 |
+
return null === $this->data['Max-Age'] ? null : (int) $this->data['Max-Age'];
|
218 |
}
|
219 |
|
220 |
/**
|
221 |
+
* Set the max-age of the cookie.
|
222 |
*
|
223 |
+
* @param int|null $maxAge Max age of the cookie in seconds
|
224 |
*/
|
225 |
+
public function setMaxAge($maxAge): void
|
226 |
{
|
227 |
+
if (!is_int($maxAge) && null !== $maxAge) {
|
228 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
229 |
+
}
|
230 |
+
|
231 |
+
$this->data['Max-Age'] = $maxAge === null ? null : (int) $maxAge;
|
232 |
}
|
233 |
|
234 |
/**
|
235 |
+
* The UNIX timestamp when the cookie Expires.
|
236 |
*
|
237 |
+
* @return string|int|null
|
238 |
*/
|
239 |
public function getExpires()
|
240 |
{
|
242 |
}
|
243 |
|
244 |
/**
|
245 |
+
* Set the unix timestamp for which the cookie will expire.
|
246 |
*
|
247 |
+
* @param int|string|null $timestamp Unix timestamp or any English textual datetime description.
|
248 |
*/
|
249 |
+
public function setExpires($timestamp): void
|
250 |
{
|
251 |
+
if (!is_int($timestamp) && !is_string($timestamp) && null !== $timestamp) {
|
252 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int, string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
253 |
+
}
|
254 |
+
|
255 |
+
$this->data['Expires'] = null === $timestamp ? null : (\is_numeric($timestamp) ? (int) $timestamp : \strtotime((string) $timestamp));
|
256 |
}
|
257 |
|
258 |
/**
|
259 |
+
* Get whether or not this is a secure cookie.
|
260 |
*
|
261 |
+
* @return bool
|
262 |
*/
|
263 |
public function getSecure()
|
264 |
{
|
266 |
}
|
267 |
|
268 |
/**
|
269 |
+
* Set whether or not the cookie is secure.
|
270 |
*
|
271 |
* @param bool $secure Set to true or false if secure
|
272 |
*/
|
273 |
+
public function setSecure($secure): void
|
274 |
{
|
275 |
+
if (!is_bool($secure)) {
|
276 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
277 |
+
}
|
278 |
+
|
279 |
+
$this->data['Secure'] = (bool) $secure;
|
280 |
}
|
281 |
|
282 |
/**
|
283 |
+
* Get whether or not this is a session cookie.
|
284 |
*
|
285 |
* @return bool|null
|
286 |
*/
|
290 |
}
|
291 |
|
292 |
/**
|
293 |
+
* Set whether or not this is a session cookie.
|
294 |
*
|
295 |
* @param bool $discard Set to true or false if this is a session cookie
|
296 |
*/
|
297 |
+
public function setDiscard($discard): void
|
298 |
{
|
299 |
+
if (!is_bool($discard)) {
|
300 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
301 |
+
}
|
302 |
+
|
303 |
+
$this->data['Discard'] = (bool) $discard;
|
304 |
}
|
305 |
|
306 |
/**
|
307 |
+
* Get whether or not this is an HTTP only cookie.
|
308 |
*
|
309 |
* @return bool
|
310 |
*/
|
314 |
}
|
315 |
|
316 |
/**
|
317 |
+
* Set whether or not this is an HTTP only cookie.
|
318 |
*
|
319 |
* @param bool $httpOnly Set to true or false if this is HTTP only
|
320 |
*/
|
321 |
+
public function setHttpOnly($httpOnly): void
|
322 |
{
|
323 |
+
if (!is_bool($httpOnly)) {
|
324 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
325 |
+
}
|
326 |
+
|
327 |
+
$this->data['HttpOnly'] = (bool) $httpOnly;
|
328 |
}
|
329 |
|
330 |
/**
|
341 |
* path is a %x2F ("/") character.
|
342 |
*
|
343 |
* @param string $requestPath Path to check against
|
|
|
|
|
344 |
*/
|
345 |
+
public function matchesPath(string $requestPath): bool
|
346 |
{
|
347 |
$cookiePath = $this->getPath();
|
348 |
|
352 |
}
|
353 |
|
354 |
// Ensure that the cookie-path is a prefix of the request path.
|
355 |
+
if (0 !== \strpos($requestPath, $cookiePath)) {
|
356 |
return false;
|
357 |
}
|
358 |
|
359 |
// Match if the last character of the cookie-path is "/"
|
360 |
+
if (\substr($cookiePath, -1, 1) === '/') {
|
361 |
return true;
|
362 |
}
|
363 |
|
364 |
// Match if the first character not included in cookie path is "/"
|
365 |
+
return \substr($requestPath, \strlen($cookiePath), 1) === '/';
|
366 |
}
|
367 |
|
368 |
/**
|
369 |
+
* Check if the cookie matches a domain value.
|
370 |
*
|
371 |
* @param string $domain Domain to check against
|
|
|
|
|
372 |
*/
|
373 |
+
public function matchesDomain(string $domain): bool
|
374 |
{
|
375 |
$cookieDomain = $this->getDomain();
|
376 |
if (null === $cookieDomain) {
|
378 |
}
|
379 |
|
380 |
// Remove the leading '.' as per spec in RFC 6265.
|
381 |
+
// https://tools.ietf.org/html/rfc6265#section-5.2.3
|
382 |
+
$cookieDomain = \ltrim(\strtolower($cookieDomain), '.');
|
383 |
|
384 |
+
$domain = \strtolower($domain);
|
385 |
|
386 |
// Domain not set or exact match.
|
387 |
if ('' === $cookieDomain || $domain === $cookieDomain) {
|
389 |
}
|
390 |
|
391 |
// Matching the subdomain according to RFC 6265.
|
392 |
+
// https://tools.ietf.org/html/rfc6265#section-5.1.3
|
393 |
+
if (\filter_var($domain, \FILTER_VALIDATE_IP)) {
|
394 |
return false;
|
395 |
}
|
396 |
|
397 |
+
return (bool) \preg_match('/\.' . \preg_quote($cookieDomain, '/') . '$/', $domain);
|
398 |
}
|
399 |
|
400 |
/**
|
401 |
+
* Check if the cookie is expired.
|
|
|
|
|
402 |
*/
|
403 |
+
public function isExpired(): bool
|
404 |
{
|
405 |
+
return $this->getExpires() !== null && \time() > $this->getExpires();
|
406 |
}
|
407 |
|
408 |
/**
|
409 |
+
* Check if the cookie is valid according to RFC 6265.
|
410 |
*
|
411 |
* @return bool|string Returns true if valid or an error message if invalid
|
412 |
*/
|
413 |
public function validate()
|
414 |
{
|
|
|
415 |
$name = $this->getName();
|
416 |
+
if ($name === '') {
|
417 |
return 'The cookie name must not be empty';
|
418 |
}
|
419 |
|
420 |
// Check if any of the invalid characters are present in the cookie name
|
421 |
+
if (\preg_match(
|
422 |
'/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/',
|
423 |
$name
|
424 |
)) {
|
427 |
. 'following characters: ()<>@,;:\"/?={}';
|
428 |
}
|
429 |
|
430 |
+
// Value must not be null. 0 and empty string are valid. Empty strings
|
431 |
+
// are technically against RFC 6265, but known to happen in the wild.
|
432 |
$value = $this->getValue();
|
433 |
+
if ($value === null) {
|
434 |
return 'The cookie value must not be empty';
|
435 |
}
|
436 |
|
437 |
+
// Domains must not be empty, but can be 0. "0" is not a valid internet
|
438 |
+
// domain, but may be used as server name in a private network.
|
|
|
439 |
$domain = $this->getDomain();
|
440 |
+
if ($domain === null || $domain === '') {
|
441 |
return 'The cookie domain must not be empty';
|
442 |
}
|
443 |
|
vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
use Psr\Http\Message\RequestInterface;
|
@@ -10,18 +11,29 @@ use Psr\Http\Message\ResponseInterface;
|
|
10 |
class BadResponseException extends RequestException
|
11 |
{
|
12 |
public function __construct(
|
13 |
-
$message,
|
14 |
RequestInterface $request,
|
15 |
-
ResponseInterface $response
|
16 |
-
\
|
17 |
array $handlerContext = []
|
18 |
) {
|
19 |
-
if (null === $response) {
|
20 |
-
@trigger_error(
|
21 |
-
'Instantiating the ' . __CLASS__ . ' class without a Response is deprecated since version 6.3 and will be removed in 7.0.',
|
22 |
-
E_USER_DEPRECATED
|
23 |
-
);
|
24 |
-
}
|
25 |
parent::__construct($message, $request, $response, $previous, $handlerContext);
|
26 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
use Psr\Http\Message\RequestInterface;
|
11 |
class BadResponseException extends RequestException
|
12 |
{
|
13 |
public function __construct(
|
14 |
+
string $message,
|
15 |
RequestInterface $request,
|
16 |
+
ResponseInterface $response,
|
17 |
+
\Throwable $previous = null,
|
18 |
array $handlerContext = []
|
19 |
) {
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
parent::__construct($message, $request, $response, $previous, $handlerContext);
|
21 |
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Current exception and the ones that extend it will always have a response.
|
25 |
+
*/
|
26 |
+
public function hasResponse(): bool
|
27 |
+
{
|
28 |
+
return true;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* This function narrows the return type from the parent class and does not allow it to be nullable.
|
33 |
+
*/
|
34 |
+
public function getResponse(): ResponseInterface
|
35 |
+
{
|
36 |
+
/** @var ResponseInterface */
|
37 |
+
return parent::getResponse();
|
38 |
+
}
|
39 |
}
|
vendor/guzzlehttp/guzzle/src/Exception/ClientException.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
/**
|
vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
|
|
4 |
use Psr\Http\Message\RequestInterface;
|
5 |
|
6 |
/**
|
@@ -8,30 +10,47 @@ use Psr\Http\Message\RequestInterface;
|
|
8 |
*
|
9 |
* Note that no response is present for a ConnectException
|
10 |
*/
|
11 |
-
class ConnectException extends
|
12 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
public function __construct(
|
14 |
-
$message,
|
15 |
RequestInterface $request,
|
16 |
-
\
|
17 |
array $handlerContext = []
|
18 |
) {
|
19 |
-
parent::__construct($message,
|
|
|
|
|
20 |
}
|
21 |
|
22 |
/**
|
23 |
-
*
|
24 |
*/
|
25 |
-
public function
|
26 |
{
|
27 |
-
return
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
-
*
|
|
|
|
|
|
|
|
|
|
|
32 |
*/
|
33 |
-
public function
|
34 |
{
|
35 |
-
return
|
36 |
}
|
37 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
+
use Psr\Http\Client\NetworkExceptionInterface;
|
6 |
use Psr\Http\Message\RequestInterface;
|
7 |
|
8 |
/**
|
10 |
*
|
11 |
* Note that no response is present for a ConnectException
|
12 |
*/
|
13 |
+
class ConnectException extends TransferException implements NetworkExceptionInterface
|
14 |
{
|
15 |
+
/**
|
16 |
+
* @var RequestInterface
|
17 |
+
*/
|
18 |
+
private $request;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var array
|
22 |
+
*/
|
23 |
+
private $handlerContext;
|
24 |
+
|
25 |
public function __construct(
|
26 |
+
string $message,
|
27 |
RequestInterface $request,
|
28 |
+
\Throwable $previous = null,
|
29 |
array $handlerContext = []
|
30 |
) {
|
31 |
+
parent::__construct($message, 0, $previous);
|
32 |
+
$this->request = $request;
|
33 |
+
$this->handlerContext = $handlerContext;
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
+
* Get the request that caused the exception
|
38 |
*/
|
39 |
+
public function getRequest(): RequestInterface
|
40 |
{
|
41 |
+
return $this->request;
|
42 |
}
|
43 |
|
44 |
/**
|
45 |
+
* Get contextual information about the error from the underlying handler.
|
46 |
+
*
|
47 |
+
* The contents of this array will vary depending on which handler you are
|
48 |
+
* using. It may also be just an empty array. Relying on this data will
|
49 |
+
* couple you to a specific handler, but can give more debug information
|
50 |
+
* when needed.
|
51 |
*/
|
52 |
+
public function getHandlerContext(): array
|
53 |
{
|
54 |
+
return $this->handlerContext;
|
55 |
}
|
56 |
}
|
vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php
CHANGED
@@ -1,23 +1,9 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
-
use
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
{
|
9 |
-
}
|
10 |
-
} else {
|
11 |
-
/**
|
12 |
-
* @method string getMessage()
|
13 |
-
* @method \Throwable|null getPrevious()
|
14 |
-
* @method mixed getCode()
|
15 |
-
* @method string getFile()
|
16 |
-
* @method int getLine()
|
17 |
-
* @method array getTrace()
|
18 |
-
* @method string getTraceAsString()
|
19 |
-
*/
|
20 |
-
interface GuzzleException
|
21 |
-
{
|
22 |
-
}
|
23 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
+
use Psr\Http\Client\ClientExceptionInterface;
|
6 |
|
7 |
+
interface GuzzleException extends ClientExceptionInterface
|
8 |
+
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
}
|
vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
-
use GuzzleHttp\
|
|
|
|
|
5 |
use Psr\Http\Message\RequestInterface;
|
6 |
use Psr\Http\Message\ResponseInterface;
|
7 |
use Psr\Http\Message\UriInterface;
|
@@ -9,28 +12,32 @@ use Psr\Http\Message\UriInterface;
|
|
9 |
/**
|
10 |
* HTTP Request exception
|
11 |
*/
|
12 |
-
class RequestException extends TransferException
|
13 |
{
|
14 |
-
/**
|
|
|
|
|
15 |
private $request;
|
16 |
|
17 |
-
/**
|
|
|
|
|
18 |
private $response;
|
19 |
|
20 |
-
/**
|
|
|
|
|
21 |
private $handlerContext;
|
22 |
|
23 |
public function __construct(
|
24 |
-
$message,
|
25 |
RequestInterface $request,
|
26 |
ResponseInterface $response = null,
|
27 |
-
\
|
28 |
array $handlerContext = []
|
29 |
) {
|
30 |
// Set the code of the exception if the response is set and not future.
|
31 |
-
$code = $response
|
32 |
-
? $response->getStatusCode()
|
33 |
-
: 0;
|
34 |
parent::__construct($message, $code, $previous);
|
35 |
$this->request = $request;
|
36 |
$this->response = $response;
|
@@ -39,46 +46,39 @@ class RequestException extends TransferException
|
|
39 |
|
40 |
/**
|
41 |
* Wrap non-RequestExceptions with a RequestException
|
42 |
-
*
|
43 |
-
* @param RequestInterface $request
|
44 |
-
* @param \Exception $e
|
45 |
-
*
|
46 |
-
* @return RequestException
|
47 |
*/
|
48 |
-
public static function wrapException(RequestInterface $request, \
|
49 |
{
|
50 |
-
return $e instanceof RequestException
|
51 |
-
? $e
|
52 |
-
: new RequestException($e->getMessage(), $request, null, $e);
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* Factory method to create a new exception with a normalized error message
|
57 |
*
|
58 |
-
* @param RequestInterface
|
59 |
-
* @param ResponseInterface
|
60 |
-
* @param \
|
61 |
-
* @param array
|
62 |
-
*
|
63 |
-
* @return self
|
64 |
*/
|
65 |
public static function create(
|
66 |
RequestInterface $request,
|
67 |
ResponseInterface $response = null,
|
68 |
-
\
|
69 |
-
array $
|
70 |
-
|
|
|
71 |
if (!$response) {
|
72 |
return new self(
|
73 |
'Error completing request',
|
74 |
$request,
|
75 |
null,
|
76 |
$previous,
|
77 |
-
$
|
78 |
);
|
79 |
}
|
80 |
|
81 |
-
$level = (int) floor($response->getStatusCode() / 100);
|
82 |
if ($level === 4) {
|
83 |
$label = 'Client error';
|
84 |
$className = ClientException::class;
|
@@ -95,51 +95,33 @@ class RequestException extends TransferException
|
|
95 |
|
96 |
// Client Error: `GET /` resulted in a `404 Not Found` response:
|
97 |
// <html> ... (truncated)
|
98 |
-
$message = sprintf(
|
99 |
'%s: `%s %s` resulted in a `%s %s` response',
|
100 |
$label,
|
101 |
$request->getMethod(),
|
102 |
-
$uri,
|
103 |
$response->getStatusCode(),
|
104 |
$response->getReasonPhrase()
|
105 |
);
|
106 |
|
107 |
-
$summary =
|
108 |
|
109 |
if ($summary !== null) {
|
110 |
$message .= ":\n{$summary}\n";
|
111 |
}
|
112 |
|
113 |
-
return new $className($message, $request, $response, $previous, $
|
114 |
-
}
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Get a short summary of the response
|
118 |
-
*
|
119 |
-
* Will return `null` if the response is not printable.
|
120 |
-
*
|
121 |
-
* @param ResponseInterface $response
|
122 |
-
*
|
123 |
-
* @return string|null
|
124 |
-
*/
|
125 |
-
public static function getResponseBodySummary(ResponseInterface $response)
|
126 |
-
{
|
127 |
-
return \GuzzleHttp\Psr7\get_message_body_summary($response);
|
128 |
}
|
129 |
|
130 |
/**
|
131 |
* Obfuscates URI if there is a username and a password present
|
132 |
-
*
|
133 |
-
* @param UriInterface $uri
|
134 |
-
*
|
135 |
-
* @return UriInterface
|
136 |
*/
|
137 |
-
private static function obfuscateUri(UriInterface $uri)
|
138 |
{
|
139 |
$userInfo = $uri->getUserInfo();
|
140 |
|
141 |
-
if (false !== ($pos = strpos($userInfo, ':'))) {
|
142 |
-
return $uri->withUserInfo(substr($userInfo, 0, $pos), '***');
|
143 |
}
|
144 |
|
145 |
return $uri;
|
@@ -147,30 +129,24 @@ class RequestException extends TransferException
|
|
147 |
|
148 |
/**
|
149 |
* Get the request that caused the exception
|
150 |
-
*
|
151 |
-
* @return RequestInterface
|
152 |
*/
|
153 |
-
public function getRequest()
|
154 |
{
|
155 |
return $this->request;
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
* Get the associated response
|
160 |
-
*
|
161 |
-
* @return ResponseInterface|null
|
162 |
*/
|
163 |
-
public function getResponse()
|
164 |
{
|
165 |
return $this->response;
|
166 |
}
|
167 |
|
168 |
/**
|
169 |
* Check if a response was received
|
170 |
-
*
|
171 |
-
* @return bool
|
172 |
*/
|
173 |
-
public function hasResponse()
|
174 |
{
|
175 |
return $this->response !== null;
|
176 |
}
|
@@ -182,10 +158,8 @@ class RequestException extends TransferException
|
|
182 |
* using. It may also be just an empty array. Relying on this data will
|
183 |
* couple you to a specific handler, but can give more debug information
|
184 |
* when needed.
|
185 |
-
*
|
186 |
-
* @return array
|
187 |
*/
|
188 |
-
public function getHandlerContext()
|
189 |
{
|
190 |
return $this->handlerContext;
|
191 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
+
use GuzzleHttp\BodySummarizer;
|
6 |
+
use GuzzleHttp\BodySummarizerInterface;
|
7 |
+
use Psr\Http\Client\RequestExceptionInterface;
|
8 |
use Psr\Http\Message\RequestInterface;
|
9 |
use Psr\Http\Message\ResponseInterface;
|
10 |
use Psr\Http\Message\UriInterface;
|
12 |
/**
|
13 |
* HTTP Request exception
|
14 |
*/
|
15 |
+
class RequestException extends TransferException implements RequestExceptionInterface
|
16 |
{
|
17 |
+
/**
|
18 |
+
* @var RequestInterface
|
19 |
+
*/
|
20 |
private $request;
|
21 |
|
22 |
+
/**
|
23 |
+
* @var ResponseInterface|null
|
24 |
+
*/
|
25 |
private $response;
|
26 |
|
27 |
+
/**
|
28 |
+
* @var array
|
29 |
+
*/
|
30 |
private $handlerContext;
|
31 |
|
32 |
public function __construct(
|
33 |
+
string $message,
|
34 |
RequestInterface $request,
|
35 |
ResponseInterface $response = null,
|
36 |
+
\Throwable $previous = null,
|
37 |
array $handlerContext = []
|
38 |
) {
|
39 |
// Set the code of the exception if the response is set and not future.
|
40 |
+
$code = $response ? $response->getStatusCode() : 0;
|
|
|
|
|
41 |
parent::__construct($message, $code, $previous);
|
42 |
$this->request = $request;
|
43 |
$this->response = $response;
|
46 |
|
47 |
/**
|
48 |
* Wrap non-RequestExceptions with a RequestException
|
|
|
|
|
|
|
|
|
|
|
49 |
*/
|
50 |
+
public static function wrapException(RequestInterface $request, \Throwable $e): RequestException
|
51 |
{
|
52 |
+
return $e instanceof RequestException ? $e : new RequestException($e->getMessage(), $request, null, $e);
|
|
|
|
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* Factory method to create a new exception with a normalized error message
|
57 |
*
|
58 |
+
* @param RequestInterface $request Request sent
|
59 |
+
* @param ResponseInterface $response Response received
|
60 |
+
* @param \Throwable|null $previous Previous exception
|
61 |
+
* @param array $handlerContext Optional handler context
|
62 |
+
* @param BodySummarizerInterface|null $bodySummarizer Optional body summarizer
|
|
|
63 |
*/
|
64 |
public static function create(
|
65 |
RequestInterface $request,
|
66 |
ResponseInterface $response = null,
|
67 |
+
\Throwable $previous = null,
|
68 |
+
array $handlerContext = [],
|
69 |
+
BodySummarizerInterface $bodySummarizer = null
|
70 |
+
): self {
|
71 |
if (!$response) {
|
72 |
return new self(
|
73 |
'Error completing request',
|
74 |
$request,
|
75 |
null,
|
76 |
$previous,
|
77 |
+
$handlerContext
|
78 |
);
|
79 |
}
|
80 |
|
81 |
+
$level = (int) \floor($response->getStatusCode() / 100);
|
82 |
if ($level === 4) {
|
83 |
$label = 'Client error';
|
84 |
$className = ClientException::class;
|
95 |
|
96 |
// Client Error: `GET /` resulted in a `404 Not Found` response:
|
97 |
// <html> ... (truncated)
|
98 |
+
$message = \sprintf(
|
99 |
'%s: `%s %s` resulted in a `%s %s` response',
|
100 |
$label,
|
101 |
$request->getMethod(),
|
102 |
+
$uri->__toString(),
|
103 |
$response->getStatusCode(),
|
104 |
$response->getReasonPhrase()
|
105 |
);
|
106 |
|
107 |
+
$summary = ($bodySummarizer ?? new BodySummarizer())->summarize($response);
|
108 |
|
109 |
if ($summary !== null) {
|
110 |
$message .= ":\n{$summary}\n";
|
111 |
}
|
112 |
|
113 |
+
return new $className($message, $request, $response, $previous, $handlerContext);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
* Obfuscates URI if there is a username and a password present
|
|
|
|
|
|
|
|
|
118 |
*/
|
119 |
+
private static function obfuscateUri(UriInterface $uri): UriInterface
|
120 |
{
|
121 |
$userInfo = $uri->getUserInfo();
|
122 |
|
123 |
+
if (false !== ($pos = \strpos($userInfo, ':'))) {
|
124 |
+
return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
|
125 |
}
|
126 |
|
127 |
return $uri;
|
129 |
|
130 |
/**
|
131 |
* Get the request that caused the exception
|
|
|
|
|
132 |
*/
|
133 |
+
public function getRequest(): RequestInterface
|
134 |
{
|
135 |
return $this->request;
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
* Get the associated response
|
|
|
|
|
140 |
*/
|
141 |
+
public function getResponse(): ?ResponseInterface
|
142 |
{
|
143 |
return $this->response;
|
144 |
}
|
145 |
|
146 |
/**
|
147 |
* Check if a response was received
|
|
|
|
|
148 |
*/
|
149 |
+
public function hasResponse(): bool
|
150 |
{
|
151 |
return $this->response !== null;
|
152 |
}
|
158 |
* using. It may also be just an empty array. Relying on this data will
|
159 |
* couple you to a specific handler, but can give more debug information
|
160 |
* when needed.
|
|
|
|
|
161 |
*/
|
162 |
+
public function getHandlerContext(): array
|
163 |
{
|
164 |
return $this->handlerContext;
|
165 |
}
|
vendor/guzzlehttp/guzzle/src/Exception/SeekException.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp\Exception;
|
3 |
-
|
4 |
-
use Psr\Http\Message\StreamInterface;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Exception thrown when a seek fails on a stream.
|
8 |
-
*/
|
9 |
-
class SeekException extends \RuntimeException implements GuzzleException
|
10 |
-
{
|
11 |
-
private $stream;
|
12 |
-
|
13 |
-
public function __construct(StreamInterface $stream, $pos = 0, $msg = '')
|
14 |
-
{
|
15 |
-
$this->stream = $stream;
|
16 |
-
$msg = $msg ?: 'Could not seek the stream to position ' . $pos;
|
17 |
-
parent::__construct($msg);
|
18 |
-
}
|
19 |
-
|
20 |
-
/**
|
21 |
-
* @return StreamInterface
|
22 |
-
*/
|
23 |
-
public function getStream()
|
24 |
-
{
|
25 |
-
return $this->stream;
|
26 |
-
}
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/src/Exception/ServerException.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
/**
|
vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
class TooManyRedirectsException extends RequestException
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
class TooManyRedirectsException extends RequestException
|
vendor/guzzlehttp/guzzle/src/Exception/TransferException.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Exception;
|
3 |
|
4 |
class TransferException extends \RuntimeException implements GuzzleException
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Exception;
|
4 |
|
5 |
class TransferException extends \RuntimeException implements GuzzleException
|
vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
CHANGED
@@ -1,37 +1,50 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use GuzzleHttp\Exception\ConnectException;
|
5 |
use GuzzleHttp\Exception\RequestException;
|
|
|
6 |
use GuzzleHttp\Promise\FulfilledPromise;
|
7 |
-
use GuzzleHttp\
|
8 |
use GuzzleHttp\Psr7\LazyOpenStream;
|
9 |
use GuzzleHttp\TransferStats;
|
|
|
10 |
use Psr\Http\Message\RequestInterface;
|
11 |
|
12 |
/**
|
13 |
* Creates curl resources from a request
|
|
|
|
|
14 |
*/
|
15 |
class CurlFactory implements CurlFactoryInterface
|
16 |
{
|
17 |
-
const CURL_VERSION_STR = 'curl_version';
|
18 |
-
|
|
|
|
|
|
|
|
|
19 |
|
20 |
-
/**
|
|
|
|
|
21 |
private $handles = [];
|
22 |
|
23 |
-
/**
|
|
|
|
|
24 |
private $maxHandles;
|
25 |
|
26 |
/**
|
27 |
* @param int $maxHandles Maximum number of idle handles.
|
28 |
*/
|
29 |
-
public function __construct($maxHandles)
|
30 |
{
|
31 |
$this->maxHandles = $maxHandles;
|
32 |
}
|
33 |
|
34 |
-
public function create(RequestInterface $request, array $options)
|
35 |
{
|
36 |
if (isset($options['curl']['body_as_string'])) {
|
37 |
$options['_body_as_string'] = $options['curl']['body_as_string'];
|
@@ -49,35 +62,33 @@ class CurlFactory implements CurlFactoryInterface
|
|
49 |
|
50 |
// Add handler options from the request configuration options
|
51 |
if (isset($options['curl'])) {
|
52 |
-
$conf = array_replace($conf, $options['curl']);
|
53 |
}
|
54 |
|
55 |
-
$conf[CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy);
|
56 |
-
$easy->handle = $this->handles
|
57 |
-
? array_pop($this->handles)
|
58 |
-
: curl_init();
|
59 |
curl_setopt_array($easy->handle, $conf);
|
60 |
|
61 |
return $easy;
|
62 |
}
|
63 |
|
64 |
-
public function release(EasyHandle $easy)
|
65 |
{
|
66 |
$resource = $easy->handle;
|
67 |
unset($easy->handle);
|
68 |
|
69 |
-
if (count($this->handles) >= $this->maxHandles) {
|
70 |
-
curl_close($resource);
|
71 |
} else {
|
72 |
// Remove all callback functions as they can hold onto references
|
73 |
// and are not cleaned up by curl_reset. Using curl_setopt_array
|
74 |
// does not work for some reason, so removing each one
|
75 |
// individually.
|
76 |
-
curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
|
77 |
-
curl_setopt($resource, CURLOPT_READFUNCTION, null);
|
78 |
-
curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
|
79 |
-
curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
|
80 |
-
curl_reset($resource);
|
81 |
$this->handles[] = $resource;
|
82 |
}
|
83 |
}
|
@@ -86,17 +97,11 @@ class CurlFactory implements CurlFactoryInterface
|
|
86 |
* Completes a cURL transaction, either returning a response promise or a
|
87 |
* rejected promise.
|
88 |
*
|
89 |
-
* @param callable
|
90 |
-
* @param
|
91 |
-
* @param CurlFactoryInterface $factory Dictates how the handle is released
|
92 |
-
*
|
93 |
-
* @return \GuzzleHttp\Promise\PromiseInterface
|
94 |
*/
|
95 |
-
public static function finish(
|
96 |
-
|
97 |
-
EasyHandle $easy,
|
98 |
-
CurlFactoryInterface $factory
|
99 |
-
) {
|
100 |
if (isset($easy->options['on_stats'])) {
|
101 |
self::invokeStats($easy);
|
102 |
}
|
@@ -117,10 +122,10 @@ class CurlFactory implements CurlFactoryInterface
|
|
117 |
return new FulfilledPromise($easy->response);
|
118 |
}
|
119 |
|
120 |
-
private static function invokeStats(EasyHandle $easy)
|
121 |
{
|
122 |
-
$curlStats = curl_getinfo($easy->handle);
|
123 |
-
$curlStats['appconnect_time'] = curl_getinfo($easy->handle, CURLINFO_APPCONNECT_TIME);
|
124 |
$stats = new TransferStats(
|
125 |
$easy->request,
|
126 |
$easy->response,
|
@@ -128,47 +133,57 @@ class CurlFactory implements CurlFactoryInterface
|
|
128 |
$easy->errno,
|
129 |
$curlStats
|
130 |
);
|
131 |
-
|
132 |
}
|
133 |
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
// Get error information and release the handle to the factory.
|
140 |
$ctx = [
|
141 |
'errno' => $easy->errno,
|
142 |
-
'error' => curl_error($easy->handle),
|
143 |
-
'appconnect_time' => curl_getinfo($easy->handle, CURLINFO_APPCONNECT_TIME),
|
144 |
-
] + curl_getinfo($easy->handle);
|
145 |
-
$ctx[self::CURL_VERSION_STR] = curl_version()['version'];
|
146 |
$factory->release($easy);
|
147 |
|
148 |
// Retry when nothing is present or when curl failed to rewind.
|
149 |
-
if (empty($easy->options['_err_message'])
|
150 |
-
&& (!$easy->errno || $easy->errno == 65)
|
151 |
-
) {
|
152 |
return self::retryFailedRewind($handler, $easy, $ctx);
|
153 |
}
|
154 |
|
155 |
return self::createRejection($easy, $ctx);
|
156 |
}
|
157 |
|
158 |
-
private static function createRejection(EasyHandle $easy, array $ctx)
|
159 |
{
|
160 |
static $connectionErrors = [
|
161 |
-
CURLE_OPERATION_TIMEOUTED => true,
|
162 |
-
CURLE_COULDNT_RESOLVE_HOST => true,
|
163 |
-
CURLE_COULDNT_CONNECT => true,
|
164 |
-
CURLE_SSL_CONNECT_ERROR => true,
|
165 |
-
CURLE_GOT_NOTHING => true,
|
166 |
];
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
// If an exception was encountered during the onHeaders event, then
|
169 |
// return a rejected promise that wraps that exception.
|
170 |
if ($easy->onHeadersException) {
|
171 |
-
return \
|
172 |
new RequestException(
|
173 |
'An error was encountered during the on_headers event',
|
174 |
$easy->request,
|
@@ -178,21 +193,16 @@ class CurlFactory implements CurlFactoryInterface
|
|
178 |
)
|
179 |
);
|
180 |
}
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
$ctx['errno'],
|
192 |
-
$ctx['error'],
|
193 |
-
'see https://curl.haxx.se/libcurl/c/libcurl-errors.html',
|
194 |
-
$easy->request->getUri()
|
195 |
-
);
|
196 |
}
|
197 |
|
198 |
// Create a connection exception if it was a specific error code.
|
@@ -200,37 +210,40 @@ class CurlFactory implements CurlFactoryInterface
|
|
200 |
? new ConnectException($message, $easy->request, null, $ctx)
|
201 |
: new RequestException($message, $easy->request, $easy->response, null, $ctx);
|
202 |
|
203 |
-
return \
|
204 |
}
|
205 |
|
206 |
-
|
|
|
|
|
|
|
207 |
{
|
208 |
$conf = [
|
209 |
-
'_headers'
|
210 |
-
CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(),
|
211 |
-
CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''),
|
212 |
-
CURLOPT_RETURNTRANSFER => false,
|
213 |
-
CURLOPT_HEADER => false,
|
214 |
-
CURLOPT_CONNECTTIMEOUT => 150,
|
215 |
];
|
216 |
|
217 |
-
if (defined('CURLOPT_PROTOCOLS')) {
|
218 |
-
$conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS;
|
219 |
}
|
220 |
|
221 |
$version = $easy->request->getProtocolVersion();
|
222 |
if ($version == 1.1) {
|
223 |
-
$conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1;
|
224 |
} elseif ($version == 2.0) {
|
225 |
-
$conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2_0;
|
226 |
} else {
|
227 |
-
$conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0;
|
228 |
}
|
229 |
|
230 |
return $conf;
|
231 |
}
|
232 |
|
233 |
-
private function applyMethod(EasyHandle $easy, array &$conf)
|
234 |
{
|
235 |
$body = $easy->request->getBody();
|
236 |
$size = $body->getSize();
|
@@ -242,22 +255,22 @@ class CurlFactory implements CurlFactoryInterface
|
|
242 |
|
243 |
$method = $easy->request->getMethod();
|
244 |
if ($method === 'PUT' || $method === 'POST') {
|
245 |
-
// See
|
246 |
if (!$easy->request->hasHeader('Content-Length')) {
|
247 |
-
$conf[CURLOPT_HTTPHEADER][] = 'Content-Length: 0';
|
248 |
}
|
249 |
} elseif ($method === 'HEAD') {
|
250 |
-
$conf[CURLOPT_NOBODY] = true;
|
251 |
unset(
|
252 |
-
$conf[CURLOPT_WRITEFUNCTION],
|
253 |
-
$conf[CURLOPT_READFUNCTION],
|
254 |
-
$conf[CURLOPT_FILE],
|
255 |
-
$conf[CURLOPT_INFILE]
|
256 |
);
|
257 |
}
|
258 |
}
|
259 |
|
260 |
-
private function applyBody(RequestInterface $request, array $options, array &$conf)
|
261 |
{
|
262 |
$size = $request->hasHeader('Content-Length')
|
263 |
? (int) $request->getHeaderLine('Content-Length')
|
@@ -265,40 +278,38 @@ class CurlFactory implements CurlFactoryInterface
|
|
265 |
|
266 |
// Send the body as a string if the size is less than 1MB OR if the
|
267 |
// [curl][body_as_string] request value is set.
|
268 |
-
if (($size !== null && $size < 1000000) ||
|
269 |
-
|
270 |
-
) {
|
271 |
-
$conf[CURLOPT_POSTFIELDS] = (string) $request->getBody();
|
272 |
// Don't duplicate the Content-Length header
|
273 |
$this->removeHeader('Content-Length', $conf);
|
274 |
$this->removeHeader('Transfer-Encoding', $conf);
|
275 |
} else {
|
276 |
-
$conf[CURLOPT_UPLOAD] = true;
|
277 |
if ($size !== null) {
|
278 |
-
$conf[CURLOPT_INFILESIZE] = $size;
|
279 |
$this->removeHeader('Content-Length', $conf);
|
280 |
}
|
281 |
$body = $request->getBody();
|
282 |
if ($body->isSeekable()) {
|
283 |
$body->rewind();
|
284 |
}
|
285 |
-
$conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) {
|
286 |
return $body->read($length);
|
287 |
};
|
288 |
}
|
289 |
|
290 |
// If the Expect header is not present, prevent curl from adding it
|
291 |
if (!$request->hasHeader('Expect')) {
|
292 |
-
$conf[CURLOPT_HTTPHEADER][] = 'Expect:';
|
293 |
}
|
294 |
|
295 |
// cURL sometimes adds a content-type by default. Prevent this.
|
296 |
if (!$request->hasHeader('Content-Type')) {
|
297 |
-
$conf[CURLOPT_HTTPHEADER][] = 'Content-Type:';
|
298 |
}
|
299 |
}
|
300 |
|
301 |
-
private function applyHeaders(EasyHandle $easy, array &$conf)
|
302 |
{
|
303 |
foreach ($conf['_headers'] as $name => $values) {
|
304 |
foreach ($values as $value) {
|
@@ -306,16 +317,16 @@ class CurlFactory implements CurlFactoryInterface
|
|
306 |
if ($value === '') {
|
307 |
// cURL requires a special format for empty headers.
|
308 |
// See https://github.com/guzzle/guzzle/issues/1882 for more details.
|
309 |
-
$conf[CURLOPT_HTTPHEADER][] = "$name;";
|
310 |
} else {
|
311 |
-
$conf[CURLOPT_HTTPHEADER][] = "$name: $value";
|
312 |
}
|
313 |
}
|
314 |
}
|
315 |
|
316 |
// Remove the Accept header if one was not set
|
317 |
if (!$easy->request->hasHeader('Accept')) {
|
318 |
-
$conf[CURLOPT_HTTPHEADER][] = 'Accept:';
|
319 |
}
|
320 |
}
|
321 |
|
@@ -325,115 +336,115 @@ class CurlFactory implements CurlFactoryInterface
|
|
325 |
* @param string $name Case-insensitive header to remove
|
326 |
* @param array $options Array of options to modify
|
327 |
*/
|
328 |
-
private function removeHeader($name, array &$options)
|
329 |
{
|
330 |
-
foreach (array_keys($options['_headers']) as $key) {
|
331 |
-
if (
|
332 |
unset($options['_headers'][$key]);
|
333 |
return;
|
334 |
}
|
335 |
}
|
336 |
}
|
337 |
|
338 |
-
private function applyHandlerOptions(EasyHandle $easy, array &$conf)
|
339 |
{
|
340 |
$options = $easy->options;
|
341 |
if (isset($options['verify'])) {
|
342 |
if ($options['verify'] === false) {
|
343 |
-
unset($conf[CURLOPT_CAINFO]);
|
344 |
-
$conf[CURLOPT_SSL_VERIFYHOST] = 0;
|
345 |
-
$conf[CURLOPT_SSL_VERIFYPEER] = false;
|
346 |
} else {
|
347 |
-
$conf[CURLOPT_SSL_VERIFYHOST] = 2;
|
348 |
-
$conf[CURLOPT_SSL_VERIFYPEER] = true;
|
349 |
-
if (is_string($options['verify'])) {
|
350 |
// Throw an error if the file/folder/link path is not valid or doesn't exist.
|
351 |
-
if (
|
352 |
-
throw new \InvalidArgumentException(
|
353 |
-
"SSL CA bundle not found: {$options['verify']}"
|
354 |
-
);
|
355 |
}
|
356 |
// If it's a directory or a link to a directory use CURLOPT_CAPATH.
|
357 |
// If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO.
|
358 |
-
if (
|
359 |
-
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
} else {
|
362 |
-
$conf[CURLOPT_CAINFO] = $options['verify'];
|
363 |
}
|
364 |
}
|
365 |
}
|
366 |
}
|
367 |
|
368 |
-
if (!empty($options['decode_content'])) {
|
369 |
$accept = $easy->request->getHeaderLine('Accept-Encoding');
|
370 |
if ($accept) {
|
371 |
-
$conf[CURLOPT_ENCODING] = $accept;
|
372 |
} else {
|
373 |
-
|
374 |
-
//
|
375 |
-
$conf[
|
|
|
|
|
|
|
376 |
}
|
377 |
}
|
378 |
|
379 |
-
if (isset($options['sink'])) {
|
380 |
-
$sink = $options['sink'];
|
381 |
-
if (!is_string($sink)) {
|
382 |
-
$sink = \GuzzleHttp\Psr7\stream_for($sink);
|
383 |
-
} elseif (!is_dir(dirname($sink))) {
|
384 |
-
// Ensure that the directory exists before failing in curl.
|
385 |
-
throw new \RuntimeException(sprintf(
|
386 |
-
'Directory %s does not exist for sink value of %s',
|
387 |
-
dirname($sink),
|
388 |
-
$sink
|
389 |
-
));
|
390 |
-
} else {
|
391 |
-
$sink = new LazyOpenStream($sink, 'w+');
|
392 |
-
}
|
393 |
-
$easy->sink = $sink;
|
394 |
-
$conf[CURLOPT_WRITEFUNCTION] = function ($ch, $write) use ($sink) {
|
395 |
-
return $sink->write($write);
|
396 |
-
};
|
397 |
-
} else {
|
398 |
// Use a default temp stream if no sink was set.
|
399 |
-
$
|
400 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
}
|
|
|
|
|
|
|
|
|
|
|
402 |
$timeoutRequiresNoSignal = false;
|
403 |
if (isset($options['timeout'])) {
|
404 |
$timeoutRequiresNoSignal |= $options['timeout'] < 1;
|
405 |
-
$conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000;
|
406 |
}
|
407 |
|
408 |
// CURL default value is CURL_IPRESOLVE_WHATEVER
|
409 |
if (isset($options['force_ip_resolve'])) {
|
410 |
if ('v4' === $options['force_ip_resolve']) {
|
411 |
-
$conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
|
412 |
} elseif ('v6' === $options['force_ip_resolve']) {
|
413 |
-
$conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V6;
|
414 |
}
|
415 |
}
|
416 |
|
417 |
if (isset($options['connect_timeout'])) {
|
418 |
$timeoutRequiresNoSignal |= $options['connect_timeout'] < 1;
|
419 |
-
$conf[CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000;
|
420 |
}
|
421 |
|
422 |
-
if ($timeoutRequiresNoSignal && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
423 |
-
$conf[CURLOPT_NOSIGNAL] = true;
|
424 |
}
|
425 |
|
426 |
if (isset($options['proxy'])) {
|
427 |
-
if (
|
428 |
-
$conf[CURLOPT_PROXY] = $options['proxy'];
|
429 |
} else {
|
430 |
$scheme = $easy->request->getUri()->getScheme();
|
431 |
if (isset($options['proxy'][$scheme])) {
|
432 |
$host = $easy->request->getUri()->getHost();
|
433 |
-
if (!isset($options['proxy']['no']) ||
|
434 |
-
|
435 |
-
) {
|
436 |
-
$conf[CURLOPT_PROXY] = $options['proxy'][$scheme];
|
437 |
}
|
438 |
}
|
439 |
}
|
@@ -441,58 +452,53 @@ class CurlFactory implements CurlFactoryInterface
|
|
441 |
|
442 |
if (isset($options['cert'])) {
|
443 |
$cert = $options['cert'];
|
444 |
-
if (is_array($cert)) {
|
445 |
-
$conf[CURLOPT_SSLCERTPASSWD] = $cert[1];
|
446 |
$cert = $cert[0];
|
447 |
}
|
448 |
-
if (
|
449 |
-
throw new \InvalidArgumentException(
|
450 |
-
"SSL certificate not found: {$cert}"
|
451 |
-
);
|
452 |
}
|
453 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
}
|
455 |
|
456 |
if (isset($options['ssl_key'])) {
|
457 |
-
if (is_array($options['ssl_key'])) {
|
458 |
-
if (count($options['ssl_key']) === 2) {
|
459 |
-
|
460 |
} else {
|
461 |
-
|
462 |
}
|
463 |
}
|
464 |
|
465 |
-
$sslKey =
|
466 |
|
467 |
-
if (
|
468 |
-
throw new \InvalidArgumentException(
|
469 |
-
"SSL private key not found: {$sslKey}"
|
470 |
-
);
|
471 |
}
|
472 |
-
$conf[CURLOPT_SSLKEY] = $sslKey;
|
473 |
}
|
474 |
|
475 |
if (isset($options['progress'])) {
|
476 |
$progress = $options['progress'];
|
477 |
-
if (
|
478 |
-
throw new \InvalidArgumentException(
|
479 |
-
'progress client option must be callable'
|
480 |
-
);
|
481 |
}
|
482 |
-
$conf[CURLOPT_NOPROGRESS] = false;
|
483 |
-
$conf[CURLOPT_PROGRESSFUNCTION] = function () use ($progress) {
|
484 |
-
$
|
485 |
-
// PHP 5.5 pushed the handle onto the start of the args
|
486 |
-
if (is_resource($args[0])) {
|
487 |
-
array_shift($args);
|
488 |
-
}
|
489 |
-
call_user_func_array($progress, $args);
|
490 |
};
|
491 |
}
|
492 |
|
493 |
if (!empty($options['debug'])) {
|
494 |
-
$conf[CURLOPT_STDERR] =
|
495 |
-
$conf[CURLOPT_VERBOSE] = true;
|
496 |
}
|
497 |
}
|
498 |
|
@@ -504,12 +510,11 @@ class CurlFactory implements CurlFactoryInterface
|
|
504 |
* stream, and then encountered a "necessary data rewind wasn't possible"
|
505 |
* error, causing the request to be sent through curl_multi_info_read()
|
506 |
* without an error status.
|
|
|
|
|
507 |
*/
|
508 |
-
private static function retryFailedRewind(
|
509 |
-
|
510 |
-
EasyHandle $easy,
|
511 |
-
array $ctx
|
512 |
-
) {
|
513 |
try {
|
514 |
// Only rewind if the body has been read from.
|
515 |
$body = $easy->request->getBody();
|
@@ -542,27 +547,32 @@ class CurlFactory implements CurlFactoryInterface
|
|
542 |
return $handler($easy->request, $easy->options);
|
543 |
}
|
544 |
|
545 |
-
private function createHeaderFn(EasyHandle $easy)
|
546 |
{
|
547 |
if (isset($easy->options['on_headers'])) {
|
548 |
$onHeaders = $easy->options['on_headers'];
|
549 |
|
550 |
-
if (
|
551 |
throw new \InvalidArgumentException('on_headers must be callable');
|
552 |
}
|
553 |
} else {
|
554 |
$onHeaders = null;
|
555 |
}
|
556 |
|
557 |
-
return function ($ch, $h) use (
|
558 |
$onHeaders,
|
559 |
$easy,
|
560 |
&$startingResponse
|
561 |
) {
|
562 |
-
$value = trim($h);
|
563 |
if ($value === '') {
|
564 |
$startingResponse = true;
|
565 |
-
|
|
|
|
|
|
|
|
|
|
|
566 |
if ($onHeaders !== null) {
|
567 |
try {
|
568 |
$onHeaders($easy->response);
|
@@ -579,7 +589,7 @@ class CurlFactory implements CurlFactoryInterface
|
|
579 |
} else {
|
580 |
$easy->headers[] = $value;
|
581 |
}
|
582 |
-
return strlen($h);
|
583 |
};
|
584 |
}
|
585 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use GuzzleHttp\Exception\ConnectException;
|
6 |
use GuzzleHttp\Exception\RequestException;
|
7 |
+
use GuzzleHttp\Promise as P;
|
8 |
use GuzzleHttp\Promise\FulfilledPromise;
|
9 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
10 |
use GuzzleHttp\Psr7\LazyOpenStream;
|
11 |
use GuzzleHttp\TransferStats;
|
12 |
+
use GuzzleHttp\Utils;
|
13 |
use Psr\Http\Message\RequestInterface;
|
14 |
|
15 |
/**
|
16 |
* Creates curl resources from a request
|
17 |
+
*
|
18 |
+
* @final
|
19 |
*/
|
20 |
class CurlFactory implements CurlFactoryInterface
|
21 |
{
|
22 |
+
public const CURL_VERSION_STR = 'curl_version';
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @deprecated
|
26 |
+
*/
|
27 |
+
public const LOW_CURL_VERSION_NUMBER = '7.21.2';
|
28 |
|
29 |
+
/**
|
30 |
+
* @var resource[]|\CurlHandle[]
|
31 |
+
*/
|
32 |
private $handles = [];
|
33 |
|
34 |
+
/**
|
35 |
+
* @var int Total number of idle handles to keep in cache
|
36 |
+
*/
|
37 |
private $maxHandles;
|
38 |
|
39 |
/**
|
40 |
* @param int $maxHandles Maximum number of idle handles.
|
41 |
*/
|
42 |
+
public function __construct(int $maxHandles)
|
43 |
{
|
44 |
$this->maxHandles = $maxHandles;
|
45 |
}
|
46 |
|
47 |
+
public function create(RequestInterface $request, array $options): EasyHandle
|
48 |
{
|
49 |
if (isset($options['curl']['body_as_string'])) {
|
50 |
$options['_body_as_string'] = $options['curl']['body_as_string'];
|
62 |
|
63 |
// Add handler options from the request configuration options
|
64 |
if (isset($options['curl'])) {
|
65 |
+
$conf = \array_replace($conf, $options['curl']);
|
66 |
}
|
67 |
|
68 |
+
$conf[\CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy);
|
69 |
+
$easy->handle = $this->handles ? \array_pop($this->handles) : \curl_init();
|
|
|
|
|
70 |
curl_setopt_array($easy->handle, $conf);
|
71 |
|
72 |
return $easy;
|
73 |
}
|
74 |
|
75 |
+
public function release(EasyHandle $easy): void
|
76 |
{
|
77 |
$resource = $easy->handle;
|
78 |
unset($easy->handle);
|
79 |
|
80 |
+
if (\count($this->handles) >= $this->maxHandles) {
|
81 |
+
\curl_close($resource);
|
82 |
} else {
|
83 |
// Remove all callback functions as they can hold onto references
|
84 |
// and are not cleaned up by curl_reset. Using curl_setopt_array
|
85 |
// does not work for some reason, so removing each one
|
86 |
// individually.
|
87 |
+
\curl_setopt($resource, \CURLOPT_HEADERFUNCTION, null);
|
88 |
+
\curl_setopt($resource, \CURLOPT_READFUNCTION, null);
|
89 |
+
\curl_setopt($resource, \CURLOPT_WRITEFUNCTION, null);
|
90 |
+
\curl_setopt($resource, \CURLOPT_PROGRESSFUNCTION, null);
|
91 |
+
\curl_reset($resource);
|
92 |
$this->handles[] = $resource;
|
93 |
}
|
94 |
}
|
97 |
* Completes a cURL transaction, either returning a response promise or a
|
98 |
* rejected promise.
|
99 |
*
|
100 |
+
* @param callable(RequestInterface, array): PromiseInterface $handler
|
101 |
+
* @param CurlFactoryInterface $factory Dictates how the handle is released
|
|
|
|
|
|
|
102 |
*/
|
103 |
+
public static function finish(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory): PromiseInterface
|
104 |
+
{
|
|
|
|
|
|
|
105 |
if (isset($easy->options['on_stats'])) {
|
106 |
self::invokeStats($easy);
|
107 |
}
|
122 |
return new FulfilledPromise($easy->response);
|
123 |
}
|
124 |
|
125 |
+
private static function invokeStats(EasyHandle $easy): void
|
126 |
{
|
127 |
+
$curlStats = \curl_getinfo($easy->handle);
|
128 |
+
$curlStats['appconnect_time'] = \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME);
|
129 |
$stats = new TransferStats(
|
130 |
$easy->request,
|
131 |
$easy->response,
|
133 |
$easy->errno,
|
134 |
$curlStats
|
135 |
);
|
136 |
+
($easy->options['on_stats'])($stats);
|
137 |
}
|
138 |
|
139 |
+
/**
|
140 |
+
* @param callable(RequestInterface, array): PromiseInterface $handler
|
141 |
+
*/
|
142 |
+
private static function finishError(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory): PromiseInterface
|
143 |
+
{
|
144 |
// Get error information and release the handle to the factory.
|
145 |
$ctx = [
|
146 |
'errno' => $easy->errno,
|
147 |
+
'error' => \curl_error($easy->handle),
|
148 |
+
'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
|
149 |
+
] + \curl_getinfo($easy->handle);
|
150 |
+
$ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
|
151 |
$factory->release($easy);
|
152 |
|
153 |
// Retry when nothing is present or when curl failed to rewind.
|
154 |
+
if (empty($easy->options['_err_message']) && (!$easy->errno || $easy->errno == 65)) {
|
|
|
|
|
155 |
return self::retryFailedRewind($handler, $easy, $ctx);
|
156 |
}
|
157 |
|
158 |
return self::createRejection($easy, $ctx);
|
159 |
}
|
160 |
|
161 |
+
private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface
|
162 |
{
|
163 |
static $connectionErrors = [
|
164 |
+
\CURLE_OPERATION_TIMEOUTED => true,
|
165 |
+
\CURLE_COULDNT_RESOLVE_HOST => true,
|
166 |
+
\CURLE_COULDNT_CONNECT => true,
|
167 |
+
\CURLE_SSL_CONNECT_ERROR => true,
|
168 |
+
\CURLE_GOT_NOTHING => true,
|
169 |
];
|
170 |
|
171 |
+
if ($easy->createResponseException) {
|
172 |
+
return P\Create::rejectionFor(
|
173 |
+
new RequestException(
|
174 |
+
'An error was encountered while creating the response',
|
175 |
+
$easy->request,
|
176 |
+
$easy->response,
|
177 |
+
$easy->createResponseException,
|
178 |
+
$ctx
|
179 |
+
)
|
180 |
+
);
|
181 |
+
}
|
182 |
+
|
183 |
// If an exception was encountered during the onHeaders event, then
|
184 |
// return a rejected promise that wraps that exception.
|
185 |
if ($easy->onHeadersException) {
|
186 |
+
return P\Create::rejectionFor(
|
187 |
new RequestException(
|
188 |
'An error was encountered during the on_headers event',
|
189 |
$easy->request,
|
193 |
)
|
194 |
);
|
195 |
}
|
196 |
+
|
197 |
+
$message = \sprintf(
|
198 |
+
'cURL error %s: %s (%s)',
|
199 |
+
$ctx['errno'],
|
200 |
+
$ctx['error'],
|
201 |
+
'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
|
202 |
+
);
|
203 |
+
$uriString = (string) $easy->request->getUri();
|
204 |
+
if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) {
|
205 |
+
$message .= \sprintf(' for %s', $uriString);
|
|
|
|
|
|
|
|
|
|
|
206 |
}
|
207 |
|
208 |
// Create a connection exception if it was a specific error code.
|
210 |
? new ConnectException($message, $easy->request, null, $ctx)
|
211 |
: new RequestException($message, $easy->request, $easy->response, null, $ctx);
|
212 |
|
213 |
+
return P\Create::rejectionFor($error);
|
214 |
}
|
215 |
|
216 |
+
/**
|
217 |
+
* @return array<int|string, mixed>
|
218 |
+
*/
|
219 |
+
private function getDefaultConf(EasyHandle $easy): array
|
220 |
{
|
221 |
$conf = [
|
222 |
+
'_headers' => $easy->request->getHeaders(),
|
223 |
+
\CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(),
|
224 |
+
\CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''),
|
225 |
+
\CURLOPT_RETURNTRANSFER => false,
|
226 |
+
\CURLOPT_HEADER => false,
|
227 |
+
\CURLOPT_CONNECTTIMEOUT => 150,
|
228 |
];
|
229 |
|
230 |
+
if (\defined('CURLOPT_PROTOCOLS')) {
|
231 |
+
$conf[\CURLOPT_PROTOCOLS] = \CURLPROTO_HTTP | \CURLPROTO_HTTPS;
|
232 |
}
|
233 |
|
234 |
$version = $easy->request->getProtocolVersion();
|
235 |
if ($version == 1.1) {
|
236 |
+
$conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
|
237 |
} elseif ($version == 2.0) {
|
238 |
+
$conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
|
239 |
} else {
|
240 |
+
$conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
|
241 |
}
|
242 |
|
243 |
return $conf;
|
244 |
}
|
245 |
|
246 |
+
private function applyMethod(EasyHandle $easy, array &$conf): void
|
247 |
{
|
248 |
$body = $easy->request->getBody();
|
249 |
$size = $body->getSize();
|
255 |
|
256 |
$method = $easy->request->getMethod();
|
257 |
if ($method === 'PUT' || $method === 'POST') {
|
258 |
+
// See https://tools.ietf.org/html/rfc7230#section-3.3.2
|
259 |
if (!$easy->request->hasHeader('Content-Length')) {
|
260 |
+
$conf[\CURLOPT_HTTPHEADER][] = 'Content-Length: 0';
|
261 |
}
|
262 |
} elseif ($method === 'HEAD') {
|
263 |
+
$conf[\CURLOPT_NOBODY] = true;
|
264 |
unset(
|
265 |
+
$conf[\CURLOPT_WRITEFUNCTION],
|
266 |
+
$conf[\CURLOPT_READFUNCTION],
|
267 |
+
$conf[\CURLOPT_FILE],
|
268 |
+
$conf[\CURLOPT_INFILE]
|
269 |
);
|
270 |
}
|
271 |
}
|
272 |
|
273 |
+
private function applyBody(RequestInterface $request, array $options, array &$conf): void
|
274 |
{
|
275 |
$size = $request->hasHeader('Content-Length')
|
276 |
? (int) $request->getHeaderLine('Content-Length')
|
278 |
|
279 |
// Send the body as a string if the size is less than 1MB OR if the
|
280 |
// [curl][body_as_string] request value is set.
|
281 |
+
if (($size !== null && $size < 1000000) || !empty($options['_body_as_string'])) {
|
282 |
+
$conf[\CURLOPT_POSTFIELDS] = (string) $request->getBody();
|
|
|
|
|
283 |
// Don't duplicate the Content-Length header
|
284 |
$this->removeHeader('Content-Length', $conf);
|
285 |
$this->removeHeader('Transfer-Encoding', $conf);
|
286 |
} else {
|
287 |
+
$conf[\CURLOPT_UPLOAD] = true;
|
288 |
if ($size !== null) {
|
289 |
+
$conf[\CURLOPT_INFILESIZE] = $size;
|
290 |
$this->removeHeader('Content-Length', $conf);
|
291 |
}
|
292 |
$body = $request->getBody();
|
293 |
if ($body->isSeekable()) {
|
294 |
$body->rewind();
|
295 |
}
|
296 |
+
$conf[\CURLOPT_READFUNCTION] = static function ($ch, $fd, $length) use ($body) {
|
297 |
return $body->read($length);
|
298 |
};
|
299 |
}
|
300 |
|
301 |
// If the Expect header is not present, prevent curl from adding it
|
302 |
if (!$request->hasHeader('Expect')) {
|
303 |
+
$conf[\CURLOPT_HTTPHEADER][] = 'Expect:';
|
304 |
}
|
305 |
|
306 |
// cURL sometimes adds a content-type by default. Prevent this.
|
307 |
if (!$request->hasHeader('Content-Type')) {
|
308 |
+
$conf[\CURLOPT_HTTPHEADER][] = 'Content-Type:';
|
309 |
}
|
310 |
}
|
311 |
|
312 |
+
private function applyHeaders(EasyHandle $easy, array &$conf): void
|
313 |
{
|
314 |
foreach ($conf['_headers'] as $name => $values) {
|
315 |
foreach ($values as $value) {
|
317 |
if ($value === '') {
|
318 |
// cURL requires a special format for empty headers.
|
319 |
// See https://github.com/guzzle/guzzle/issues/1882 for more details.
|
320 |
+
$conf[\CURLOPT_HTTPHEADER][] = "$name;";
|
321 |
} else {
|
322 |
+
$conf[\CURLOPT_HTTPHEADER][] = "$name: $value";
|
323 |
}
|
324 |
}
|
325 |
}
|
326 |
|
327 |
// Remove the Accept header if one was not set
|
328 |
if (!$easy->request->hasHeader('Accept')) {
|
329 |
+
$conf[\CURLOPT_HTTPHEADER][] = 'Accept:';
|
330 |
}
|
331 |
}
|
332 |
|
336 |
* @param string $name Case-insensitive header to remove
|
337 |
* @param array $options Array of options to modify
|
338 |
*/
|
339 |
+
private function removeHeader(string $name, array &$options): void
|
340 |
{
|
341 |
+
foreach (\array_keys($options['_headers']) as $key) {
|
342 |
+
if (!\strcasecmp($key, $name)) {
|
343 |
unset($options['_headers'][$key]);
|
344 |
return;
|
345 |
}
|
346 |
}
|
347 |
}
|
348 |
|
349 |
+
private function applyHandlerOptions(EasyHandle $easy, array &$conf): void
|
350 |
{
|
351 |
$options = $easy->options;
|
352 |
if (isset($options['verify'])) {
|
353 |
if ($options['verify'] === false) {
|
354 |
+
unset($conf[\CURLOPT_CAINFO]);
|
355 |
+
$conf[\CURLOPT_SSL_VERIFYHOST] = 0;
|
356 |
+
$conf[\CURLOPT_SSL_VERIFYPEER] = false;
|
357 |
} else {
|
358 |
+
$conf[\CURLOPT_SSL_VERIFYHOST] = 2;
|
359 |
+
$conf[\CURLOPT_SSL_VERIFYPEER] = true;
|
360 |
+
if (\is_string($options['verify'])) {
|
361 |
// Throw an error if the file/folder/link path is not valid or doesn't exist.
|
362 |
+
if (!\file_exists($options['verify'])) {
|
363 |
+
throw new \InvalidArgumentException("SSL CA bundle not found: {$options['verify']}");
|
|
|
|
|
364 |
}
|
365 |
// If it's a directory or a link to a directory use CURLOPT_CAPATH.
|
366 |
// If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO.
|
367 |
+
if (
|
368 |
+
\is_dir($options['verify']) ||
|
369 |
+
(
|
370 |
+
\is_link($options['verify']) === true &&
|
371 |
+
($verifyLink = \readlink($options['verify'])) !== false &&
|
372 |
+
\is_dir($verifyLink)
|
373 |
+
)
|
374 |
+
) {
|
375 |
+
$conf[\CURLOPT_CAPATH] = $options['verify'];
|
376 |
} else {
|
377 |
+
$conf[\CURLOPT_CAINFO] = $options['verify'];
|
378 |
}
|
379 |
}
|
380 |
}
|
381 |
}
|
382 |
|
383 |
+
if (!isset($options['curl'][\CURLOPT_ENCODING]) && !empty($options['decode_content'])) {
|
384 |
$accept = $easy->request->getHeaderLine('Accept-Encoding');
|
385 |
if ($accept) {
|
386 |
+
$conf[\CURLOPT_ENCODING] = $accept;
|
387 |
} else {
|
388 |
+
// The empty string enables all available decoders and implicitly
|
389 |
+
// sets a matching 'Accept-Encoding' header.
|
390 |
+
$conf[\CURLOPT_ENCODING] = '';
|
391 |
+
// But as the user did not specify any acceptable encodings we need
|
392 |
+
// to overwrite this implicit header with an empty one.
|
393 |
+
$conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
|
394 |
}
|
395 |
}
|
396 |
|
397 |
+
if (!isset($options['sink'])) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
// Use a default temp stream if no sink was set.
|
399 |
+
$options['sink'] = \GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'w+');
|
400 |
+
}
|
401 |
+
$sink = $options['sink'];
|
402 |
+
if (!\is_string($sink)) {
|
403 |
+
$sink = \GuzzleHttp\Psr7\Utils::streamFor($sink);
|
404 |
+
} elseif (!\is_dir(\dirname($sink))) {
|
405 |
+
// Ensure that the directory exists before failing in curl.
|
406 |
+
throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink));
|
407 |
+
} else {
|
408 |
+
$sink = new LazyOpenStream($sink, 'w+');
|
409 |
}
|
410 |
+
$easy->sink = $sink;
|
411 |
+
$conf[\CURLOPT_WRITEFUNCTION] = static function ($ch, $write) use ($sink): int {
|
412 |
+
return $sink->write($write);
|
413 |
+
};
|
414 |
+
|
415 |
$timeoutRequiresNoSignal = false;
|
416 |
if (isset($options['timeout'])) {
|
417 |
$timeoutRequiresNoSignal |= $options['timeout'] < 1;
|
418 |
+
$conf[\CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000;
|
419 |
}
|
420 |
|
421 |
// CURL default value is CURL_IPRESOLVE_WHATEVER
|
422 |
if (isset($options['force_ip_resolve'])) {
|
423 |
if ('v4' === $options['force_ip_resolve']) {
|
424 |
+
$conf[\CURLOPT_IPRESOLVE] = \CURL_IPRESOLVE_V4;
|
425 |
} elseif ('v6' === $options['force_ip_resolve']) {
|
426 |
+
$conf[\CURLOPT_IPRESOLVE] = \CURL_IPRESOLVE_V6;
|
427 |
}
|
428 |
}
|
429 |
|
430 |
if (isset($options['connect_timeout'])) {
|
431 |
$timeoutRequiresNoSignal |= $options['connect_timeout'] < 1;
|
432 |
+
$conf[\CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000;
|
433 |
}
|
434 |
|
435 |
+
if ($timeoutRequiresNoSignal && \strtoupper(\substr(\PHP_OS, 0, 3)) !== 'WIN') {
|
436 |
+
$conf[\CURLOPT_NOSIGNAL] = true;
|
437 |
}
|
438 |
|
439 |
if (isset($options['proxy'])) {
|
440 |
+
if (!\is_array($options['proxy'])) {
|
441 |
+
$conf[\CURLOPT_PROXY] = $options['proxy'];
|
442 |
} else {
|
443 |
$scheme = $easy->request->getUri()->getScheme();
|
444 |
if (isset($options['proxy'][$scheme])) {
|
445 |
$host = $easy->request->getUri()->getHost();
|
446 |
+
if (!isset($options['proxy']['no']) || !Utils::isHostInNoProxy($host, $options['proxy']['no'])) {
|
447 |
+
$conf[\CURLOPT_PROXY] = $options['proxy'][$scheme];
|
|
|
|
|
448 |
}
|
449 |
}
|
450 |
}
|
452 |
|
453 |
if (isset($options['cert'])) {
|
454 |
$cert = $options['cert'];
|
455 |
+
if (\is_array($cert)) {
|
456 |
+
$conf[\CURLOPT_SSLCERTPASSWD] = $cert[1];
|
457 |
$cert = $cert[0];
|
458 |
}
|
459 |
+
if (!\file_exists($cert)) {
|
460 |
+
throw new \InvalidArgumentException("SSL certificate not found: {$cert}");
|
|
|
|
|
461 |
}
|
462 |
+
# OpenSSL (versions 0.9.3 and later) also support "P12" for PKCS#12-encoded files.
|
463 |
+
# see https://curl.se/libcurl/c/CURLOPT_SSLCERTTYPE.html
|
464 |
+
$ext = pathinfo($cert, \PATHINFO_EXTENSION);
|
465 |
+
if (preg_match('#^(der|p12)$#i', $ext)) {
|
466 |
+
$conf[\CURLOPT_SSLCERTTYPE] = strtoupper($ext);
|
467 |
+
}
|
468 |
+
$conf[\CURLOPT_SSLCERT] = $cert;
|
469 |
}
|
470 |
|
471 |
if (isset($options['ssl_key'])) {
|
472 |
+
if (\is_array($options['ssl_key'])) {
|
473 |
+
if (\count($options['ssl_key']) === 2) {
|
474 |
+
[$sslKey, $conf[\CURLOPT_SSLKEYPASSWD]] = $options['ssl_key'];
|
475 |
} else {
|
476 |
+
[$sslKey] = $options['ssl_key'];
|
477 |
}
|
478 |
}
|
479 |
|
480 |
+
$sslKey = $sslKey ?? $options['ssl_key'];
|
481 |
|
482 |
+
if (!\file_exists($sslKey)) {
|
483 |
+
throw new \InvalidArgumentException("SSL private key not found: {$sslKey}");
|
|
|
|
|
484 |
}
|
485 |
+
$conf[\CURLOPT_SSLKEY] = $sslKey;
|
486 |
}
|
487 |
|
488 |
if (isset($options['progress'])) {
|
489 |
$progress = $options['progress'];
|
490 |
+
if (!\is_callable($progress)) {
|
491 |
+
throw new \InvalidArgumentException('progress client option must be callable');
|
|
|
|
|
492 |
}
|
493 |
+
$conf[\CURLOPT_NOPROGRESS] = false;
|
494 |
+
$conf[\CURLOPT_PROGRESSFUNCTION] = static function ($resource, int $downloadSize, int $downloaded, int $uploadSize, int $uploaded) use ($progress) {
|
495 |
+
$progress($downloadSize, $downloaded, $uploadSize, $uploaded);
|
|
|
|
|
|
|
|
|
|
|
496 |
};
|
497 |
}
|
498 |
|
499 |
if (!empty($options['debug'])) {
|
500 |
+
$conf[\CURLOPT_STDERR] = Utils::debugResource($options['debug']);
|
501 |
+
$conf[\CURLOPT_VERBOSE] = true;
|
502 |
}
|
503 |
}
|
504 |
|
510 |
* stream, and then encountered a "necessary data rewind wasn't possible"
|
511 |
* error, causing the request to be sent through curl_multi_info_read()
|
512 |
* without an error status.
|
513 |
+
*
|
514 |
+
* @param callable(RequestInterface, array): PromiseInterface $handler
|
515 |
*/
|
516 |
+
private static function retryFailedRewind(callable $handler, EasyHandle $easy, array $ctx): PromiseInterface
|
517 |
+
{
|
|
|
|
|
|
|
518 |
try {
|
519 |
// Only rewind if the body has been read from.
|
520 |
$body = $easy->request->getBody();
|
547 |
return $handler($easy->request, $easy->options);
|
548 |
}
|
549 |
|
550 |
+
private function createHeaderFn(EasyHandle $easy): callable
|
551 |
{
|
552 |
if (isset($easy->options['on_headers'])) {
|
553 |
$onHeaders = $easy->options['on_headers'];
|
554 |
|
555 |
+
if (!\is_callable($onHeaders)) {
|
556 |
throw new \InvalidArgumentException('on_headers must be callable');
|
557 |
}
|
558 |
} else {
|
559 |
$onHeaders = null;
|
560 |
}
|
561 |
|
562 |
+
return static function ($ch, $h) use (
|
563 |
$onHeaders,
|
564 |
$easy,
|
565 |
&$startingResponse
|
566 |
) {
|
567 |
+
$value = \trim($h);
|
568 |
if ($value === '') {
|
569 |
$startingResponse = true;
|
570 |
+
try {
|
571 |
+
$easy->createResponse();
|
572 |
+
} catch (\Exception $e) {
|
573 |
+
$easy->createResponseException = $e;
|
574 |
+
return -1;
|
575 |
+
}
|
576 |
if ($onHeaders !== null) {
|
577 |
try {
|
578 |
$onHeaders($easy->response);
|
589 |
} else {
|
590 |
$easy->headers[] = $value;
|
591 |
}
|
592 |
+
return \strlen($h);
|
593 |
};
|
594 |
}
|
595 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use Psr\Http\Message\RequestInterface;
|
@@ -11,17 +12,14 @@ interface CurlFactoryInterface
|
|
11 |
* @param RequestInterface $request Request
|
12 |
* @param array $options Transfer options
|
13 |
*
|
14 |
-
* @return EasyHandle
|
15 |
* @throws \RuntimeException when an option cannot be applied
|
16 |
*/
|
17 |
-
public function create(RequestInterface $request, array $options);
|
18 |
|
19 |
/**
|
20 |
* Release an easy handle, allowing it to be reused or closed.
|
21 |
*
|
22 |
* This function must call unset on the easy handle's "handle" property.
|
23 |
-
*
|
24 |
-
* @param EasyHandle $easy
|
25 |
*/
|
26 |
-
public function release(EasyHandle $easy);
|
27 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use Psr\Http\Message\RequestInterface;
|
12 |
* @param RequestInterface $request Request
|
13 |
* @param array $options Transfer options
|
14 |
*
|
|
|
15 |
* @throws \RuntimeException when an option cannot be applied
|
16 |
*/
|
17 |
+
public function create(RequestInterface $request, array $options): EasyHandle;
|
18 |
|
19 |
/**
|
20 |
* Release an easy handle, allowing it to be reused or closed.
|
21 |
*
|
22 |
* This function must call unset on the easy handle's "handle" property.
|
|
|
|
|
23 |
*/
|
24 |
+
public function release(EasyHandle $easy): void;
|
25 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
-
use GuzzleHttp\
|
5 |
use Psr\Http\Message\RequestInterface;
|
6 |
|
7 |
/**
|
@@ -10,35 +11,38 @@ use Psr\Http\Message\RequestInterface;
|
|
10 |
* When using the CurlHandler, custom curl options can be specified as an
|
11 |
* associative array of curl option constants mapping to values in the
|
12 |
* **curl** key of the "client" key of the request.
|
|
|
|
|
13 |
*/
|
14 |
class CurlHandler
|
15 |
{
|
16 |
-
/**
|
|
|
|
|
17 |
private $factory;
|
18 |
|
19 |
/**
|
20 |
* Accepts an associative array of options:
|
21 |
*
|
22 |
-
* -
|
23 |
*
|
24 |
-
* @param array $options Array of options to use with the handler
|
25 |
*/
|
26 |
public function __construct(array $options = [])
|
27 |
{
|
28 |
-
$this->factory =
|
29 |
-
|
30 |
-
: new CurlFactory(3);
|
31 |
}
|
32 |
|
33 |
-
public function __invoke(RequestInterface $request, array $options)
|
34 |
{
|
35 |
if (isset($options['delay'])) {
|
36 |
-
usleep($options['delay'] * 1000);
|
37 |
}
|
38 |
|
39 |
$easy = $this->factory->create($request, $options);
|
40 |
-
curl_exec($easy->handle);
|
41 |
-
$easy->errno = curl_errno($easy->handle);
|
42 |
|
43 |
return CurlFactory::finish($this, $easy, $this->factory);
|
44 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
6 |
use Psr\Http\Message\RequestInterface;
|
7 |
|
8 |
/**
|
11 |
* When using the CurlHandler, custom curl options can be specified as an
|
12 |
* associative array of curl option constants mapping to values in the
|
13 |
* **curl** key of the "client" key of the request.
|
14 |
+
*
|
15 |
+
* @final
|
16 |
*/
|
17 |
class CurlHandler
|
18 |
{
|
19 |
+
/**
|
20 |
+
* @var CurlFactoryInterface
|
21 |
+
*/
|
22 |
private $factory;
|
23 |
|
24 |
/**
|
25 |
* Accepts an associative array of options:
|
26 |
*
|
27 |
+
* - handle_factory: Optional curl factory used to create cURL handles.
|
28 |
*
|
29 |
+
* @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler
|
30 |
*/
|
31 |
public function __construct(array $options = [])
|
32 |
{
|
33 |
+
$this->factory = $options['handle_factory']
|
34 |
+
?? new CurlFactory(3);
|
|
|
35 |
}
|
36 |
|
37 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
38 |
{
|
39 |
if (isset($options['delay'])) {
|
40 |
+
\usleep($options['delay'] * 1000);
|
41 |
}
|
42 |
|
43 |
$easy = $this->factory->create($request, $options);
|
44 |
+
\curl_exec($easy->handle);
|
45 |
+
$easy->errno = \curl_errno($easy->handle);
|
46 |
|
47 |
return CurlFactory::finish($this, $easy, $this->factory);
|
48 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
CHANGED
@@ -1,8 +1,10 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use GuzzleHttp\Promise as P;
|
5 |
use GuzzleHttp\Promise\Promise;
|
|
|
6 |
use GuzzleHttp\Utils;
|
7 |
use Psr\Http\Message\RequestInterface;
|
8 |
|
@@ -13,16 +15,44 @@ use Psr\Http\Message\RequestInterface;
|
|
13 |
* associative array of curl option constants mapping to values in the
|
14 |
* **curl** key of the provided request options.
|
15 |
*
|
16 |
-
* @property resource $_mh Internal use only. Lazy loaded multi-handle.
|
|
|
|
|
17 |
*/
|
18 |
class CurlMultiHandler
|
19 |
{
|
20 |
-
/**
|
|
|
|
|
21 |
private $factory;
|
|
|
|
|
|
|
|
|
22 |
private $selectTimeout;
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
private $handles = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
private $delays = [];
|
|
|
|
|
|
|
|
|
26 |
private $options = [];
|
27 |
|
28 |
/**
|
@@ -33,52 +63,62 @@ class CurlMultiHandler
|
|
33 |
* out while selecting curl handles. Defaults to 1 second.
|
34 |
* - options: An associative array of CURLMOPT_* options and
|
35 |
* corresponding values for curl_multi_setopt()
|
36 |
-
*
|
37 |
-
* @param array $options
|
38 |
*/
|
39 |
public function __construct(array $options = [])
|
40 |
{
|
41 |
-
$this->factory =
|
42 |
-
? $options['handle_factory'] : new CurlFactory(50);
|
43 |
|
44 |
if (isset($options['select_timeout'])) {
|
45 |
$this->selectTimeout = $options['select_timeout'];
|
46 |
-
} elseif ($selectTimeout = getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
|
47 |
-
|
|
|
48 |
} else {
|
49 |
$this->selectTimeout = 1;
|
50 |
}
|
51 |
|
52 |
-
$this->options =
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
public function __get($name)
|
56 |
{
|
57 |
-
if ($name
|
58 |
-
|
|
|
59 |
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
64 |
|
65 |
-
|
66 |
-
//
|
67 |
-
|
68 |
}
|
69 |
|
70 |
-
|
71 |
}
|
72 |
|
73 |
public function __destruct()
|
74 |
{
|
75 |
if (isset($this->_mh)) {
|
76 |
-
curl_multi_close($this->_mh);
|
77 |
unset($this->_mh);
|
78 |
}
|
79 |
}
|
80 |
|
81 |
-
public function __invoke(RequestInterface $request, array $options)
|
82 |
{
|
83 |
$easy = $this->factory->create($request, $options);
|
84 |
$id = (int) $easy->handle;
|
@@ -98,7 +138,7 @@ class CurlMultiHandler
|
|
98 |
/**
|
99 |
* Ticks the curl event loop.
|
100 |
*/
|
101 |
-
public function tick()
|
102 |
{
|
103 |
// Add any delayed handles if needed.
|
104 |
if ($this->delays) {
|
@@ -106,7 +146,7 @@ class CurlMultiHandler
|
|
106 |
foreach ($this->delays as $id => $delay) {
|
107 |
if ($currentTime >= $delay) {
|
108 |
unset($this->delays[$id]);
|
109 |
-
curl_multi_add_handle(
|
110 |
$this->_mh,
|
111 |
$this->handles[$id]['easy']->handle
|
112 |
);
|
@@ -115,17 +155,15 @@ class CurlMultiHandler
|
|
115 |
}
|
116 |
|
117 |
// Step through the task queue which may add additional requests.
|
118 |
-
P\queue()->run();
|
119 |
|
120 |
-
if ($this->active &&
|
121 |
-
curl_multi_select($this->_mh, $this->selectTimeout) === -1
|
122 |
-
) {
|
123 |
// Perform a usleep if a select returns -1.
|
124 |
// See: https://bugs.php.net/bug.php?id=61141
|
125 |
-
usleep(250);
|
126 |
}
|
127 |
|
128 |
-
while (curl_multi_exec($this->_mh, $this->active) === CURLM_CALL_MULTI_PERFORM);
|
129 |
|
130 |
$this->processMessages();
|
131 |
}
|
@@ -133,26 +171,26 @@ class CurlMultiHandler
|
|
133 |
/**
|
134 |
* Runs until all outstanding connections have completed.
|
135 |
*/
|
136 |
-
public function execute()
|
137 |
{
|
138 |
-
$queue = P\queue();
|
139 |
|
140 |
while ($this->handles || !$queue->isEmpty()) {
|
141 |
// If there are no transfers, then sleep for the next delay
|
142 |
if (!$this->active && $this->delays) {
|
143 |
-
usleep($this->timeToNext());
|
144 |
}
|
145 |
$this->tick();
|
146 |
}
|
147 |
}
|
148 |
|
149 |
-
private function addRequest(array $entry)
|
150 |
{
|
151 |
$easy = $entry['easy'];
|
152 |
$id = (int) $easy->handle;
|
153 |
$this->handles[$id] = $entry;
|
154 |
if (empty($easy->options['delay'])) {
|
155 |
-
curl_multi_add_handle($this->_mh, $easy->handle);
|
156 |
} else {
|
157 |
$this->delays[$id] = Utils::currentTime() + ($easy->options['delay'] / 1000);
|
158 |
}
|
@@ -165,8 +203,12 @@ class CurlMultiHandler
|
|
165 |
*
|
166 |
* @return bool True on success, false on failure.
|
167 |
*/
|
168 |
-
private function cancel($id)
|
169 |
{
|
|
|
|
|
|
|
|
|
170 |
// Cannot cancel if it has been processed.
|
171 |
if (!isset($this->handles[$id])) {
|
172 |
return false;
|
@@ -174,17 +216,21 @@ class CurlMultiHandler
|
|
174 |
|
175 |
$handle = $this->handles[$id]['easy']->handle;
|
176 |
unset($this->delays[$id], $this->handles[$id]);
|
177 |
-
curl_multi_remove_handle($this->_mh, $handle);
|
178 |
-
curl_close($handle);
|
179 |
|
180 |
return true;
|
181 |
}
|
182 |
|
183 |
-
private function processMessages()
|
184 |
{
|
185 |
-
while ($done = curl_multi_info_read($this->_mh)) {
|
|
|
|
|
|
|
|
|
186 |
$id = (int) $done['handle'];
|
187 |
-
curl_multi_remove_handle($this->_mh, $done['handle']);
|
188 |
|
189 |
if (!isset($this->handles[$id])) {
|
190 |
// Probably was cancelled.
|
@@ -195,25 +241,21 @@ class CurlMultiHandler
|
|
195 |
unset($this->handles[$id], $this->delays[$id]);
|
196 |
$entry['easy']->errno = $done['result'];
|
197 |
$entry['deferred']->resolve(
|
198 |
-
CurlFactory::finish(
|
199 |
-
$this,
|
200 |
-
$entry['easy'],
|
201 |
-
$this->factory
|
202 |
-
)
|
203 |
);
|
204 |
}
|
205 |
}
|
206 |
|
207 |
-
private function timeToNext()
|
208 |
{
|
209 |
$currentTime = Utils::currentTime();
|
210 |
-
$nextTime = PHP_INT_MAX;
|
211 |
foreach ($this->delays as $time) {
|
212 |
if ($time < $nextTime) {
|
213 |
$nextTime = $time;
|
214 |
}
|
215 |
}
|
216 |
|
217 |
-
return max(0, $nextTime - $currentTime) * 1000000;
|
218 |
}
|
219 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use GuzzleHttp\Promise as P;
|
6 |
use GuzzleHttp\Promise\Promise;
|
7 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
8 |
use GuzzleHttp\Utils;
|
9 |
use Psr\Http\Message\RequestInterface;
|
10 |
|
15 |
* associative array of curl option constants mapping to values in the
|
16 |
* **curl** key of the provided request options.
|
17 |
*
|
18 |
+
* @property resource|\CurlMultiHandle $_mh Internal use only. Lazy loaded multi-handle.
|
19 |
+
*
|
20 |
+
* @final
|
21 |
*/
|
22 |
class CurlMultiHandler
|
23 |
{
|
24 |
+
/**
|
25 |
+
* @var CurlFactoryInterface
|
26 |
+
*/
|
27 |
private $factory;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @var int
|
31 |
+
*/
|
32 |
private $selectTimeout;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @var int Will be higher than 0 when `curl_multi_exec` is still running.
|
36 |
+
*/
|
37 |
+
private $active = 0;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @var array Request entry handles, indexed by handle id in `addRequest`.
|
41 |
+
*
|
42 |
+
* @see CurlMultiHandler::addRequest
|
43 |
+
*/
|
44 |
private $handles = [];
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @var array<int, float> An array of delay times, indexed by handle id in `addRequest`.
|
48 |
+
*
|
49 |
+
* @see CurlMultiHandler::addRequest
|
50 |
+
*/
|
51 |
private $delays = [];
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @var array<mixed> An associative array of CURLMOPT_* options and corresponding values for curl_multi_setopt()
|
55 |
+
*/
|
56 |
private $options = [];
|
57 |
|
58 |
/**
|
63 |
* out while selecting curl handles. Defaults to 1 second.
|
64 |
* - options: An associative array of CURLMOPT_* options and
|
65 |
* corresponding values for curl_multi_setopt()
|
|
|
|
|
66 |
*/
|
67 |
public function __construct(array $options = [])
|
68 |
{
|
69 |
+
$this->factory = $options['handle_factory'] ?? new CurlFactory(50);
|
|
|
70 |
|
71 |
if (isset($options['select_timeout'])) {
|
72 |
$this->selectTimeout = $options['select_timeout'];
|
73 |
+
} elseif ($selectTimeout = Utils::getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
|
74 |
+
@trigger_error('Since guzzlehttp/guzzle 7.2.0: Using environment variable GUZZLE_CURL_SELECT_TIMEOUT is deprecated. Use option "select_timeout" instead.', \E_USER_DEPRECATED);
|
75 |
+
$this->selectTimeout = (int) $selectTimeout;
|
76 |
} else {
|
77 |
$this->selectTimeout = 1;
|
78 |
}
|
79 |
|
80 |
+
$this->options = $options['options'] ?? [];
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
+
* @param string $name
|
85 |
+
*
|
86 |
+
* @return resource|\CurlMultiHandle
|
87 |
+
*
|
88 |
+
* @throws \BadMethodCallException when another field as `_mh` will be gotten
|
89 |
+
* @throws \RuntimeException when curl can not initialize a multi handle
|
90 |
+
*/
|
91 |
public function __get($name)
|
92 |
{
|
93 |
+
if ($name !== '_mh') {
|
94 |
+
throw new \BadMethodCallException("Can not get other property as '_mh'.");
|
95 |
+
}
|
96 |
|
97 |
+
$multiHandle = \curl_multi_init();
|
98 |
+
|
99 |
+
if (false === $multiHandle) {
|
100 |
+
throw new \RuntimeException('Can not initialize curl multi handle.');
|
101 |
+
}
|
102 |
+
|
103 |
+
$this->_mh = $multiHandle;
|
104 |
|
105 |
+
foreach ($this->options as $option => $value) {
|
106 |
+
// A warning is raised in case of a wrong option.
|
107 |
+
curl_multi_setopt($this->_mh, $option, $value);
|
108 |
}
|
109 |
|
110 |
+
return $this->_mh;
|
111 |
}
|
112 |
|
113 |
public function __destruct()
|
114 |
{
|
115 |
if (isset($this->_mh)) {
|
116 |
+
\curl_multi_close($this->_mh);
|
117 |
unset($this->_mh);
|
118 |
}
|
119 |
}
|
120 |
|
121 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
122 |
{
|
123 |
$easy = $this->factory->create($request, $options);
|
124 |
$id = (int) $easy->handle;
|
138 |
/**
|
139 |
* Ticks the curl event loop.
|
140 |
*/
|
141 |
+
public function tick(): void
|
142 |
{
|
143 |
// Add any delayed handles if needed.
|
144 |
if ($this->delays) {
|
146 |
foreach ($this->delays as $id => $delay) {
|
147 |
if ($currentTime >= $delay) {
|
148 |
unset($this->delays[$id]);
|
149 |
+
\curl_multi_add_handle(
|
150 |
$this->_mh,
|
151 |
$this->handles[$id]['easy']->handle
|
152 |
);
|
155 |
}
|
156 |
|
157 |
// Step through the task queue which may add additional requests.
|
158 |
+
P\Utils::queue()->run();
|
159 |
|
160 |
+
if ($this->active && \curl_multi_select($this->_mh, $this->selectTimeout) === -1) {
|
|
|
|
|
161 |
// Perform a usleep if a select returns -1.
|
162 |
// See: https://bugs.php.net/bug.php?id=61141
|
163 |
+
\usleep(250);
|
164 |
}
|
165 |
|
166 |
+
while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM);
|
167 |
|
168 |
$this->processMessages();
|
169 |
}
|
171 |
/**
|
172 |
* Runs until all outstanding connections have completed.
|
173 |
*/
|
174 |
+
public function execute(): void
|
175 |
{
|
176 |
+
$queue = P\Utils::queue();
|
177 |
|
178 |
while ($this->handles || !$queue->isEmpty()) {
|
179 |
// If there are no transfers, then sleep for the next delay
|
180 |
if (!$this->active && $this->delays) {
|
181 |
+
\usleep($this->timeToNext());
|
182 |
}
|
183 |
$this->tick();
|
184 |
}
|
185 |
}
|
186 |
|
187 |
+
private function addRequest(array $entry): void
|
188 |
{
|
189 |
$easy = $entry['easy'];
|
190 |
$id = (int) $easy->handle;
|
191 |
$this->handles[$id] = $entry;
|
192 |
if (empty($easy->options['delay'])) {
|
193 |
+
\curl_multi_add_handle($this->_mh, $easy->handle);
|
194 |
} else {
|
195 |
$this->delays[$id] = Utils::currentTime() + ($easy->options['delay'] / 1000);
|
196 |
}
|
203 |
*
|
204 |
* @return bool True on success, false on failure.
|
205 |
*/
|
206 |
+
private function cancel($id): bool
|
207 |
{
|
208 |
+
if (!is_int($id)) {
|
209 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
210 |
+
}
|
211 |
+
|
212 |
// Cannot cancel if it has been processed.
|
213 |
if (!isset($this->handles[$id])) {
|
214 |
return false;
|
216 |
|
217 |
$handle = $this->handles[$id]['easy']->handle;
|
218 |
unset($this->delays[$id], $this->handles[$id]);
|
219 |
+
\curl_multi_remove_handle($this->_mh, $handle);
|
220 |
+
\curl_close($handle);
|
221 |
|
222 |
return true;
|
223 |
}
|
224 |
|
225 |
+
private function processMessages(): void
|
226 |
{
|
227 |
+
while ($done = \curl_multi_info_read($this->_mh)) {
|
228 |
+
if ($done['msg'] !== \CURLMSG_DONE) {
|
229 |
+
// if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216
|
230 |
+
continue;
|
231 |
+
}
|
232 |
$id = (int) $done['handle'];
|
233 |
+
\curl_multi_remove_handle($this->_mh, $done['handle']);
|
234 |
|
235 |
if (!isset($this->handles[$id])) {
|
236 |
// Probably was cancelled.
|
241 |
unset($this->handles[$id], $this->delays[$id]);
|
242 |
$entry['easy']->errno = $done['result'];
|
243 |
$entry['deferred']->resolve(
|
244 |
+
CurlFactory::finish($this, $entry['easy'], $this->factory)
|
|
|
|
|
|
|
|
|
245 |
);
|
246 |
}
|
247 |
}
|
248 |
|
249 |
+
private function timeToNext(): int
|
250 |
{
|
251 |
$currentTime = Utils::currentTime();
|
252 |
+
$nextTime = \PHP_INT_MAX;
|
253 |
foreach ($this->delays as $time) {
|
254 |
if ($time < $nextTime) {
|
255 |
$nextTime = $time;
|
256 |
}
|
257 |
}
|
258 |
|
259 |
+
return ((int) \max(0, $nextTime - $currentTime)) * 1000000;
|
260 |
}
|
261 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php
CHANGED
@@ -1,7 +1,9 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use GuzzleHttp\Psr7\Response;
|
|
|
5 |
use Psr\Http\Message\RequestInterface;
|
6 |
use Psr\Http\Message\ResponseInterface;
|
7 |
use Psr\Http\Message\StreamInterface;
|
@@ -13,55 +15,68 @@ use Psr\Http\Message\StreamInterface;
|
|
13 |
*/
|
14 |
final class EasyHandle
|
15 |
{
|
16 |
-
/**
|
|
|
|
|
17 |
public $handle;
|
18 |
|
19 |
-
/**
|
|
|
|
|
20 |
public $sink;
|
21 |
|
22 |
-
/**
|
|
|
|
|
23 |
public $headers = [];
|
24 |
|
25 |
-
/**
|
|
|
|
|
26 |
public $response;
|
27 |
|
28 |
-
/**
|
|
|
|
|
29 |
public $request;
|
30 |
|
31 |
-
/**
|
|
|
|
|
32 |
public $options = [];
|
33 |
|
34 |
-
/**
|
|
|
|
|
35 |
public $errno = 0;
|
36 |
|
37 |
-
/**
|
|
|
|
|
38 |
public $onHeadersException;
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Attach a response to the easy handle based on the received headers.
|
42 |
*
|
43 |
-
* @throws \RuntimeException if no headers have been received
|
|
|
44 |
*/
|
45 |
-
public function createResponse()
|
46 |
{
|
47 |
-
|
48 |
-
throw new \RuntimeException('No headers have been received');
|
49 |
-
}
|
50 |
|
51 |
-
|
52 |
-
$startLine = explode(' ', array_shift($this->headers), 3);
|
53 |
-
$headers = \GuzzleHttp\headers_from_lines($this->headers);
|
54 |
-
$normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
|
55 |
|
56 |
-
if (!empty($this->options['decode_content'])
|
57 |
-
|
58 |
-
) {
|
59 |
-
$headers['x-encoded-content-encoding']
|
60 |
-
= $headers[$normalizedKeys['content-encoding']];
|
61 |
unset($headers[$normalizedKeys['content-encoding']]);
|
62 |
if (isset($normalizedKeys['content-length'])) {
|
63 |
-
$headers['x-encoded-content-length']
|
64 |
-
= $headers[$normalizedKeys['content-length']];
|
65 |
|
66 |
$bodyLength = (int) $this->sink->getSize();
|
67 |
if ($bodyLength) {
|
@@ -74,19 +89,24 @@ final class EasyHandle
|
|
74 |
|
75 |
// Attach a response to the easy handle with the parsed headers.
|
76 |
$this->response = new Response(
|
77 |
-
$
|
78 |
$headers,
|
79 |
$this->sink,
|
80 |
-
|
81 |
-
|
82 |
);
|
83 |
}
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
public function __get($name)
|
86 |
{
|
87 |
-
$msg = $name === 'handle'
|
88 |
-
? 'The EasyHandle has been released'
|
89 |
-
: 'Invalid property: ' . $name;
|
90 |
throw new \BadMethodCallException($msg);
|
91 |
}
|
92 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use GuzzleHttp\Psr7\Response;
|
6 |
+
use GuzzleHttp\Utils;
|
7 |
use Psr\Http\Message\RequestInterface;
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
use Psr\Http\Message\StreamInterface;
|
15 |
*/
|
16 |
final class EasyHandle
|
17 |
{
|
18 |
+
/**
|
19 |
+
* @var resource|\CurlHandle cURL resource
|
20 |
+
*/
|
21 |
public $handle;
|
22 |
|
23 |
+
/**
|
24 |
+
* @var StreamInterface Where data is being written
|
25 |
+
*/
|
26 |
public $sink;
|
27 |
|
28 |
+
/**
|
29 |
+
* @var array Received HTTP headers so far
|
30 |
+
*/
|
31 |
public $headers = [];
|
32 |
|
33 |
+
/**
|
34 |
+
* @var ResponseInterface|null Received response (if any)
|
35 |
+
*/
|
36 |
public $response;
|
37 |
|
38 |
+
/**
|
39 |
+
* @var RequestInterface Request being sent
|
40 |
+
*/
|
41 |
public $request;
|
42 |
|
43 |
+
/**
|
44 |
+
* @var array Request options
|
45 |
+
*/
|
46 |
public $options = [];
|
47 |
|
48 |
+
/**
|
49 |
+
* @var int cURL error number (if any)
|
50 |
+
*/
|
51 |
public $errno = 0;
|
52 |
|
53 |
+
/**
|
54 |
+
* @var \Throwable|null Exception during on_headers (if any)
|
55 |
+
*/
|
56 |
public $onHeadersException;
|
57 |
|
58 |
+
/**
|
59 |
+
* @var \Exception|null Exception during createResponse (if any)
|
60 |
+
*/
|
61 |
+
public $createResponseException;
|
62 |
+
|
63 |
/**
|
64 |
* Attach a response to the easy handle based on the received headers.
|
65 |
*
|
66 |
+
* @throws \RuntimeException if no headers have been received or the first
|
67 |
+
* header line is invalid.
|
68 |
*/
|
69 |
+
public function createResponse(): void
|
70 |
{
|
71 |
+
[$ver, $status, $reason, $headers] = HeaderProcessor::parseHeaders($this->headers);
|
|
|
|
|
72 |
|
73 |
+
$normalizedKeys = Utils::normalizeHeaderKeys($headers);
|
|
|
|
|
|
|
74 |
|
75 |
+
if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding'])) {
|
76 |
+
$headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
|
|
|
|
|
|
|
77 |
unset($headers[$normalizedKeys['content-encoding']]);
|
78 |
if (isset($normalizedKeys['content-length'])) {
|
79 |
+
$headers['x-encoded-content-length'] = $headers[$normalizedKeys['content-length']];
|
|
|
80 |
|
81 |
$bodyLength = (int) $this->sink->getSize();
|
82 |
if ($bodyLength) {
|
89 |
|
90 |
// Attach a response to the easy handle with the parsed headers.
|
91 |
$this->response = new Response(
|
92 |
+
$status,
|
93 |
$headers,
|
94 |
$this->sink,
|
95 |
+
$ver,
|
96 |
+
$reason
|
97 |
);
|
98 |
}
|
99 |
|
100 |
+
/**
|
101 |
+
* @param string $name
|
102 |
+
*
|
103 |
+
* @return void
|
104 |
+
*
|
105 |
+
* @throws \BadMethodCallException
|
106 |
+
*/
|
107 |
public function __get($name)
|
108 |
{
|
109 |
+
$msg = $name === 'handle' ? 'The EasyHandle has been released' : 'Invalid property: ' . $name;
|
|
|
|
|
110 |
throw new \BadMethodCallException($msg);
|
111 |
}
|
112 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GuzzleHttp\Handler;
|
4 |
+
|
5 |
+
use GuzzleHttp\Utils;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @internal
|
9 |
+
*/
|
10 |
+
final class HeaderProcessor
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Returns the HTTP version, status code, reason phrase, and headers.
|
14 |
+
*
|
15 |
+
* @param string[] $headers
|
16 |
+
*
|
17 |
+
* @throws \RuntimeException
|
18 |
+
*
|
19 |
+
* @return array{0:string, 1:int, 2:?string, 3:array}
|
20 |
+
*/
|
21 |
+
public static function parseHeaders(array $headers): array
|
22 |
+
{
|
23 |
+
if ($headers === []) {
|
24 |
+
throw new \RuntimeException('Expected a non-empty array of header data');
|
25 |
+
}
|
26 |
+
|
27 |
+
$parts = \explode(' ', \array_shift($headers), 3);
|
28 |
+
$version = \explode('/', $parts[0])[1] ?? null;
|
29 |
+
|
30 |
+
if ($version === null) {
|
31 |
+
throw new \RuntimeException('HTTP version missing from header data');
|
32 |
+
}
|
33 |
+
|
34 |
+
$status = $parts[1] ?? null;
|
35 |
+
|
36 |
+
if ($status === null) {
|
37 |
+
throw new \RuntimeException('HTTP status code missing from header data');
|
38 |
+
}
|
39 |
+
|
40 |
+
return [$version, (int) $status, $parts[2] ?? null, Utils::headersFromLines($headers)];
|
41 |
+
}
|
42 |
+
}
|
vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
CHANGED
@@ -1,81 +1,98 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use GuzzleHttp\Exception\RequestException;
|
5 |
use GuzzleHttp\HandlerStack;
|
|
|
6 |
use GuzzleHttp\Promise\PromiseInterface;
|
7 |
-
use GuzzleHttp\Promise\RejectedPromise;
|
8 |
use GuzzleHttp\TransferStats;
|
|
|
9 |
use Psr\Http\Message\RequestInterface;
|
10 |
use Psr\Http\Message\ResponseInterface;
|
|
|
11 |
|
12 |
/**
|
13 |
* Handler that returns responses or throw exceptions from a queue.
|
|
|
|
|
14 |
*/
|
15 |
class MockHandler implements \Countable
|
16 |
{
|
|
|
|
|
|
|
17 |
private $queue = [];
|
|
|
|
|
|
|
|
|
18 |
private $lastRequest;
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
private $onFulfilled;
|
|
|
|
|
|
|
|
|
21 |
private $onRejected;
|
22 |
|
23 |
/**
|
24 |
* Creates a new MockHandler that uses the default handler stack list of
|
25 |
* middlewares.
|
26 |
*
|
27 |
-
* @param array
|
28 |
-
* @param callable $onFulfilled Callback to invoke when the return value is fulfilled.
|
29 |
-
* @param callable $onRejected Callback to invoke when the return value is rejected.
|
30 |
-
*
|
31 |
-
* @return HandlerStack
|
32 |
*/
|
33 |
-
public static function createWithMiddleware(
|
34 |
-
|
35 |
-
callable $onFulfilled = null,
|
36 |
-
callable $onRejected = null
|
37 |
-
) {
|
38 |
return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
|
39 |
}
|
40 |
|
41 |
/**
|
42 |
* The passed in value must be an array of
|
43 |
-
* {@see
|
44 |
* callables, or Promises.
|
45 |
*
|
46 |
-
* @param array $queue
|
47 |
-
* @param callable
|
48 |
-
* @param callable
|
49 |
*/
|
50 |
-
public function __construct(
|
51 |
-
|
52 |
-
callable $onFulfilled = null,
|
53 |
-
callable $onRejected = null
|
54 |
-
) {
|
55 |
$this->onFulfilled = $onFulfilled;
|
56 |
$this->onRejected = $onRejected;
|
57 |
|
58 |
if ($queue) {
|
59 |
-
|
|
|
60 |
}
|
61 |
}
|
62 |
|
63 |
-
public function __invoke(RequestInterface $request, array $options)
|
64 |
{
|
65 |
if (!$this->queue) {
|
66 |
throw new \OutOfBoundsException('Mock queue is empty');
|
67 |
}
|
68 |
|
69 |
-
if (isset($options['delay']) && is_numeric($options['delay'])) {
|
70 |
-
usleep($options['delay'] * 1000);
|
71 |
}
|
72 |
|
73 |
$this->lastRequest = $request;
|
74 |
$this->lastOptions = $options;
|
75 |
-
$response = array_shift($this->queue);
|
76 |
|
77 |
if (isset($options['on_headers'])) {
|
78 |
-
if (
|
79 |
throw new \InvalidArgumentException('on_headers must be callable');
|
80 |
}
|
81 |
try {
|
@@ -86,29 +103,30 @@ class MockHandler implements \Countable
|
|
86 |
}
|
87 |
}
|
88 |
|
89 |
-
if (is_callable($response)) {
|
90 |
-
$response =
|
91 |
}
|
92 |
|
93 |
-
$response = $response instanceof \
|
94 |
-
? \
|
95 |
-
: \
|
96 |
|
97 |
return $response->then(
|
98 |
-
function ($value) use ($request, $options) {
|
99 |
$this->invokeStats($request, $options, $value);
|
100 |
if ($this->onFulfilled) {
|
101 |
-
|
102 |
}
|
103 |
-
|
|
|
104 |
$contents = (string) $value->getBody();
|
105 |
$sink = $options['sink'];
|
106 |
|
107 |
-
if (is_resource($sink)) {
|
108 |
-
fwrite($sink, $contents);
|
109 |
-
} elseif (is_string($sink)) {
|
110 |
-
file_put_contents($sink, $contents);
|
111 |
-
} elseif ($sink instanceof
|
112 |
$sink->write($contents);
|
113 |
}
|
114 |
}
|
@@ -118,9 +136,9 @@ class MockHandler implements \Countable
|
|
118 |
function ($reason) use ($request, $options) {
|
119 |
$this->invokeStats($request, $options, null, $reason);
|
120 |
if ($this->onRejected) {
|
121 |
-
|
122 |
}
|
123 |
-
return \
|
124 |
}
|
125 |
);
|
126 |
}
|
@@ -128,68 +146,66 @@ class MockHandler implements \Countable
|
|
128 |
/**
|
129 |
* Adds one or more variadic requests, exceptions, callables, or promises
|
130 |
* to the queue.
|
|
|
|
|
131 |
*/
|
132 |
-
public function append()
|
133 |
{
|
134 |
-
foreach (
|
135 |
if ($value instanceof ResponseInterface
|
136 |
-
|| $value instanceof \
|
137 |
|| $value instanceof PromiseInterface
|
138 |
-
|| is_callable($value)
|
139 |
) {
|
140 |
$this->queue[] = $value;
|
141 |
} else {
|
142 |
-
throw new \
|
143 |
-
. 'exception. Found ' . \GuzzleHttp\describe_type($value));
|
144 |
}
|
145 |
}
|
146 |
}
|
147 |
|
148 |
/**
|
149 |
* Get the last received request.
|
150 |
-
*
|
151 |
-
* @return RequestInterface
|
152 |
*/
|
153 |
-
public function getLastRequest()
|
154 |
{
|
155 |
return $this->lastRequest;
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
* Get the last received request options.
|
160 |
-
*
|
161 |
-
* @return array
|
162 |
*/
|
163 |
-
public function getLastOptions()
|
164 |
{
|
165 |
return $this->lastOptions;
|
166 |
}
|
167 |
|
168 |
/**
|
169 |
* Returns the number of remaining items in the queue.
|
170 |
-
*
|
171 |
-
* @return int
|
172 |
*/
|
173 |
-
public function count()
|
174 |
{
|
175 |
-
return count($this->queue);
|
176 |
}
|
177 |
|
178 |
-
public function reset()
|
179 |
{
|
180 |
$this->queue = [];
|
181 |
}
|
182 |
|
|
|
|
|
|
|
183 |
private function invokeStats(
|
184 |
RequestInterface $request,
|
185 |
array $options,
|
186 |
ResponseInterface $response = null,
|
187 |
$reason = null
|
188 |
-
) {
|
189 |
if (isset($options['on_stats'])) {
|
190 |
-
$transferTime =
|
191 |
$stats = new TransferStats($request, $response, $transferTime, $reason);
|
192 |
-
|
193 |
}
|
194 |
}
|
195 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use GuzzleHttp\Exception\RequestException;
|
6 |
use GuzzleHttp\HandlerStack;
|
7 |
+
use GuzzleHttp\Promise as P;
|
8 |
use GuzzleHttp\Promise\PromiseInterface;
|
|
|
9 |
use GuzzleHttp\TransferStats;
|
10 |
+
use GuzzleHttp\Utils;
|
11 |
use Psr\Http\Message\RequestInterface;
|
12 |
use Psr\Http\Message\ResponseInterface;
|
13 |
+
use Psr\Http\Message\StreamInterface;
|
14 |
|
15 |
/**
|
16 |
* Handler that returns responses or throw exceptions from a queue.
|
17 |
+
*
|
18 |
+
* @final
|
19 |
*/
|
20 |
class MockHandler implements \Countable
|
21 |
{
|
22 |
+
/**
|
23 |
+
* @var array
|
24 |
+
*/
|
25 |
private $queue = [];
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var RequestInterface|null
|
29 |
+
*/
|
30 |
private $lastRequest;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var array
|
34 |
+
*/
|
35 |
+
private $lastOptions = [];
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @var callable|null
|
39 |
+
*/
|
40 |
private $onFulfilled;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @var callable|null
|
44 |
+
*/
|
45 |
private $onRejected;
|
46 |
|
47 |
/**
|
48 |
* Creates a new MockHandler that uses the default handler stack list of
|
49 |
* middlewares.
|
50 |
*
|
51 |
+
* @param array|null $queue Array of responses, callables, or exceptions.
|
52 |
+
* @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
|
53 |
+
* @param callable|null $onRejected Callback to invoke when the return value is rejected.
|
|
|
|
|
54 |
*/
|
55 |
+
public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack
|
56 |
+
{
|
|
|
|
|
|
|
57 |
return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* The passed in value must be an array of
|
62 |
+
* {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
|
63 |
* callables, or Promises.
|
64 |
*
|
65 |
+
* @param array<int, mixed>|null $queue The parameters to be passed to the append function, as an indexed array.
|
66 |
+
* @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
|
67 |
+
* @param callable|null $onRejected Callback to invoke when the return value is rejected.
|
68 |
*/
|
69 |
+
public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
|
70 |
+
{
|
|
|
|
|
|
|
71 |
$this->onFulfilled = $onFulfilled;
|
72 |
$this->onRejected = $onRejected;
|
73 |
|
74 |
if ($queue) {
|
75 |
+
// array_values included for BC
|
76 |
+
$this->append(...array_values($queue));
|
77 |
}
|
78 |
}
|
79 |
|
80 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
81 |
{
|
82 |
if (!$this->queue) {
|
83 |
throw new \OutOfBoundsException('Mock queue is empty');
|
84 |
}
|
85 |
|
86 |
+
if (isset($options['delay']) && \is_numeric($options['delay'])) {
|
87 |
+
\usleep((int) $options['delay'] * 1000);
|
88 |
}
|
89 |
|
90 |
$this->lastRequest = $request;
|
91 |
$this->lastOptions = $options;
|
92 |
+
$response = \array_shift($this->queue);
|
93 |
|
94 |
if (isset($options['on_headers'])) {
|
95 |
+
if (!\is_callable($options['on_headers'])) {
|
96 |
throw new \InvalidArgumentException('on_headers must be callable');
|
97 |
}
|
98 |
try {
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
if (\is_callable($response)) {
|
107 |
+
$response = $response($request, $options);
|
108 |
}
|
109 |
|
110 |
+
$response = $response instanceof \Throwable
|
111 |
+
? P\Create::rejectionFor($response)
|
112 |
+
: P\Create::promiseFor($response);
|
113 |
|
114 |
return $response->then(
|
115 |
+
function (?ResponseInterface $value) use ($request, $options) {
|
116 |
$this->invokeStats($request, $options, $value);
|
117 |
if ($this->onFulfilled) {
|
118 |
+
($this->onFulfilled)($value);
|
119 |
}
|
120 |
+
|
121 |
+
if ($value !== null && isset($options['sink'])) {
|
122 |
$contents = (string) $value->getBody();
|
123 |
$sink = $options['sink'];
|
124 |
|
125 |
+
if (\is_resource($sink)) {
|
126 |
+
\fwrite($sink, $contents);
|
127 |
+
} elseif (\is_string($sink)) {
|
128 |
+
\file_put_contents($sink, $contents);
|
129 |
+
} elseif ($sink instanceof StreamInterface) {
|
130 |
$sink->write($contents);
|
131 |
}
|
132 |
}
|
136 |
function ($reason) use ($request, $options) {
|
137 |
$this->invokeStats($request, $options, null, $reason);
|
138 |
if ($this->onRejected) {
|
139 |
+
($this->onRejected)($reason);
|
140 |
}
|
141 |
+
return P\Create::rejectionFor($reason);
|
142 |
}
|
143 |
);
|
144 |
}
|
146 |
/**
|
147 |
* Adds one or more variadic requests, exceptions, callables, or promises
|
148 |
* to the queue.
|
149 |
+
*
|
150 |
+
* @param mixed ...$values
|
151 |
*/
|
152 |
+
public function append(...$values): void
|
153 |
{
|
154 |
+
foreach ($values as $value) {
|
155 |
if ($value instanceof ResponseInterface
|
156 |
+
|| $value instanceof \Throwable
|
157 |
|| $value instanceof PromiseInterface
|
158 |
+
|| \is_callable($value)
|
159 |
) {
|
160 |
$this->queue[] = $value;
|
161 |
} else {
|
162 |
+
throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found ' . Utils::describeType($value));
|
|
|
163 |
}
|
164 |
}
|
165 |
}
|
166 |
|
167 |
/**
|
168 |
* Get the last received request.
|
|
|
|
|
169 |
*/
|
170 |
+
public function getLastRequest(): ?RequestInterface
|
171 |
{
|
172 |
return $this->lastRequest;
|
173 |
}
|
174 |
|
175 |
/**
|
176 |
* Get the last received request options.
|
|
|
|
|
177 |
*/
|
178 |
+
public function getLastOptions(): array
|
179 |
{
|
180 |
return $this->lastOptions;
|
181 |
}
|
182 |
|
183 |
/**
|
184 |
* Returns the number of remaining items in the queue.
|
|
|
|
|
185 |
*/
|
186 |
+
public function count(): int
|
187 |
{
|
188 |
+
return \count($this->queue);
|
189 |
}
|
190 |
|
191 |
+
public function reset(): void
|
192 |
{
|
193 |
$this->queue = [];
|
194 |
}
|
195 |
|
196 |
+
/**
|
197 |
+
* @param mixed $reason Promise or reason.
|
198 |
+
*/
|
199 |
private function invokeStats(
|
200 |
RequestInterface $request,
|
201 |
array $options,
|
202 |
ResponseInterface $response = null,
|
203 |
$reason = null
|
204 |
+
): void {
|
205 |
if (isset($options['on_stats'])) {
|
206 |
+
$transferTime = $options['transfer_time'] ?? 0;
|
207 |
$stats = new TransferStats($request, $response, $transferTime, $reason);
|
208 |
+
($options['on_stats'])($stats);
|
209 |
}
|
210 |
}
|
211 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
CHANGED
@@ -1,11 +1,15 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
|
|
4 |
use GuzzleHttp\RequestOptions;
|
5 |
use Psr\Http\Message\RequestInterface;
|
6 |
|
7 |
/**
|
8 |
* Provides basic proxies for handlers.
|
|
|
|
|
9 |
*/
|
10 |
class Proxy
|
11 |
{
|
@@ -13,19 +17,15 @@ class Proxy
|
|
13 |
* Sends synchronous requests to a specific handler while sending all other
|
14 |
* requests to another handler.
|
15 |
*
|
16 |
-
* @param callable $default Handler used for normal responses
|
17 |
-
* @param callable $sync Handler used for synchronous responses.
|
18 |
*
|
19 |
-
* @return callable Returns the composed handler.
|
20 |
*/
|
21 |
-
public static function wrapSync(
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
return function (RequestInterface $request, array $options) use ($default, $sync) {
|
26 |
-
return empty($options[RequestOptions::SYNCHRONOUS])
|
27 |
-
? $default($request, $options)
|
28 |
-
: $sync($request, $options);
|
29 |
};
|
30 |
}
|
31 |
|
@@ -37,19 +37,15 @@ class Proxy
|
|
37 |
* performance benefits of curl while still supporting true streaming
|
38 |
* through the StreamHandler.
|
39 |
*
|
40 |
-
* @param callable $default Handler used for non-streaming responses
|
41 |
-
* @param callable $streaming Handler used for streaming responses
|
42 |
*
|
43 |
-
* @return callable Returns the composed handler.
|
44 |
*/
|
45 |
-
public static function wrapStreaming(
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
return function (RequestInterface $request, array $options) use ($default, $streaming) {
|
50 |
-
return empty($options['stream'])
|
51 |
-
? $default($request, $options)
|
52 |
-
: $streaming($request, $options);
|
53 |
};
|
54 |
}
|
55 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
6 |
use GuzzleHttp\RequestOptions;
|
7 |
use Psr\Http\Message\RequestInterface;
|
8 |
|
9 |
/**
|
10 |
* Provides basic proxies for handlers.
|
11 |
+
*
|
12 |
+
* @final
|
13 |
*/
|
14 |
class Proxy
|
15 |
{
|
17 |
* Sends synchronous requests to a specific handler while sending all other
|
18 |
* requests to another handler.
|
19 |
*
|
20 |
+
* @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses
|
21 |
+
* @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.
|
22 |
*
|
23 |
+
* @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
|
24 |
*/
|
25 |
+
public static function wrapSync(callable $default, callable $sync): callable
|
26 |
+
{
|
27 |
+
return static function (RequestInterface $request, array $options) use ($default, $sync): PromiseInterface {
|
28 |
+
return empty($options[RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
|
|
|
|
|
|
|
|
|
29 |
};
|
30 |
}
|
31 |
|
37 |
* performance benefits of curl while still supporting true streaming
|
38 |
* through the StreamHandler.
|
39 |
*
|
40 |
+
* @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses
|
41 |
+
* @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses
|
42 |
*
|
43 |
+
* @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
|
44 |
*/
|
45 |
+
public static function wrapStreaming(callable $default, callable $streaming): callable
|
46 |
+
{
|
47 |
+
return static function (RequestInterface $request, array $options) use ($default, $streaming): PromiseInterface {
|
48 |
+
return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
|
|
|
|
|
|
|
|
|
49 |
};
|
50 |
}
|
51 |
}
|
vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
CHANGED
@@ -1,8 +1,10 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp\Handler;
|
3 |
|
4 |
use GuzzleHttp\Exception\ConnectException;
|
5 |
use GuzzleHttp\Exception\RequestException;
|
|
|
6 |
use GuzzleHttp\Promise\FulfilledPromise;
|
7 |
use GuzzleHttp\Promise\PromiseInterface;
|
8 |
use GuzzleHttp\Psr7;
|
@@ -11,12 +13,18 @@ use GuzzleHttp\Utils;
|
|
11 |
use Psr\Http\Message\RequestInterface;
|
12 |
use Psr\Http\Message\ResponseInterface;
|
13 |
use Psr\Http\Message\StreamInterface;
|
|
|
14 |
|
15 |
/**
|
16 |
* HTTP handler that uses PHP's HTTP stream wrapper.
|
|
|
|
|
17 |
*/
|
18 |
class StreamHandler
|
19 |
{
|
|
|
|
|
|
|
20 |
private $lastHeaders = [];
|
21 |
|
22 |
/**
|
@@ -24,14 +32,12 @@ class StreamHandler
|
|
24 |
*
|
25 |
* @param RequestInterface $request Request to send.
|
26 |
* @param array $options Request transfer options.
|
27 |
-
*
|
28 |
-
* @return PromiseInterface
|
29 |
*/
|
30 |
-
public function __invoke(RequestInterface $request, array $options)
|
31 |
{
|
32 |
// Sleep if there is a delay specified.
|
33 |
if (isset($options['delay'])) {
|
34 |
-
usleep($options['delay'] * 1000);
|
35 |
}
|
36 |
|
37 |
$startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
|
@@ -58,80 +64,80 @@ class StreamHandler
|
|
58 |
// Determine if the error was a networking error.
|
59 |
$message = $e->getMessage();
|
60 |
// This list can probably get more comprehensive.
|
61 |
-
if (strpos($message, 'getaddrinfo') // DNS lookup failed
|
62 |
-
|| strpos($message, 'Connection refused')
|
63 |
-
|| strpos($message, "couldn't connect to host") // error on HHVM
|
64 |
-
|| strpos($message, "connection attempt failed")
|
65 |
) {
|
66 |
$e = new ConnectException($e->getMessage(), $request, $e);
|
|
|
|
|
67 |
}
|
68 |
-
$e = RequestException::wrapException($request, $e);
|
69 |
$this->invokeStats($options, $request, $startTime, null, $e);
|
70 |
|
71 |
-
return \
|
72 |
}
|
73 |
}
|
74 |
|
75 |
private function invokeStats(
|
76 |
array $options,
|
77 |
RequestInterface $request,
|
78 |
-
$startTime,
|
79 |
ResponseInterface $response = null,
|
80 |
-
$error = null
|
81 |
-
) {
|
82 |
if (isset($options['on_stats'])) {
|
83 |
-
$stats = new TransferStats(
|
84 |
-
|
85 |
-
$response,
|
86 |
-
Utils::currentTime() - $startTime,
|
87 |
-
$error,
|
88 |
-
[]
|
89 |
-
);
|
90 |
-
call_user_func($options['on_stats'], $stats);
|
91 |
}
|
92 |
}
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
) {
|
100 |
$hdrs = $this->lastHeaders;
|
101 |
$this->lastHeaders = [];
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
109 |
$sink = $stream;
|
110 |
|
111 |
-
if (strcasecmp('HEAD', $request->getMethod())) {
|
112 |
$sink = $this->createSink($stream, $options);
|
113 |
}
|
114 |
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
if (isset($options['on_headers'])) {
|
118 |
try {
|
119 |
$options['on_headers']($response);
|
120 |
} catch (\Exception $e) {
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
}
|
125 |
}
|
126 |
|
127 |
// Do not drain when the request is a HEAD request because they have
|
128 |
// no body.
|
129 |
if ($sink !== $stream) {
|
130 |
-
$this->drain(
|
131 |
-
$stream,
|
132 |
-
$sink,
|
133 |
-
$response->getHeaderLine('Content-Length')
|
134 |
-
);
|
135 |
}
|
136 |
|
137 |
$this->invokeStats($options, $request, $startTime, $response, null);
|
@@ -139,41 +145,37 @@ class StreamHandler
|
|
139 |
return new FulfilledPromise($response);
|
140 |
}
|
141 |
|
142 |
-
private function createSink(StreamInterface $stream, array $options)
|
143 |
{
|
144 |
if (!empty($options['stream'])) {
|
145 |
return $stream;
|
146 |
}
|
147 |
|
148 |
-
$sink =
|
149 |
-
? $options['sink']
|
150 |
-
: fopen('php://temp', 'r+');
|
151 |
|
152 |
-
return is_string($sink)
|
153 |
-
? new Psr7\LazyOpenStream($sink, 'w+')
|
154 |
-
: Psr7\stream_for($sink);
|
155 |
}
|
156 |
|
157 |
-
|
|
|
|
|
|
|
158 |
{
|
159 |
// Automatically decode responses when instructed.
|
160 |
if (!empty($options['decode_content'])) {
|
161 |
-
$normalizedKeys =
|
162 |
if (isset($normalizedKeys['content-encoding'])) {
|
163 |
$encoding = $headers[$normalizedKeys['content-encoding']];
|
164 |
if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') {
|
165 |
-
$stream = new Psr7\InflateStream(
|
166 |
-
|
167 |
-
|
168 |
-
$headers['x-encoded-content-encoding']
|
169 |
-
= $headers[$normalizedKeys['content-encoding']];
|
170 |
// Remove content-encoding header
|
171 |
unset($headers[$normalizedKeys['content-encoding']]);
|
|
|
172 |
// Fix content-length header
|
173 |
if (isset($normalizedKeys['content-length'])) {
|
174 |
-
$headers['x-encoded-content-length']
|
175 |
-
= $headers[$normalizedKeys['content-length']];
|
176 |
-
|
177 |
$length = (int) $stream->getSize();
|
178 |
if ($length === 0) {
|
179 |
unset($headers[$normalizedKeys['content-length']]);
|
@@ -191,27 +193,21 @@ class StreamHandler
|
|
191 |
/**
|
192 |
* Drains the source stream into the "sink" client option.
|
193 |
*
|
194 |
-
* @param
|
195 |
-
*
|
196 |
-
* @param string $contentLength Header specifying the amount of
|
197 |
-
* data to read.
|
198 |
*
|
199 |
-
* @return StreamInterface
|
200 |
* @throws \RuntimeException when the sink option is invalid.
|
201 |
*/
|
202 |
-
private function drain(
|
203 |
-
|
204 |
-
StreamInterface $sink,
|
205 |
-
$contentLength
|
206 |
-
) {
|
207 |
// If a content-length header is provided, then stop reading once
|
208 |
// that number of bytes has been read. This can prevent infinitely
|
209 |
// reading from a stream when dealing with servers that do not honor
|
210 |
// Connection: Close headers.
|
211 |
-
Psr7\
|
212 |
$source,
|
213 |
$sink,
|
214 |
-
(strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1
|
215 |
);
|
216 |
|
217 |
$sink->seek(0);
|
@@ -226,12 +222,13 @@ class StreamHandler
|
|
226 |
* @param callable $callback Callable that returns stream resource
|
227 |
*
|
228 |
* @return resource
|
|
|
229 |
* @throws \RuntimeException on error
|
230 |
*/
|
231 |
private function createResource(callable $callback)
|
232 |
{
|
233 |
-
$errors =
|
234 |
-
set_error_handler(function ($_, $msg, $file, $line) use (&$errors) {
|
235 |
$errors[] = [
|
236 |
'message' => $msg,
|
237 |
'file' => $file,
|
@@ -240,27 +237,37 @@ class StreamHandler
|
|
240 |
return true;
|
241 |
});
|
242 |
|
243 |
-
|
244 |
-
|
|
|
|
|
|
|
245 |
|
246 |
if (!$resource) {
|
247 |
$message = 'Error creating resource: ';
|
248 |
foreach ($errors as $err) {
|
249 |
foreach ($err as $key => $value) {
|
250 |
-
$message .= "[$key] $value" . PHP_EOL;
|
251 |
}
|
252 |
}
|
253 |
-
throw new \RuntimeException(trim($message));
|
254 |
}
|
255 |
|
256 |
return $resource;
|
257 |
}
|
258 |
|
|
|
|
|
|
|
259 |
private function createStream(RequestInterface $request, array $options)
|
260 |
{
|
261 |
static $methods;
|
262 |
if (!$methods) {
|
263 |
-
$methods = array_flip(get_class_methods(__CLASS__));
|
|
|
|
|
|
|
|
|
264 |
}
|
265 |
|
266 |
// HTTP/1.1 streams using the PHP stream wrapper require a
|
@@ -279,7 +286,7 @@ class StreamHandler
|
|
279 |
$params = [];
|
280 |
$context = $this->getDefaultContext($request);
|
281 |
|
282 |
-
if (isset($options['on_headers']) &&
|
283 |
throw new \InvalidArgumentException('on_headers must be callable');
|
284 |
}
|
285 |
|
@@ -293,42 +300,39 @@ class StreamHandler
|
|
293 |
}
|
294 |
|
295 |
if (isset($options['stream_context'])) {
|
296 |
-
if (
|
297 |
throw new \InvalidArgumentException('stream_context must be an array');
|
298 |
}
|
299 |
-
$context = array_replace_recursive(
|
300 |
-
$context,
|
301 |
-
$options['stream_context']
|
302 |
-
);
|
303 |
}
|
304 |
|
305 |
// Microsoft NTLM authentication only supported with curl handler
|
306 |
-
if (isset($options['auth'])
|
307 |
-
&& is_array($options['auth'])
|
308 |
-
&& isset($options['auth'][2])
|
309 |
-
&& 'ntlm' == $options['auth'][2]
|
310 |
-
) {
|
311 |
throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler');
|
312 |
}
|
313 |
|
314 |
$uri = $this->resolveHost($request, $options);
|
315 |
|
316 |
-
$
|
317 |
-
function () use ($context, $params) {
|
318 |
-
return stream_context_create($context, $params);
|
319 |
}
|
320 |
);
|
321 |
|
322 |
return $this->createResource(
|
323 |
-
function () use ($uri, &$http_response_header, $context, $options) {
|
324 |
-
$resource = fopen((string) $uri, 'r',
|
325 |
-
$this->lastHeaders = $http_response_header;
|
|
|
|
|
|
|
|
|
326 |
|
327 |
if (isset($options['read_timeout'])) {
|
328 |
$readTimeout = $options['read_timeout'];
|
329 |
$sec = (int) $readTimeout;
|
330 |
$usec = ($readTimeout - $sec) * 100000;
|
331 |
-
stream_set_timeout($resource, $sec, $usec);
|
332 |
}
|
333 |
|
334 |
return $resource;
|
@@ -336,42 +340,31 @@ class StreamHandler
|
|
336 |
);
|
337 |
}
|
338 |
|
339 |
-
private function resolveHost(RequestInterface $request, array $options)
|
340 |
{
|
341 |
$uri = $request->getUri();
|
342 |
|
343 |
-
if (isset($options['force_ip_resolve']) &&
|
344 |
if ('v4' === $options['force_ip_resolve']) {
|
345 |
-
$records = dns_get_record($uri->getHost(), DNS_A);
|
346 |
-
if (!isset($records[0]['ip'])) {
|
347 |
-
throw new ConnectException(
|
348 |
-
sprintf(
|
349 |
-
"Could not resolve IPv4 address for host '%s'",
|
350 |
-
$uri->getHost()
|
351 |
-
),
|
352 |
-
$request
|
353 |
-
);
|
354 |
}
|
355 |
-
|
356 |
-
}
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
"Could not resolve IPv6 address for host '%s'",
|
362 |
-
$uri->getHost()
|
363 |
-
),
|
364 |
-
$request
|
365 |
-
);
|
366 |
}
|
367 |
-
|
368 |
}
|
369 |
}
|
370 |
|
371 |
return $uri;
|
372 |
}
|
373 |
|
374 |
-
private function getDefaultContext(RequestInterface $request)
|
375 |
{
|
376 |
$headers = '';
|
377 |
foreach ($request->getHeaders() as $name => $value) {
|
@@ -388,6 +381,9 @@ class StreamHandler
|
|
388 |
'ignore_errors' => true,
|
389 |
'follow_location' => 0,
|
390 |
],
|
|
|
|
|
|
|
391 |
];
|
392 |
|
393 |
$body = (string) $request->getBody();
|
@@ -400,55 +396,100 @@ class StreamHandler
|
|
400 |
}
|
401 |
}
|
402 |
|
403 |
-
$context['http']['header'] = rtrim($context['http']['header']);
|
404 |
|
405 |
return $context;
|
406 |
}
|
407 |
|
408 |
-
|
|
|
|
|
|
|
409 |
{
|
410 |
-
|
411 |
-
|
|
|
|
|
412 |
} else {
|
413 |
$scheme = $request->getUri()->getScheme();
|
414 |
if (isset($value[$scheme])) {
|
415 |
-
if (!isset($value['no'])
|
416 |
-
|
417 |
-
$request->getUri()->getHost(),
|
418 |
-
$value['no']
|
419 |
-
)
|
420 |
-
) {
|
421 |
-
$options['http']['proxy'] = $value[$scheme];
|
422 |
}
|
423 |
}
|
424 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
}
|
426 |
|
427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
{
|
429 |
if ($value > 0) {
|
430 |
$options['http']['timeout'] = $value;
|
431 |
}
|
432 |
}
|
433 |
|
434 |
-
|
|
|
|
|
|
|
435 |
{
|
436 |
-
if ($value ===
|
437 |
-
// PHP 5.6 or greater will find the system cert by default. When
|
438 |
-
// < 5.6, use the Guzzle bundled cacert.
|
439 |
-
if (PHP_VERSION_ID < 50600) {
|
440 |
-
$options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle();
|
441 |
-
}
|
442 |
-
} elseif (is_string($value)) {
|
443 |
-
$options['ssl']['cafile'] = $value;
|
444 |
-
if (!file_exists($value)) {
|
445 |
-
throw new \RuntimeException("SSL CA bundle not found: $value");
|
446 |
-
}
|
447 |
-
} elseif ($value === false) {
|
448 |
$options['ssl']['verify_peer'] = false;
|
449 |
$options['ssl']['verify_peer_name'] = false;
|
|
|
450 |
return;
|
451 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
452 |
throw new \InvalidArgumentException('Invalid verify request option');
|
453 |
}
|
454 |
|
@@ -457,88 +498,95 @@ class StreamHandler
|
|
457 |
$options['ssl']['allow_self_signed'] = false;
|
458 |
}
|
459 |
|
460 |
-
|
|
|
|
|
|
|
461 |
{
|
462 |
-
if (is_array($value)) {
|
463 |
$options['ssl']['passphrase'] = $value[1];
|
464 |
$value = $value[0];
|
465 |
}
|
466 |
|
467 |
-
if (
|
468 |
throw new \RuntimeException("SSL certificate not found: {$value}");
|
469 |
}
|
470 |
|
471 |
$options['ssl']['local_cert'] = $value;
|
472 |
}
|
473 |
|
474 |
-
|
|
|
|
|
|
|
475 |
{
|
476 |
-
|
477 |
$params,
|
478 |
-
function ($code, $a, $b, $c, $transferred, $total) use ($value) {
|
479 |
-
if ($code == STREAM_NOTIFY_PROGRESS) {
|
480 |
-
|
|
|
|
|
481 |
}
|
482 |
}
|
483 |
);
|
484 |
}
|
485 |
|
486 |
-
|
|
|
|
|
|
|
487 |
{
|
488 |
if ($value === false) {
|
489 |
return;
|
490 |
}
|
491 |
|
492 |
static $map = [
|
493 |
-
STREAM_NOTIFY_CONNECT => 'CONNECT',
|
494 |
-
STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED',
|
495 |
-
STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT',
|
496 |
-
STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS',
|
497 |
-
STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS',
|
498 |
-
STREAM_NOTIFY_REDIRECTED => 'REDIRECTED',
|
499 |
-
STREAM_NOTIFY_PROGRESS => 'PROGRESS',
|
500 |
-
STREAM_NOTIFY_FAILURE => 'FAILURE',
|
501 |
-
STREAM_NOTIFY_COMPLETED => 'COMPLETED',
|
502 |
-
STREAM_NOTIFY_RESOLVE => 'RESOLVE',
|
503 |
];
|
504 |
-
static $args = ['severity', 'message', 'message_code',
|
505 |
-
'bytes_transferred', 'bytes_max'];
|
506 |
|
507 |
-
$value =
|
508 |
$ident = $request->getMethod() . ' ' . $request->getUri()->withFragment('');
|
509 |
-
|
510 |
$params,
|
511 |
-
function () use ($ident, $value, $map, $args) {
|
512 |
-
$
|
513 |
-
|
514 |
-
|
515 |
-
foreach (array_filter($passed) as $i => $v) {
|
516 |
-
fwrite($value, $args[$i] . ': "' . $v . '" ');
|
517 |
}
|
518 |
-
fwrite($value, "\n");
|
519 |
}
|
520 |
);
|
521 |
}
|
522 |
|
523 |
-
private function addNotification(array &$params, callable $notify)
|
524 |
{
|
525 |
// Wrap the existing function if needed.
|
526 |
if (!isset($params['notification'])) {
|
527 |
$params['notification'] = $notify;
|
528 |
} else {
|
529 |
-
$params['notification'] =
|
530 |
$params['notification'],
|
531 |
$notify
|
532 |
]);
|
533 |
}
|
534 |
}
|
535 |
|
536 |
-
private function callArray(array $functions)
|
537 |
{
|
538 |
-
return function () use ($functions) {
|
539 |
-
$args = func_get_args();
|
540 |
foreach ($functions as $fn) {
|
541 |
-
|
542 |
}
|
543 |
};
|
544 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp\Handler;
|
4 |
|
5 |
use GuzzleHttp\Exception\ConnectException;
|
6 |
use GuzzleHttp\Exception\RequestException;
|
7 |
+
use GuzzleHttp\Promise as P;
|
8 |
use GuzzleHttp\Promise\FulfilledPromise;
|
9 |
use GuzzleHttp\Promise\PromiseInterface;
|
10 |
use GuzzleHttp\Psr7;
|
13 |
use Psr\Http\Message\RequestInterface;
|
14 |
use Psr\Http\Message\ResponseInterface;
|
15 |
use Psr\Http\Message\StreamInterface;
|
16 |
+
use Psr\Http\Message\UriInterface;
|
17 |
|
18 |
/**
|
19 |
* HTTP handler that uses PHP's HTTP stream wrapper.
|
20 |
+
*
|
21 |
+
* @final
|
22 |
*/
|
23 |
class StreamHandler
|
24 |
{
|
25 |
+
/**
|
26 |
+
* @var array
|
27 |
+
*/
|
28 |
private $lastHeaders = [];
|
29 |
|
30 |
/**
|
32 |
*
|
33 |
* @param RequestInterface $request Request to send.
|
34 |
* @param array $options Request transfer options.
|
|
|
|
|
35 |
*/
|
36 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
37 |
{
|
38 |
// Sleep if there is a delay specified.
|
39 |
if (isset($options['delay'])) {
|
40 |
+
\usleep($options['delay'] * 1000);
|
41 |
}
|
42 |
|
43 |
$startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
|
64 |
// Determine if the error was a networking error.
|
65 |
$message = $e->getMessage();
|
66 |
// This list can probably get more comprehensive.
|
67 |
+
if (false !== \strpos($message, 'getaddrinfo') // DNS lookup failed
|
68 |
+
|| false !== \strpos($message, 'Connection refused')
|
69 |
+
|| false !== \strpos($message, "couldn't connect to host") // error on HHVM
|
70 |
+
|| false !== \strpos($message, "connection attempt failed")
|
71 |
) {
|
72 |
$e = new ConnectException($e->getMessage(), $request, $e);
|
73 |
+
} else {
|
74 |
+
$e = RequestException::wrapException($request, $e);
|
75 |
}
|
|
|
76 |
$this->invokeStats($options, $request, $startTime, null, $e);
|
77 |
|
78 |
+
return P\Create::rejectionFor($e);
|
79 |
}
|
80 |
}
|
81 |
|
82 |
private function invokeStats(
|
83 |
array $options,
|
84 |
RequestInterface $request,
|
85 |
+
?float $startTime,
|
86 |
ResponseInterface $response = null,
|
87 |
+
\Throwable $error = null
|
88 |
+
): void {
|
89 |
if (isset($options['on_stats'])) {
|
90 |
+
$stats = new TransferStats($request, $response, Utils::currentTime() - $startTime, $error, []);
|
91 |
+
($options['on_stats'])($stats);
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* @param resource $stream
|
97 |
+
*/
|
98 |
+
private function createResponse(RequestInterface $request, array $options, $stream, ?float $startTime): PromiseInterface
|
99 |
+
{
|
|
|
100 |
$hdrs = $this->lastHeaders;
|
101 |
$this->lastHeaders = [];
|
102 |
+
|
103 |
+
try {
|
104 |
+
[$ver, $status, $reason, $headers] = HeaderProcessor::parseHeaders($hdrs);
|
105 |
+
} catch (\Exception $e) {
|
106 |
+
return P\Create::rejectionFor(
|
107 |
+
new RequestException('An error was encountered while creating the response', $request, null, $e)
|
108 |
+
);
|
109 |
+
}
|
110 |
+
|
111 |
+
[$stream, $headers] = $this->checkDecode($options, $headers, $stream);
|
112 |
+
$stream = Psr7\Utils::streamFor($stream);
|
113 |
$sink = $stream;
|
114 |
|
115 |
+
if (\strcasecmp('HEAD', $request->getMethod())) {
|
116 |
$sink = $this->createSink($stream, $options);
|
117 |
}
|
118 |
|
119 |
+
try {
|
120 |
+
$response = new Psr7\Response($status, $headers, $sink, $ver, $reason);
|
121 |
+
} catch (\Exception $e) {
|
122 |
+
return P\Create::rejectionFor(
|
123 |
+
new RequestException('An error was encountered while creating the response', $request, null, $e)
|
124 |
+
);
|
125 |
+
}
|
126 |
|
127 |
if (isset($options['on_headers'])) {
|
128 |
try {
|
129 |
$options['on_headers']($response);
|
130 |
} catch (\Exception $e) {
|
131 |
+
return P\Create::rejectionFor(
|
132 |
+
new RequestException('An error was encountered during the on_headers event', $request, $response, $e)
|
133 |
+
);
|
134 |
}
|
135 |
}
|
136 |
|
137 |
// Do not drain when the request is a HEAD request because they have
|
138 |
// no body.
|
139 |
if ($sink !== $stream) {
|
140 |
+
$this->drain($stream, $sink, $response->getHeaderLine('Content-Length'));
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
|
143 |
$this->invokeStats($options, $request, $startTime, $response, null);
|
145 |
return new FulfilledPromise($response);
|
146 |
}
|
147 |
|
148 |
+
private function createSink(StreamInterface $stream, array $options): StreamInterface
|
149 |
{
|
150 |
if (!empty($options['stream'])) {
|
151 |
return $stream;
|
152 |
}
|
153 |
|
154 |
+
$sink = $options['sink'] ?? Psr7\Utils::tryFopen('php://temp', 'r+');
|
|
|
|
|
155 |
|
156 |
+
return \is_string($sink) ? new Psr7\LazyOpenStream($sink, 'w+') : Psr7\Utils::streamFor($sink);
|
|
|
|
|
157 |
}
|
158 |
|
159 |
+
/**
|
160 |
+
* @param resource $stream
|
161 |
+
*/
|
162 |
+
private function checkDecode(array $options, array $headers, $stream): array
|
163 |
{
|
164 |
// Automatically decode responses when instructed.
|
165 |
if (!empty($options['decode_content'])) {
|
166 |
+
$normalizedKeys = Utils::normalizeHeaderKeys($headers);
|
167 |
if (isset($normalizedKeys['content-encoding'])) {
|
168 |
$encoding = $headers[$normalizedKeys['content-encoding']];
|
169 |
if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') {
|
170 |
+
$stream = new Psr7\InflateStream(Psr7\Utils::streamFor($stream));
|
171 |
+
$headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
|
172 |
+
|
|
|
|
|
173 |
// Remove content-encoding header
|
174 |
unset($headers[$normalizedKeys['content-encoding']]);
|
175 |
+
|
176 |
// Fix content-length header
|
177 |
if (isset($normalizedKeys['content-length'])) {
|
178 |
+
$headers['x-encoded-content-length'] = $headers[$normalizedKeys['content-length']];
|
|
|
|
|
179 |
$length = (int) $stream->getSize();
|
180 |
if ($length === 0) {
|
181 |
unset($headers[$normalizedKeys['content-length']]);
|
193 |
/**
|
194 |
* Drains the source stream into the "sink" client option.
|
195 |
*
|
196 |
+
* @param string $contentLength Header specifying the amount of
|
197 |
+
* data to read.
|
|
|
|
|
198 |
*
|
|
|
199 |
* @throws \RuntimeException when the sink option is invalid.
|
200 |
*/
|
201 |
+
private function drain(StreamInterface $source, StreamInterface $sink, string $contentLength): StreamInterface
|
202 |
+
{
|
|
|
|
|
|
|
203 |
// If a content-length header is provided, then stop reading once
|
204 |
// that number of bytes has been read. This can prevent infinitely
|
205 |
// reading from a stream when dealing with servers that do not honor
|
206 |
// Connection: Close headers.
|
207 |
+
Psr7\Utils::copyToStream(
|
208 |
$source,
|
209 |
$sink,
|
210 |
+
(\strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1
|
211 |
);
|
212 |
|
213 |
$sink->seek(0);
|
222 |
* @param callable $callback Callable that returns stream resource
|
223 |
*
|
224 |
* @return resource
|
225 |
+
*
|
226 |
* @throws \RuntimeException on error
|
227 |
*/
|
228 |
private function createResource(callable $callback)
|
229 |
{
|
230 |
+
$errors = [];
|
231 |
+
\set_error_handler(static function ($_, $msg, $file, $line) use (&$errors): bool {
|
232 |
$errors[] = [
|
233 |
'message' => $msg,
|
234 |
'file' => $file,
|
237 |
return true;
|
238 |
});
|
239 |
|
240 |
+
try {
|
241 |
+
$resource = $callback();
|
242 |
+
} finally {
|
243 |
+
\restore_error_handler();
|
244 |
+
}
|
245 |
|
246 |
if (!$resource) {
|
247 |
$message = 'Error creating resource: ';
|
248 |
foreach ($errors as $err) {
|
249 |
foreach ($err as $key => $value) {
|
250 |
+
$message .= "[$key] $value" . \PHP_EOL;
|
251 |
}
|
252 |
}
|
253 |
+
throw new \RuntimeException(\trim($message));
|
254 |
}
|
255 |
|
256 |
return $resource;
|
257 |
}
|
258 |
|
259 |
+
/**
|
260 |
+
* @return resource
|
261 |
+
*/
|
262 |
private function createStream(RequestInterface $request, array $options)
|
263 |
{
|
264 |
static $methods;
|
265 |
if (!$methods) {
|
266 |
+
$methods = \array_flip(\get_class_methods(__CLASS__));
|
267 |
+
}
|
268 |
+
|
269 |
+
if (!\in_array($request->getUri()->getScheme(), ['http', 'https'])) {
|
270 |
+
throw new RequestException(\sprintf("The scheme '%s' is not supported.", $request->getUri()->getScheme()), $request);
|
271 |
}
|
272 |
|
273 |
// HTTP/1.1 streams using the PHP stream wrapper require a
|
286 |
$params = [];
|
287 |
$context = $this->getDefaultContext($request);
|
288 |
|
289 |
+
if (isset($options['on_headers']) && !\is_callable($options['on_headers'])) {
|
290 |
throw new \InvalidArgumentException('on_headers must be callable');
|
291 |
}
|
292 |
|
300 |
}
|
301 |
|
302 |
if (isset($options['stream_context'])) {
|
303 |
+
if (!\is_array($options['stream_context'])) {
|
304 |
throw new \InvalidArgumentException('stream_context must be an array');
|
305 |
}
|
306 |
+
$context = \array_replace_recursive($context, $options['stream_context']);
|
|
|
|
|
|
|
307 |
}
|
308 |
|
309 |
// Microsoft NTLM authentication only supported with curl handler
|
310 |
+
if (isset($options['auth'][2]) && 'ntlm' === $options['auth'][2]) {
|
|
|
|
|
|
|
|
|
311 |
throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler');
|
312 |
}
|
313 |
|
314 |
$uri = $this->resolveHost($request, $options);
|
315 |
|
316 |
+
$contextResource = $this->createResource(
|
317 |
+
static function () use ($context, $params) {
|
318 |
+
return \stream_context_create($context, $params);
|
319 |
}
|
320 |
);
|
321 |
|
322 |
return $this->createResource(
|
323 |
+
function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) {
|
324 |
+
$resource = @\fopen((string) $uri, 'r', false, $contextResource);
|
325 |
+
$this->lastHeaders = $http_response_header ?? [];
|
326 |
+
|
327 |
+
if (false === $resource) {
|
328 |
+
throw new ConnectException(sprintf('Connection refused for URI %s', $uri), $request, null, $context);
|
329 |
+
}
|
330 |
|
331 |
if (isset($options['read_timeout'])) {
|
332 |
$readTimeout = $options['read_timeout'];
|
333 |
$sec = (int) $readTimeout;
|
334 |
$usec = ($readTimeout - $sec) * 100000;
|
335 |
+
\stream_set_timeout($resource, $sec, $usec);
|
336 |
}
|
337 |
|
338 |
return $resource;
|
340 |
);
|
341 |
}
|
342 |
|
343 |
+
private function resolveHost(RequestInterface $request, array $options): UriInterface
|
344 |
{
|
345 |
$uri = $request->getUri();
|
346 |
|
347 |
+
if (isset($options['force_ip_resolve']) && !\filter_var($uri->getHost(), \FILTER_VALIDATE_IP)) {
|
348 |
if ('v4' === $options['force_ip_resolve']) {
|
349 |
+
$records = \dns_get_record($uri->getHost(), \DNS_A);
|
350 |
+
if (false === $records || !isset($records[0]['ip'])) {
|
351 |
+
throw new ConnectException(\sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request);
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
}
|
353 |
+
return $uri->withHost($records[0]['ip']);
|
354 |
+
}
|
355 |
+
if ('v6' === $options['force_ip_resolve']) {
|
356 |
+
$records = \dns_get_record($uri->getHost(), \DNS_AAAA);
|
357 |
+
if (false === $records || !isset($records[0]['ipv6'])) {
|
358 |
+
throw new ConnectException(\sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request);
|
|
|
|
|
|
|
|
|
|
|
359 |
}
|
360 |
+
return $uri->withHost('[' . $records[0]['ipv6'] . ']');
|
361 |
}
|
362 |
}
|
363 |
|
364 |
return $uri;
|
365 |
}
|
366 |
|
367 |
+
private function getDefaultContext(RequestInterface $request): array
|
368 |
{
|
369 |
$headers = '';
|
370 |
foreach ($request->getHeaders() as $name => $value) {
|
381 |
'ignore_errors' => true,
|
382 |
'follow_location' => 0,
|
383 |
],
|
384 |
+
'ssl' => [
|
385 |
+
'peer_name' => $request->getUri()->getHost(),
|
386 |
+
],
|
387 |
];
|
388 |
|
389 |
$body = (string) $request->getBody();
|
396 |
}
|
397 |
}
|
398 |
|
399 |
+
$context['http']['header'] = \rtrim($context['http']['header']);
|
400 |
|
401 |
return $context;
|
402 |
}
|
403 |
|
404 |
+
/**
|
405 |
+
* @param mixed $value as passed via Request transfer options.
|
406 |
+
*/
|
407 |
+
private function add_proxy(RequestInterface $request, array &$options, $value, array &$params): void
|
408 |
{
|
409 |
+
$uri = null;
|
410 |
+
|
411 |
+
if (!\is_array($value)) {
|
412 |
+
$uri = $value;
|
413 |
} else {
|
414 |
$scheme = $request->getUri()->getScheme();
|
415 |
if (isset($value[$scheme])) {
|
416 |
+
if (!isset($value['no']) || !Utils::isHostInNoProxy($request->getUri()->getHost(), $value['no'])) {
|
417 |
+
$uri = $value[$scheme];
|
|
|
|
|
|
|
|
|
|
|
418 |
}
|
419 |
}
|
420 |
}
|
421 |
+
|
422 |
+
if (!$uri) {
|
423 |
+
return;
|
424 |
+
}
|
425 |
+
|
426 |
+
$parsed = $this->parse_proxy($uri);
|
427 |
+
$options['http']['proxy'] = $parsed['proxy'];
|
428 |
+
|
429 |
+
if ($parsed['auth']) {
|
430 |
+
if (!isset($options['http']['header'])) {
|
431 |
+
$options['http']['header'] = [];
|
432 |
+
}
|
433 |
+
$options['http']['header'] .= "\r\nProxy-Authorization: {$parsed['auth']}";
|
434 |
+
}
|
435 |
}
|
436 |
|
437 |
+
/**
|
438 |
+
* Parses the given proxy URL to make it compatible with the format PHP's stream context expects.
|
439 |
+
*/
|
440 |
+
private function parse_proxy(string $url): array
|
441 |
+
{
|
442 |
+
$parsed = \parse_url($url);
|
443 |
+
|
444 |
+
if ($parsed !== false && isset($parsed['scheme']) && $parsed['scheme'] === 'http') {
|
445 |
+
if (isset($parsed['host']) && isset($parsed['port'])) {
|
446 |
+
$auth = null;
|
447 |
+
if (isset($parsed['user']) && isset($parsed['pass'])) {
|
448 |
+
$auth = \base64_encode("{$parsed['user']}:{$parsed['pass']}");
|
449 |
+
}
|
450 |
+
|
451 |
+
return [
|
452 |
+
'proxy' => "tcp://{$parsed['host']}:{$parsed['port']}",
|
453 |
+
'auth' => $auth ? "Basic {$auth}" : null,
|
454 |
+
];
|
455 |
+
}
|
456 |
+
}
|
457 |
+
|
458 |
+
// Return proxy as-is.
|
459 |
+
return [
|
460 |
+
'proxy' => $url,
|
461 |
+
'auth' => null,
|
462 |
+
];
|
463 |
+
}
|
464 |
+
|
465 |
+
/**
|
466 |
+
* @param mixed $value as passed via Request transfer options.
|
467 |
+
*/
|
468 |
+
private function add_timeout(RequestInterface $request, array &$options, $value, array &$params): void
|
469 |
{
|
470 |
if ($value > 0) {
|
471 |
$options['http']['timeout'] = $value;
|
472 |
}
|
473 |
}
|
474 |
|
475 |
+
/**
|
476 |
+
* @param mixed $value as passed via Request transfer options.
|
477 |
+
*/
|
478 |
+
private function add_verify(RequestInterface $request, array &$options, $value, array &$params): void
|
479 |
{
|
480 |
+
if ($value === false) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
$options['ssl']['verify_peer'] = false;
|
482 |
$options['ssl']['verify_peer_name'] = false;
|
483 |
+
|
484 |
return;
|
485 |
+
}
|
486 |
+
|
487 |
+
if (\is_string($value)) {
|
488 |
+
$options['ssl']['cafile'] = $value;
|
489 |
+
if (!\file_exists($value)) {
|
490 |
+
throw new \RuntimeException("SSL CA bundle not found: $value");
|
491 |
+
}
|
492 |
+
} elseif ($value !== true) {
|
493 |
throw new \InvalidArgumentException('Invalid verify request option');
|
494 |
}
|
495 |
|
498 |
$options['ssl']['allow_self_signed'] = false;
|
499 |
}
|
500 |
|
501 |
+
/**
|
502 |
+
* @param mixed $value as passed via Request transfer options.
|
503 |
+
*/
|
504 |
+
private function add_cert(RequestInterface $request, array &$options, $value, array &$params): void
|
505 |
{
|
506 |
+
if (\is_array($value)) {
|
507 |
$options['ssl']['passphrase'] = $value[1];
|
508 |
$value = $value[0];
|
509 |
}
|
510 |
|
511 |
+
if (!\file_exists($value)) {
|
512 |
throw new \RuntimeException("SSL certificate not found: {$value}");
|
513 |
}
|
514 |
|
515 |
$options['ssl']['local_cert'] = $value;
|
516 |
}
|
517 |
|
518 |
+
/**
|
519 |
+
* @param mixed $value as passed via Request transfer options.
|
520 |
+
*/
|
521 |
+
private function add_progress(RequestInterface $request, array &$options, $value, array &$params): void
|
522 |
{
|
523 |
+
self::addNotification(
|
524 |
$params,
|
525 |
+
static function ($code, $a, $b, $c, $transferred, $total) use ($value) {
|
526 |
+
if ($code == \STREAM_NOTIFY_PROGRESS) {
|
527 |
+
// The upload progress cannot be determined. Use 0 for cURL compatibility:
|
528 |
+
// https://curl.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html
|
529 |
+
$value($total, $transferred, 0, 0);
|
530 |
}
|
531 |
}
|
532 |
);
|
533 |
}
|
534 |
|
535 |
+
/**
|
536 |
+
* @param mixed $value as passed via Request transfer options.
|
537 |
+
*/
|
538 |
+
private function add_debug(RequestInterface $request, array &$options, $value, array &$params): void
|
539 |
{
|
540 |
if ($value === false) {
|
541 |
return;
|
542 |
}
|
543 |
|
544 |
static $map = [
|
545 |
+
\STREAM_NOTIFY_CONNECT => 'CONNECT',
|
546 |
+
\STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED',
|
547 |
+
\STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT',
|
548 |
+
\STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS',
|
549 |
+
\STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS',
|
550 |
+
\STREAM_NOTIFY_REDIRECTED => 'REDIRECTED',
|
551 |
+
\STREAM_NOTIFY_PROGRESS => 'PROGRESS',
|
552 |
+
\STREAM_NOTIFY_FAILURE => 'FAILURE',
|
553 |
+
\STREAM_NOTIFY_COMPLETED => 'COMPLETED',
|
554 |
+
\STREAM_NOTIFY_RESOLVE => 'RESOLVE',
|
555 |
];
|
556 |
+
static $args = ['severity', 'message', 'message_code', 'bytes_transferred', 'bytes_max'];
|
|
|
557 |
|
558 |
+
$value = Utils::debugResource($value);
|
559 |
$ident = $request->getMethod() . ' ' . $request->getUri()->withFragment('');
|
560 |
+
self::addNotification(
|
561 |
$params,
|
562 |
+
static function (int $code, ...$passed) use ($ident, $value, $map, $args): void {
|
563 |
+
\fprintf($value, '<%s> [%s] ', $ident, $map[$code]);
|
564 |
+
foreach (\array_filter($passed) as $i => $v) {
|
565 |
+
\fwrite($value, $args[$i] . ': "' . $v . '" ');
|
|
|
|
|
566 |
}
|
567 |
+
\fwrite($value, "\n");
|
568 |
}
|
569 |
);
|
570 |
}
|
571 |
|
572 |
+
private static function addNotification(array &$params, callable $notify): void
|
573 |
{
|
574 |
// Wrap the existing function if needed.
|
575 |
if (!isset($params['notification'])) {
|
576 |
$params['notification'] = $notify;
|
577 |
} else {
|
578 |
+
$params['notification'] = self::callArray([
|
579 |
$params['notification'],
|
580 |
$notify
|
581 |
]);
|
582 |
}
|
583 |
}
|
584 |
|
585 |
+
private static function callArray(array $functions): callable
|
586 |
{
|
587 |
+
return static function (...$args) use ($functions) {
|
|
|
588 |
foreach ($functions as $fn) {
|
589 |
+
$fn(...$args);
|
590 |
}
|
591 |
};
|
592 |
}
|
vendor/guzzlehttp/guzzle/src/HandlerStack.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Promise\PromiseInterface;
|
@@ -8,16 +9,24 @@ use Psr\Http\Message\ResponseInterface;
|
|
8 |
/**
|
9 |
* Creates a composed Guzzle handler function by stacking middlewares on top of
|
10 |
* an HTTP handler function.
|
|
|
|
|
11 |
*/
|
12 |
class HandlerStack
|
13 |
{
|
14 |
-
/**
|
|
|
|
|
15 |
private $handler;
|
16 |
|
17 |
-
/**
|
|
|
|
|
18 |
private $stack = [];
|
19 |
|
20 |
-
/**
|
|
|
|
|
21 |
private $cached;
|
22 |
|
23 |
/**
|
@@ -31,15 +40,13 @@ class HandlerStack
|
|
31 |
* The returned handler stack can be passed to a client in the "handler"
|
32 |
* option.
|
33 |
*
|
34 |
-
* @param callable $handler HTTP handler function to use with the stack. If no
|
35 |
-
*
|
36 |
-
*
|
37 |
-
*
|
38 |
-
* @return HandlerStack
|
39 |
*/
|
40 |
-
public static function create(callable $handler = null)
|
41 |
{
|
42 |
-
$stack = new self($handler ?:
|
43 |
$stack->push(Middleware::httpErrors(), 'http_errors');
|
44 |
$stack->push(Middleware::redirect(), 'allow_redirects');
|
45 |
$stack->push(Middleware::cookies(), 'cookies');
|
@@ -49,7 +56,7 @@ class HandlerStack
|
|
49 |
}
|
50 |
|
51 |
/**
|
52 |
-
* @param callable $handler Underlying HTTP handler.
|
53 |
*/
|
54 |
public function __construct(callable $handler = null)
|
55 |
{
|
@@ -59,9 +66,6 @@ class HandlerStack
|
|
59 |
/**
|
60 |
* Invokes the handler stack as a composed handler
|
61 |
*
|
62 |
-
* @param RequestInterface $request
|
63 |
-
* @param array $options
|
64 |
-
*
|
65 |
* @return ResponseInterface|PromiseInterface
|
66 |
*/
|
67 |
public function __invoke(RequestInterface $request, array $options)
|
@@ -80,12 +84,13 @@ class HandlerStack
|
|
80 |
{
|
81 |
$depth = 0;
|
82 |
$stack = [];
|
83 |
-
|
|
|
84 |
$stack[] = "0) Handler: " . $this->debugCallable($this->handler);
|
85 |
}
|
86 |
|
87 |
$result = '';
|
88 |
-
foreach (array_reverse($this->stack) as $tuple) {
|
89 |
$depth++;
|
90 |
$str = "{$depth}) Name: '{$tuple[1]}', ";
|
91 |
$str .= "Function: " . $this->debugCallable($tuple[0]);
|
@@ -93,7 +98,7 @@ class HandlerStack
|
|
93 |
$stack[] = $str;
|
94 |
}
|
95 |
|
96 |
-
foreach (array_keys($stack) as $k) {
|
97 |
$result .= "< {$stack[$k]}\n";
|
98 |
}
|
99 |
|
@@ -103,10 +108,10 @@ class HandlerStack
|
|
103 |
/**
|
104 |
* Set the HTTP handler that actually returns a promise.
|
105 |
*
|
106 |
-
* @param callable $handler Accepts a request and array of options and
|
107 |
-
*
|
108 |
*/
|
109 |
-
public function setHandler(callable $handler)
|
110 |
{
|
111 |
$this->handler = $handler;
|
112 |
$this->cached = null;
|
@@ -114,33 +119,31 @@ class HandlerStack
|
|
114 |
|
115 |
/**
|
116 |
* Returns true if the builder has a handler.
|
117 |
-
*
|
118 |
-
* @return bool
|
119 |
*/
|
120 |
-
public function hasHandler()
|
121 |
{
|
122 |
-
return
|
123 |
}
|
124 |
|
125 |
/**
|
126 |
* Unshift a middleware to the bottom of the stack.
|
127 |
*
|
128 |
-
* @param callable $middleware Middleware function
|
129 |
-
* @param string
|
130 |
*/
|
131 |
-
public function unshift(callable $middleware, $name = null)
|
132 |
{
|
133 |
-
array_unshift($this->stack, [$middleware, $name]);
|
134 |
$this->cached = null;
|
135 |
}
|
136 |
|
137 |
/**
|
138 |
* Push a middleware to the top of the stack.
|
139 |
*
|
140 |
-
* @param callable $middleware Middleware function
|
141 |
-
* @param string
|
142 |
*/
|
143 |
-
public function push(callable $middleware, $name = '')
|
144 |
{
|
145 |
$this->stack[] = [$middleware, $name];
|
146 |
$this->cached = null;
|
@@ -149,11 +152,11 @@ class HandlerStack
|
|
149 |
/**
|
150 |
* Add a middleware before another middleware by name.
|
151 |
*
|
152 |
-
* @param string
|
153 |
-
* @param callable $middleware Middleware function
|
154 |
-
* @param string
|
155 |
*/
|
156 |
-
public function before($findName, callable $middleware, $withName = '')
|
157 |
{
|
158 |
$this->splice($findName, $withName, $middleware, true);
|
159 |
}
|
@@ -161,11 +164,11 @@ class HandlerStack
|
|
161 |
/**
|
162 |
* Add a middleware after another middleware by name.
|
163 |
*
|
164 |
-
* @param string
|
165 |
-
* @param callable $middleware Middleware function
|
166 |
-
* @param string
|
167 |
*/
|
168 |
-
public function after($findName, callable $middleware, $withName = '')
|
169 |
{
|
170 |
$this->splice($findName, $withName, $middleware, false);
|
171 |
}
|
@@ -175,13 +178,17 @@ class HandlerStack
|
|
175 |
*
|
176 |
* @param callable|string $remove Middleware to remove by instance or name.
|
177 |
*/
|
178 |
-
public function remove($remove)
|
179 |
{
|
|
|
|
|
|
|
|
|
180 |
$this->cached = null;
|
181 |
-
$idx = is_callable($remove) ? 0 : 1;
|
182 |
-
$this->stack = array_values(array_filter(
|
183 |
$this->stack,
|
184 |
-
function ($tuple) use ($idx, $remove) {
|
185 |
return $tuple[$idx] !== $remove;
|
186 |
}
|
187 |
));
|
@@ -190,16 +197,17 @@ class HandlerStack
|
|
190 |
/**
|
191 |
* Compose the middleware and handler into a single callable function.
|
192 |
*
|
193 |
-
* @return callable
|
194 |
*/
|
195 |
-
public function resolve()
|
196 |
{
|
197 |
-
if (
|
198 |
-
if (
|
199 |
throw new \LogicException('No handler has been specified');
|
200 |
}
|
201 |
|
202 |
-
foreach (array_reverse($this->stack) as $fn) {
|
|
|
203 |
$prev = $fn[0]($prev);
|
204 |
}
|
205 |
|
@@ -209,11 +217,7 @@ class HandlerStack
|
|
209 |
return $this->cached;
|
210 |
}
|
211 |
|
212 |
-
|
213 |
-
* @param string $name
|
214 |
-
* @return int
|
215 |
-
*/
|
216 |
-
private function findByName($name)
|
217 |
{
|
218 |
foreach ($this->stack as $k => $v) {
|
219 |
if ($v[1] === $name) {
|
@@ -226,13 +230,8 @@ class HandlerStack
|
|
226 |
|
227 |
/**
|
228 |
* Splices a function into the middleware list at a specific position.
|
229 |
-
*
|
230 |
-
* @param string $findName
|
231 |
-
* @param string $withName
|
232 |
-
* @param callable $middleware
|
233 |
-
* @param bool $before
|
234 |
*/
|
235 |
-
private function splice($findName, $withName, callable $middleware, $before)
|
236 |
{
|
237 |
$this->cached = null;
|
238 |
$idx = $this->findByName($findName);
|
@@ -240,38 +239,37 @@ class HandlerStack
|
|
240 |
|
241 |
if ($before) {
|
242 |
if ($idx === 0) {
|
243 |
-
array_unshift($this->stack, $tuple);
|
244 |
} else {
|
245 |
$replacement = [$tuple, $this->stack[$idx]];
|
246 |
-
array_splice($this->stack, $idx, 1, $replacement);
|
247 |
}
|
248 |
-
} elseif ($idx === count($this->stack) - 1) {
|
249 |
$this->stack[] = $tuple;
|
250 |
} else {
|
251 |
$replacement = [$this->stack[$idx], $tuple];
|
252 |
-
array_splice($this->stack, $idx, 1, $replacement);
|
253 |
}
|
254 |
}
|
255 |
|
256 |
/**
|
257 |
* Provides a debug string for a given callable.
|
258 |
*
|
259 |
-
* @param
|
260 |
-
*
|
261 |
-
* @return string
|
262 |
*/
|
263 |
-
private function debugCallable($fn)
|
264 |
{
|
265 |
-
if (is_string($fn)) {
|
266 |
return "callable({$fn})";
|
267 |
}
|
268 |
|
269 |
-
if (is_array($fn)) {
|
270 |
-
return is_string($fn[0])
|
271 |
? "callable({$fn[0]}::{$fn[1]})"
|
272 |
-
: "callable(['" . get_class($fn[0]) . "', '{$fn[1]}'])";
|
273 |
}
|
274 |
|
275 |
-
|
|
|
276 |
}
|
277 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Promise\PromiseInterface;
|
9 |
/**
|
10 |
* Creates a composed Guzzle handler function by stacking middlewares on top of
|
11 |
* an HTTP handler function.
|
12 |
+
*
|
13 |
+
* @final
|
14 |
*/
|
15 |
class HandlerStack
|
16 |
{
|
17 |
+
/**
|
18 |
+
* @var (callable(RequestInterface, array): PromiseInterface)|null
|
19 |
+
*/
|
20 |
private $handler;
|
21 |
|
22 |
+
/**
|
23 |
+
* @var array{(callable(callable(RequestInterface, array): PromiseInterface): callable), (string|null)}[]
|
24 |
+
*/
|
25 |
private $stack = [];
|
26 |
|
27 |
+
/**
|
28 |
+
* @var (callable(RequestInterface, array): PromiseInterface)|null
|
29 |
+
*/
|
30 |
private $cached;
|
31 |
|
32 |
/**
|
40 |
* The returned handler stack can be passed to a client in the "handler"
|
41 |
* option.
|
42 |
*
|
43 |
+
* @param (callable(RequestInterface, array): PromiseInterface)|null $handler HTTP handler function to use with the stack. If no
|
44 |
+
* handler is provided, the best handler for your
|
45 |
+
* system will be utilized.
|
|
|
|
|
46 |
*/
|
47 |
+
public static function create(?callable $handler = null): self
|
48 |
{
|
49 |
+
$stack = new self($handler ?: Utils::chooseHandler());
|
50 |
$stack->push(Middleware::httpErrors(), 'http_errors');
|
51 |
$stack->push(Middleware::redirect(), 'allow_redirects');
|
52 |
$stack->push(Middleware::cookies(), 'cookies');
|
56 |
}
|
57 |
|
58 |
/**
|
59 |
+
* @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
|
60 |
*/
|
61 |
public function __construct(callable $handler = null)
|
62 |
{
|
66 |
/**
|
67 |
* Invokes the handler stack as a composed handler
|
68 |
*
|
|
|
|
|
|
|
69 |
* @return ResponseInterface|PromiseInterface
|
70 |
*/
|
71 |
public function __invoke(RequestInterface $request, array $options)
|
84 |
{
|
85 |
$depth = 0;
|
86 |
$stack = [];
|
87 |
+
|
88 |
+
if ($this->handler !== null) {
|
89 |
$stack[] = "0) Handler: " . $this->debugCallable($this->handler);
|
90 |
}
|
91 |
|
92 |
$result = '';
|
93 |
+
foreach (\array_reverse($this->stack) as $tuple) {
|
94 |
$depth++;
|
95 |
$str = "{$depth}) Name: '{$tuple[1]}', ";
|
96 |
$str .= "Function: " . $this->debugCallable($tuple[0]);
|
98 |
$stack[] = $str;
|
99 |
}
|
100 |
|
101 |
+
foreach (\array_keys($stack) as $k) {
|
102 |
$result .= "< {$stack[$k]}\n";
|
103 |
}
|
104 |
|
108 |
/**
|
109 |
* Set the HTTP handler that actually returns a promise.
|
110 |
*
|
111 |
+
* @param callable(RequestInterface, array): PromiseInterface $handler Accepts a request and array of options and
|
112 |
+
* returns a Promise.
|
113 |
*/
|
114 |
+
public function setHandler(callable $handler): void
|
115 |
{
|
116 |
$this->handler = $handler;
|
117 |
$this->cached = null;
|
119 |
|
120 |
/**
|
121 |
* Returns true if the builder has a handler.
|
|
|
|
|
122 |
*/
|
123 |
+
public function hasHandler(): bool
|
124 |
{
|
125 |
+
return $this->handler !== null ;
|
126 |
}
|
127 |
|
128 |
/**
|
129 |
* Unshift a middleware to the bottom of the stack.
|
130 |
*
|
131 |
+
* @param callable(callable): callable $middleware Middleware function
|
132 |
+
* @param string $name Name to register for this middleware.
|
133 |
*/
|
134 |
+
public function unshift(callable $middleware, ?string $name = null): void
|
135 |
{
|
136 |
+
\array_unshift($this->stack, [$middleware, $name]);
|
137 |
$this->cached = null;
|
138 |
}
|
139 |
|
140 |
/**
|
141 |
* Push a middleware to the top of the stack.
|
142 |
*
|
143 |
+
* @param callable(callable): callable $middleware Middleware function
|
144 |
+
* @param string $name Name to register for this middleware.
|
145 |
*/
|
146 |
+
public function push(callable $middleware, string $name = ''): void
|
147 |
{
|
148 |
$this->stack[] = [$middleware, $name];
|
149 |
$this->cached = null;
|
152 |
/**
|
153 |
* Add a middleware before another middleware by name.
|
154 |
*
|
155 |
+
* @param string $findName Middleware to find
|
156 |
+
* @param callable(callable): callable $middleware Middleware function
|
157 |
+
* @param string $withName Name to register for this middleware.
|
158 |
*/
|
159 |
+
public function before(string $findName, callable $middleware, string $withName = ''): void
|
160 |
{
|
161 |
$this->splice($findName, $withName, $middleware, true);
|
162 |
}
|
164 |
/**
|
165 |
* Add a middleware after another middleware by name.
|
166 |
*
|
167 |
+
* @param string $findName Middleware to find
|
168 |
+
* @param callable(callable): callable $middleware Middleware function
|
169 |
+
* @param string $withName Name to register for this middleware.
|
170 |
*/
|
171 |
+
public function after(string $findName, callable $middleware, string $withName = ''): void
|
172 |
{
|
173 |
$this->splice($findName, $withName, $middleware, false);
|
174 |
}
|
178 |
*
|
179 |
* @param callable|string $remove Middleware to remove by instance or name.
|
180 |
*/
|
181 |
+
public function remove($remove): void
|
182 |
{
|
183 |
+
if (!is_string($remove) && !is_callable($remove)) {
|
184 |
+
trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a callable or string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
|
185 |
+
}
|
186 |
+
|
187 |
$this->cached = null;
|
188 |
+
$idx = \is_callable($remove) ? 0 : 1;
|
189 |
+
$this->stack = \array_values(\array_filter(
|
190 |
$this->stack,
|
191 |
+
static function ($tuple) use ($idx, $remove) {
|
192 |
return $tuple[$idx] !== $remove;
|
193 |
}
|
194 |
));
|
197 |
/**
|
198 |
* Compose the middleware and handler into a single callable function.
|
199 |
*
|
200 |
+
* @return callable(RequestInterface, array): PromiseInterface
|
201 |
*/
|
202 |
+
public function resolve(): callable
|
203 |
{
|
204 |
+
if ($this->cached === null) {
|
205 |
+
if (($prev = $this->handler) === null) {
|
206 |
throw new \LogicException('No handler has been specified');
|
207 |
}
|
208 |
|
209 |
+
foreach (\array_reverse($this->stack) as $fn) {
|
210 |
+
/** @var callable(RequestInterface, array): PromiseInterface $prev */
|
211 |
$prev = $fn[0]($prev);
|
212 |
}
|
213 |
|
217 |
return $this->cached;
|
218 |
}
|
219 |
|
220 |
+
private function findByName(string $name): int
|
|
|
|
|
|
|
|
|
221 |
{
|
222 |
foreach ($this->stack as $k => $v) {
|
223 |
if ($v[1] === $name) {
|
230 |
|
231 |
/**
|
232 |
* Splices a function into the middleware list at a specific position.
|
|
|
|
|
|
|
|
|
|
|
233 |
*/
|
234 |
+
private function splice(string $findName, string $withName, callable $middleware, bool $before): void
|
235 |
{
|
236 |
$this->cached = null;
|
237 |
$idx = $this->findByName($findName);
|
239 |
|
240 |
if ($before) {
|
241 |
if ($idx === 0) {
|
242 |
+
\array_unshift($this->stack, $tuple);
|
243 |
} else {
|
244 |
$replacement = [$tuple, $this->stack[$idx]];
|
245 |
+
\array_splice($this->stack, $idx, 1, $replacement);
|
246 |
}
|
247 |
+
} elseif ($idx === \count($this->stack) - 1) {
|
248 |
$this->stack[] = $tuple;
|
249 |
} else {
|
250 |
$replacement = [$this->stack[$idx], $tuple];
|
251 |
+
\array_splice($this->stack, $idx, 1, $replacement);
|
252 |
}
|
253 |
}
|
254 |
|
255 |
/**
|
256 |
* Provides a debug string for a given callable.
|
257 |
*
|
258 |
+
* @param callable|string $fn Function to write as a string.
|
|
|
|
|
259 |
*/
|
260 |
+
private function debugCallable($fn): string
|
261 |
{
|
262 |
+
if (\is_string($fn)) {
|
263 |
return "callable({$fn})";
|
264 |
}
|
265 |
|
266 |
+
if (\is_array($fn)) {
|
267 |
+
return \is_string($fn[0])
|
268 |
? "callable({$fn[0]}::{$fn[1]})"
|
269 |
+
: "callable(['" . \get_class($fn[0]) . "', '{$fn[1]}'])";
|
270 |
}
|
271 |
|
272 |
+
/** @var object $fn */
|
273 |
+
return 'callable(' . \spl_object_hash($fn) . ')';
|
274 |
}
|
275 |
}
|
vendor/guzzlehttp/guzzle/src/MessageFormatter.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use Psr\Http\Message\MessageInterface;
|
@@ -31,25 +32,31 @@ use Psr\Http\Message\ResponseInterface;
|
|
31 |
* - {res_headers}: Response headers
|
32 |
* - {req_body}: Request body
|
33 |
* - {res_body}: Response body
|
|
|
|
|
34 |
*/
|
35 |
-
class MessageFormatter
|
36 |
{
|
37 |
/**
|
38 |
* Apache Common Log Format.
|
39 |
-
*
|
|
|
|
|
40 |
* @var string
|
41 |
*/
|
42 |
-
const CLF = "{hostname} {req_header_User-Agent} - [{date_common_log}] \"{method} {target} HTTP/{version}\" {code} {res_header_Content-Length}";
|
43 |
-
const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
|
44 |
-
const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
|
45 |
|
46 |
-
/**
|
|
|
|
|
47 |
private $template;
|
48 |
|
49 |
/**
|
50 |
* @param string $template Log message template
|
51 |
*/
|
52 |
-
public function __construct($template = self::CLF)
|
53 |
{
|
54 |
$this->template = $template ?: self::CLF;
|
55 |
}
|
@@ -57,20 +64,16 @@ class MessageFormatter
|
|
57 |
/**
|
58 |
* Returns a formatted message string.
|
59 |
*
|
60 |
-
* @param RequestInterface
|
61 |
-
* @param ResponseInterface $response Response that was received
|
62 |
-
* @param \
|
63 |
-
*
|
64 |
-
* @return string
|
65 |
*/
|
66 |
-
public function format(
|
67 |
-
|
68 |
-
ResponseInterface $response = null,
|
69 |
-
\Exception $error = null
|
70 |
-
) {
|
71 |
$cache = [];
|
72 |
|
73 |
-
|
|
|
74 |
'/{\s*([A-Za-z_\-\.0-9]+)\s*}/',
|
75 |
function (array $matches) use ($request, $response, $error, &$cache) {
|
76 |
if (isset($cache[$matches[1]])) {
|
@@ -80,20 +83,20 @@ class MessageFormatter
|
|
80 |
$result = '';
|
81 |
switch ($matches[1]) {
|
82 |
case 'request':
|
83 |
-
$result = Psr7\
|
84 |
break;
|
85 |
case 'response':
|
86 |
-
$result = $response ? Psr7\
|
87 |
break;
|
88 |
case 'req_headers':
|
89 |
-
$result = trim($request->getMethod()
|
90 |
. ' ' . $request->getRequestTarget())
|
91 |
. ' HTTP/' . $request->getProtocolVersion() . "\r\n"
|
92 |
. $this->headers($request);
|
93 |
break;
|
94 |
case 'res_headers':
|
95 |
$result = $response ?
|
96 |
-
sprintf(
|
97 |
'HTTP/%s %d %s',
|
98 |
$response->getProtocolVersion(),
|
99 |
$response->getStatusCode(),
|
@@ -102,17 +105,29 @@ class MessageFormatter
|
|
102 |
: 'NULL';
|
103 |
break;
|
104 |
case 'req_body':
|
105 |
-
$result = $request->getBody();
|
106 |
break;
|
107 |
case 'res_body':
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
break;
|
110 |
case 'ts':
|
111 |
case 'date_iso_8601':
|
112 |
-
$result = gmdate('c');
|
113 |
break;
|
114 |
case 'date_common_log':
|
115 |
-
$result = date('d/M/Y:H:i:s O');
|
116 |
break;
|
117 |
case 'method':
|
118 |
$result = $request->getMethod();
|
@@ -122,7 +137,7 @@ class MessageFormatter
|
|
122 |
break;
|
123 |
case 'uri':
|
124 |
case 'url':
|
125 |
-
$result = $request->getUri();
|
126 |
break;
|
127 |
case 'target':
|
128 |
$result = $request->getRequestTarget();
|
@@ -139,7 +154,7 @@ class MessageFormatter
|
|
139 |
$result = $request->getHeaderLine('Host');
|
140 |
break;
|
141 |
case 'hostname':
|
142 |
-
$result = gethostname();
|
143 |
break;
|
144 |
case 'code':
|
145 |
$result = $response ? $response->getStatusCode() : 'NULL';
|
@@ -152,11 +167,11 @@ class MessageFormatter
|
|
152 |
break;
|
153 |
default:
|
154 |
// handle prefixed dynamic headers
|
155 |
-
if (strpos($matches[1], 'req_header_') === 0) {
|
156 |
-
$result = $request->getHeaderLine(substr($matches[1], 11));
|
157 |
-
} elseif (strpos($matches[1], 'res_header_') === 0) {
|
158 |
$result = $response
|
159 |
-
? $response->getHeaderLine(substr($matches[1], 11))
|
160 |
: 'NULL';
|
161 |
}
|
162 |
}
|
@@ -170,16 +185,14 @@ class MessageFormatter
|
|
170 |
|
171 |
/**
|
172 |
* Get headers from message as string
|
173 |
-
*
|
174 |
-
* @return string
|
175 |
*/
|
176 |
-
private function headers(MessageInterface $message)
|
177 |
{
|
178 |
$result = '';
|
179 |
foreach ($message->getHeaders() as $name => $values) {
|
180 |
-
$result .= $name . ': ' . implode(', ', $values) . "\r\n";
|
181 |
}
|
182 |
|
183 |
-
return trim($result);
|
184 |
}
|
185 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use Psr\Http\Message\MessageInterface;
|
32 |
* - {res_headers}: Response headers
|
33 |
* - {req_body}: Request body
|
34 |
* - {res_body}: Response body
|
35 |
+
*
|
36 |
+
* @final
|
37 |
*/
|
38 |
+
class MessageFormatter implements MessageFormatterInterface
|
39 |
{
|
40 |
/**
|
41 |
* Apache Common Log Format.
|
42 |
+
*
|
43 |
+
* @link https://httpd.apache.org/docs/2.4/logs.html#common
|
44 |
+
*
|
45 |
* @var string
|
46 |
*/
|
47 |
+
public const CLF = "{hostname} {req_header_User-Agent} - [{date_common_log}] \"{method} {target} HTTP/{version}\" {code} {res_header_Content-Length}";
|
48 |
+
public const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
|
49 |
+
public const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
|
50 |
|
51 |
+
/**
|
52 |
+
* @var string Template used to format log messages
|
53 |
+
*/
|
54 |
private $template;
|
55 |
|
56 |
/**
|
57 |
* @param string $template Log message template
|
58 |
*/
|
59 |
+
public function __construct(?string $template = self::CLF)
|
60 |
{
|
61 |
$this->template = $template ?: self::CLF;
|
62 |
}
|
64 |
/**
|
65 |
* Returns a formatted message string.
|
66 |
*
|
67 |
+
* @param RequestInterface $request Request that was sent
|
68 |
+
* @param ResponseInterface|null $response Response that was received
|
69 |
+
* @param \Throwable|null $error Exception that was received
|
|
|
|
|
70 |
*/
|
71 |
+
public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string
|
72 |
+
{
|
|
|
|
|
|
|
73 |
$cache = [];
|
74 |
|
75 |
+
/** @var string */
|
76 |
+
return \preg_replace_callback(
|
77 |
'/{\s*([A-Za-z_\-\.0-9]+)\s*}/',
|
78 |
function (array $matches) use ($request, $response, $error, &$cache) {
|
79 |
if (isset($cache[$matches[1]])) {
|
83 |
$result = '';
|
84 |
switch ($matches[1]) {
|
85 |
case 'request':
|
86 |
+
$result = Psr7\Message::toString($request);
|
87 |
break;
|
88 |
case 'response':
|
89 |
+
$result = $response ? Psr7\Message::toString($response) : '';
|
90 |
break;
|
91 |
case 'req_headers':
|
92 |
+
$result = \trim($request->getMethod()
|
93 |
. ' ' . $request->getRequestTarget())
|
94 |
. ' HTTP/' . $request->getProtocolVersion() . "\r\n"
|
95 |
. $this->headers($request);
|
96 |
break;
|
97 |
case 'res_headers':
|
98 |
$result = $response ?
|
99 |
+
\sprintf(
|
100 |
'HTTP/%s %d %s',
|
101 |
$response->getProtocolVersion(),
|
102 |
$response->getStatusCode(),
|
105 |
: 'NULL';
|
106 |
break;
|
107 |
case 'req_body':
|
108 |
+
$result = $request->getBody()->__toString();
|
109 |
break;
|
110 |
case 'res_body':
|
111 |
+
if (!$response instanceof ResponseInterface) {
|
112 |
+
$result = 'NULL';
|
113 |
+
break;
|
114 |
+
}
|
115 |
+
|
116 |
+
$body = $response->getBody();
|
117 |
+
|
118 |
+
if (!$body->isSeekable()) {
|
119 |
+
$result = 'RESPONSE_NOT_LOGGEABLE';
|
120 |
+
break;
|
121 |
+
}
|
122 |
+
|
123 |
+
$result = $response->getBody()->__toString();
|
124 |
break;
|
125 |
case 'ts':
|
126 |
case 'date_iso_8601':
|
127 |
+
$result = \gmdate('c');
|
128 |
break;
|
129 |
case 'date_common_log':
|
130 |
+
$result = \date('d/M/Y:H:i:s O');
|
131 |
break;
|
132 |
case 'method':
|
133 |
$result = $request->getMethod();
|
137 |
break;
|
138 |
case 'uri':
|
139 |
case 'url':
|
140 |
+
$result = $request->getUri()->__toString();
|
141 |
break;
|
142 |
case 'target':
|
143 |
$result = $request->getRequestTarget();
|
154 |
$result = $request->getHeaderLine('Host');
|
155 |
break;
|
156 |
case 'hostname':
|
157 |
+
$result = \gethostname();
|
158 |
break;
|
159 |
case 'code':
|
160 |
$result = $response ? $response->getStatusCode() : 'NULL';
|
167 |
break;
|
168 |
default:
|
169 |
// handle prefixed dynamic headers
|
170 |
+
if (\strpos($matches[1], 'req_header_') === 0) {
|
171 |
+
$result = $request->getHeaderLine(\substr($matches[1], 11));
|
172 |
+
} elseif (\strpos($matches[1], 'res_header_') === 0) {
|
173 |
$result = $response
|
174 |
+
? $response->getHeaderLine(\substr($matches[1], 11))
|
175 |
: 'NULL';
|
176 |
}
|
177 |
}
|
185 |
|
186 |
/**
|
187 |
* Get headers from message as string
|
|
|
|
|
188 |
*/
|
189 |
+
private function headers(MessageInterface $message): string
|
190 |
{
|
191 |
$result = '';
|
192 |
foreach ($message->getHeaders() as $name => $values) {
|
193 |
+
$result .= $name . ': ' . \implode(', ', $values) . "\r\n";
|
194 |
}
|
195 |
|
196 |
+
return \trim($result);
|
197 |
}
|
198 |
}
|
vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GuzzleHttp;
|
4 |
+
|
5 |
+
use Psr\Http\Message\RequestInterface;
|
6 |
+
use Psr\Http\Message\ResponseInterface;
|
7 |
+
|
8 |
+
interface MessageFormatterInterface
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
* Returns a formatted message string.
|
12 |
+
*
|
13 |
+
* @param RequestInterface $request Request that was sent
|
14 |
+
* @param ResponseInterface|null $response Response that was received
|
15 |
+
* @param \Throwable|null $error Exception that was received
|
16 |
+
*/
|
17 |
+
public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string;
|
18 |
+
}
|
vendor/guzzlehttp/guzzle/src/Middleware.php
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Cookie\CookieJarInterface;
|
5 |
use GuzzleHttp\Exception\RequestException;
|
6 |
-
use GuzzleHttp\Promise
|
7 |
-
use GuzzleHttp\
|
|
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
use Psr\Log\LoggerInterface;
|
10 |
|
@@ -21,10 +23,10 @@ final class Middleware
|
|
21 |
*
|
22 |
* @return callable Returns a function that accepts the next handler.
|
23 |
*/
|
24 |
-
public static function cookies()
|
25 |
{
|
26 |
-
return function (callable $handler) {
|
27 |
-
return function ($request, array $options) use ($handler) {
|
28 |
if (empty($options['cookies'])) {
|
29 |
return $handler($request, $options);
|
30 |
} elseif (!($options['cookies'] instanceof CookieJarInterface)) {
|
@@ -34,7 +36,7 @@ final class Middleware
|
|
34 |
$request = $cookieJar->withCookieHeader($request);
|
35 |
return $handler($request, $options)
|
36 |
->then(
|
37 |
-
function ($response) use ($cookieJar, $request) {
|
38 |
$cookieJar->extractCookies($request, $response);
|
39 |
return $response;
|
40 |
}
|
@@ -45,24 +47,26 @@ final class Middleware
|
|
45 |
|
46 |
/**
|
47 |
* Middleware that throws exceptions for 4xx or 5xx responses when the
|
48 |
-
* "
|
49 |
*
|
50 |
-
* @
|
|
|
|
|
51 |
*/
|
52 |
-
public static function httpErrors()
|
53 |
{
|
54 |
-
return function (callable $handler) {
|
55 |
-
return function ($request, array $options) use ($handler) {
|
56 |
if (empty($options['http_errors'])) {
|
57 |
return $handler($request, $options);
|
58 |
}
|
59 |
return $handler($request, $options)->then(
|
60 |
-
function (ResponseInterface $response) use ($request) {
|
61 |
$code = $response->getStatusCode();
|
62 |
if ($code < 400) {
|
63 |
return $response;
|
64 |
}
|
65 |
-
throw RequestException::create($request, $response);
|
66 |
}
|
67 |
);
|
68 |
};
|
@@ -72,21 +76,22 @@ final class Middleware
|
|
72 |
/**
|
73 |
* Middleware that pushes history data to an ArrayAccess container.
|
74 |
*
|
75 |
-
* @param array|\ArrayAccess $container Container to hold the history (by reference).
|
|
|
|
|
76 |
*
|
77 |
-
* @return callable Returns a function that accepts the next handler.
|
78 |
* @throws \InvalidArgumentException if container is not an array or ArrayAccess.
|
79 |
*/
|
80 |
-
public static function history(&$container)
|
81 |
{
|
82 |
-
if (
|
83 |
throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess');
|
84 |
}
|
85 |
|
86 |
-
return function (callable $handler) use (&$container) {
|
87 |
-
return function ($request, array $options) use ($handler, &$container) {
|
88 |
return $handler($request, $options)->then(
|
89 |
-
function ($value) use ($request, &$container, $options) {
|
90 |
$container[] = [
|
91 |
'request' => $request,
|
92 |
'response' => $value,
|
@@ -95,14 +100,14 @@ final class Middleware
|
|
95 |
];
|
96 |
return $value;
|
97 |
},
|
98 |
-
function ($reason) use ($request, &$container, $options) {
|
99 |
$container[] = [
|
100 |
'request' => $request,
|
101 |
'response' => null,
|
102 |
'error' => $reason,
|
103 |
'options' => $options
|
104 |
];
|
105 |
-
return \
|
106 |
}
|
107 |
);
|
108 |
};
|
@@ -122,10 +127,10 @@ final class Middleware
|
|
122 |
*
|
123 |
* @return callable Returns a function that accepts the next handler.
|
124 |
*/
|
125 |
-
public static function tap(callable $before = null, callable $after = null)
|
126 |
{
|
127 |
-
return function (callable $handler) use ($before, $after) {
|
128 |
-
return function ($request, array $options) use ($handler, $before, $after) {
|
129 |
if ($before) {
|
130 |
$before($request, $options);
|
131 |
}
|
@@ -143,9 +148,9 @@ final class Middleware
|
|
143 |
*
|
144 |
* @return callable Returns a function that accepts the next handler.
|
145 |
*/
|
146 |
-
public static function redirect()
|
147 |
{
|
148 |
-
return function (callable $handler) {
|
149 |
return new RedirectMiddleware($handler);
|
150 |
};
|
151 |
}
|
@@ -165,9 +170,9 @@ final class Middleware
|
|
165 |
*
|
166 |
* @return callable Returns a function that accepts the next handler.
|
167 |
*/
|
168 |
-
public static function retry(callable $decider, callable $delay = null)
|
169 |
{
|
170 |
-
return function (callable $handler) use ($decider, $delay) {
|
171 |
return new RetryMiddleware($decider, $handler, $delay);
|
172 |
};
|
173 |
}
|
@@ -176,29 +181,34 @@ final class Middleware
|
|
176 |
* Middleware that logs requests, responses, and errors using a message
|
177 |
* formatter.
|
178 |
*
|
179 |
-
* @param
|
180 |
-
*
|
181 |
-
* @param
|
|
|
|
|
182 |
*
|
183 |
* @return callable Returns a function that accepts the next handler.
|
184 |
*/
|
185 |
-
public static function log(LoggerInterface $logger,
|
186 |
{
|
187 |
-
|
188 |
-
|
|
|
|
|
|
|
|
|
|
|
189 |
return $handler($request, $options)->then(
|
190 |
-
function ($response) use ($logger, $request, $formatter, $logLevel) {
|
191 |
$message = $formatter->format($request, $response);
|
192 |
$logger->log($logLevel, $message);
|
193 |
return $response;
|
194 |
},
|
195 |
-
function ($reason) use ($logger, $request, $formatter) {
|
196 |
-
$response = $reason instanceof RequestException
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
$logger->notice($message);
|
201 |
-
return \GuzzleHttp\Promise\rejection_for($reason);
|
202 |
}
|
203 |
);
|
204 |
};
|
@@ -208,12 +218,10 @@ final class Middleware
|
|
208 |
/**
|
209 |
* This middleware adds a default content-type if possible, a default
|
210 |
* content-length or transfer-encoding header, and the expect header.
|
211 |
-
*
|
212 |
-
* @return callable
|
213 |
*/
|
214 |
-
public static function prepareBody()
|
215 |
{
|
216 |
-
return function (callable $handler) {
|
217 |
return new PrepareBodyMiddleware($handler);
|
218 |
};
|
219 |
}
|
@@ -224,12 +232,11 @@ final class Middleware
|
|
224 |
*
|
225 |
* @param callable $fn Function that accepts a RequestInterface and returns
|
226 |
* a RequestInterface.
|
227 |
-
* @return callable
|
228 |
*/
|
229 |
-
public static function mapRequest(callable $fn)
|
230 |
{
|
231 |
-
return function (callable $handler) use ($fn) {
|
232 |
-
return function ($request, array $options) use ($handler, $fn) {
|
233 |
return $handler($fn($request), $options);
|
234 |
};
|
235 |
};
|
@@ -241,12 +248,11 @@ final class Middleware
|
|
241 |
*
|
242 |
* @param callable $fn Function that accepts a ResponseInterface and
|
243 |
* returns a ResponseInterface.
|
244 |
-
* @return callable
|
245 |
*/
|
246 |
-
public static function mapResponse(callable $fn)
|
247 |
{
|
248 |
-
return function (callable $handler) use ($fn) {
|
249 |
-
return function ($request, array $options) use ($handler, $fn) {
|
250 |
return $handler($request, $options)->then($fn);
|
251 |
};
|
252 |
};
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Cookie\CookieJarInterface;
|
6 |
use GuzzleHttp\Exception\RequestException;
|
7 |
+
use GuzzleHttp\Promise as P;
|
8 |
+
use GuzzleHttp\Promise\PromiseInterface;
|
9 |
+
use Psr\Http\Message\RequestInterface;
|
10 |
use Psr\Http\Message\ResponseInterface;
|
11 |
use Psr\Log\LoggerInterface;
|
12 |
|
23 |
*
|
24 |
* @return callable Returns a function that accepts the next handler.
|
25 |
*/
|
26 |
+
public static function cookies(): callable
|
27 |
{
|
28 |
+
return static function (callable $handler): callable {
|
29 |
+
return static function ($request, array $options) use ($handler) {
|
30 |
if (empty($options['cookies'])) {
|
31 |
return $handler($request, $options);
|
32 |
} elseif (!($options['cookies'] instanceof CookieJarInterface)) {
|
36 |
$request = $cookieJar->withCookieHeader($request);
|
37 |
return $handler($request, $options)
|
38 |
->then(
|
39 |
+
static function (ResponseInterface $response) use ($cookieJar, $request): ResponseInterface {
|
40 |
$cookieJar->extractCookies($request, $response);
|
41 |
return $response;
|
42 |
}
|
47 |
|
48 |
/**
|
49 |
* Middleware that throws exceptions for 4xx or 5xx responses when the
|
50 |
+
* "http_errors" request option is set to true.
|
51 |
*
|
52 |
+
* @param BodySummarizerInterface|null $bodySummarizer The body summarizer to use in exception messages.
|
53 |
+
*
|
54 |
+
* @return callable(callable): callable Returns a function that accepts the next handler.
|
55 |
*/
|
56 |
+
public static function httpErrors(BodySummarizerInterface $bodySummarizer = null): callable
|
57 |
{
|
58 |
+
return static function (callable $handler) use ($bodySummarizer): callable {
|
59 |
+
return static function ($request, array $options) use ($handler, $bodySummarizer) {
|
60 |
if (empty($options['http_errors'])) {
|
61 |
return $handler($request, $options);
|
62 |
}
|
63 |
return $handler($request, $options)->then(
|
64 |
+
static function (ResponseInterface $response) use ($request, $bodySummarizer) {
|
65 |
$code = $response->getStatusCode();
|
66 |
if ($code < 400) {
|
67 |
return $response;
|
68 |
}
|
69 |
+
throw RequestException::create($request, $response, null, [], $bodySummarizer);
|
70 |
}
|
71 |
);
|
72 |
};
|
76 |
/**
|
77 |
* Middleware that pushes history data to an ArrayAccess container.
|
78 |
*
|
79 |
+
* @param array|\ArrayAccess<int, array> $container Container to hold the history (by reference).
|
80 |
+
*
|
81 |
+
* @return callable(callable): callable Returns a function that accepts the next handler.
|
82 |
*
|
|
|
83 |
* @throws \InvalidArgumentException if container is not an array or ArrayAccess.
|
84 |
*/
|
85 |
+
public static function history(&$container): callable
|
86 |
{
|
87 |
+
if (!\is_array($container) && !$container instanceof \ArrayAccess) {
|
88 |
throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess');
|
89 |
}
|
90 |
|
91 |
+
return static function (callable $handler) use (&$container): callable {
|
92 |
+
return static function (RequestInterface $request, array $options) use ($handler, &$container) {
|
93 |
return $handler($request, $options)->then(
|
94 |
+
static function ($value) use ($request, &$container, $options) {
|
95 |
$container[] = [
|
96 |
'request' => $request,
|
97 |
'response' => $value,
|
100 |
];
|
101 |
return $value;
|
102 |
},
|
103 |
+
static function ($reason) use ($request, &$container, $options) {
|
104 |
$container[] = [
|
105 |
'request' => $request,
|
106 |
'response' => null,
|
107 |
'error' => $reason,
|
108 |
'options' => $options
|
109 |
];
|
110 |
+
return P\Create::rejectionFor($reason);
|
111 |
}
|
112 |
);
|
113 |
};
|
127 |
*
|
128 |
* @return callable Returns a function that accepts the next handler.
|
129 |
*/
|
130 |
+
public static function tap(callable $before = null, callable $after = null): callable
|
131 |
{
|
132 |
+
return static function (callable $handler) use ($before, $after): callable {
|
133 |
+
return static function (RequestInterface $request, array $options) use ($handler, $before, $after) {
|
134 |
if ($before) {
|
135 |
$before($request, $options);
|
136 |
}
|
148 |
*
|
149 |
* @return callable Returns a function that accepts the next handler.
|
150 |
*/
|
151 |
+
public static function redirect(): callable
|
152 |
{
|
153 |
+
return static function (callable $handler): RedirectMiddleware {
|
154 |
return new RedirectMiddleware($handler);
|
155 |
};
|
156 |
}
|
170 |
*
|
171 |
* @return callable Returns a function that accepts the next handler.
|
172 |
*/
|
173 |
+
public static function retry(callable $decider, callable $delay = null): callable
|
174 |
{
|
175 |
+
return static function (callable $handler) use ($decider, $delay): RetryMiddleware {
|
176 |
return new RetryMiddleware($decider, $handler, $delay);
|
177 |
};
|
178 |
}
|
181 |
* Middleware that logs requests, responses, and errors using a message
|
182 |
* formatter.
|
183 |
*
|
184 |
+
* @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests.
|
185 |
+
*
|
186 |
+
* @param LoggerInterface $logger Logs messages.
|
187 |
+
* @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings.
|
188 |
+
* @param string $logLevel Level at which to log requests.
|
189 |
*
|
190 |
* @return callable Returns a function that accepts the next handler.
|
191 |
*/
|
192 |
+
public static function log(LoggerInterface $logger, $formatter, string $logLevel = 'info'): callable
|
193 |
{
|
194 |
+
// To be compatible with Guzzle 7.1.x we need to allow users to pass a MessageFormatter
|
195 |
+
if (!$formatter instanceof MessageFormatter && !$formatter instanceof MessageFormatterInterface) {
|
196 |
+
throw new \LogicException(sprintf('Argument 2 to %s::log() must be of type %s', self::class, MessageFormatterInterface::class));
|
197 |
+
}
|
198 |
+
|
199 |
+
return static function (callable $handler) use ($logger, $formatter, $logLevel): callable {
|
200 |
+
return static function (RequestInterface $request, array $options = []) use ($handler, $logger, $formatter, $logLevel) {
|
201 |
return $handler($request, $options)->then(
|
202 |
+
static function ($response) use ($logger, $request, $formatter, $logLevel): ResponseInterface {
|
203 |
$message = $formatter->format($request, $response);
|
204 |
$logger->log($logLevel, $message);
|
205 |
return $response;
|
206 |
},
|
207 |
+
static function ($reason) use ($logger, $request, $formatter): PromiseInterface {
|
208 |
+
$response = $reason instanceof RequestException ? $reason->getResponse() : null;
|
209 |
+
$message = $formatter->format($request, $response, P\Create::exceptionFor($reason));
|
210 |
+
$logger->error($message);
|
211 |
+
return P\Create::rejectionFor($reason);
|
|
|
|
|
212 |
}
|
213 |
);
|
214 |
};
|
218 |
/**
|
219 |
* This middleware adds a default content-type if possible, a default
|
220 |
* content-length or transfer-encoding header, and the expect header.
|
|
|
|
|
221 |
*/
|
222 |
+
public static function prepareBody(): callable
|
223 |
{
|
224 |
+
return static function (callable $handler): PrepareBodyMiddleware {
|
225 |
return new PrepareBodyMiddleware($handler);
|
226 |
};
|
227 |
}
|
232 |
*
|
233 |
* @param callable $fn Function that accepts a RequestInterface and returns
|
234 |
* a RequestInterface.
|
|
|
235 |
*/
|
236 |
+
public static function mapRequest(callable $fn): callable
|
237 |
{
|
238 |
+
return static function (callable $handler) use ($fn): callable {
|
239 |
+
return static function (RequestInterface $request, array $options) use ($handler, $fn) {
|
240 |
return $handler($fn($request), $options);
|
241 |
};
|
242 |
};
|
248 |
*
|
249 |
* @param callable $fn Function that accepts a ResponseInterface and
|
250 |
* returns a ResponseInterface.
|
|
|
251 |
*/
|
252 |
+
public static function mapResponse(callable $fn): callable
|
253 |
{
|
254 |
+
return static function (callable $handler) use ($fn): callable {
|
255 |
+
return static function (RequestInterface $request, array $options) use ($handler, $fn) {
|
256 |
return $handler($request, $options)->then($fn);
|
257 |
};
|
258 |
};
|
vendor/guzzlehttp/guzzle/src/Pool.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
|
|
4 |
use GuzzleHttp\Promise\EachPromise;
|
5 |
use GuzzleHttp\Promise\PromiseInterface;
|
6 |
use GuzzleHttp\Promise\PromisorInterface;
|
@@ -16,10 +18,14 @@ use Psr\Http\Message\RequestInterface;
|
|
16 |
* When a function is yielded by the iterator, the function is provided the
|
17 |
* "request_options" array that should be merged on top of any existing
|
18 |
* options, and the function MUST then return a wait-able promise.
|
|
|
|
|
19 |
*/
|
20 |
class Pool implements PromisorInterface
|
21 |
{
|
22 |
-
/**
|
|
|
|
|
23 |
private $each;
|
24 |
|
25 |
/**
|
@@ -27,20 +33,14 @@ class Pool implements PromisorInterface
|
|
27 |
* @param array|\Iterator $requests Requests or functions that return
|
28 |
* requests to send concurrently.
|
29 |
* @param array $config Associative array of options
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
*
|
34 |
*/
|
35 |
-
public function __construct(
|
36 |
-
|
37 |
-
$
|
38 |
-
array $config = []
|
39 |
-
) {
|
40 |
-
// Backwards compatibility.
|
41 |
-
if (isset($config['pool_size'])) {
|
42 |
-
$config['concurrency'] = $config['pool_size'];
|
43 |
-
} elseif (!isset($config['concurrency'])) {
|
44 |
$config['concurrency'] = 25;
|
45 |
}
|
46 |
|
@@ -51,18 +51,15 @@ class Pool implements PromisorInterface
|
|
51 |
$opts = [];
|
52 |
}
|
53 |
|
54 |
-
$iterable = \
|
55 |
-
$requests = function () use ($iterable, $client, $opts) {
|
56 |
foreach ($iterable as $key => $rfn) {
|
57 |
if ($rfn instanceof RequestInterface) {
|
58 |
yield $key => $client->sendAsync($rfn, $opts);
|
59 |
-
} elseif (is_callable($rfn)) {
|
60 |
yield $key => $rfn($opts);
|
61 |
} else {
|
62 |
-
throw new \InvalidArgumentException('Each value yielded by '
|
63 |
-
. 'the iterator must be a Psr7\Http\Message\RequestInterface '
|
64 |
-
. 'or a callable that returns a promise that fulfills '
|
65 |
-
. 'with a Psr7\Message\Http\ResponseInterface object.');
|
66 |
}
|
67 |
}
|
68 |
};
|
@@ -72,10 +69,8 @@ class Pool implements PromisorInterface
|
|
72 |
|
73 |
/**
|
74 |
* Get promise
|
75 |
-
*
|
76 |
-
* @return PromiseInterface
|
77 |
*/
|
78 |
-
public function promise()
|
79 |
{
|
80 |
return $this->each->promise();
|
81 |
}
|
@@ -91,41 +86,37 @@ class Pool implements PromisorInterface
|
|
91 |
* @param ClientInterface $client Client used to send the requests
|
92 |
* @param array|\Iterator $requests Requests to send concurrently.
|
93 |
* @param array $options Passes through the options available in
|
94 |
-
* {@see GuzzleHttp\Pool::__construct}
|
95 |
*
|
96 |
* @return array Returns an array containing the response or an exception
|
97 |
* in the same order that the requests were sent.
|
|
|
98 |
* @throws \InvalidArgumentException if the event format is incorrect.
|
99 |
*/
|
100 |
-
public static function batch(
|
101 |
-
|
102 |
-
$requests,
|
103 |
-
array $options = []
|
104 |
-
) {
|
105 |
$res = [];
|
106 |
self::cmpCallback($options, 'fulfilled', $res);
|
107 |
self::cmpCallback($options, 'rejected', $res);
|
108 |
$pool = new static($client, $requests, $options);
|
109 |
$pool->promise()->wait();
|
110 |
-
ksort($res);
|
111 |
|
112 |
return $res;
|
113 |
}
|
114 |
|
115 |
/**
|
116 |
* Execute callback(s)
|
117 |
-
*
|
118 |
-
* @return void
|
119 |
*/
|
120 |
-
private static function cmpCallback(array &$options, $name, array &$results)
|
121 |
{
|
122 |
if (!isset($options[$name])) {
|
123 |
-
$options[$name] = function ($v, $k) use (&$results) {
|
124 |
$results[$k] = $v;
|
125 |
};
|
126 |
} else {
|
127 |
$currentFn = $options[$name];
|
128 |
-
$options[$name] = function ($v, $k) use (&$results, $currentFn) {
|
129 |
$currentFn($v, $k);
|
130 |
$results[$k] = $v;
|
131 |
};
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
+
use GuzzleHttp\Promise as P;
|
6 |
use GuzzleHttp\Promise\EachPromise;
|
7 |
use GuzzleHttp\Promise\PromiseInterface;
|
8 |
use GuzzleHttp\Promise\PromisorInterface;
|
18 |
* When a function is yielded by the iterator, the function is provided the
|
19 |
* "request_options" array that should be merged on top of any existing
|
20 |
* options, and the function MUST then return a wait-able promise.
|
21 |
+
*
|
22 |
+
* @final
|
23 |
*/
|
24 |
class Pool implements PromisorInterface
|
25 |
{
|
26 |
+
/**
|
27 |
+
* @var EachPromise
|
28 |
+
*/
|
29 |
private $each;
|
30 |
|
31 |
/**
|
33 |
* @param array|\Iterator $requests Requests or functions that return
|
34 |
* requests to send concurrently.
|
35 |
* @param array $config Associative array of options
|
36 |
+
* - concurrency: (int) Maximum number of requests to send concurrently
|
37 |
+
* - options: Array of request options to apply to each request.
|
38 |
+
* - fulfilled: (callable) Function to invoke when a request completes.
|
39 |
+
* - rejected: (callable) Function to invoke when a request is rejected.
|
40 |
*/
|
41 |
+
public function __construct(ClientInterface $client, $requests, array $config = [])
|
42 |
+
{
|
43 |
+
if (!isset($config['concurrency'])) {
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
$config['concurrency'] = 25;
|
45 |
}
|
46 |
|
51 |
$opts = [];
|
52 |
}
|
53 |
|
54 |
+
$iterable = P\Create::iterFor($requests);
|
55 |
+
$requests = static function () use ($iterable, $client, $opts) {
|
56 |
foreach ($iterable as $key => $rfn) {
|
57 |
if ($rfn instanceof RequestInterface) {
|
58 |
yield $key => $client->sendAsync($rfn, $opts);
|
59 |
+
} elseif (\is_callable($rfn)) {
|
60 |
yield $key => $rfn($opts);
|
61 |
} else {
|
62 |
+
throw new \InvalidArgumentException('Each value yielded by the iterator must be a Psr7\Http\Message\RequestInterface or a callable that returns a promise that fulfills with a Psr7\Message\Http\ResponseInterface object.');
|
|
|
|
|
|
|
63 |
}
|
64 |
}
|
65 |
};
|
69 |
|
70 |
/**
|
71 |
* Get promise
|
|
|
|
|
72 |
*/
|
73 |
+
public function promise(): PromiseInterface
|
74 |
{
|
75 |
return $this->each->promise();
|
76 |
}
|
86 |
* @param ClientInterface $client Client used to send the requests
|
87 |
* @param array|\Iterator $requests Requests to send concurrently.
|
88 |
* @param array $options Passes through the options available in
|
89 |
+
* {@see \GuzzleHttp\Pool::__construct}
|
90 |
*
|
91 |
* @return array Returns an array containing the response or an exception
|
92 |
* in the same order that the requests were sent.
|
93 |
+
*
|
94 |
* @throws \InvalidArgumentException if the event format is incorrect.
|
95 |
*/
|
96 |
+
public static function batch(ClientInterface $client, $requests, array $options = []): array
|
97 |
+
{
|
|
|
|
|
|
|
98 |
$res = [];
|
99 |
self::cmpCallback($options, 'fulfilled', $res);
|
100 |
self::cmpCallback($options, 'rejected', $res);
|
101 |
$pool = new static($client, $requests, $options);
|
102 |
$pool->promise()->wait();
|
103 |
+
\ksort($res);
|
104 |
|
105 |
return $res;
|
106 |
}
|
107 |
|
108 |
/**
|
109 |
* Execute callback(s)
|
|
|
|
|
110 |
*/
|
111 |
+
private static function cmpCallback(array &$options, string $name, array &$results): void
|
112 |
{
|
113 |
if (!isset($options[$name])) {
|
114 |
+
$options[$name] = static function ($v, $k) use (&$results) {
|
115 |
$results[$k] = $v;
|
116 |
};
|
117 |
} else {
|
118 |
$currentFn = $options[$name];
|
119 |
+
$options[$name] = static function ($v, $k) use (&$results, $currentFn) {
|
120 |
$currentFn($v, $k);
|
121 |
$results[$k] = $v;
|
122 |
};
|
vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
CHANGED
@@ -1,34 +1,32 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Promise\PromiseInterface;
|
5 |
-
use GuzzleHttp\Psr7;
|
6 |
use Psr\Http\Message\RequestInterface;
|
7 |
|
8 |
/**
|
9 |
* Prepares requests that contain a body, adding the Content-Length,
|
10 |
* Content-Type, and Expect headers.
|
|
|
|
|
11 |
*/
|
12 |
class PrepareBodyMiddleware
|
13 |
{
|
14 |
-
/**
|
|
|
|
|
15 |
private $nextHandler;
|
16 |
|
17 |
/**
|
18 |
-
* @param callable $nextHandler Next handler to invoke.
|
19 |
*/
|
20 |
public function __construct(callable $nextHandler)
|
21 |
{
|
22 |
$this->nextHandler = $nextHandler;
|
23 |
}
|
24 |
|
25 |
-
|
26 |
-
* @param RequestInterface $request
|
27 |
-
* @param array $options
|
28 |
-
*
|
29 |
-
* @return PromiseInterface
|
30 |
-
*/
|
31 |
-
public function __invoke(RequestInterface $request, array $options)
|
32 |
{
|
33 |
$fn = $this->nextHandler;
|
34 |
|
@@ -42,7 +40,7 @@ class PrepareBodyMiddleware
|
|
42 |
// Add a default content-type if possible.
|
43 |
if (!$request->hasHeader('Content-Type')) {
|
44 |
if ($uri = $request->getBody()->getMetadata('uri')) {
|
45 |
-
if ($type = Psr7\
|
46 |
$modify['set_headers']['Content-Type'] = $type;
|
47 |
}
|
48 |
}
|
@@ -63,25 +61,20 @@ class PrepareBodyMiddleware
|
|
63 |
// Add the expect header if needed.
|
64 |
$this->addExpectHeader($request, $options, $modify);
|
65 |
|
66 |
-
return $fn(Psr7\
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
* Add expect header
|
71 |
-
*
|
72 |
-
* @return void
|
73 |
*/
|
74 |
-
private function addExpectHeader(
|
75 |
-
|
76 |
-
array $options,
|
77 |
-
array &$modify
|
78 |
-
) {
|
79 |
// Determine if the Expect header should be used
|
80 |
if ($request->hasHeader('Expect')) {
|
81 |
return;
|
82 |
}
|
83 |
|
84 |
-
$expect =
|
85 |
|
86 |
// Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
|
87 |
if ($expect === false || $request->getProtocolVersion() < 1.1) {
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Promise\PromiseInterface;
|
|
|
6 |
use Psr\Http\Message\RequestInterface;
|
7 |
|
8 |
/**
|
9 |
* Prepares requests that contain a body, adding the Content-Length,
|
10 |
* Content-Type, and Expect headers.
|
11 |
+
*
|
12 |
+
* @final
|
13 |
*/
|
14 |
class PrepareBodyMiddleware
|
15 |
{
|
16 |
+
/**
|
17 |
+
* @var callable(RequestInterface, array): PromiseInterface
|
18 |
+
*/
|
19 |
private $nextHandler;
|
20 |
|
21 |
/**
|
22 |
+
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
|
23 |
*/
|
24 |
public function __construct(callable $nextHandler)
|
25 |
{
|
26 |
$this->nextHandler = $nextHandler;
|
27 |
}
|
28 |
|
29 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
{
|
31 |
$fn = $this->nextHandler;
|
32 |
|
40 |
// Add a default content-type if possible.
|
41 |
if (!$request->hasHeader('Content-Type')) {
|
42 |
if ($uri = $request->getBody()->getMetadata('uri')) {
|
43 |
+
if (is_string($uri) && $type = Psr7\MimeType::fromFilename($uri)) {
|
44 |
$modify['set_headers']['Content-Type'] = $type;
|
45 |
}
|
46 |
}
|
61 |
// Add the expect header if needed.
|
62 |
$this->addExpectHeader($request, $options, $modify);
|
63 |
|
64 |
+
return $fn(Psr7\Utils::modifyRequest($request, $modify), $options);
|
65 |
}
|
66 |
|
67 |
/**
|
68 |
* Add expect header
|
|
|
|
|
69 |
*/
|
70 |
+
private function addExpectHeader(RequestInterface $request, array $options, array &$modify): void
|
71 |
+
{
|
|
|
|
|
|
|
72 |
// Determine if the Expect header should be used
|
73 |
if ($request->hasHeader('Expect')) {
|
74 |
return;
|
75 |
}
|
76 |
|
77 |
+
$expect = $options['expect'] ?? null;
|
78 |
|
79 |
// Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
|
80 |
if ($expect === false || $request->getProtocolVersion() < 1.1) {
|
vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Exception\BadResponseException;
|
5 |
use GuzzleHttp\Exception\TooManyRedirectsException;
|
6 |
use GuzzleHttp\Promise\PromiseInterface;
|
7 |
-
use GuzzleHttp\Psr7;
|
8 |
use Psr\Http\Message\RequestInterface;
|
9 |
use Psr\Http\Message\ResponseInterface;
|
10 |
use Psr\Http\Message\UriInterface;
|
@@ -14,13 +14,18 @@ use Psr\Http\Message\UriInterface;
|
|
14 |
*
|
15 |
* Apply this middleware like other middleware using
|
16 |
* {@see \GuzzleHttp\Middleware::redirect()}.
|
|
|
|
|
17 |
*/
|
18 |
class RedirectMiddleware
|
19 |
{
|
20 |
-
const HISTORY_HEADER = 'X-Guzzle-Redirect-History';
|
21 |
|
22 |
-
const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History';
|
23 |
|
|
|
|
|
|
|
24 |
public static $defaultSettings = [
|
25 |
'max' => 5,
|
26 |
'protocols' => ['http', 'https'],
|
@@ -29,24 +34,20 @@ class RedirectMiddleware
|
|
29 |
'track_redirects' => false,
|
30 |
];
|
31 |
|
32 |
-
/**
|
|
|
|
|
33 |
private $nextHandler;
|
34 |
|
35 |
/**
|
36 |
-
* @param callable $nextHandler Next handler to invoke.
|
37 |
*/
|
38 |
public function __construct(callable $nextHandler)
|
39 |
{
|
40 |
$this->nextHandler = $nextHandler;
|
41 |
}
|
42 |
|
43 |
-
|
44 |
-
* @param RequestInterface $request
|
45 |
-
* @param array $options
|
46 |
-
*
|
47 |
-
* @return PromiseInterface
|
48 |
-
*/
|
49 |
-
public function __invoke(RequestInterface $request, array $options)
|
50 |
{
|
51 |
$fn = $this->nextHandler;
|
52 |
|
@@ -56,7 +57,7 @@ class RedirectMiddleware
|
|
56 |
|
57 |
if ($options['allow_redirects'] === true) {
|
58 |
$options['allow_redirects'] = self::$defaultSettings;
|
59 |
-
} elseif (
|
60 |
throw new \InvalidArgumentException('allow_redirects must be true, false, or array');
|
61 |
} else {
|
62 |
// Merge the default settings with the provided settings
|
@@ -74,36 +75,37 @@ class RedirectMiddleware
|
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
-
* @param RequestInterface $request
|
78 |
-
* @param array $options
|
79 |
-
* @param ResponseInterface $response
|
80 |
-
*
|
81 |
* @return ResponseInterface|PromiseInterface
|
82 |
*/
|
83 |
-
public function checkRedirect(
|
84 |
-
|
85 |
-
|
86 |
-
ResponseInterface $response
|
87 |
-
) {
|
88 |
-
if (substr($response->getStatusCode(), 0, 1) != '3'
|
89 |
|| !$response->hasHeader('Location')
|
90 |
) {
|
91 |
return $response;
|
92 |
}
|
93 |
|
94 |
-
$this->guardMax($request, $options);
|
95 |
$nextRequest = $this->modifyRequest($request, $options, $response);
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
if (isset($options['allow_redirects']['on_redirect'])) {
|
98 |
-
|
99 |
-
$options['allow_redirects']['on_redirect'],
|
100 |
$request,
|
101 |
$response,
|
102 |
$nextRequest->getUri()
|
103 |
);
|
104 |
}
|
105 |
|
106 |
-
/** @var PromiseInterface|ResponseInterface $promise */
|
107 |
$promise = $this($nextRequest, $options);
|
108 |
|
109 |
// Add headers to be able to track history of redirects.
|
@@ -120,20 +122,19 @@ class RedirectMiddleware
|
|
120 |
|
121 |
/**
|
122 |
* Enable tracking on promise.
|
123 |
-
*
|
124 |
-
* @return PromiseInterface
|
125 |
*/
|
126 |
-
private function withTracking(PromiseInterface $promise, $uri, $statusCode)
|
127 |
{
|
128 |
return $promise->then(
|
129 |
-
function (ResponseInterface $response) use ($uri, $statusCode) {
|
130 |
// Note that we are pushing to the front of the list as this
|
131 |
// would be an earlier response than what is currently present
|
132 |
// in the history header.
|
133 |
$historyHeader = $response->getHeader(self::HISTORY_HEADER);
|
134 |
$statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER);
|
135 |
-
array_unshift($historyHeader, $uri);
|
136 |
-
array_unshift($statusHeader, $statusCode);
|
|
|
137 |
return $response->withHeader(self::HISTORY_HEADER, $historyHeader)
|
138 |
->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader);
|
139 |
}
|
@@ -141,40 +142,24 @@ class RedirectMiddleware
|
|
141 |
}
|
142 |
|
143 |
/**
|
144 |
-
* Check for too many redirects
|
145 |
-
*
|
146 |
-
* @return void
|
147 |
*
|
148 |
* @throws TooManyRedirectsException Too many redirects.
|
149 |
*/
|
150 |
-
private function guardMax(RequestInterface $request, array &$options)
|
151 |
{
|
152 |
-
$current =
|
153 |
-
|
154 |
-
: 0;
|
155 |
$options['__redirect_count'] = $current + 1;
|
156 |
$max = $options['allow_redirects']['max'];
|
157 |
|
158 |
if ($options['__redirect_count'] > $max) {
|
159 |
-
throw new TooManyRedirectsException(
|
160 |
-
"Will not follow more than {$max} redirects",
|
161 |
-
$request
|
162 |
-
);
|
163 |
}
|
164 |
}
|
165 |
|
166 |
-
|
167 |
-
|
168 |
-
* @param array $options
|
169 |
-
* @param ResponseInterface $response
|
170 |
-
*
|
171 |
-
* @return RequestInterface
|
172 |
-
*/
|
173 |
-
public function modifyRequest(
|
174 |
-
RequestInterface $request,
|
175 |
-
array $options,
|
176 |
-
ResponseInterface $response
|
177 |
-
) {
|
178 |
// Request modifications to apply.
|
179 |
$modify = [];
|
180 |
$protocols = $options['allow_redirects']['protocols'];
|
@@ -186,18 +171,21 @@ class RedirectMiddleware
|
|
186 |
if ($statusCode == 303 ||
|
187 |
($statusCode <= 302 && !$options['allow_redirects']['strict'])
|
188 |
) {
|
189 |
-
$
|
|
|
|
|
|
|
190 |
$modify['body'] = '';
|
191 |
}
|
192 |
|
193 |
-
$uri =
|
194 |
if (isset($options['idn_conversion']) && ($options['idn_conversion'] !== false)) {
|
195 |
-
$idnOptions = ($options['idn_conversion'] === true) ? IDNA_DEFAULT : $options['idn_conversion'];
|
196 |
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
197 |
}
|
198 |
|
199 |
$modify['uri'] = $uri;
|
200 |
-
Psr7\
|
201 |
|
202 |
// Add the Referer header if it is told to do so and only
|
203 |
// add the header if we are not redirecting from https to http.
|
@@ -210,44 +198,54 @@ class RedirectMiddleware
|
|
210 |
$modify['remove_headers'][] = 'Referer';
|
211 |
}
|
212 |
|
213 |
-
// Remove Authorization
|
214 |
-
if ($request->getUri()
|
215 |
$modify['remove_headers'][] = 'Authorization';
|
|
|
216 |
}
|
217 |
|
218 |
-
return Psr7\
|
219 |
}
|
220 |
|
221 |
/**
|
222 |
-
*
|
223 |
*
|
224 |
-
*
|
225 |
-
* @param ResponseInterface $response
|
226 |
-
* @param array $protocols
|
227 |
*
|
228 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
*/
|
230 |
-
private function redirectUri(
|
231 |
RequestInterface $request,
|
232 |
ResponseInterface $response,
|
233 |
array $protocols
|
234 |
-
) {
|
235 |
$location = Psr7\UriResolver::resolve(
|
236 |
$request->getUri(),
|
237 |
new Psr7\Uri($response->getHeaderLine('Location'))
|
238 |
);
|
239 |
|
240 |
// Ensure that the redirect URI is allowed based on the protocols.
|
241 |
-
if (
|
242 |
-
throw new BadResponseException(
|
243 |
-
sprintf(
|
244 |
-
'Redirect URI, %s, does not use one of the allowed redirect protocols: %s',
|
245 |
-
$location,
|
246 |
-
implode(', ', $protocols)
|
247 |
-
),
|
248 |
-
$request,
|
249 |
-
$response
|
250 |
-
);
|
251 |
}
|
252 |
|
253 |
return $location;
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Exception\BadResponseException;
|
6 |
use GuzzleHttp\Exception\TooManyRedirectsException;
|
7 |
use GuzzleHttp\Promise\PromiseInterface;
|
|
|
8 |
use Psr\Http\Message\RequestInterface;
|
9 |
use Psr\Http\Message\ResponseInterface;
|
10 |
use Psr\Http\Message\UriInterface;
|
14 |
*
|
15 |
* Apply this middleware like other middleware using
|
16 |
* {@see \GuzzleHttp\Middleware::redirect()}.
|
17 |
+
*
|
18 |
+
* @final
|
19 |
*/
|
20 |
class RedirectMiddleware
|
21 |
{
|
22 |
+
public const HISTORY_HEADER = 'X-Guzzle-Redirect-History';
|
23 |
|
24 |
+
public const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History';
|
25 |
|
26 |
+
/**
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
public static $defaultSettings = [
|
30 |
'max' => 5,
|
31 |
'protocols' => ['http', 'https'],
|
34 |
'track_redirects' => false,
|
35 |
];
|
36 |
|
37 |
+
/**
|
38 |
+
* @var callable(RequestInterface, array): PromiseInterface
|
39 |
+
*/
|
40 |
private $nextHandler;
|
41 |
|
42 |
/**
|
43 |
+
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
|
44 |
*/
|
45 |
public function __construct(callable $nextHandler)
|
46 |
{
|
47 |
$this->nextHandler = $nextHandler;
|
48 |
}
|
49 |
|
50 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
{
|
52 |
$fn = $this->nextHandler;
|
53 |
|
57 |
|
58 |
if ($options['allow_redirects'] === true) {
|
59 |
$options['allow_redirects'] = self::$defaultSettings;
|
60 |
+
} elseif (!\is_array($options['allow_redirects'])) {
|
61 |
throw new \InvalidArgumentException('allow_redirects must be true, false, or array');
|
62 |
} else {
|
63 |
// Merge the default settings with the provided settings
|
75 |
}
|
76 |
|
77 |
/**
|
|
|
|
|
|
|
|
|
78 |
* @return ResponseInterface|PromiseInterface
|
79 |
*/
|
80 |
+
public function checkRedirect(RequestInterface $request, array $options, ResponseInterface $response)
|
81 |
+
{
|
82 |
+
if (\strpos((string) $response->getStatusCode(), '3') !== 0
|
|
|
|
|
|
|
83 |
|| !$response->hasHeader('Location')
|
84 |
) {
|
85 |
return $response;
|
86 |
}
|
87 |
|
88 |
+
$this->guardMax($request, $response, $options);
|
89 |
$nextRequest = $this->modifyRequest($request, $options, $response);
|
90 |
|
91 |
+
// If authorization is handled by curl, unset it if host is different.
|
92 |
+
if ($request->getUri()->getHost() !== $nextRequest->getUri()->getHost()
|
93 |
+
&& defined('\CURLOPT_HTTPAUTH')
|
94 |
+
) {
|
95 |
+
unset(
|
96 |
+
$options['curl'][\CURLOPT_HTTPAUTH],
|
97 |
+
$options['curl'][\CURLOPT_USERPWD]
|
98 |
+
);
|
99 |
+
}
|
100 |
+
|
101 |
if (isset($options['allow_redirects']['on_redirect'])) {
|
102 |
+
($options['allow_redirects']['on_redirect'])(
|
|
|
103 |
$request,
|
104 |
$response,
|
105 |
$nextRequest->getUri()
|
106 |
);
|
107 |
}
|
108 |
|
|
|
109 |
$promise = $this($nextRequest, $options);
|
110 |
|
111 |
// Add headers to be able to track history of redirects.
|
122 |
|
123 |
/**
|
124 |
* Enable tracking on promise.
|
|
|
|
|
125 |
*/
|
126 |
+
private function withTracking(PromiseInterface $promise, string $uri, int $statusCode): PromiseInterface
|
127 |
{
|
128 |
return $promise->then(
|
129 |
+
static function (ResponseInterface $response) use ($uri, $statusCode) {
|
130 |
// Note that we are pushing to the front of the list as this
|
131 |
// would be an earlier response than what is currently present
|
132 |
// in the history header.
|
133 |
$historyHeader = $response->getHeader(self::HISTORY_HEADER);
|
134 |
$statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER);
|
135 |
+
\array_unshift($historyHeader, $uri);
|
136 |
+
\array_unshift($statusHeader, (string) $statusCode);
|
137 |
+
|
138 |
return $response->withHeader(self::HISTORY_HEADER, $historyHeader)
|
139 |
->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader);
|
140 |
}
|
142 |
}
|
143 |
|
144 |
/**
|
145 |
+
* Check for too many redirects.
|
|
|
|
|
146 |
*
|
147 |
* @throws TooManyRedirectsException Too many redirects.
|
148 |
*/
|
149 |
+
private function guardMax(RequestInterface $request, ResponseInterface $response, array &$options): void
|
150 |
{
|
151 |
+
$current = $options['__redirect_count']
|
152 |
+
?? 0;
|
|
|
153 |
$options['__redirect_count'] = $current + 1;
|
154 |
$max = $options['allow_redirects']['max'];
|
155 |
|
156 |
if ($options['__redirect_count'] > $max) {
|
157 |
+
throw new TooManyRedirectsException("Will not follow more than {$max} redirects", $request, $response);
|
|
|
|
|
|
|
158 |
}
|
159 |
}
|
160 |
|
161 |
+
public function modifyRequest(RequestInterface $request, array $options, ResponseInterface $response): RequestInterface
|
162 |
+
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
// Request modifications to apply.
|
164 |
$modify = [];
|
165 |
$protocols = $options['allow_redirects']['protocols'];
|
171 |
if ($statusCode == 303 ||
|
172 |
($statusCode <= 302 && !$options['allow_redirects']['strict'])
|
173 |
) {
|
174 |
+
$safeMethods = ['GET', 'HEAD', 'OPTIONS'];
|
175 |
+
$requestMethod = $request->getMethod();
|
176 |
+
|
177 |
+
$modify['method'] = in_array($requestMethod, $safeMethods) ? $requestMethod : 'GET';
|
178 |
$modify['body'] = '';
|
179 |
}
|
180 |
|
181 |
+
$uri = self::redirectUri($request, $response, $protocols);
|
182 |
if (isset($options['idn_conversion']) && ($options['idn_conversion'] !== false)) {
|
183 |
+
$idnOptions = ($options['idn_conversion'] === true) ? \IDNA_DEFAULT : $options['idn_conversion'];
|
184 |
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
185 |
}
|
186 |
|
187 |
$modify['uri'] = $uri;
|
188 |
+
Psr7\Message::rewindBody($request);
|
189 |
|
190 |
// Add the Referer header if it is told to do so and only
|
191 |
// add the header if we are not redirecting from https to http.
|
198 |
$modify['remove_headers'][] = 'Referer';
|
199 |
}
|
200 |
|
201 |
+
// Remove Authorization and Cookie headers if required.
|
202 |
+
if (self::shouldStripSensitiveHeaders($request->getUri(), $modify['uri'])) {
|
203 |
$modify['remove_headers'][] = 'Authorization';
|
204 |
+
$modify['remove_headers'][] = 'Cookie';
|
205 |
}
|
206 |
|
207 |
+
return Psr7\Utils::modifyRequest($request, $modify);
|
208 |
}
|
209 |
|
210 |
/**
|
211 |
+
* Determine if we should strip sensitive headers from the request.
|
212 |
*
|
213 |
+
* We return true if either of the following conditions are true:
|
|
|
|
|
214 |
*
|
215 |
+
* 1. the host is different;
|
216 |
+
* 2. the scheme has changed, and now is non-https.
|
217 |
+
*/
|
218 |
+
private static function shouldStripSensitiveHeaders(
|
219 |
+
UriInterface $originalUri,
|
220 |
+
UriInterface $modifiedUri
|
221 |
+
): bool {
|
222 |
+
if (\strcasecmp($originalUri->getHost(), $modifiedUri->getHost()) !== 0) {
|
223 |
+
return true;
|
224 |
+
}
|
225 |
+
|
226 |
+
if ($originalUri->getScheme() !== $modifiedUri->getScheme() && 'https' !== $modifiedUri->getScheme()) {
|
227 |
+
return true;
|
228 |
+
}
|
229 |
+
|
230 |
+
return false;
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Set the appropriate URL on the request based on the location header.
|
235 |
*/
|
236 |
+
private static function redirectUri(
|
237 |
RequestInterface $request,
|
238 |
ResponseInterface $response,
|
239 |
array $protocols
|
240 |
+
): UriInterface {
|
241 |
$location = Psr7\UriResolver::resolve(
|
242 |
$request->getUri(),
|
243 |
new Psr7\Uri($response->getHeaderLine('Location'))
|
244 |
);
|
245 |
|
246 |
// Ensure that the redirect URI is allowed based on the protocols.
|
247 |
+
if (!\in_array($location->getScheme(), $protocols)) {
|
248 |
+
throw new BadResponseException(\sprintf('Redirect URI, %s, does not use one of the allowed redirect protocols: %s', $location, \implode(', ', $protocols)), $request, $response);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
}
|
250 |
|
251 |
return $location;
|
vendor/guzzlehttp/guzzle/src/RequestOptions.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
/**
|
@@ -31,7 +32,7 @@ final class RequestOptions
|
|
31 |
* response that was received, and the effective URI. Any return value
|
32 |
* from the on_redirect function is ignored.
|
33 |
*/
|
34 |
-
const ALLOW_REDIRECTS = 'allow_redirects';
|
35 |
|
36 |
/**
|
37 |
* auth: (array) Pass an array of HTTP authentication parameters to use
|
@@ -40,13 +41,13 @@ final class RequestOptions
|
|
40 |
* authentication type in index [2]. Pass null to disable authentication
|
41 |
* for a request.
|
42 |
*/
|
43 |
-
const AUTH = 'auth';
|
44 |
|
45 |
/**
|
46 |
* body: (resource|string|null|int|float|StreamInterface|callable|\Iterator)
|
47 |
* Body to send in the request.
|
48 |
*/
|
49 |
-
const BODY = 'body';
|
50 |
|
51 |
/**
|
52 |
* cert: (string|array) Set to a string to specify the path to a file
|
@@ -55,42 +56,42 @@ final class RequestOptions
|
|
55 |
* file in the first array element followed by the certificate password
|
56 |
* in the second array element.
|
57 |
*/
|
58 |
-
const CERT = 'cert';
|
59 |
|
60 |
/**
|
61 |
* cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false)
|
62 |
* Specifies whether or not cookies are used in a request or what cookie
|
63 |
* jar to use or what cookies to send. This option only works if your
|
64 |
* handler has the `cookie` middleware. Valid values are `false` and
|
65 |
-
* an instance of {@see GuzzleHttp\Cookie\CookieJarInterface}.
|
66 |
*/
|
67 |
-
const COOKIES = 'cookies';
|
68 |
|
69 |
/**
|
70 |
* connect_timeout: (float, default=0) Float describing the number of
|
71 |
* seconds to wait while trying to connect to a server. Use 0 to wait
|
72 |
* indefinitely (the default behavior).
|
73 |
*/
|
74 |
-
const CONNECT_TIMEOUT = 'connect_timeout';
|
75 |
|
76 |
/**
|
77 |
* debug: (bool|resource) Set to true or set to a PHP stream returned by
|
78 |
* fopen() enable debug output with the HTTP handler used to send a
|
79 |
* request.
|
80 |
*/
|
81 |
-
const DEBUG = 'debug';
|
82 |
|
83 |
/**
|
84 |
* decode_content: (bool, default=true) Specify whether or not
|
85 |
* Content-Encoding responses (gzip, deflate, etc.) are automatically
|
86 |
* decoded.
|
87 |
*/
|
88 |
-
const DECODE_CONTENT = 'decode_content';
|
89 |
|
90 |
/**
|
91 |
* delay: (int) The amount of time to delay before sending in milliseconds.
|
92 |
*/
|
93 |
-
const DELAY = 'delay';
|
94 |
|
95 |
/**
|
96 |
* expect: (bool|integer) Controls the behavior of the
|
@@ -108,7 +109,7 @@ final class RequestOptions
|
|
108 |
* size of the body of a request is greater than 1 MB and a request is
|
109 |
* using HTTP/1.1.
|
110 |
*/
|
111 |
-
const EXPECT = 'expect';
|
112 |
|
113 |
/**
|
114 |
* form_params: (array) Associative array of form field names to values
|
@@ -116,13 +117,13 @@ final class RequestOptions
|
|
116 |
* header to application/x-www-form-urlencoded when no Content-Type header
|
117 |
* is already present.
|
118 |
*/
|
119 |
-
const FORM_PARAMS = 'form_params';
|
120 |
|
121 |
/**
|
122 |
* headers: (array) Associative array of HTTP headers. Each value MUST be
|
123 |
* a string or array of strings.
|
124 |
*/
|
125 |
-
const HEADERS = 'headers';
|
126 |
|
127 |
/**
|
128 |
* http_errors: (bool, default=true) Set to false to disable exceptions
|
@@ -130,7 +131,7 @@ final class RequestOptions
|
|
130 |
* exceptions will be thrown for 4xx and 5xx responses. This option only
|
131 |
* works if your handler has the `httpErrors` middleware.
|
132 |
*/
|
133 |
-
const HTTP_ERRORS = 'http_errors';
|
134 |
|
135 |
/**
|
136 |
* idn: (bool|int, default=true) A combination of IDNA_* constants for
|
@@ -138,14 +139,14 @@ final class RequestOptions
|
|
138 |
* disable IDN support completely, or to true to use the default
|
139 |
* configuration (IDNA_DEFAULT constant).
|
140 |
*/
|
141 |
-
const IDN_CONVERSION = 'idn_conversion';
|
142 |
|
143 |
/**
|
144 |
* json: (mixed) Adds JSON data to a request. The provided value is JSON
|
145 |
* encoded and a Content-Type header of application/json will be added to
|
146 |
* the request if no Content-Type header is already present.
|
147 |
*/
|
148 |
-
const JSON = 'json';
|
149 |
|
150 |
/**
|
151 |
* multipart: (array) Array of associative arrays, each containing a
|
@@ -156,14 +157,14 @@ final class RequestOptions
|
|
156 |
* the part. If no "filename" key is present, then no "filename" attribute
|
157 |
* will be added to the part.
|
158 |
*/
|
159 |
-
const MULTIPART = 'multipart';
|
160 |
|
161 |
/**
|
162 |
* on_headers: (callable) A callable that is invoked when the HTTP headers
|
163 |
* of the response have been received but the body has not yet begun to
|
164 |
* download.
|
165 |
*/
|
166 |
-
const ON_HEADERS = 'on_headers';
|
167 |
|
168 |
/**
|
169 |
* on_stats: (callable) allows you to get access to transfer statistics of
|
@@ -174,7 +175,7 @@ final class RequestOptions
|
|
174 |
* the error encountered. Included in the data is the total amount of time
|
175 |
* taken to send the request.
|
176 |
*/
|
177 |
-
const ON_STATS = 'on_stats';
|
178 |
|
179 |
/**
|
180 |
* progress: (callable) Defines a function to invoke when transfer
|
@@ -183,14 +184,14 @@ final class RequestOptions
|
|
183 |
* number of bytes downloaded so far, the number of bytes expected to be
|
184 |
* uploaded, the number of bytes uploaded so far.
|
185 |
*/
|
186 |
-
const PROGRESS = 'progress';
|
187 |
|
188 |
/**
|
189 |
* proxy: (string|array) Pass a string to specify an HTTP proxy, or an
|
190 |
* array to specify different proxies for different protocols (where the
|
191 |
* key is the protocol and the value is a proxy string).
|
192 |
*/
|
193 |
-
const PROXY = 'proxy';
|
194 |
|
195 |
/**
|
196 |
* query: (array|string) Associative array of query string values to add
|
@@ -198,14 +199,14 @@ final class RequestOptions
|
|
198 |
* the string representation. Pass a string value if you need more
|
199 |
* control than what this method provides
|
200 |
*/
|
201 |
-
const QUERY = 'query';
|
202 |
|
203 |
/**
|
204 |
* sink: (resource|string|StreamInterface) Where the data of the
|
205 |
* response is written to. Defaults to a PHP temp stream. Providing a
|
206 |
* string will write data to a file by the given name.
|
207 |
*/
|
208 |
-
const SINK = 'sink';
|
209 |
|
210 |
/**
|
211 |
* synchronous: (bool) Set to true to inform HTTP handlers that you intend
|
@@ -213,7 +214,7 @@ final class RequestOptions
|
|
213 |
* that a promise is still returned if you are using one of the async
|
214 |
* client methods.
|
215 |
*/
|
216 |
-
const SYNCHRONOUS = 'synchronous';
|
217 |
|
218 |
/**
|
219 |
* ssl_key: (array|string) Specify the path to a file containing a private
|
@@ -221,13 +222,13 @@ final class RequestOptions
|
|
221 |
* containing the path to the SSL key in the first array element followed
|
222 |
* by the password required for the certificate in the second element.
|
223 |
*/
|
224 |
-
const SSL_KEY = 'ssl_key';
|
225 |
|
226 |
/**
|
227 |
* stream: Set to true to attempt to stream a response rather than
|
228 |
* download it all up-front.
|
229 |
*/
|
230 |
-
const STREAM = 'stream';
|
231 |
|
232 |
/**
|
233 |
* verify: (bool|string, default=true) Describes the SSL certificate
|
@@ -237,27 +238,27 @@ final class RequestOptions
|
|
237 |
* is insecure!). Set to a string to provide the path to a CA bundle on
|
238 |
* disk to enable verification using a custom certificate.
|
239 |
*/
|
240 |
-
const VERIFY = 'verify';
|
241 |
|
242 |
/**
|
243 |
* timeout: (float, default=0) Float describing the timeout of the
|
244 |
* request in seconds. Use 0 to wait indefinitely (the default behavior).
|
245 |
*/
|
246 |
-
const TIMEOUT = 'timeout';
|
247 |
|
248 |
/**
|
249 |
* read_timeout: (float, default=default_socket_timeout ini setting) Float describing
|
250 |
* the body read timeout, for stream requests.
|
251 |
*/
|
252 |
-
const READ_TIMEOUT = 'read_timeout';
|
253 |
|
254 |
/**
|
255 |
* version: (float) Specifies the HTTP protocol version to attempt to use.
|
256 |
*/
|
257 |
-
const VERSION = 'version';
|
258 |
|
259 |
/**
|
260 |
* force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol
|
261 |
*/
|
262 |
-
const FORCE_IP_RESOLVE = 'force_ip_resolve';
|
263 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
/**
|
32 |
* response that was received, and the effective URI. Any return value
|
33 |
* from the on_redirect function is ignored.
|
34 |
*/
|
35 |
+
public const ALLOW_REDIRECTS = 'allow_redirects';
|
36 |
|
37 |
/**
|
38 |
* auth: (array) Pass an array of HTTP authentication parameters to use
|
41 |
* authentication type in index [2]. Pass null to disable authentication
|
42 |
* for a request.
|
43 |
*/
|
44 |
+
public const AUTH = 'auth';
|
45 |
|
46 |
/**
|
47 |
* body: (resource|string|null|int|float|StreamInterface|callable|\Iterator)
|
48 |
* Body to send in the request.
|
49 |
*/
|
50 |
+
public const BODY = 'body';
|
51 |
|
52 |
/**
|
53 |
* cert: (string|array) Set to a string to specify the path to a file
|
56 |
* file in the first array element followed by the certificate password
|
57 |
* in the second array element.
|
58 |
*/
|
59 |
+
public const CERT = 'cert';
|
60 |
|
61 |
/**
|
62 |
* cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false)
|
63 |
* Specifies whether or not cookies are used in a request or what cookie
|
64 |
* jar to use or what cookies to send. This option only works if your
|
65 |
* handler has the `cookie` middleware. Valid values are `false` and
|
66 |
+
* an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.
|
67 |
*/
|
68 |
+
public const COOKIES = 'cookies';
|
69 |
|
70 |
/**
|
71 |
* connect_timeout: (float, default=0) Float describing the number of
|
72 |
* seconds to wait while trying to connect to a server. Use 0 to wait
|
73 |
* indefinitely (the default behavior).
|
74 |
*/
|
75 |
+
public const CONNECT_TIMEOUT = 'connect_timeout';
|
76 |
|
77 |
/**
|
78 |
* debug: (bool|resource) Set to true or set to a PHP stream returned by
|
79 |
* fopen() enable debug output with the HTTP handler used to send a
|
80 |
* request.
|
81 |
*/
|
82 |
+
public const DEBUG = 'debug';
|
83 |
|
84 |
/**
|
85 |
* decode_content: (bool, default=true) Specify whether or not
|
86 |
* Content-Encoding responses (gzip, deflate, etc.) are automatically
|
87 |
* decoded.
|
88 |
*/
|
89 |
+
public const DECODE_CONTENT = 'decode_content';
|
90 |
|
91 |
/**
|
92 |
* delay: (int) The amount of time to delay before sending in milliseconds.
|
93 |
*/
|
94 |
+
public const DELAY = 'delay';
|
95 |
|
96 |
/**
|
97 |
* expect: (bool|integer) Controls the behavior of the
|
109 |
* size of the body of a request is greater than 1 MB and a request is
|
110 |
* using HTTP/1.1.
|
111 |
*/
|
112 |
+
public const EXPECT = 'expect';
|
113 |
|
114 |
/**
|
115 |
* form_params: (array) Associative array of form field names to values
|
117 |
* header to application/x-www-form-urlencoded when no Content-Type header
|
118 |
* is already present.
|
119 |
*/
|
120 |
+
public const FORM_PARAMS = 'form_params';
|
121 |
|
122 |
/**
|
123 |
* headers: (array) Associative array of HTTP headers. Each value MUST be
|
124 |
* a string or array of strings.
|
125 |
*/
|
126 |
+
public const HEADERS = 'headers';
|
127 |
|
128 |
/**
|
129 |
* http_errors: (bool, default=true) Set to false to disable exceptions
|
131 |
* exceptions will be thrown for 4xx and 5xx responses. This option only
|
132 |
* works if your handler has the `httpErrors` middleware.
|
133 |
*/
|
134 |
+
public const HTTP_ERRORS = 'http_errors';
|
135 |
|
136 |
/**
|
137 |
* idn: (bool|int, default=true) A combination of IDNA_* constants for
|
139 |
* disable IDN support completely, or to true to use the default
|
140 |
* configuration (IDNA_DEFAULT constant).
|
141 |
*/
|
142 |
+
public const IDN_CONVERSION = 'idn_conversion';
|
143 |
|
144 |
/**
|
145 |
* json: (mixed) Adds JSON data to a request. The provided value is JSON
|
146 |
* encoded and a Content-Type header of application/json will be added to
|
147 |
* the request if no Content-Type header is already present.
|
148 |
*/
|
149 |
+
public const JSON = 'json';
|
150 |
|
151 |
/**
|
152 |
* multipart: (array) Array of associative arrays, each containing a
|
157 |
* the part. If no "filename" key is present, then no "filename" attribute
|
158 |
* will be added to the part.
|
159 |
*/
|
160 |
+
public const MULTIPART = 'multipart';
|
161 |
|
162 |
/**
|
163 |
* on_headers: (callable) A callable that is invoked when the HTTP headers
|
164 |
* of the response have been received but the body has not yet begun to
|
165 |
* download.
|
166 |
*/
|
167 |
+
public const ON_HEADERS = 'on_headers';
|
168 |
|
169 |
/**
|
170 |
* on_stats: (callable) allows you to get access to transfer statistics of
|
175 |
* the error encountered. Included in the data is the total amount of time
|
176 |
* taken to send the request.
|
177 |
*/
|
178 |
+
public const ON_STATS = 'on_stats';
|
179 |
|
180 |
/**
|
181 |
* progress: (callable) Defines a function to invoke when transfer
|
184 |
* number of bytes downloaded so far, the number of bytes expected to be
|
185 |
* uploaded, the number of bytes uploaded so far.
|
186 |
*/
|
187 |
+
public const PROGRESS = 'progress';
|
188 |
|
189 |
/**
|
190 |
* proxy: (string|array) Pass a string to specify an HTTP proxy, or an
|
191 |
* array to specify different proxies for different protocols (where the
|
192 |
* key is the protocol and the value is a proxy string).
|
193 |
*/
|
194 |
+
public const PROXY = 'proxy';
|
195 |
|
196 |
/**
|
197 |
* query: (array|string) Associative array of query string values to add
|
199 |
* the string representation. Pass a string value if you need more
|
200 |
* control than what this method provides
|
201 |
*/
|
202 |
+
public const QUERY = 'query';
|
203 |
|
204 |
/**
|
205 |
* sink: (resource|string|StreamInterface) Where the data of the
|
206 |
* response is written to. Defaults to a PHP temp stream. Providing a
|
207 |
* string will write data to a file by the given name.
|
208 |
*/
|
209 |
+
public const SINK = 'sink';
|
210 |
|
211 |
/**
|
212 |
* synchronous: (bool) Set to true to inform HTTP handlers that you intend
|
214 |
* that a promise is still returned if you are using one of the async
|
215 |
* client methods.
|
216 |
*/
|
217 |
+
public const SYNCHRONOUS = 'synchronous';
|
218 |
|
219 |
/**
|
220 |
* ssl_key: (array|string) Specify the path to a file containing a private
|
222 |
* containing the path to the SSL key in the first array element followed
|
223 |
* by the password required for the certificate in the second element.
|
224 |
*/
|
225 |
+
public const SSL_KEY = 'ssl_key';
|
226 |
|
227 |
/**
|
228 |
* stream: Set to true to attempt to stream a response rather than
|
229 |
* download it all up-front.
|
230 |
*/
|
231 |
+
public const STREAM = 'stream';
|
232 |
|
233 |
/**
|
234 |
* verify: (bool|string, default=true) Describes the SSL certificate
|
238 |
* is insecure!). Set to a string to provide the path to a CA bundle on
|
239 |
* disk to enable verification using a custom certificate.
|
240 |
*/
|
241 |
+
public const VERIFY = 'verify';
|
242 |
|
243 |
/**
|
244 |
* timeout: (float, default=0) Float describing the timeout of the
|
245 |
* request in seconds. Use 0 to wait indefinitely (the default behavior).
|
246 |
*/
|
247 |
+
public const TIMEOUT = 'timeout';
|
248 |
|
249 |
/**
|
250 |
* read_timeout: (float, default=default_socket_timeout ini setting) Float describing
|
251 |
* the body read timeout, for stream requests.
|
252 |
*/
|
253 |
+
public const READ_TIMEOUT = 'read_timeout';
|
254 |
|
255 |
/**
|
256 |
* version: (float) Specifies the HTTP protocol version to attempt to use.
|
257 |
*/
|
258 |
+
public const VERSION = 'version';
|
259 |
|
260 |
/**
|
261 |
* force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol
|
262 |
*/
|
263 |
+
public const FORCE_IP_RESOLVE = 'force_ip_resolve';
|
264 |
}
|
vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
CHANGED
@@ -1,42 +1,47 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
|
|
4 |
use GuzzleHttp\Promise\PromiseInterface;
|
5 |
-
use GuzzleHttp\Promise\RejectedPromise;
|
6 |
-
use GuzzleHttp\Psr7;
|
7 |
use Psr\Http\Message\RequestInterface;
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
|
10 |
/**
|
11 |
* Middleware that retries requests based on the boolean result of
|
12 |
* invoking the provided "decider" function.
|
|
|
|
|
13 |
*/
|
14 |
class RetryMiddleware
|
15 |
{
|
16 |
-
/**
|
|
|
|
|
17 |
private $nextHandler;
|
18 |
|
19 |
-
/**
|
|
|
|
|
20 |
private $decider;
|
21 |
|
22 |
-
/**
|
|
|
|
|
23 |
private $delay;
|
24 |
|
25 |
/**
|
26 |
-
* @param callable
|
27 |
-
*
|
28 |
-
*
|
29 |
-
*
|
30 |
-
* @param callable $nextHandler Next handler to invoke.
|
31 |
-
* @param callable $delay Function that accepts the number of retries
|
32 |
-
*
|
33 |
-
*
|
34 |
*/
|
35 |
-
public function __construct(
|
36 |
-
|
37 |
-
callable $nextHandler,
|
38 |
-
callable $delay = null
|
39 |
-
) {
|
40 |
$this->decider = $decider;
|
41 |
$this->nextHandler = $nextHandler;
|
42 |
$this->delay = $delay ?: __CLASS__ . '::exponentialDelay';
|
@@ -45,22 +50,14 @@ class RetryMiddleware
|
|
45 |
/**
|
46 |
* Default exponential backoff delay function.
|
47 |
*
|
48 |
-
* @param int $retries
|
49 |
-
*
|
50 |
* @return int milliseconds.
|
51 |
*/
|
52 |
-
public static function exponentialDelay($retries)
|
53 |
{
|
54 |
-
return (int) pow(2, $retries - 1) * 1000;
|
55 |
}
|
56 |
|
57 |
-
|
58 |
-
* @param RequestInterface $request
|
59 |
-
* @param array $options
|
60 |
-
*
|
61 |
-
* @return PromiseInterface
|
62 |
-
*/
|
63 |
-
public function __invoke(RequestInterface $request, array $options)
|
64 |
{
|
65 |
if (!isset($options['retries'])) {
|
66 |
$options['retries'] = 0;
|
@@ -76,52 +73,43 @@ class RetryMiddleware
|
|
76 |
|
77 |
/**
|
78 |
* Execute fulfilled closure
|
79 |
-
*
|
80 |
-
* @return mixed
|
81 |
*/
|
82 |
-
private function onFulfilled(RequestInterface $
|
83 |
{
|
84 |
-
return function ($value) use ($
|
85 |
-
if (!
|
86 |
-
$this->decider,
|
87 |
$options['retries'],
|
88 |
-
$
|
89 |
$value,
|
90 |
null
|
91 |
)) {
|
92 |
return $value;
|
93 |
}
|
94 |
-
return $this->doRetry($
|
95 |
};
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
* Execute rejected closure
|
100 |
-
*
|
101 |
-
* @return callable
|
102 |
*/
|
103 |
-
private function onRejected(RequestInterface $req, array $options)
|
104 |
{
|
105 |
return function ($reason) use ($req, $options) {
|
106 |
-
if (!
|
107 |
-
$this->decider,
|
108 |
$options['retries'],
|
109 |
$req,
|
110 |
null,
|
111 |
$reason
|
112 |
)) {
|
113 |
-
return \
|
114 |
}
|
115 |
return $this->doRetry($req, $options);
|
116 |
};
|
117 |
}
|
118 |
|
119 |
-
|
120 |
-
* @return self
|
121 |
-
*/
|
122 |
-
private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null)
|
123 |
{
|
124 |
-
$options['delay'] =
|
125 |
|
126 |
return $this($request, $options);
|
127 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
+
use GuzzleHttp\Promise as P;
|
6 |
use GuzzleHttp\Promise\PromiseInterface;
|
|
|
|
|
7 |
use Psr\Http\Message\RequestInterface;
|
8 |
use Psr\Http\Message\ResponseInterface;
|
9 |
|
10 |
/**
|
11 |
* Middleware that retries requests based on the boolean result of
|
12 |
* invoking the provided "decider" function.
|
13 |
+
*
|
14 |
+
* @final
|
15 |
*/
|
16 |
class RetryMiddleware
|
17 |
{
|
18 |
+
/**
|
19 |
+
* @var callable(RequestInterface, array): PromiseInterface
|
20 |
+
*/
|
21 |
private $nextHandler;
|
22 |
|
23 |
+
/**
|
24 |
+
* @var callable
|
25 |
+
*/
|
26 |
private $decider;
|
27 |
|
28 |
+
/**
|
29 |
+
* @var callable(int)
|
30 |
+
*/
|
31 |
private $delay;
|
32 |
|
33 |
/**
|
34 |
+
* @param callable $decider Function that accepts the number of retries,
|
35 |
+
* a request, [response], and [exception] and
|
36 |
+
* returns true if the request is to be
|
37 |
+
* retried.
|
38 |
+
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
|
39 |
+
* @param (callable(int): int)|null $delay Function that accepts the number of retries
|
40 |
+
* and returns the number of
|
41 |
+
* milliseconds to delay.
|
42 |
*/
|
43 |
+
public function __construct(callable $decider, callable $nextHandler, callable $delay = null)
|
44 |
+
{
|
|
|
|
|
|
|
45 |
$this->decider = $decider;
|
46 |
$this->nextHandler = $nextHandler;
|
47 |
$this->delay = $delay ?: __CLASS__ . '::exponentialDelay';
|
50 |
/**
|
51 |
* Default exponential backoff delay function.
|
52 |
*
|
|
|
|
|
53 |
* @return int milliseconds.
|
54 |
*/
|
55 |
+
public static function exponentialDelay(int $retries): int
|
56 |
{
|
57 |
+
return (int) \pow(2, $retries - 1) * 1000;
|
58 |
}
|
59 |
|
60 |
+
public function __invoke(RequestInterface $request, array $options): PromiseInterface
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
{
|
62 |
if (!isset($options['retries'])) {
|
63 |
$options['retries'] = 0;
|
73 |
|
74 |
/**
|
75 |
* Execute fulfilled closure
|
|
|
|
|
76 |
*/
|
77 |
+
private function onFulfilled(RequestInterface $request, array $options): callable
|
78 |
{
|
79 |
+
return function ($value) use ($request, $options) {
|
80 |
+
if (!($this->decider)(
|
|
|
81 |
$options['retries'],
|
82 |
+
$request,
|
83 |
$value,
|
84 |
null
|
85 |
)) {
|
86 |
return $value;
|
87 |
}
|
88 |
+
return $this->doRetry($request, $options, $value);
|
89 |
};
|
90 |
}
|
91 |
|
92 |
/**
|
93 |
* Execute rejected closure
|
|
|
|
|
94 |
*/
|
95 |
+
private function onRejected(RequestInterface $req, array $options): callable
|
96 |
{
|
97 |
return function ($reason) use ($req, $options) {
|
98 |
+
if (!($this->decider)(
|
|
|
99 |
$options['retries'],
|
100 |
$req,
|
101 |
null,
|
102 |
$reason
|
103 |
)) {
|
104 |
+
return P\Create::rejectionFor($reason);
|
105 |
}
|
106 |
return $this->doRetry($req, $options);
|
107 |
};
|
108 |
}
|
109 |
|
110 |
+
private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface
|
|
|
|
|
|
|
111 |
{
|
112 |
+
$options['delay'] = ($this->delay)(++$options['retries'], $response);
|
113 |
|
114 |
return $this($request, $options);
|
115 |
}
|
vendor/guzzlehttp/guzzle/src/TransferStats.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use Psr\Http\Message\RequestInterface;
|
@@ -11,10 +12,29 @@ use Psr\Http\Message\UriInterface;
|
|
11 |
*/
|
12 |
final class TransferStats
|
13 |
{
|
|
|
|
|
|
|
14 |
private $request;
|
|
|
|
|
|
|
|
|
15 |
private $response;
|
|
|
|
|
|
|
|
|
16 |
private $transferTime;
|
|
|
|
|
|
|
|
|
17 |
private $handlerStats;
|
|
|
|
|
|
|
|
|
18 |
private $handlerErrorData;
|
19 |
|
20 |
/**
|
@@ -26,10 +46,10 @@ final class TransferStats
|
|
26 |
*/
|
27 |
public function __construct(
|
28 |
RequestInterface $request,
|
29 |
-
ResponseInterface $response = null,
|
30 |
-
$transferTime = null,
|
31 |
$handlerErrorData = null,
|
32 |
-
$handlerStats = []
|
33 |
) {
|
34 |
$this->request = $request;
|
35 |
$this->response = $response;
|
@@ -38,30 +58,23 @@ final class TransferStats
|
|
38 |
$this->handlerStats = $handlerStats;
|
39 |
}
|
40 |
|
41 |
-
|
42 |
-
* @return RequestInterface
|
43 |
-
*/
|
44 |
-
public function getRequest()
|
45 |
{
|
46 |
return $this->request;
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
* Returns the response that was received (if any).
|
51 |
-
*
|
52 |
-
* @return ResponseInterface|null
|
53 |
*/
|
54 |
-
public function getResponse()
|
55 |
{
|
56 |
return $this->response;
|
57 |
}
|
58 |
|
59 |
/**
|
60 |
* Returns true if a response was received.
|
61 |
-
*
|
62 |
-
* @return bool
|
63 |
*/
|
64 |
-
public function hasResponse()
|
65 |
{
|
66 |
return $this->response !== null;
|
67 |
}
|
@@ -82,10 +95,8 @@ final class TransferStats
|
|
82 |
|
83 |
/**
|
84 |
* Get the effective URI the request was sent to.
|
85 |
-
*
|
86 |
-
* @return UriInterface
|
87 |
*/
|
88 |
-
public function getEffectiveUri()
|
89 |
{
|
90 |
return $this->request->getUri();
|
91 |
}
|
@@ -95,17 +106,15 @@ final class TransferStats
|
|
95 |
*
|
96 |
* @return float|null Time in seconds.
|
97 |
*/
|
98 |
-
public function getTransferTime()
|
99 |
{
|
100 |
return $this->transferTime;
|
101 |
}
|
102 |
|
103 |
/**
|
104 |
* Gets an array of all of the handler specific transfer data.
|
105 |
-
*
|
106 |
-
* @return array
|
107 |
*/
|
108 |
-
public function getHandlerStats()
|
109 |
{
|
110 |
return $this->handlerStats;
|
111 |
}
|
@@ -117,10 +126,8 @@ final class TransferStats
|
|
117 |
*
|
118 |
* @return mixed|null
|
119 |
*/
|
120 |
-
public function getHandlerStat($stat)
|
121 |
{
|
122 |
-
return
|
123 |
-
? $this->handlerStats[$stat]
|
124 |
-
: null;
|
125 |
}
|
126 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use Psr\Http\Message\RequestInterface;
|
12 |
*/
|
13 |
final class TransferStats
|
14 |
{
|
15 |
+
/**
|
16 |
+
* @var RequestInterface
|
17 |
+
*/
|
18 |
private $request;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var ResponseInterface|null
|
22 |
+
*/
|
23 |
private $response;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @var float|null
|
27 |
+
*/
|
28 |
private $transferTime;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
private $handlerStats;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var mixed|null
|
37 |
+
*/
|
38 |
private $handlerErrorData;
|
39 |
|
40 |
/**
|
46 |
*/
|
47 |
public function __construct(
|
48 |
RequestInterface $request,
|
49 |
+
?ResponseInterface $response = null,
|
50 |
+
?float $transferTime = null,
|
51 |
$handlerErrorData = null,
|
52 |
+
array $handlerStats = []
|
53 |
) {
|
54 |
$this->request = $request;
|
55 |
$this->response = $response;
|
58 |
$this->handlerStats = $handlerStats;
|
59 |
}
|
60 |
|
61 |
+
public function getRequest(): RequestInterface
|
|
|
|
|
|
|
62 |
{
|
63 |
return $this->request;
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
* Returns the response that was received (if any).
|
|
|
|
|
68 |
*/
|
69 |
+
public function getResponse(): ?ResponseInterface
|
70 |
{
|
71 |
return $this->response;
|
72 |
}
|
73 |
|
74 |
/**
|
75 |
* Returns true if a response was received.
|
|
|
|
|
76 |
*/
|
77 |
+
public function hasResponse(): bool
|
78 |
{
|
79 |
return $this->response !== null;
|
80 |
}
|
95 |
|
96 |
/**
|
97 |
* Get the effective URI the request was sent to.
|
|
|
|
|
98 |
*/
|
99 |
+
public function getEffectiveUri(): UriInterface
|
100 |
{
|
101 |
return $this->request->getUri();
|
102 |
}
|
106 |
*
|
107 |
* @return float|null Time in seconds.
|
108 |
*/
|
109 |
+
public function getTransferTime(): ?float
|
110 |
{
|
111 |
return $this->transferTime;
|
112 |
}
|
113 |
|
114 |
/**
|
115 |
* Gets an array of all of the handler specific transfer data.
|
|
|
|
|
116 |
*/
|
117 |
+
public function getHandlerStats(): array
|
118 |
{
|
119 |
return $this->handlerStats;
|
120 |
}
|
126 |
*
|
127 |
* @return mixed|null
|
128 |
*/
|
129 |
+
public function getHandlerStat(string $stat)
|
130 |
{
|
131 |
+
return $this->handlerStats[$stat] ?? null;
|
|
|
|
|
132 |
}
|
133 |
}
|
vendor/guzzlehttp/guzzle/src/UriTemplate.php
DELETED
@@ -1,237 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace GuzzleHttp;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Expands URI templates. Userland implementation of PECL uri_template.
|
6 |
-
*
|
7 |
-
* @link http://tools.ietf.org/html/rfc6570
|
8 |
-
*/
|
9 |
-
class UriTemplate
|
10 |
-
{
|
11 |
-
/** @var string URI template */
|
12 |
-
private $template;
|
13 |
-
|
14 |
-
/** @var array Variables to use in the template expansion */
|
15 |
-
private $variables;
|
16 |
-
|
17 |
-
/** @var array Hash for quick operator lookups */
|
18 |
-
private static $operatorHash = [
|
19 |
-
'' => ['prefix' => '', 'joiner' => ',', 'query' => false],
|
20 |
-
'+' => ['prefix' => '', 'joiner' => ',', 'query' => false],
|
21 |
-
'#' => ['prefix' => '#', 'joiner' => ',', 'query' => false],
|
22 |
-
'.' => ['prefix' => '.', 'joiner' => '.', 'query' => false],
|
23 |
-
'/' => ['prefix' => '/', 'joiner' => '/', 'query' => false],
|
24 |
-
';' => ['prefix' => ';', 'joiner' => ';', 'query' => true],
|
25 |
-
'?' => ['prefix' => '?', 'joiner' => '&', 'query' => true],
|
26 |
-
'&' => ['prefix' => '&', 'joiner' => '&', 'query' => true]
|
27 |
-
];
|
28 |
-
|
29 |
-
/** @var array Delimiters */
|
30 |
-
private static $delims = [':', '/', '?', '#', '[', ']', '@', '!', '$',
|
31 |
-
'&', '\'', '(', ')', '*', '+', ',', ';', '='];
|
32 |
-
|
33 |
-
/** @var array Percent encoded delimiters */
|
34 |
-
private static $delimsPct = ['%3A', '%2F', '%3F', '%23', '%5B', '%5D',
|
35 |
-
'%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C',
|
36 |
-
'%3B', '%3D'];
|
37 |
-
|
38 |
-
public function expand($template, array $variables)
|
39 |
-
{
|
40 |
-
if (false === strpos($template, '{')) {
|
41 |
-
return $template;
|
42 |
-
}
|
43 |
-
|
44 |
-
$this->template = $template;
|
45 |
-
$this->variables = $variables;
|
46 |
-
|
47 |
-
return preg_replace_callback(
|
48 |
-
'/\{([^\}]+)\}/',
|
49 |
-
[$this, 'expandMatch'],
|
50 |
-
$this->template
|
51 |
-
);
|
52 |
-
}
|
53 |
-
|
54 |
-
/**
|
55 |
-
* Parse an expression into parts
|
56 |
-
*
|
57 |
-
* @param string $expression Expression to parse
|
58 |
-
*
|
59 |
-
* @return array Returns an associative array of parts
|
60 |
-
*/
|
61 |
-
private function parseExpression($expression)
|
62 |
-
{
|
63 |
-
$result = [];
|
64 |
-
|
65 |
-
if (isset(self::$operatorHash[$expression[0]])) {
|
66 |
-
$result['operator'] = $expression[0];
|
67 |
-
$expression = substr($expression, 1);
|
68 |
-
} else {
|
69 |
-
$result['operator'] = '';
|
70 |
-
}
|
71 |
-
|
72 |
-
foreach (explode(',', $expression) as $value) {
|
73 |
-
$value = trim($value);
|
74 |
-
$varspec = [];
|
75 |
-
if ($colonPos = strpos($value, ':')) {
|
76 |
-
$varspec['value'] = substr($value, 0, $colonPos);
|
77 |
-
$varspec['modifier'] = ':';
|
78 |
-
$varspec['position'] = (int) substr($value, $colonPos + 1);
|
79 |
-
} elseif (substr($value, -1) === '*') {
|
80 |
-
$varspec['modifier'] = '*';
|
81 |
-
$varspec['value'] = substr($value, 0, -1);
|
82 |
-
} else {
|
83 |
-
$varspec['value'] = (string) $value;
|
84 |
-
$varspec['modifier'] = '';
|
85 |
-
}
|
86 |
-
$result['values'][] = $varspec;
|
87 |
-
}
|
88 |
-
|
89 |
-
return $result;
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* Process an expansion
|
94 |
-
*
|
95 |
-
* @param array $matches Matches met in the preg_replace_callback
|
96 |
-
*
|
97 |
-
* @return string Returns the replacement string
|
98 |
-
*/
|
99 |
-
private function expandMatch(array $matches)
|
100 |
-
{
|
101 |
-
static $rfc1738to3986 = ['+' => '%20', '%7e' => '~'];
|
102 |
-
|
103 |
-
$replacements = [];
|
104 |
-
$parsed = self::parseExpression($matches[1]);
|
105 |
-
$prefix = self::$operatorHash[$parsed['operator']]['prefix'];
|
106 |
-
$joiner = self::$operatorHash[$parsed['operator']]['joiner'];
|
107 |
-
$useQuery = self::$operatorHash[$parsed['operator']]['query'];
|
108 |
-
|
109 |
-
foreach ($parsed['values'] as $value) {
|
110 |
-
if (!isset($this->variables[$value['value']])) {
|
111 |
-
continue;
|
112 |
-
}
|
113 |
-
|
114 |
-
$variable = $this->variables[$value['value']];
|
115 |
-
$actuallyUseQuery = $useQuery;
|
116 |
-
$expanded = '';
|
117 |
-
|
118 |
-
if (is_array($variable)) {
|
119 |
-
$isAssoc = $this->isAssoc($variable);
|
120 |
-
$kvp = [];
|
121 |
-
foreach ($variable as $key => $var) {
|
122 |
-
if ($isAssoc) {
|
123 |
-
$key = rawurlencode($key);
|
124 |
-
$isNestedArray = is_array($var);
|
125 |
-
} else {
|
126 |
-
$isNestedArray = false;
|
127 |
-
}
|
128 |
-
|
129 |
-
if (!$isNestedArray) {
|
130 |
-
$var = rawurlencode($var);
|
131 |
-
if ($parsed['operator'] === '+' ||
|
132 |
-
$parsed['operator'] === '#'
|
133 |
-
) {
|
134 |
-
$var = $this->decodeReserved($var);
|
135 |
-
}
|
136 |
-
}
|
137 |
-
|
138 |
-
if ($value['modifier'] === '*') {
|
139 |
-
if ($isAssoc) {
|
140 |
-
if ($isNestedArray) {
|
141 |
-
// Nested arrays must allow for deeply nested
|
142 |
-
// structures.
|
143 |
-
$var = strtr(
|
144 |
-
http_build_query([$key => $var]),
|
145 |
-
$rfc1738to3986
|
146 |
-
);
|
147 |
-
} else {
|
148 |
-
$var = $key . '=' . $var;
|
149 |
-
}
|
150 |
-
} elseif ($key > 0 && $actuallyUseQuery) {
|
151 |
-
$var = $value['value'] . '=' . $var;
|
152 |
-
}
|
153 |
-
}
|
154 |
-
|
155 |
-
$kvp[$key] = $var;
|
156 |
-
}
|
157 |
-
|
158 |
-
if (empty($variable)) {
|
159 |
-
$actuallyUseQuery = false;
|
160 |
-
} elseif ($value['modifier'] === '*') {
|
161 |
-
$expanded = implode($joiner, $kvp);
|
162 |
-
if ($isAssoc) {
|
163 |
-
// Don't prepend the value name when using the explode
|
164 |
-
// modifier with an associative array.
|
165 |
-
$actuallyUseQuery = false;
|
166 |
-
}
|
167 |
-
} else {
|
168 |
-
if ($isAssoc) {
|
169 |
-
// When an associative array is encountered and the
|
170 |
-
// explode modifier is not set, then the result must be
|
171 |
-
// a comma separated list of keys followed by their
|
172 |
-
// respective values.
|
173 |
-
foreach ($kvp as $k => &$v) {
|
174 |
-
$v = $k . ',' . $v;
|
175 |
-
}
|
176 |
-
}
|
177 |
-
$expanded = implode(',', $kvp);
|
178 |
-
}
|
179 |
-
} else {
|
180 |
-
if ($value['modifier'] === ':') {
|
181 |
-
$variable = substr($variable, 0, $value['position']);
|
182 |
-
}
|
183 |
-
$expanded = rawurlencode($variable);
|
184 |
-
if ($parsed['operator'] === '+' || $parsed['operator'] === '#') {
|
185 |
-
$expanded = $this->decodeReserved($expanded);
|
186 |
-
}
|
187 |
-
}
|
188 |
-
|
189 |
-
if ($actuallyUseQuery) {
|
190 |
-
if (!$expanded && $joiner !== '&') {
|
191 |
-
$expanded = $value['value'];
|
192 |
-
} else {
|
193 |
-
$expanded = $value['value'] . '=' . $expanded;
|
194 |
-
}
|
195 |
-
}
|
196 |
-
|
197 |
-
$replacements[] = $expanded;
|
198 |
-
}
|
199 |
-
|
200 |
-
$ret = implode($joiner, $replacements);
|
201 |
-
if ($ret && $prefix) {
|
202 |
-
return $prefix . $ret;
|
203 |
-
}
|
204 |
-
|
205 |
-
return $ret;
|
206 |
-
}
|
207 |
-
|
208 |
-
/**
|
209 |
-
* Determines if an array is associative.
|
210 |
-
*
|
211 |
-
* This makes the assumption that input arrays are sequences or hashes.
|
212 |
-
* This assumption is a tradeoff for accuracy in favor of speed, but it
|
213 |
-
* should work in almost every case where input is supplied for a URI
|
214 |
-
* template.
|
215 |
-
*
|
216 |
-
* @param array $array Array to check
|
217 |
-
*
|
218 |
-
* @return bool
|
219 |
-
*/
|
220 |
-
private function isAssoc(array $array)
|
221 |
-
{
|
222 |
-
return $array && array_keys($array)[0] !== 0;
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Removes percent encoding on reserved characters (used with + and #
|
227 |
-
* modifiers).
|
228 |
-
*
|
229 |
-
* @param string $string String to fix
|
230 |
-
*
|
231 |
-
* @return string
|
232 |
-
*/
|
233 |
-
private function decodeReserved($string)
|
234 |
-
{
|
235 |
-
return str_replace(self::$delimsPct, self::$delims, $string);
|
236 |
-
}
|
237 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/src/Utils.php
CHANGED
@@ -1,41 +1,331 @@
|
|
1 |
<?php
|
|
|
2 |
namespace GuzzleHttp;
|
3 |
|
4 |
use GuzzleHttp\Exception\InvalidArgumentException;
|
|
|
|
|
|
|
|
|
5 |
use Psr\Http\Message\UriInterface;
|
6 |
-
use Symfony\Polyfill\Intl\Idn\Idn;
|
7 |
|
8 |
final class Utils
|
9 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* Wrapper for the hrtime() or microtime() functions
|
12 |
* (depending on the PHP version, one of the two is used)
|
13 |
*
|
14 |
-
* @return float
|
15 |
*
|
16 |
* @internal
|
17 |
*/
|
18 |
-
public static function currentTime()
|
19 |
{
|
20 |
-
return function_exists('hrtime') ? hrtime(true) / 1e9 : microtime(true);
|
21 |
}
|
22 |
|
23 |
/**
|
24 |
-
* @param int $options
|
25 |
-
*
|
26 |
-
* @return UriInterface
|
27 |
* @throws InvalidArgumentException
|
28 |
*
|
29 |
* @internal
|
30 |
*/
|
31 |
-
public static function idnUriConvert(UriInterface $uri, $options = 0)
|
32 |
{
|
33 |
if ($uri->getHost()) {
|
34 |
$asciiHost = self::idnToAsci($uri->getHost(), $options, $info);
|
35 |
if ($asciiHost === false) {
|
36 |
-
$errorBitSet =
|
37 |
|
38 |
-
$errorConstants = array_filter(array_keys(get_defined_constants()), function ($name) {
|
39 |
return substr($name, 0, 11) === 'IDNA_ERROR_';
|
40 |
});
|
41 |
|
@@ -52,11 +342,10 @@ final class Utils
|
|
52 |
}
|
53 |
|
54 |
throw new InvalidArgumentException($errorMessage);
|
55 |
-
}
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
}
|
60 |
}
|
61 |
}
|
62 |
|
@@ -64,29 +353,30 @@ final class Utils
|
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
-
* @
|
68 |
-
* @param int $options
|
69 |
-
* @param array $info
|
70 |
-
*
|
71 |
-
* @return string|false
|
72 |
*/
|
73 |
-
|
74 |
{
|
75 |
-
if (
|
76 |
-
return $
|
77 |
}
|
78 |
|
79 |
-
if (\
|
80 |
-
return
|
81 |
}
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
-
throw new \
|
91 |
}
|
92 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace GuzzleHttp;
|
4 |
|
5 |
use GuzzleHttp\Exception\InvalidArgumentException;
|
6 |
+
use GuzzleHttp\Handler\CurlHandler;
|
7 |
+
use GuzzleHttp\Handler\CurlMultiHandler;
|
8 |
+
use GuzzleHttp\Handler\Proxy;
|
9 |
+
use GuzzleHttp\Handler\StreamHandler;
|
10 |
use Psr\Http\Message\UriInterface;
|
|
|
11 |
|
12 |
final class Utils
|
13 |
{
|
14 |
+
/**
|
15 |
+
* Debug function used to describe the provided value type and class.
|
16 |
+
*
|
17 |
+
* @param mixed $input
|
18 |
+
*
|
19 |
+
* @return string Returns a string containing the type of the variable and
|
20 |
+
* if a class is provided, the class name.
|
21 |
+
*/
|
22 |
+
public static function describeType($input): string
|
23 |
+
{
|
24 |
+
switch (\gettype($input)) {
|
25 |
+
case 'object':
|
26 |
+
return 'object(' . \get_class($input) . ')';
|
27 |
+
case 'array':
|
28 |
+
return 'array(' . \count($input) . ')';
|
29 |
+
default:
|
30 |
+
\ob_start();
|
31 |
+
\var_dump($input);
|
32 |
+
// normalize float vs double
|
33 |
+
/** @var string $varDumpContent */
|
34 |
+
$varDumpContent = \ob_get_clean();
|
35 |
+
|
36 |
+
return \str_replace('double(', 'float(', \rtrim($varDumpContent));
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Parses an array of header lines into an associative array of headers.
|
42 |
+
*
|
43 |
+
* @param iterable $lines Header lines array of strings in the following
|
44 |
+
* format: "Name: Value"
|
45 |
+
*/
|
46 |
+
public static function headersFromLines(iterable $lines): array
|
47 |
+
{
|
48 |
+
$headers = [];
|
49 |
+
|
50 |
+
foreach ($lines as $line) {
|
51 |
+
$parts = \explode(':', $line, 2);
|
52 |
+
$headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null;
|
53 |
+
}
|
54 |
+
|
55 |
+
return $headers;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Returns a debug stream based on the provided variable.
|
60 |
+
*
|
61 |
+
* @param mixed $value Optional value
|
62 |
+
*
|
63 |
+
* @return resource
|
64 |
+
*/
|
65 |
+
public static function debugResource($value = null)
|
66 |
+
{
|
67 |
+
if (\is_resource($value)) {
|
68 |
+
return $value;
|
69 |
+
}
|
70 |
+
if (\defined('STDOUT')) {
|
71 |
+
return \STDOUT;
|
72 |
+
}
|
73 |
+
|
74 |
+
return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Chooses and creates a default handler to use based on the environment.
|
79 |
+
*
|
80 |
+
* The returned handler is not wrapped by any default middlewares.
|
81 |
+
*
|
82 |
+
* @throws \RuntimeException if no viable Handler is available.
|
83 |
+
*
|
84 |
+
* @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.
|
85 |
+
*/
|
86 |
+
public static function chooseHandler(): callable
|
87 |
+
{
|
88 |
+
$handler = null;
|
89 |
+
if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
|
90 |
+
$handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
|
91 |
+
} elseif (\function_exists('curl_exec')) {
|
92 |
+
$handler = new CurlHandler();
|
93 |
+
} elseif (\function_exists('curl_multi_exec')) {
|
94 |
+
$handler = new CurlMultiHandler();
|
95 |
+
}
|
96 |
+
|
97 |
+
if (\ini_get('allow_url_fopen')) {
|
98 |
+
$handler = $handler
|
99 |
+
? Proxy::wrapStreaming($handler, new StreamHandler())
|
100 |
+
: new StreamHandler();
|
101 |
+
} elseif (!$handler) {
|
102 |
+
throw new \RuntimeException('GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler.');
|
103 |
+
}
|
104 |
+
|
105 |
+
return $handler;
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Get the default User-Agent string to use with Guzzle.
|
110 |
+
*/
|
111 |
+
public static function defaultUserAgent(): string
|
112 |
+
{
|
113 |
+
return sprintf('GuzzleHttp/%d', ClientInterface::MAJOR_VERSION);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Returns the default cacert bundle for the current system.
|
118 |
+
*
|
119 |
+
* First, the openssl.cafile and curl.cainfo php.ini settings are checked.
|
120 |
+
* If those settings are not configured, then the common locations for
|
121 |
+
* bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X
|
122 |
+
* and Windows are checked. If any of these file locations are found on
|
123 |
+
* disk, they will be utilized.
|
124 |
+
*
|
125 |
+
* Note: the result of this function is cached for subsequent calls.
|
126 |
+
*
|
127 |
+
* @throws \RuntimeException if no bundle can be found.
|
128 |
+
*
|
129 |
+
* @deprecated Utils::defaultCaBundle will be removed in guzzlehttp/guzzle:8.0. This method is not needed in PHP 5.6+.
|
130 |
+
*/
|
131 |
+
public static function defaultCaBundle(): string
|
132 |
+
{
|
133 |
+
static $cached = null;
|
134 |
+
static $cafiles = [
|
135 |
+
// Red Hat, CentOS, Fedora (provided by the ca-certificates package)
|
136 |
+
'/etc/pki/tls/certs/ca-bundle.crt',
|
137 |
+
// Ubuntu, Debian (provided by the ca-certificates package)
|
138 |
+
'/etc/ssl/certs/ca-certificates.crt',
|
139 |
+
// FreeBSD (provided by the ca_root_nss package)
|
140 |
+
'/usr/local/share/certs/ca-root-nss.crt',
|
141 |
+
// SLES 12 (provided by the ca-certificates package)
|
142 |
+
'/var/lib/ca-certificates/ca-bundle.pem',
|
143 |
+
// OS X provided by homebrew (using the default path)
|
144 |
+
'/usr/local/etc/openssl/cert.pem',
|
145 |
+
// Google app engine
|
146 |
+
'/etc/ca-certificates.crt',
|
147 |
+
// Windows?
|
148 |
+
'C:\\windows\\system32\\curl-ca-bundle.crt',
|
149 |
+
'C:\\windows\\curl-ca-bundle.crt',
|
150 |
+
];
|
151 |
+
|
152 |
+
if ($cached) {
|
153 |
+
return $cached;
|
154 |
+
}
|
155 |
+
|
156 |
+
if ($ca = \ini_get('openssl.cafile')) {
|
157 |
+
return $cached = $ca;
|
158 |
+
}
|
159 |
+
|
160 |
+
if ($ca = \ini_get('curl.cainfo')) {
|
161 |
+
return $cached = $ca;
|
162 |
+
}
|
163 |
+
|
164 |
+
foreach ($cafiles as $filename) {
|
165 |
+
if (\file_exists($filename)) {
|
166 |
+
return $cached = $filename;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
throw new \RuntimeException(
|
171 |
+
<<< EOT
|
172 |
+
No system CA bundle could be found in any of the the common system locations.
|
173 |
+
PHP versions earlier than 5.6 are not properly configured to use the system's
|
174 |
+
CA bundle by default. In order to verify peer certificates, you will need to
|
175 |
+
supply the path on disk to a certificate bundle to the 'verify' request
|
176 |
+
option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not
|
177 |
+
need a specific certificate bundle, then Mozilla provides a commonly used CA
|
178 |
+
bundle which can be downloaded here (provided by the maintainer of cURL):
|
179 |
+
https://curl.haxx.se/ca/cacert.pem. Once
|
180 |
+
you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP
|
181 |
+
ini setting to point to the path to the file, allowing you to omit the 'verify'
|
182 |
+
request option. See https://curl.haxx.se/docs/sslcerts.html for more
|
183 |
+
information.
|
184 |
+
EOT
|
185 |
+
);
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Creates an associative array of lowercase header names to the actual
|
190 |
+
* header casing.
|
191 |
+
*/
|
192 |
+
public static function normalizeHeaderKeys(array $headers): array
|
193 |
+
{
|
194 |
+
$result = [];
|
195 |
+
foreach (\array_keys($headers) as $key) {
|
196 |
+
$result[\strtolower($key)] = $key;
|
197 |
+
}
|
198 |
+
|
199 |
+
return $result;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Returns true if the provided host matches any of the no proxy areas.
|
204 |
+
*
|
205 |
+
* This method will strip a port from the host if it is present. Each pattern
|
206 |
+
* can be matched with an exact match (e.g., "foo.com" == "foo.com") or a
|
207 |
+
* partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" ==
|
208 |
+
* "baz.foo.com", but ".foo.com" != "foo.com").
|
209 |
+
*
|
210 |
+
* Areas are matched in the following cases:
|
211 |
+
* 1. "*" (without quotes) always matches any hosts.
|
212 |
+
* 2. An exact match.
|
213 |
+
* 3. The area starts with "." and the area is the last part of the host. e.g.
|
214 |
+
* '.mit.edu' will match any host that ends with '.mit.edu'.
|
215 |
+
*
|
216 |
+
* @param string $host Host to check against the patterns.
|
217 |
+
* @param string[] $noProxyArray An array of host patterns.
|
218 |
+
*
|
219 |
+
* @throws InvalidArgumentException
|
220 |
+
*/
|
221 |
+
public static function isHostInNoProxy(string $host, array $noProxyArray): bool
|
222 |
+
{
|
223 |
+
if (\strlen($host) === 0) {
|
224 |
+
throw new InvalidArgumentException('Empty host provided');
|
225 |
+
}
|
226 |
+
|
227 |
+
// Strip port if present.
|
228 |
+
[$host] = \explode(':', $host, 2);
|
229 |
+
|
230 |
+
foreach ($noProxyArray as $area) {
|
231 |
+
// Always match on wildcards.
|
232 |
+
if ($area === '*') {
|
233 |
+
return true;
|
234 |
+
}
|
235 |
+
|
236 |
+
if (empty($area)) {
|
237 |
+
// Don't match on empty values.
|
238 |
+
continue;
|
239 |
+
}
|
240 |
+
|
241 |
+
if ($area === $host) {
|
242 |
+
// Exact matches.
|
243 |
+
return true;
|
244 |
+
}
|
245 |
+
// Special match if the area when prefixed with ".". Remove any
|
246 |
+
// existing leading "." and add a new leading ".".
|
247 |
+
$area = '.' . \ltrim($area, '.');
|
248 |
+
if (\substr($host, -(\strlen($area))) === $area) {
|
249 |
+
return true;
|
250 |
+
}
|
251 |
+
}
|
252 |
+
|
253 |
+
return false;
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Wrapper for json_decode that throws when an error occurs.
|
258 |
+
*
|
259 |
+
* @param string $json JSON data to parse
|
260 |
+
* @param bool $assoc When true, returned objects will be converted
|
261 |
+
* into associative arrays.
|
262 |
+
* @param int $depth User specified recursion depth.
|
263 |
+
* @param int $options Bitmask of JSON decode options.
|
264 |
+
*
|
265 |
+
* @return object|array|string|int|float|bool|null
|
266 |
+
*
|
267 |
+
* @throws InvalidArgumentException if the JSON cannot be decoded.
|
268 |
+
*
|
269 |
+
* @link https://www.php.net/manual/en/function.json-decode.php
|
270 |
+
*/
|
271 |
+
public static function jsonDecode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
|
272 |
+
{
|
273 |
+
$data = \json_decode($json, $assoc, $depth, $options);
|
274 |
+
if (\JSON_ERROR_NONE !== \json_last_error()) {
|
275 |
+
throw new InvalidArgumentException('json_decode error: ' . \json_last_error_msg());
|
276 |
+
}
|
277 |
+
|
278 |
+
return $data;
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Wrapper for JSON encoding that throws when an error occurs.
|
283 |
+
*
|
284 |
+
* @param mixed $value The value being encoded
|
285 |
+
* @param int $options JSON encode option bitmask
|
286 |
+
* @param int $depth Set the maximum depth. Must be greater than zero.
|
287 |
+
*
|
288 |
+
* @throws InvalidArgumentException if the JSON cannot be encoded.
|
289 |
+
*
|
290 |
+
* @link https://www.php.net/manual/en/function.json-encode.php
|
291 |
+
*/
|
292 |
+
public static function jsonEncode($value, int $options = 0, int $depth = 512): string
|
293 |
+
{
|
294 |
+
$json = \json_encode($value, $options, $depth);
|
295 |
+
if (\JSON_ERROR_NONE !== \json_last_error()) {
|
296 |
+
throw new InvalidArgumentException('json_encode error: ' . \json_last_error_msg());
|
297 |
+
}
|
298 |
+
|
299 |
+
/** @var string */
|
300 |
+
return $json;
|
301 |
+
}
|
302 |
+
|
303 |
/**
|
304 |
* Wrapper for the hrtime() or microtime() functions
|
305 |
* (depending on the PHP version, one of the two is used)
|
306 |
*
|
307 |
+
* @return float UNIX timestamp
|
308 |
*
|
309 |
* @internal
|
310 |
*/
|
311 |
+
public static function currentTime(): float
|
312 |
{
|
313 |
+
return (float) \function_exists('hrtime') ? \hrtime(true) / 1e9 : \microtime(true);
|
314 |
}
|
315 |
|
316 |
/**
|
|
|
|
|
|
|
317 |
* @throws InvalidArgumentException
|
318 |
*
|
319 |
* @internal
|
320 |
*/
|
321 |
+
public static function idnUriConvert(UriInterface $uri, int $options = 0): UriInterface
|
322 |
{
|
323 |
if ($uri->getHost()) {
|
324 |
$asciiHost = self::idnToAsci($uri->getHost(), $options, $info);
|
325 |
if ($asciiHost === false) {
|
326 |
+
$errorBitSet = $info['errors'] ?? 0;
|
327 |
|
328 |
+
$errorConstants = array_filter(array_keys(get_defined_constants()), static function (string $name): bool {
|
329 |
return substr($name, 0, 11) === 'IDNA_ERROR_';
|
330 |
});
|
331 |
|
342 |
}
|
343 |
|
344 |
throw new InvalidArgumentException($errorMessage);
|
345 |
+
}
|
346 |
+
if ($uri->getHost() !== $asciiHost) {
|
347 |
+
// Replace URI only if the ASCII version is different
|
348 |
+
$uri = $uri->withHost($asciiHost);
|
|
|
349 |
}
|
350 |
}
|
351 |
|
353 |
}
|
354 |
|
355 |
/**
|
356 |
+
* @internal
|
|
|
|
|
|
|
|
|
357 |
*/
|
358 |
+
public static function getenv(string $name): ?string
|
359 |
{
|
360 |
+
if (isset($_SERVER[$name])) {
|
361 |
+
return (string) $_SERVER[$name];
|
362 |
}
|
363 |
|
364 |
+
if (\PHP_SAPI === 'cli' && ($value = \getenv($name)) !== false && $value !== null) {
|
365 |
+
return (string) $value;
|
366 |
}
|
367 |
|
368 |
+
return null;
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* @return string|false
|
373 |
+
*/
|
374 |
+
private static function idnToAsci(string $domain, int $options, ?array &$info = [])
|
375 |
+
{
|
376 |
+
if (\function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46')) {
|
377 |
+
return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info);
|
378 |
}
|
379 |
|
380 |
+
throw new \Error('ext-idn or symfony/polyfill-intl-idn not loaded or too old');
|
381 |
}
|
382 |
}
|
vendor/guzzlehttp/guzzle/src/functions.php
CHANGED
@@ -1,77 +1,34 @@
|
|
1 |
<?php
|
2 |
-
namespace GuzzleHttp;
|
3 |
-
|
4 |
-
use GuzzleHttp\Handler\CurlHandler;
|
5 |
-
use GuzzleHttp\Handler\CurlMultiHandler;
|
6 |
-
use GuzzleHttp\Handler\Proxy;
|
7 |
-
use GuzzleHttp\Handler\StreamHandler;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Expands a URI template
|
11 |
-
*
|
12 |
-
* @param string $template URI template
|
13 |
-
* @param array $variables Template variables
|
14 |
-
*
|
15 |
-
* @return string
|
16 |
-
*/
|
17 |
-
function uri_template($template, array $variables)
|
18 |
-
{
|
19 |
-
if (extension_loaded('uri_template')) {
|
20 |
-
// @codeCoverageIgnoreStart
|
21 |
-
return \uri_template($template, $variables);
|
22 |
-
// @codeCoverageIgnoreEnd
|
23 |
-
}
|
24 |
|
25 |
-
|
26 |
-
if (!$uriTemplate) {
|
27 |
-
$uriTemplate = new UriTemplate();
|
28 |
-
}
|
29 |
-
|
30 |
-
return $uriTemplate->expand($template, $variables);
|
31 |
-
}
|
32 |
|
33 |
/**
|
34 |
* Debug function used to describe the provided value type and class.
|
35 |
*
|
36 |
-
* @param mixed $input
|
|
|
37 |
*
|
38 |
* @return string Returns a string containing the type of the variable and
|
39 |
* if a class is provided, the class name.
|
|
|
|
|
40 |
*/
|
41 |
-
function describe_type($input)
|
42 |
{
|
43 |
-
|
44 |
-
case 'object':
|
45 |
-
return 'object(' . get_class($input) . ')';
|
46 |
-
case 'array':
|
47 |
-
return 'array(' . count($input) . ')';
|
48 |
-
default:
|
49 |
-
ob_start();
|
50 |
-
var_dump($input);
|
51 |
-
// normalize float vs double
|
52 |
-
return str_replace('double(', 'float(', rtrim(ob_get_clean()));
|
53 |
-
}
|
54 |
}
|
55 |
|
56 |
/**
|
57 |
* Parses an array of header lines into an associative array of headers.
|
58 |
*
|
59 |
* @param iterable $lines Header lines array of strings in the following
|
60 |
-
*
|
61 |
-
*
|
|
|
62 |
*/
|
63 |
-
function headers_from_lines($lines)
|
64 |
{
|
65 |
-
$
|
66 |
-
|
67 |
-
foreach ($lines as $line) {
|
68 |
-
$parts = explode(':', $line, 2);
|
69 |
-
$headers[trim($parts[0])][] = isset($parts[1])
|
70 |
-
? trim($parts[1])
|
71 |
-
: null;
|
72 |
-
}
|
73 |
-
|
74 |
-
return $headers;
|
75 |
}
|
76 |
|
77 |
/**
|
@@ -80,16 +37,12 @@ function headers_from_lines($lines)
|
|
80 |
* @param mixed $value Optional value
|
81 |
*
|
82 |
* @return resource
|
|
|
|
|
83 |
*/
|
84 |
function debug_resource($value = null)
|
85 |
{
|
86 |
-
|
87 |
-
return $value;
|
88 |
-
} elseif (defined('STDOUT')) {
|
89 |
-
return STDOUT;
|
90 |
-
}
|
91 |
-
|
92 |
-
return fopen('php://output', 'w');
|
93 |
}
|
94 |
|
95 |
/**
|
@@ -97,50 +50,25 @@ function debug_resource($value = null)
|
|
97 |
*
|
98 |
* The returned handler is not wrapped by any default middlewares.
|
99 |
*
|
100 |
-
* @return callable Returns the best handler for the given system.
|
101 |
* @throws \RuntimeException if no viable Handler is available.
|
|
|
|
|
|
|
|
|
102 |
*/
|
103 |
-
function choose_handler()
|
104 |
{
|
105 |
-
|
106 |
-
if (function_exists('curl_multi_exec') && function_exists('curl_exec')) {
|
107 |
-
$handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
|
108 |
-
} elseif (function_exists('curl_exec')) {
|
109 |
-
$handler = new CurlHandler();
|
110 |
-
} elseif (function_exists('curl_multi_exec')) {
|
111 |
-
$handler = new CurlMultiHandler();
|
112 |
-
}
|
113 |
-
|
114 |
-
if (ini_get('allow_url_fopen')) {
|
115 |
-
$handler = $handler
|
116 |
-
? Proxy::wrapStreaming($handler, new StreamHandler())
|
117 |
-
: new StreamHandler();
|
118 |
-
} elseif (!$handler) {
|
119 |
-
throw new \RuntimeException('GuzzleHttp requires cURL, the '
|
120 |
-
. 'allow_url_fopen ini setting, or a custom HTTP handler.');
|
121 |
-
}
|
122 |
-
|
123 |
-
return $handler;
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
-
* Get the default User-Agent string to use with Guzzle
|
128 |
*
|
129 |
-
* @
|
130 |
*/
|
131 |
-
function default_user_agent()
|
132 |
{
|
133 |
-
|
134 |
-
|
135 |
-
if (!$defaultAgent) {
|
136 |
-
$defaultAgent = 'GuzzleHttp/' . Client::VERSION;
|
137 |
-
if (extension_loaded('curl') && function_exists('curl_version')) {
|
138 |
-
$defaultAgent .= ' curl/' . \curl_version()['version'];
|
139 |
-
}
|
140 |
-
$defaultAgent .= ' PHP/' . PHP_VERSION;
|
141 |
-
}
|
142 |
-
|
143 |
-
return $defaultAgent;
|
144 |
}
|
145 |
|
146 |
/**
|
@@ -154,82 +82,24 @@ function default_user_agent()
|
|
154 |
*
|
155 |
* Note: the result of this function is cached for subsequent calls.
|
156 |
*
|
157 |
-
* @return string
|
158 |
* @throws \RuntimeException if no bundle can be found.
|
|
|
|
|
159 |
*/
|
160 |
-
function default_ca_bundle()
|
161 |
{
|
162 |
-
|
163 |
-
static $cafiles = [
|
164 |
-
// Red Hat, CentOS, Fedora (provided by the ca-certificates package)
|
165 |
-
'/etc/pki/tls/certs/ca-bundle.crt',
|
166 |
-
// Ubuntu, Debian (provided by the ca-certificates package)
|
167 |
-
'/etc/ssl/certs/ca-certificates.crt',
|
168 |
-
// FreeBSD (provided by the ca_root_nss package)
|
169 |
-
'/usr/local/share/certs/ca-root-nss.crt',
|
170 |
-
// SLES 12 (provided by the ca-certificates package)
|
171 |
-
'/var/lib/ca-certificates/ca-bundle.pem',
|
172 |
-
// OS X provided by homebrew (using the default path)
|
173 |
-
'/usr/local/etc/openssl/cert.pem',
|
174 |
-
// Google app engine
|
175 |
-
'/etc/ca-certificates.crt',
|
176 |
-
// Windows?
|
177 |
-
'C:\\windows\\system32\\curl-ca-bundle.crt',
|
178 |
-
'C:\\windows\\curl-ca-bundle.crt',
|
179 |
-
];
|
180 |
-
|
181 |
-
if ($cached) {
|
182 |
-
return $cached;
|
183 |
-
}
|
184 |
-
|
185 |
-
if ($ca = ini_get('openssl.cafile')) {
|
186 |
-
return $cached = $ca;
|
187 |
-
}
|
188 |
-
|
189 |
-
if ($ca = ini_get('curl.cainfo')) {
|
190 |
-
return $cached = $ca;
|
191 |
-
}
|
192 |
-
|
193 |
-
foreach ($cafiles as $filename) {
|
194 |
-
if (file_exists($filename)) {
|
195 |
-
return $cached = $filename;
|
196 |
-
}
|
197 |
-
}
|
198 |
-
|
199 |
-
throw new \RuntimeException(
|
200 |
-
<<< EOT
|
201 |
-
No system CA bundle could be found in any of the the common system locations.
|
202 |
-
PHP versions earlier than 5.6 are not properly configured to use the system's
|
203 |
-
CA bundle by default. In order to verify peer certificates, you will need to
|
204 |
-
supply the path on disk to a certificate bundle to the 'verify' request
|
205 |
-
option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not
|
206 |
-
need a specific certificate bundle, then Mozilla provides a commonly used CA
|
207 |
-
bundle which can be downloaded here (provided by the maintainer of cURL):
|
208 |
-
https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt. Once
|
209 |
-
you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP
|
210 |
-
ini setting to point to the path to the file, allowing you to omit the 'verify'
|
211 |
-
request option. See http://curl.haxx.se/docs/sslcerts.html for more
|
212 |
-
information.
|
213 |
-
EOT
|
214 |
-
);
|
215 |
}
|
216 |
|
217 |
/**
|
218 |
* Creates an associative array of lowercase header names to the actual
|
219 |
* header casing.
|
220 |
*
|
221 |
-
* @
|
222 |
-
*
|
223 |
-
* @return array
|
224 |
*/
|
225 |
-
function normalize_header_keys(array $headers)
|
226 |
{
|
227 |
-
$
|
228 |
-
foreach (array_keys($headers) as $key) {
|
229 |
-
$result[strtolower($key)] = $key;
|
230 |
-
}
|
231 |
-
|
232 |
-
return $result;
|
233 |
}
|
234 |
|
235 |
/**
|
@@ -246,89 +116,52 @@ function normalize_header_keys(array $headers)
|
|
246 |
* 3. The area starts with "." and the area is the last part of the host. e.g.
|
247 |
* '.mit.edu' will match any host that ends with '.mit.edu'.
|
248 |
*
|
249 |
-
* @param string
|
250 |
-
* @param
|
|
|
|
|
251 |
*
|
252 |
-
* @
|
253 |
*/
|
254 |
-
function is_host_in_noproxy($host, array $noProxyArray)
|
255 |
{
|
256 |
-
|
257 |
-
throw new \InvalidArgumentException('Empty host provided');
|
258 |
-
}
|
259 |
-
|
260 |
-
// Strip port if present.
|
261 |
-
if (strpos($host, ':')) {
|
262 |
-
$host = explode($host, ':', 2)[0];
|
263 |
-
}
|
264 |
-
|
265 |
-
foreach ($noProxyArray as $area) {
|
266 |
-
// Always match on wildcards.
|
267 |
-
if ($area === '*') {
|
268 |
-
return true;
|
269 |
-
} elseif (empty($area)) {
|
270 |
-
// Don't match on empty values.
|
271 |
-
continue;
|
272 |
-
} elseif ($area === $host) {
|
273 |
-
// Exact matches.
|
274 |
-
return true;
|
275 |
-
} else {
|
276 |
-
// Special match if the area when prefixed with ".". Remove any
|
277 |
-
// existing leading "." and add a new leading ".".
|
278 |
-
$area = '.' . ltrim($area, '.');
|
279 |
-
if (substr($host, -(strlen($area))) === $area) {
|
280 |
-
return true;
|
281 |
-
}
|
282 |
-
}
|
283 |
-
}
|
284 |
-
|
285 |
-
return false;
|
286 |
}
|
287 |
|
288 |
/**
|
289 |
* Wrapper for json_decode that throws when an error occurs.
|
290 |
*
|
291 |
* @param string $json JSON data to parse
|
292 |
-
* @param bool
|
293 |
* into associative arrays.
|
294 |
* @param int $depth User specified recursion depth.
|
295 |
* @param int $options Bitmask of JSON decode options.
|
296 |
*
|
297 |
-
* @return
|
|
|
298 |
* @throws Exception\InvalidArgumentException if the JSON cannot be decoded.
|
299 |
-
*
|
|
|
|
|
300 |
*/
|
301 |
-
function json_decode($json, $assoc = false, $depth = 512, $options = 0)
|
302 |
{
|
303 |
-
|
304 |
-
if (JSON_ERROR_NONE !== json_last_error()) {
|
305 |
-
throw new Exception\InvalidArgumentException(
|
306 |
-
'json_decode error: ' . json_last_error_msg()
|
307 |
-
);
|
308 |
-
}
|
309 |
-
|
310 |
-
return $data;
|
311 |
}
|
312 |
|
313 |
/**
|
314 |
* Wrapper for JSON encoding that throws when an error occurs.
|
315 |
*
|
316 |
* @param mixed $value The value being encoded
|
317 |
-
* @param int
|
318 |
-
* @param int
|
319 |
*
|
320 |
-
* @return string
|
321 |
* @throws Exception\InvalidArgumentException if the JSON cannot be encoded.
|
322 |
-
*
|
|
|
|
|
323 |
*/
|
324 |
-
function json_encode($value, $options = 0, $depth = 512)
|
325 |
{
|
326 |
-
|
327 |
-
if (JSON_ERROR_NONE !== json_last_error()) {
|
328 |
-
throw new Exception\InvalidArgumentException(
|
329 |
-
'json_encode error: ' . json_last_error_msg()
|
330 |
-
);
|
331 |
-
}
|
332 |
-
|
333 |
-
return $json;
|
334 |
}
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
namespace GuzzleHttp;
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
/**
|
6 |
* Debug function used to describe the provided value type and class.
|
7 |
*
|
8 |
+
* @param mixed $input Any type of variable to describe the type of. This
|
9 |
+
* parameter misses a typehint because of that.
|
10 |
*
|
11 |
* @return string Returns a string containing the type of the variable and
|
12 |
* if a class is provided, the class name.
|
13 |
+
*
|
14 |
+
* @deprecated describe_type will be removed in guzzlehttp/guzzle:8.0. Use Utils::describeType instead.
|
15 |
*/
|
16 |
+
function describe_type($input): string
|
17 |
{
|
18 |
+
return Utils::describeType($input);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
/**
|
22 |
* Parses an array of header lines into an associative array of headers.
|
23 |
*
|
24 |
* @param iterable $lines Header lines array of strings in the following
|
25 |
+
* format: "Name: Value"
|
26 |
+
*
|
27 |
+
* @deprecated headers_from_lines will be removed in guzzlehttp/guzzle:8.0. Use Utils::headersFromLines instead.
|
28 |
*/
|
29 |
+
function headers_from_lines(iterable $lines): array
|
30 |
{
|
31 |
+
return Utils::headersFromLines($lines);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
/**
|
37 |
* @param mixed $value Optional value
|
38 |
*
|
39 |
* @return resource
|
40 |
+
*
|
41 |
+
* @deprecated debug_resource will be removed in guzzlehttp/guzzle:8.0. Use Utils::debugResource instead.
|
42 |
*/
|
43 |
function debug_resource($value = null)
|
44 |
{
|
45 |
+
return Utils::debugResource($value);
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
/**
|
50 |
*
|
51 |
* The returned handler is not wrapped by any default middlewares.
|
52 |
*
|
|
|
53 |
* @throws \RuntimeException if no viable Handler is available.
|
54 |
+
*
|
55 |
+
* @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.
|
56 |
+
*
|
57 |
+
* @deprecated choose_handler will be removed in guzzlehttp/guzzle:8.0. Use Utils::chooseHandler instead.
|
58 |
*/
|
59 |
+
function choose_handler(): callable
|
60 |
{
|
61 |
+
return Utils::chooseHandler();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
+
* Get the default User-Agent string to use with Guzzle.
|
66 |
*
|
67 |
+
* @deprecated default_user_agent will be removed in guzzlehttp/guzzle:8.0. Use Utils::defaultUserAgent instead.
|
68 |
*/
|
69 |
+
function default_user_agent(): string
|
70 |
{
|
71 |
+
return Utils::defaultUserAgent();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
|
74 |
/**
|
82 |
*
|
83 |
* Note: the result of this function is cached for subsequent calls.
|
84 |
*
|
|
|
85 |
* @throws \RuntimeException if no bundle can be found.
|
86 |
+
*
|
87 |
+
* @deprecated default_ca_bundle will be removed in guzzlehttp/guzzle:8.0. This function is not needed in PHP 5.6+.
|
88 |
*/
|
89 |
+
function default_ca_bundle(): string
|
90 |
{
|
91 |
+
return Utils::defaultCaBundle();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
|
94 |
/**
|
95 |
* Creates an associative array of lowercase header names to the actual
|
96 |
* header casing.
|
97 |
*
|
98 |
+
* @deprecated normalize_header_keys will be removed in guzzlehttp/guzzle:8.0. Use Utils::normalizeHeaderKeys instead.
|
|
|
|
|
99 |
*/
|
100 |
+
function normalize_header_keys(array $headers): array
|
101 |
{
|
102 |
+
return Utils::normalizeHeaderKeys($headers);
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
/**
|
116 |
* 3. The area starts with "." and the area is the last part of the host. e.g.
|
117 |
* '.mit.edu' will match any host that ends with '.mit.edu'.
|
118 |
*
|
119 |
+
* @param string $host Host to check against the patterns.
|
120 |
+
* @param string[] $noProxyArray An array of host patterns.
|
121 |
+
*
|
122 |
+
* @throws Exception\InvalidArgumentException
|
123 |
*
|
124 |
+
* @deprecated is_host_in_noproxy will be removed in guzzlehttp/guzzle:8.0. Use Utils::isHostInNoProxy instead.
|
125 |
*/
|
126 |
+
function is_host_in_noproxy(string $host, array $noProxyArray): bool
|
127 |
{
|
128 |
+
return Utils::isHostInNoProxy($host, $noProxyArray);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
}
|
130 |
|
131 |
/**
|
132 |
* Wrapper for json_decode that throws when an error occurs.
|
133 |
*
|
134 |
* @param string $json JSON data to parse
|
135 |
+
* @param bool $assoc When true, returned objects will be converted
|
136 |
* into associative arrays.
|
137 |
* @param int $depth User specified recursion depth.
|
138 |
* @param int $options Bitmask of JSON decode options.
|
139 |
*
|
140 |
+
* @return object|array|string|int|float|bool|null
|
141 |
+
*
|
142 |
* @throws Exception\InvalidArgumentException if the JSON cannot be decoded.
|
143 |
+
*
|
144 |
+
* @link https://www.php.net/manual/en/function.json-decode.php
|
145 |
+
* @deprecated json_decode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonDecode instead.
|
146 |
*/
|
147 |
+
function json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
|
148 |
{
|
149 |
+
return Utils::jsonDecode($json, $assoc, $depth, $options);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
}
|
151 |
|
152 |
/**
|
153 |
* Wrapper for JSON encoding that throws when an error occurs.
|
154 |
*
|
155 |
* @param mixed $value The value being encoded
|
156 |
+
* @param int $options JSON encode option bitmask
|
157 |
+
* @param int $depth Set the maximum depth. Must be greater than zero.
|
158 |
*
|
|
|
159 |
* @throws Exception\InvalidArgumentException if the JSON cannot be encoded.
|
160 |
+
*
|
161 |
+
* @link https://www.php.net/manual/en/function.json-encode.php
|
162 |
+
* @deprecated json_encode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonEncode instead.
|
163 |
*/
|
164 |
+
function json_encode($value, int $options = 0, int $depth = 512): string
|
165 |
{
|
166 |
+
return Utils::jsonEncode($value, $options, $depth);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
}
|
vendor/guzzlehttp/guzzle/src/functions_include.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Don't redefine the functions if included multiple times.
|
4 |
-
if (
|
5 |
require __DIR__ . '/functions.php';
|
6 |
}
|
1 |
<?php
|
2 |
|
3 |
// Don't redefine the functions if included multiple times.
|
4 |
+
if (!\function_exists('GuzzleHttp\describe_type')) {
|
5 |
require __DIR__ . '/functions.php';
|
6 |
}
|
vendor/{symfony/polyfill-intl-normalizer → psr/http-client}/LICENSE
RENAMED
@@ -1,14 +1,14 @@
|
|
1 |
-
Copyright (c)
|
2 |
|
3 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
of this software and associated documentation files (the "Software"), to deal
|
5 |
-
in the Software without restriction, including without limitation the rights
|
6 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
-
copies of the Software, and to permit persons to whom the Software is
|
8 |
-
to do so, subject to the following conditions:
|
9 |
|
10 |
-
The above copyright notice and this permission notice shall be included in
|
11 |
-
copies or substantial portions of the Software.
|
12 |
|
13 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1 |
+
Copyright (c) 2017 PHP Framework Interoperability Group
|
2 |
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
of this software and associated documentation files (the "Software"), to deal
|
5 |
+
in the Software without restriction, including without limitation the rights
|
6 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
+
copies of the Software, and to permit persons to whom the Software is
|
8 |
+
furnished to do so, subject to the following conditions:
|
9 |
|
10 |
+
The above copyright notice and this permission notice shall be included in
|
11 |
+
all copies or substantial portions of the Software.
|
12 |
|
13 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
vendor/psr/http-client/src/ClientExceptionInterface.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Psr\Http\Client;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Every HTTP client related exception MUST implement this interface.
|
7 |
+
*/
|
8 |
+
interface ClientExceptionInterface extends \Throwable
|
9 |
+
{
|
10 |
+
}
|
vendor/psr/http-client/src/ClientInterface.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Psr\Http\Client;
|
4 |
+
|
5 |
+
use Psr\Http\Message\RequestInterface;
|
6 |
+
use Psr\Http\Message\ResponseInterface;
|
7 |
+
|
8 |
+
interface ClientInterface
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
* Sends a PSR-7 request and returns a PSR-7 response.
|
12 |
+
*
|
13 |
+
* @param RequestInterface $request
|
14 |
+
*
|
15 |
+
* @return ResponseInterface
|
16 |
+
*
|
17 |
+
* @throws \Psr\Http\Client\ClientExceptionInterface If an error happens while processing the request.
|
18 |
+
*/
|
19 |
+
public function sendRequest(RequestInterface $request): ResponseInterface;
|
20 |
+
}
|
vendor/psr/http-client/src/NetworkExceptionInterface.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Psr\Http\Client;
|
4 |
+
|
5 |
+
use Psr\Http\Message\RequestInterface;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Thrown when the request cannot be completed because of network issues.
|
9 |
+
*
|
10 |
+
* There is no response object as this exception is thrown when no response has been received.
|
11 |
+
*
|
12 |
+
* Example: the target host name can not be resolved or the connection failed.
|
13 |
+
*/
|
14 |
+
interface NetworkExceptionInterface extends ClientExceptionInterface
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* Returns the request.
|
18 |
+
*
|
19 |
+
* The request object MAY be a different object from the one passed to ClientInterface::sendRequest()
|
20 |
+
*
|
21 |
+
* @return RequestInterface
|
22 |
+
*/
|
23 |
+
public function getRequest(): RequestInterface;
|
24 |
+
}
|
vendor/psr/http-client/src/RequestExceptionInterface.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Psr\Http\Client;
|
4 |
+
|
5 |
+
use Psr\Http\Message\RequestInterface;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Exception for when a request failed.
|
9 |
+
*
|
10 |
+
* Examples:
|
11 |
+
* - Request is invalid (e.g. method is missing)
|
12 |
+
* - Runtime request errors (e.g. the body stream is not seekable)
|
13 |
+
*/
|
14 |
+
interface RequestExceptionInterface extends ClientExceptionInterface
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* Returns the request.
|
18 |
+
*
|
19 |
+
* The request object MAY be a different object from the one passed to ClientInterface::sendRequest()
|
20 |
+
*
|
21 |
+
* @return RequestInterface
|
22 |
+
*/
|
23 |
+
public function getRequest(): RequestInterface;
|
24 |
+
}
|
vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
Copyright (c)
|
2 |
|
3 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
of this software and associated documentation files (the "Software"), to deal
|
1 |
+
Copyright (c) 2020-2022 Fabien Potencier
|
2 |
|
3 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
of this software and associated documentation files (the "Software"), to deal
|
vendor/symfony/deprecation-contracts/function.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Symfony package.
|
5 |
+
*
|
6 |
+
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
if (!function_exists('trigger_deprecation')) {
|
13 |
+
/**
|
14 |
+
* Triggers a silenced deprecation notice.
|
15 |
+
*
|
16 |
+
* @param string $package The name of the Composer package that is triggering the deprecation
|
17 |
+
* @param string $version The version of the package that introduced the deprecation
|
18 |
+
* @param string $message The message of the deprecation
|
19 |
+
* @param mixed ...$args Values to insert in the message using printf() formatting
|
20 |
+
*
|
21 |
+
* @author Nicolas Grekas <p@tchwork.com>
|
22 |
+
*/
|
23 |
+
function trigger_deprecation(string $package, string $version, string $message, ...$args): void
|
24 |
+
{
|
25 |
+
@trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED);
|
26 |
+
}
|
27 |
+
}
|
vendor/symfony/polyfill-intl-idn/Idn.php
DELETED
@@ -1,925 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com> and Trevor Rowbotham <trevor.rowbotham@pm.me>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Polyfill\Intl\Idn;
|
13 |
-
|
14 |
-
use Exception;
|
15 |
-
use Normalizer;
|
16 |
-
use Symfony\Polyfill\Intl\Idn\Resources\unidata\DisallowedRanges;
|
17 |
-
use Symfony\Polyfill\Intl\Idn\Resources\unidata\Regex;
|
18 |
-
|
19 |
-
/**
|
20 |
-
* @see https://www.unicode.org/reports/tr46/
|
21 |
-
*
|
22 |
-
* @internal
|
23 |
-
*/
|
24 |
-
final class Idn
|
25 |
-
{
|
26 |
-
public const ERROR_EMPTY_LABEL = 1;
|
27 |
-
public const ERROR_LABEL_TOO_LONG = 2;
|
28 |
-
public const ERROR_DOMAIN_NAME_TOO_LONG = 4;
|
29 |
-
public const ERROR_LEADING_HYPHEN = 8;
|
30 |
-
public const ERROR_TRAILING_HYPHEN = 0x10;
|
31 |
-
public const ERROR_HYPHEN_3_4 = 0x20;
|
32 |
-
public const ERROR_LEADING_COMBINING_MARK = 0x40;
|
33 |
-
public const ERROR_DISALLOWED = 0x80;
|
34 |
-
public const ERROR_PUNYCODE = 0x100;
|
35 |
-
public const ERROR_LABEL_HAS_DOT = 0x200;
|
36 |
-
public const ERROR_INVALID_ACE_LABEL = 0x400;
|
37 |
-
public const ERROR_BIDI = 0x800;
|
38 |
-
public const ERROR_CONTEXTJ = 0x1000;
|
39 |
-
public const ERROR_CONTEXTO_PUNCTUATION = 0x2000;
|
40 |
-
public const ERROR_CONTEXTO_DIGITS = 0x4000;
|
41 |
-
|
42 |
-
public const INTL_IDNA_VARIANT_2003 = 0;
|
43 |
-
public const INTL_IDNA_VARIANT_UTS46 = 1;
|
44 |
-
|
45 |
-
public const IDNA_DEFAULT = 0;
|
46 |
-
public const IDNA_ALLOW_UNASSIGNED = 1;
|
47 |
-
public const IDNA_USE_STD3_RULES = 2;
|
48 |
-
public const IDNA_CHECK_BIDI = 4;
|
49 |
-
public const IDNA_CHECK_CONTEXTJ = 8;
|
50 |
-
public const IDNA_NONTRANSITIONAL_TO_ASCII = 16;
|
51 |
-
public const IDNA_NONTRANSITIONAL_TO_UNICODE = 32;
|
52 |
-
|
53 |
-
public const MAX_DOMAIN_SIZE = 253;
|
54 |
-
public const MAX_LABEL_SIZE = 63;
|
55 |
-
|
56 |
-
public const BASE = 36;
|
57 |
-
public const TMIN = 1;
|
58 |
-
public const TMAX = 26;
|
59 |
-
public const SKEW = 38;
|
60 |
-
public const DAMP = 700;
|
61 |
-
public const INITIAL_BIAS = 72;
|
62 |
-
public const INITIAL_N = 128;
|
63 |
-
public const DELIMITER = '-';
|
64 |
-
public const MAX_INT = 2147483647;
|
65 |
-
|
66 |
-
/**
|
67 |
-
* Contains the numeric value of a basic code point (for use in representing integers) in the
|
68 |
-
* range 0 to BASE-1, or -1 if b is does not represent a value.
|
69 |
-
*
|
70 |
-
* @var array<int, int>
|
71 |
-
*/
|
72 |
-
private static $basicToDigit = [
|
73 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
74 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
75 |
-
|
76 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
77 |
-
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
|
78 |
-
|
79 |
-
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
80 |
-
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
|
81 |
-
|
82 |
-
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
83 |
-
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
|
84 |
-
|
85 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
86 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
87 |
-
|
88 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
89 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
90 |
-
|
91 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
92 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
93 |
-
|
94 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
95 |
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
96 |
-
];
|
97 |
-
|
98 |
-
/**
|
99 |
-
* @var array<int, int>
|
100 |
-
*/
|
101 |
-
private static $virama;
|
102 |
-
|
103 |
-
/**
|
104 |
-
* @var array<int, string>
|
105 |
-
*/
|
106 |
-
private static $mapped;
|
107 |
-
|
108 |
-
/**
|
109 |
-
* @var array<int, bool>
|
110 |
-
*/
|
111 |
-
private static $ignored;
|
112 |
-
|
113 |
-
/**
|
114 |
-
* @var array<int, string>
|
115 |
-
*/
|
116 |
-
private static $deviation;
|
117 |
-
|
118 |
-
/**
|
119 |
-
* @var array<int, bool>
|
120 |
-
*/
|
121 |
-
private static $disallowed;
|
122 |
-
|
123 |
-
/**
|
124 |
-
* @var array<int, string>
|
125 |
-
*/
|
126 |
-
private static $disallowed_STD3_mapped;
|
127 |
-
|
128 |
-
/**
|
129 |
-
* @var array<int, bool>
|
130 |
-
*/
|
131 |
-
private static $disallowed_STD3_valid;
|
132 |
-
|
133 |
-
/**
|
134 |
-
* @var bool
|
135 |
-
*/
|
136 |
-
private static $mappingTableLoaded = false;
|
137 |
-
|
138 |
-
/**
|
139 |
-
* @see https://www.unicode.org/reports/tr46/#ToASCII
|
140 |
-
*
|
141 |
-
* @param string $domainName
|
142 |
-
* @param int $options
|
143 |
-
* @param int $variant
|
144 |
-
* @param array $idna_info
|
145 |
-
*
|
146 |
-
* @return string|false
|
147 |
-
*/
|
148 |
-
public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = [])
|
149 |
-
{
|
150 |
-
if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) {
|
151 |
-
@trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED);
|
152 |
-
}
|
153 |
-
|
154 |
-
$options = [
|
155 |
-
'CheckHyphens' => true,
|
156 |
-
'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
|
157 |
-
'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
|
158 |
-
'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
|
159 |
-
'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_ASCII),
|
160 |
-
'VerifyDnsLength' => true,
|
161 |
-
];
|
162 |
-
$info = new Info();
|
163 |
-
$labels = self::process((string) $domainName, $options, $info);
|
164 |
-
|
165 |
-
foreach ($labels as $i => $label) {
|
166 |
-
// Only convert labels to punycode that contain non-ASCII code points
|
167 |
-
if (1 === preg_match('/[^\x00-\x7F]/', $label)) {
|
168 |
-
try {
|
169 |
-
$label = 'xn--'.self::punycodeEncode($label);
|
170 |
-
} catch (Exception $e) {
|
171 |
-
$info->errors |= self::ERROR_PUNYCODE;
|
172 |
-
}
|
173 |
-
|
174 |
-
$labels[$i] = $label;
|
175 |
-
}
|
176 |
-
}
|
177 |
-
|
178 |
-
if ($options['VerifyDnsLength']) {
|
179 |
-
self::validateDomainAndLabelLength($labels, $info);
|
180 |
-
}
|
181 |
-
|
182 |
-
$idna_info = [
|
183 |
-
'result' => implode('.', $labels),
|
184 |
-
'isTransitionalDifferent' => $info->transitionalDifferent,
|
185 |
-
'errors' => $info->errors,
|
186 |
-
];
|
187 |
-
|
188 |
-
return 0 === $info->errors ? $idna_info['result'] : false;
|
189 |
-
}
|
190 |
-
|
191 |
-
/**
|
192 |
-
* @see https://www.unicode.org/reports/tr46/#ToUnicode
|
193 |
-
*
|
194 |
-
* @param string $domainName
|
195 |
-
* @param int $options
|
196 |
-
* @param int $variant
|
197 |
-
* @param array $idna_info
|
198 |
-
*
|
199 |
-
* @return string|false
|
200 |
-
*/
|
201 |
-
public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = [])
|
202 |
-
{
|
203 |
-
if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) {
|
204 |
-
@trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED);
|
205 |
-
}
|
206 |
-
|
207 |
-
$info = new Info();
|
208 |
-
$labels = self::process((string) $domainName, [
|
209 |
-
'CheckHyphens' => true,
|
210 |
-
'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
|
211 |
-
'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
|
212 |
-
'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
|
213 |
-
'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE),
|
214 |
-
], $info);
|
215 |
-
$idna_info = [
|
216 |
-
'result' => implode('.', $labels),
|
217 |
-
'isTransitionalDifferent' => $info->transitionalDifferent,
|
218 |
-
'errors' => $info->errors,
|
219 |
-
];
|
220 |
-
|
221 |
-
return 0 === $info->errors ? $idna_info['result'] : false;
|
222 |
-
}
|
223 |
-
|
224 |
-
/**
|
225 |
-
* @param string $label
|
226 |
-
*
|
227 |
-
* @return bool
|
228 |
-
*/
|
229 |
-
private static function isValidContextJ(array $codePoints, $label)
|
230 |
-
{
|
231 |
-
if (!isset(self::$virama)) {
|
232 |
-
self::$virama = require __DIR__.\DIRECTORY_SEPARATOR.'Resources'.\DIRECTORY_SEPARATOR.'unidata'.\DIRECTORY_SEPARATOR.'virama.php';
|
233 |
-
}
|
234 |
-
|
235 |
-
$offset = 0;
|
236 |
-
|
237 |
-
foreach ($codePoints as $i => $codePoint) {
|
238 |
-
if (0x200C !== $codePoint && 0x200D !== $codePoint) {
|
239 |
-
continue;
|
240 |
-
}
|
241 |
-
|
242 |
-
if (!isset($codePoints[$i - 1])) {
|
243 |
-
return false;
|
244 |
-
}
|
245 |
-
|
246 |
-
// If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True;
|
247 |
-
if (isset(self::$virama[$codePoints[$i - 1]])) {
|
248 |
-
continue;
|
249 |
-
}
|
250 |
-
|
251 |
-
// If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then
|
252 |
-
// True;
|
253 |
-
// Generated RegExp = ([Joining_Type:{L,D}][Joining_Type:T]*\u200C[Joining_Type:T]*)[Joining_Type:{R,D}]
|
254 |
-
if (0x200C === $codePoint && 1 === preg_match(Regex::ZWNJ, $label, $matches, \PREG_OFFSET_CAPTURE, $offset)) {
|
255 |
-
$offset += \strlen($matches[1][0]);
|
256 |
-
|
257 |
-
continue;
|
258 |
-
}
|
259 |
-
|
260 |
-
return false;
|
261 |
-
}
|
262 |
-
|
263 |
-
return true;
|
264 |
-
}
|
265 |
-
|
266 |
-
/**
|
267 |
-
* @see https://www.unicode.org/reports/tr46/#ProcessingStepMap
|
268 |
-
*
|
269 |
-
* @param string $input
|
270 |
-
* @param array<string, bool> $options
|
271 |
-
*
|
272 |
-
* @return string
|
273 |
-
*/
|
274 |
-
private static function mapCodePoints($input, array $options, Info $info)
|
275 |
-
{
|
276 |
-
$str = '';
|
277 |
-
$useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];
|
278 |
-
$transitional = $options['Transitional_Processing'];
|
279 |
-
|
280 |
-
foreach (self::utf8Decode($input) as $codePoint) {
|
281 |
-
$data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);
|
282 |
-
|
283 |
-
switch ($data['status']) {
|
284 |
-
case 'disallowed':
|
285 |
-
$info->errors |= self::ERROR_DISALLOWED;
|
286 |
-
|
287 |
-
// no break.
|
288 |
-
|
289 |
-
case 'valid':
|
290 |
-
$str .= mb_chr($codePoint, 'utf-8');
|
291 |
-
|
292 |
-
break;
|
293 |
-
|
294 |
-
case 'ignored':
|
295 |
-
// Do nothing.
|
296 |
-
break;
|
297 |
-
|
298 |
-
case 'mapped':
|
299 |
-
$str .= $data['mapping'];
|
300 |
-
|
301 |
-
break;
|
302 |
-
|
303 |
-
case 'deviation':
|
304 |
-
$info->transitionalDifferent = true;
|
305 |
-
$str .= ($transitional ? $data['mapping'] : mb_chr($codePoint, 'utf-8'));
|
306 |
-
|
307 |
-
break;
|
308 |
-
}
|
309 |
-
}
|
310 |
-
|
311 |
-
return $str;
|
312 |
-
}
|
313 |
-
|
314 |
-
/**
|
315 |
-
* @see https://www.unicode.org/reports/tr46/#Processing
|
316 |
-
*
|
317 |
-
* @param string $domain
|
318 |
-
* @param array<string, bool> $options
|
319 |
-
*
|
320 |
-
* @return array<int, string>
|
321 |
-
*/
|
322 |
-
private static function process($domain, array $options, Info $info)
|
323 |
-
{
|
324 |
-
// If VerifyDnsLength is not set, we are doing ToUnicode otherwise we are doing ToASCII and
|
325 |
-
// we need to respect the VerifyDnsLength option.
|
326 |
-
$checkForEmptyLabels = !isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'];
|
327 |
-
|
328 |
-
if ($checkForEmptyLabels && '' === $domain) {
|
329 |
-
$info->errors |= self::ERROR_EMPTY_LABEL;
|
330 |
-
|
331 |
-
return [$domain];
|
332 |
-
}
|
333 |
-
|
334 |
-
// Step 1. Map each code point in the domain name string
|
335 |
-
$domain = self::mapCodePoints($domain, $options, $info);
|
336 |
-
|
337 |
-
// Step 2. Normalize the domain name string to Unicode Normalization Form C.
|
338 |
-
if (!Normalizer::isNormalized($domain, Normalizer::FORM_C)) {
|
339 |
-
$domain = Normalizer::normalize($domain, Normalizer::FORM_C);
|
340 |
-
}
|
341 |
-
|
342 |
-
// Step 3. Break the string into labels at U+002E (.) FULL STOP.
|
343 |
-
$labels = explode('.', $domain);
|
344 |
-
$lastLabelIndex = \count($labels) - 1;
|
345 |
-
|
346 |
-
// Step 4. Convert and validate each label in the domain name string.
|
347 |
-
foreach ($labels as $i => $label) {
|
348 |
-
$validationOptions = $options;
|
349 |
-
|
350 |
-
if ('xn--' === substr($label, 0, 4)) {
|
351 |
-
try {
|
352 |
-
$label = self::punycodeDecode(substr($label, 4));
|
353 |
-
} catch (Exception $e) {
|
354 |
-
$info->errors |= self::ERROR_PUNYCODE;
|
355 |
-
|
356 |
-
continue;
|
357 |
-
}
|
358 |
-
|
359 |
-
$validationOptions['Transitional_Processing'] = false;
|
360 |
-
$labels[$i] = $label;
|
361 |
-
}
|
362 |
-
|
363 |
-
self::validateLabel($label, $info, $validationOptions, $i > 0 && $i === $lastLabelIndex);
|
364 |
-
}
|
365 |
-
|
366 |
-
if ($info->bidiDomain && !$info->validBidiDomain) {
|
367 |
-
$info->errors |= self::ERROR_BIDI;
|
368 |
-
}
|
369 |
-
|
370 |
-
// Any input domain name string that does not record an error has been successfully
|
371 |
-
// processed according to this specification. Conversely, if an input domain_name string
|
372 |
-
// causes an error, then the processing of the input domain_name string fails. Determining
|
373 |
-
// what to do with error input is up to the caller, and not in the scope of this document.
|
374 |
-
return $labels;
|
375 |
-
}
|
376 |
-
|
377 |
-
/**
|
378 |
-
* @see https://tools.ietf.org/html/rfc5893#section-2
|
379 |
-
*
|
380 |
-
* @param string $label
|
381 |
-
*/
|
382 |
-
private static function validateBidiLabel($label, Info $info)
|
383 |
-
{
|
384 |
-
if (1 === preg_match(Regex::RTL_LABEL, $label)) {
|
385 |
-
$info->bidiDomain = true;
|
386 |
-
|
387 |
-
// Step 1. The first character must be a character with Bidi property L, R, or AL.
|
388 |
-
// If it has the R or AL property, it is an RTL label
|
389 |
-
if (1 !== preg_match(Regex::BIDI_STEP_1_RTL, $label)) {
|
390 |
-
$info->validBidiDomain = false;
|
391 |
-
|
392 |
-
return;
|
393 |
-
}
|
394 |
-
|
395 |
-
// Step 2. In an RTL label, only characters with the Bidi properties R, AL, AN, EN, ES,
|
396 |
-
// CS, ET, ON, BN, or NSM are allowed.
|
397 |
-
if (1 === preg_match(Regex::BIDI_STEP_2, $label)) {
|
398 |
-
$info->validBidiDomain = false;
|
399 |
-
|
400 |
-
return;
|
401 |
-
}
|
402 |
-
|
403 |
-
// Step 3. In an RTL label, the end of the label must be a character with Bidi property
|
404 |
-
// R, AL, EN, or AN, followed by zero or more characters with Bidi property NSM.
|
405 |
-
if (1 !== preg_match(Regex::BIDI_STEP_3, $label)) {
|
406 |
-
$info->validBidiDomain = false;
|
407 |
-
|
408 |
-
return;
|
409 |
-
}
|
410 |
-
|
411 |
-
// Step 4. In an RTL label, if an EN is present, no AN may be present, and vice versa.
|
412 |
-
if (1 === preg_match(Regex::BIDI_STEP_4_AN, $label) && 1 === preg_match(Regex::BIDI_STEP_4_EN, $label)) {
|
413 |
-
$info->validBidiDomain = false;
|
414 |
-
|
415 |
-
return;
|
416 |
-
}
|
417 |
-
|
418 |
-
return;
|
419 |
-
}
|
420 |
-
|
421 |
-
// We are a LTR label
|
422 |
-
// Step 1. The first character must be a character with Bidi property L, R, or AL.
|
423 |
-
// If it has the L property, it is an LTR label.
|
424 |
-
if (1 !== preg_match(Regex::BIDI_STEP_1_LTR, $label)) {
|
425 |
-
$info->validBidiDomain = false;
|
426 |
-
|
427 |
-
return;
|
428 |
-
}
|
429 |
-
|
430 |
-
// Step 5. In an LTR label, only characters with the Bidi properties L, EN,
|
431 |
-
// ES, CS, ET, ON, BN, or NSM are allowed.
|
432 |
-
if (1 === preg_match(Regex::BIDI_STEP_5, $label)) {
|
433 |
-
$info->validBidiDomain = false;
|
434 |
-
|
435 |
-
return;
|
436 |
-
}
|
437 |
-
|
438 |
-
// Step 6.In an LTR label, the end of the label must be a character with Bidi property L or
|
439 |
-
// EN, followed by zero or more characters with Bidi property NSM.
|
440 |
-
if (1 !== preg_match(Regex::BIDI_STEP_6, $label)) {
|
441 |
-
$info->validBidiDomain = false;
|
442 |
-
|
443 |
-
return;
|
444 |
-
}
|
445 |
-
}
|
446 |
-
|
447 |
-
/**
|
448 |
-
* @param array<int, string> $labels
|
449 |
-
*/
|
450 |
-
private static function validateDomainAndLabelLength(array $labels, Info $info)
|
451 |
-
{
|
452 |
-
$maxDomainSize = self::MAX_DOMAIN_SIZE;
|
453 |
-
$length = \count($labels);
|
454 |
-
|
455 |
-
// Number of "." delimiters.
|
456 |
-
$domainLength = $length - 1;
|
457 |
-
|
458 |
-
// If the last label is empty and it is not the first label, then it is the root label.
|
459 |
-
// Increase the max size by 1, making it 254, to account for the root label's "."
|
460 |
-
// delimiter. This also means we don't need to check the last label's length for being too
|
461 |
-
// long.
|
462 |
-
if ($length > 1 && '' === $labels[$length - 1]) {
|
463 |
-
++$maxDomainSize;
|
464 |
-
--$length;
|
465 |
-
}
|
466 |
-
|
467 |
-
for ($i = 0; $i < $length; ++$i) {
|
468 |
-
$bytes = \strlen($labels[$i]);
|
469 |
-
$domainLength += $bytes;
|
470 |
-
|
471 |
-
if ($bytes > self::MAX_LABEL_SIZE) {
|
472 |
-
$info->errors |= self::ERROR_LABEL_TOO_LONG;
|
473 |
-
}
|
474 |
-
}
|
475 |
-
|
476 |
-
if ($domainLength > $maxDomainSize) {
|
477 |
-
$info->errors |= self::ERROR_DOMAIN_NAME_TOO_LONG;
|
478 |
-
}
|
479 |
-
}
|
480 |
-
|
481 |
-
/**
|
482 |
-
* @see https://www.unicode.org/reports/tr46/#Validity_Criteria
|
483 |
-
*
|
484 |
-
* @param string $label
|
485 |
-
* @param array<string, bool> $options
|
486 |
-
* @param bool $canBeEmpty
|
487 |
-
*/
|
488 |
-
private static function validateLabel($label, Info $info, array $options, $canBeEmpty)
|
489 |
-
{
|
490 |
-
if ('' === $label) {
|
491 |
-
if (!$canBeEmpty && (!isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'])) {
|
492 |
-
$info->errors |= self::ERROR_EMPTY_LABEL;
|
493 |
-
}
|
494 |
-
|
495 |
-
return;
|
496 |
-
}
|
497 |
-
|
498 |
-
// Step 1. The label must be in Unicode Normalization Form C.
|
499 |
-
if (!Normalizer::isNormalized($label, Normalizer::FORM_C)) {
|
500 |
-
$info->errors |= self::ERROR_INVALID_ACE_LABEL;
|
501 |
-
}
|
502 |
-
|
503 |
-
$codePoints = self::utf8Decode($label);
|
504 |
-
|
505 |
-
if ($options['CheckHyphens']) {
|
506 |
-
// Step 2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character
|
507 |
-
// in both the thrid and fourth positions.
|
508 |
-
if (isset($codePoints[2], $codePoints[3]) && 0x002D === $codePoints[2] && 0x002D === $codePoints[3]) {
|
509 |
-
$info->errors |= self::ERROR_HYPHEN_3_4;
|
510 |
-
}
|
511 |
-
|
512 |
-
// Step 3. If CheckHyphens, the label must neither begin nor end with a U+002D
|
513 |
-
// HYPHEN-MINUS character.
|
514 |
-
if ('-' === substr($label, 0, 1)) {
|
515 |
-
$info->errors |= self::ERROR_LEADING_HYPHEN;
|
516 |
-
}
|
517 |
-
|
518 |
-
if ('-' === substr($label, -1, 1)) {
|
519 |
-
$info->errors |= self::ERROR_TRAILING_HYPHEN;
|
520 |
-
}
|
521 |
-
}
|
522 |
-
|
523 |
-
// Step 4. The label must not contain a U+002E (.) FULL STOP.
|
524 |
-
if (false !== strpos($label, '.')) {
|
525 |
-
$info->errors |= self::ERROR_LABEL_HAS_DOT;
|
526 |
-
}
|
527 |
-
|
528 |
-
// Step 5. The label must not begin with a combining mark, that is: General_Category=Mark.
|
529 |
-
if (1 === preg_match(Regex::COMBINING_MARK, $label)) {
|
530 |
-
$info->errors |= self::ERROR_LEADING_COMBINING_MARK;
|
531 |
-
}
|
532 |
-
|
533 |
-
// Step 6. Each code point in the label must only have certain status values according to
|
534 |
-
// Section 5, IDNA Mapping Table:
|
535 |
-
$transitional = $options['Transitional_Processing'];
|
536 |
-
$useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];
|
537 |
-
|
538 |
-
foreach ($codePoints as $codePoint) {
|
539 |
-
$data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);
|
540 |
-
$status = $data['status'];
|
541 |
-
|
542 |
-
if ('valid' === $status || (!$transitional && 'deviation' === $status)) {
|
543 |
-
continue;
|
544 |
-
}
|
545 |
-
|
546 |
-
$info->errors |= self::ERROR_DISALLOWED;
|
547 |
-
|
548 |
-
break;
|
549 |
-
}
|
550 |
-
|
551 |
-
// Step 7. If CheckJoiners, the label must satisify the ContextJ rules from Appendix A, in
|
552 |
-
// The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)
|
553 |
-
// [IDNA2008].
|
554 |
-
if ($options['CheckJoiners'] && !self::isValidContextJ($codePoints, $label)) {
|
555 |
-
$info->errors |= self::ERROR_CONTEXTJ;
|
556 |
-
}
|
557 |
-
|
558 |
-
// Step 8. If CheckBidi, and if the domain name is a Bidi domain name, then the label must
|
559 |
-
// satisfy all six of the numbered conditions in [IDNA2008] RFC 5893, Section 2.
|
560 |
-
if ($options['CheckBidi'] && (!$info->bidiDomain || $info->validBidiDomain)) {
|
561 |
-
self::validateBidiLabel($label, $info);
|
562 |
-
}
|
563 |
-
}
|
564 |
-
|
565 |
-
/**
|
566 |
-
* @see https://tools.ietf.org/html/rfc3492#section-6.2
|
567 |
-
*
|
568 |
-
* @param string $input
|
569 |
-
*
|
570 |
-
* @return string
|
571 |
-
*/
|
572 |
-
private static function punycodeDecode($input)
|
573 |
-
{
|
574 |
-
$n = self::INITIAL_N;
|
575 |
-
$out = 0;
|
576 |
-
$i = 0;
|
577 |
-
$bias = self::INITIAL_BIAS;
|
578 |
-
$lastDelimIndex = strrpos($input, self::DELIMITER);
|
579 |
-
$b = false === $lastDelimIndex ? 0 : $lastDelimIndex;
|
580 |
-
$inputLength = \strlen($input);
|
581 |
-
$output = [];
|
582 |
-
$bytes = array_map('ord', str_split($input));
|
583 |
-
|
584 |
-
for ($j = 0; $j < $b; ++$j) {
|
585 |
-
if ($bytes[$j] > 0x7F) {
|
586 |
-
throw new Exception('Invalid input');
|
587 |
-
}
|
588 |
-
|
589 |
-
$output[$out++] = $input[$j];
|
590 |
-
}
|
591 |
-
|
592 |
-
if ($b > 0) {
|
593 |
-
++$b;
|
594 |
-
}
|
595 |
-
|
596 |
-
for ($in = $b; $in < $inputLength; ++$out) {
|
597 |
-
$oldi = $i;
|
598 |
-
$w = 1;
|
599 |
-
|
600 |
-
for ($k = self::BASE; /* no condition */; $k += self::BASE) {
|
601 |
-
if ($in >= $inputLength) {
|
602 |
-
throw new Exception('Invalid input');
|
603 |
-
}
|
604 |
-
|
605 |
-
$digit = self::$basicToDigit[$bytes[$in++] & 0xFF];
|
606 |
-
|
607 |
-
if ($digit < 0) {
|
608 |
-
throw new Exception('Invalid input');
|
609 |
-
}
|
610 |
-
|
611 |
-
if ($digit > intdiv(self::MAX_INT - $i, $w)) {
|
612 |
-
throw new Exception('Integer overflow');
|
613 |
-
}
|
614 |
-
|
615 |
-
$i += $digit * $w;
|
616 |
-
|
617 |
-
if ($k <= $bias) {
|
618 |
-
$t = self::TMIN;
|
619 |
-
} elseif ($k >= $bias + self::TMAX) {
|
620 |
-
$t = self::TMAX;
|
621 |
-
} else {
|
622 |
-
$t = $k - $bias;
|
623 |
-
}
|
624 |
-
|
625 |
-
if ($digit < $t) {
|
626 |
-
break;
|
627 |
-
}
|
628 |
-
|
629 |
-
$baseMinusT = self::BASE - $t;
|
630 |
-
|
631 |
-
if ($w > intdiv(self::MAX_INT, $baseMinusT)) {
|
632 |
-
throw new Exception('Integer overflow');
|
633 |
-
}
|
634 |
-
|
635 |
-
$w *= $baseMinusT;
|
636 |
-
}
|
637 |
-
|
638 |
-
$outPlusOne = $out + 1;
|
639 |
-
$bias = self::adaptBias($i - $oldi, $outPlusOne, 0 === $oldi);
|
640 |
-
|
641 |
-
if (intdiv($i, $outPlusOne) > self::MAX_INT - $n) {
|
642 |
-
throw new Exception('Integer overflow');
|
643 |
-
}
|
644 |
-
|
645 |
-
$n += intdiv($i, $outPlusOne);
|
646 |
-
$i %= $outPlusOne;
|
647 |
-
array_splice($output, $i++, 0, [mb_chr($n, 'utf-8')]);
|
648 |
-
}
|
649 |
-
|
650 |
-
return implode('', $output);
|
651 |
-
}
|
652 |
-
|
653 |
-
/**
|
654 |
-
* @see https://tools.ietf.org/html/rfc3492#section-6.3
|
655 |
-
*
|
656 |
-
* @param string $input
|
657 |
-
*
|
658 |
-
* @return string
|
659 |
-
*/
|
660 |
-
private static function punycodeEncode($input)
|
661 |
-
{
|
662 |
-
$n = self::INITIAL_N;
|
663 |
-
$delta = 0;
|
664 |
-
$out = 0;
|
665 |
-
$bias = self::INITIAL_BIAS;
|
666 |
-
$inputLength = 0;
|
667 |
-
$output = '';
|
668 |
-
$iter = self::utf8Decode($input);
|
669 |
-
|
670 |
-
foreach ($iter as $codePoint) {
|
671 |
-
++$inputLength;
|
672 |
-
|
673 |
-
if ($codePoint < 0x80) {
|
674 |
-
$output .= \chr($codePoint);
|
675 |
-
++$out;
|
676 |
-
}
|
677 |
-
}
|
678 |
-
|
679 |
-
$h = $out;
|
680 |
-
$b = $out;
|
681 |
-
|
682 |
-
if ($b > 0) {
|
683 |
-
$output .= self::DELIMITER;
|
684 |
-
++$out;
|
685 |
-
}
|
686 |
-
|
687 |
-
while ($h < $inputLength) {
|
688 |
-
$m = self::MAX_INT;
|
689 |
-
|
690 |
-
foreach ($iter as $codePoint) {
|
691 |
-
if ($codePoint >= $n && $codePoint < $m) {
|
692 |
-
$m = $codePoint;
|
693 |
-
}
|
694 |
-
}
|
695 |
-
|
696 |
-
if ($m - $n > intdiv(self::MAX_INT - $delta, $h + 1)) {
|
697 |
-
throw new Exception('Integer overflow');
|
698 |
-
}
|
699 |
-
|
700 |
-
$delta += ($m - $n) * ($h + 1);
|
701 |
-
$n = $m;
|
702 |
-
|
703 |
-
foreach ($iter as $codePoint) {
|
704 |
-
if ($codePoint < $n && 0 === ++$delta) {
|
705 |
-
throw new Exception('Integer overflow');
|
706 |
-
}
|
707 |
-
|
708 |
-
if ($codePoint === $n) {
|
709 |
-
$q = $delta;
|
710 |
-
|
711 |
-
for ($k = self::BASE; /* no condition */; $k += self::BASE) {
|
712 |
-
if ($k <= $bias) {
|
713 |
-
$t = self::TMIN;
|
714 |
-
} elseif ($k >= $bias + self::TMAX) {
|
715 |
-
$t = self::TMAX;
|
716 |
-
} else {
|
717 |
-
$t = $k - $bias;
|
718 |
-
}
|
719 |
-
|
720 |
-
if ($q < $t) {
|
721 |
-
break;
|
722 |
-
}
|
723 |
-
|
724 |
-
$qMinusT = $q - $t;
|
725 |
-
$baseMinusT = self::BASE - $t;
|
726 |
-
$output .= self::encodeDigit($t + ($qMinusT) % ($baseMinusT), false);
|
727 |
-
++$out;
|
728 |
-
$q = intdiv($qMinusT, $baseMinusT);
|
729 |
-
}
|
730 |
-
|
731 |
-
$output .= self::encodeDigit($q, false);
|
732 |
-
++$out;
|
733 |
-
$bias = self::adaptBias($delta, $h + 1, $h === $b);
|
734 |
-
$delta = 0;
|
735 |
-
++$h;
|
736 |
-
}
|
737 |
-
}
|
738 |
-
|
739 |
-
++$delta;
|
740 |
-
++$n;
|
741 |
-
}
|
742 |
-
|
743 |
-
return $output;
|
744 |
-
}
|
745 |
-
|
746 |
-
/**
|
747 |
-
* @see https://tools.ietf.org/html/rfc3492#section-6.1
|
748 |
-
*
|
749 |
-
* @param int $delta
|
750 |
-
* @param int $numPoints
|
751 |
-
* @param bool $firstTime
|
752 |
-
*
|
753 |
-
* @return int
|
754 |
-
*/
|
755 |
-
private static function adaptBias($delta, $numPoints, $firstTime)
|
756 |
-
{
|
757 |
-
// xxx >> 1 is a faster way of doing intdiv(xxx, 2)
|
758 |
-
$delta = $firstTime ? intdiv($delta, self::DAMP) : $delta >> 1;
|
759 |
-
$delta += intdiv($delta, $numPoints);
|
760 |
-
$k = 0;
|
761 |
-
|
762 |
-
while ($delta > ((self::BASE - self::TMIN) * self::TMAX) >> 1) {
|
763 |
-
$delta = intdiv($delta, self::BASE - self::TMIN);
|
764 |
-
$k += self::BASE;
|
765 |
-
}
|
766 |
-
|
767 |
-
return $k + intdiv((self::BASE - self::TMIN + 1) * $delta, $delta + self::SKEW);
|
768 |
-
}
|
769 |
-
|
770 |
-
/**
|
771 |
-
* @param int $d
|
772 |
-
* @param bool $flag
|
773 |
-
*
|
774 |
-
* @return string
|
775 |
-
*/
|
776 |
-
private static function encodeDigit($d, $flag)
|
777 |
-
{
|
778 |
-
return \chr($d + 22 + 75 * ($d < 26 ? 1 : 0) - (($flag ? 1 : 0) << 5));
|
779 |
-
}
|
780 |
-
|
781 |
-
/**
|
782 |
-
* Takes a UTF-8 encoded string and converts it into a series of integer code points. Any
|
783 |
-
* invalid byte sequences will be replaced by a U+FFFD replacement code point.
|
784 |
-
*
|
785 |
-
* @see https://encoding.spec.whatwg.org/#utf-8-decoder
|
786 |
-
*
|
787 |
-
* @param string $input
|
788 |
-
*
|
789 |
-
* @return array<int, int>
|
790 |
-
*/
|
791 |
-
private static function utf8Decode($input)
|
792 |
-
{
|
793 |
-
$bytesSeen = 0;
|
794 |
-
$bytesNeeded = 0;
|
795 |
-
$lowerBoundary = 0x80;
|
796 |
-
$upperBoundary = 0xBF;
|
797 |
-
$codePoint = 0;
|
798 |
-
$codePoints = [];
|
799 |
-
$length = \strlen($input);
|
800 |
-
|
801 |
-
for ($i = 0; $i < $length; ++$i) {
|
802 |
-
$byte = \ord($input[$i]);
|
803 |
-
|
804 |
-
if (0 === $bytesNeeded) {
|
805 |
-
if ($byte >= 0x00 && $byte <= 0x7F) {
|
806 |
-
$codePoints[] = $byte;
|
807 |
-
|
808 |
-
continue;
|
809 |
-
}
|
810 |
-
|
811 |
-
if ($byte >= 0xC2 && $byte <= 0xDF) {
|
812 |
-
$bytesNeeded = 1;
|
813 |
-
$codePoint = $byte & 0x1F;
|
814 |
-
} elseif ($byte >= 0xE0 && $byte <= 0xEF) {
|
815 |
-
if (0xE0 === $byte) {
|
816 |
-
$lowerBoundary = 0xA0;
|
817 |
-
} elseif (0xED === $byte) {
|
818 |
-
$upperBoundary = 0x9F;
|
819 |
-
}
|
820 |
-
|
821 |
-
$bytesNeeded = 2;
|
822 |
-
$codePoint = $byte & 0xF;
|
823 |
-
} elseif ($byte >= 0xF0 && $byte <= 0xF4) {
|
824 |
-
if (0xF0 === $byte) {
|
825 |
-
$lowerBoundary = 0x90;
|
826 |
-
} elseif (0xF4 === $byte) {
|
827 |
-
$upperBoundary = 0x8F;
|
828 |
-
}
|
829 |
-
|
830 |
-
$bytesNeeded = 3;
|
831 |
-
$codePoint = $byte & 0x7;
|
832 |
-
} else {
|
833 |
-
$codePoints[] = 0xFFFD;
|
834 |
-
}
|
835 |
-
|
836 |
-
continue;
|
837 |
-
}
|
838 |
-
|
839 |
-
if ($byte < $lowerBoundary || $byte > $upperBoundary) {
|
840 |
-
$codePoint = 0;
|
841 |
-
$bytesNeeded = 0;
|
842 |
-
$bytesSeen = 0;
|
843 |
-
$lowerBoundary = 0x80;
|
844 |
-
$upperBoundary = 0xBF;
|
845 |
-
--$i;
|
846 |
-
$codePoints[] = 0xFFFD;
|
847 |
-
|
848 |
-
continue;
|
849 |
-
}
|
850 |
-
|
851 |
-
$lowerBoundary = 0x80;
|
852 |
-
$upperBoundary = 0xBF;
|
853 |
-
$codePoint = ($codePoint << 6) | ($byte & 0x3F);
|
854 |
-
|
855 |
-
if (++$bytesSeen !== $bytesNeeded) {
|
856 |
-
continue;
|
857 |
-
}
|
858 |
-
|
859 |
-
$codePoints[] = $codePoint;
|
860 |
-
$codePoint = 0;
|
861 |
-
$bytesNeeded = 0;
|
862 |
-
$bytesSeen = 0;
|
863 |
-
}
|
864 |
-
|
865 |
-
// String unexpectedly ended, so append a U+FFFD code point.
|
866 |
-
if (0 !== $bytesNeeded) {
|
867 |
-
$codePoints[] = 0xFFFD;
|
868 |
-
}
|
869 |
-
|
870 |
-
return $codePoints;
|
871 |
-
}
|
872 |
-
|
873 |
-
/**
|
874 |
-
* @param int $codePoint
|
875 |
-
* @param bool $useSTD3ASCIIRules
|
876 |
-
*
|
877 |
-
* @return array{status: string, mapping?: string}
|
878 |
-
*/
|
879 |
-
private static function lookupCodePointStatus($codePoint, $useSTD3ASCIIRules)
|
880 |
-
{
|
881 |
-
if (!self::$mappingTableLoaded) {
|
882 |
-
self::$mappingTableLoaded = true;
|
883 |
-
self::$mapped = require __DIR__.'/Resources/unidata/mapped.php';
|
884 |
-
self::$ignored = require __DIR__.'/Resources/unidata/ignored.php';
|
885 |
-
self::$deviation = require __DIR__.'/Resources/unidata/deviation.php';
|
886 |
-
self::$disallowed = require __DIR__.'/Resources/unidata/disallowed.php';
|
887 |
-
self::$disallowed_STD3_mapped = require __DIR__.'/Resources/unidata/disallowed_STD3_mapped.php';
|
888 |
-
self::$disallowed_STD3_valid = require __DIR__.'/Resources/unidata/disallowed_STD3_valid.php';
|
889 |
-
}
|
890 |
-
|
891 |
-
if (isset(self::$mapped[$codePoint])) {
|
892 |
-
return ['status' => 'mapped', 'mapping' => self::$mapped[$codePoint]];
|
893 |
-
}
|
894 |
-
|
895 |
-
if (isset(self::$ignored[$codePoint])) {
|
896 |
-
return ['status' => 'ignored'];
|
897 |
-
}
|
898 |
-
|
899 |
-
if (isset(self::$deviation[$codePoint])) {
|
900 |
-
return ['status' => 'deviation', 'mapping' => self::$deviation[$codePoint]];
|
901 |
-
}
|
902 |
-
|
903 |
-
if (isset(self::$disallowed[$codePoint]) || DisallowedRanges::inRange($codePoint)) {
|
904 |
-
return ['status' => 'disallowed'];
|
905 |
-
}
|
906 |
-
|
907 |
-
$isDisallowedMapped = isset(self::$disallowed_STD3_mapped[$codePoint]);
|
908 |
-
|
909 |
-
if ($isDisallowedMapped || isset(self::$disallowed_STD3_valid[$codePoint])) {
|
910 |
-
$status = 'disallowed';
|
911 |
-
|
912 |
-
if (!$useSTD3ASCIIRules) {
|
913 |
-
$status = $isDisallowedMapped ? 'mapped' : 'valid';
|
914 |
-
}
|
915 |
-
|
916 |
-
if ($isDisallowedMapped) {
|
917 |
-
return ['status' => $status, 'mapping' => self::$disallowed_STD3_mapped[$codePoint]];
|
918 |
-
}
|
919 |
-
|
920 |
-
return ['status' => $status];
|
921 |
-
}
|
922 |
-
|
923 |
-
return ['status' => 'valid'];
|
924 |
-
}
|
925 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Info.php
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com> and Trevor Rowbotham <trevor.rowbotham@pm.me>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Polyfill\Intl\Idn;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* @internal
|
16 |
-
*/
|
17 |
-
class Info
|
18 |
-
{
|
19 |
-
public $bidiDomain = false;
|
20 |
-
public $errors = 0;
|
21 |
-
public $validBidiDomain = true;
|
22 |
-
public $transitionalDifferent = false;
|
23 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/LICENSE
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
Copyright (c) 2018-2019 Fabien Potencier and Trevor Rowbotham <trevor.rowbotham@pm.me>
|
2 |
-
|
3 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
-
of this software and associated documentation files (the "Software"), to deal
|
5 |
-
in the Software without restriction, including without limitation the rights
|
6 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
8 |
-
to do so, subject to the following conditions:
|
9 |
-
|
10 |
-
The above copyright notice and this permission notice shall be included in all
|
11 |
-
copies or substantial portions of the Software.
|
12 |
-
|
13 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19 |
-
THE SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php
DELETED
@@ -1,375 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Symfony\Polyfill\Intl\Idn\Resources\unidata;
|
4 |
-
|
5 |
-
/**
|
6 |
-
* @internal
|
7 |
-
*/
|
8 |
-
final class DisallowedRanges
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
* @param int $codePoint
|
12 |
-
*
|
13 |
-
* @return bool
|
14 |
-
*/
|
15 |
-
public static function inRange($codePoint)
|
16 |
-
{
|
17 |
-
if ($codePoint >= 128 && $codePoint <= 159) {
|
18 |
-
return true;
|
19 |
-
}
|
20 |
-
|
21 |
-
if ($codePoint >= 2155 && $codePoint <= 2207) {
|
22 |
-
return true;
|
23 |
-
}
|
24 |
-
|
25 |
-
if ($codePoint >= 3676 && $codePoint <= 3712) {
|
26 |
-
return true;
|
27 |
-
}
|
28 |
-
|
29 |
-
if ($codePoint >= 3808 && $codePoint <= 3839) {
|
30 |
-
return true;
|
31 |
-
}
|
32 |
-
|
33 |
-
if ($codePoint >= 4059 && $codePoint <= 4095) {
|
34 |
-
return true;
|
35 |
-
}
|
36 |
-
|
37 |
-
if ($codePoint >= 4256 && $codePoint <= 4293) {
|
38 |
-
return true;
|
39 |
-
}
|
40 |
-
|
41 |
-
if ($codePoint >= 6849 && $codePoint <= 6911) {
|
42 |
-
return true;
|
43 |
-
}
|
44 |
-
|
45 |
-
if ($codePoint >= 11859 && $codePoint <= 11903) {
|
46 |
-
return true;
|
47 |
-
}
|
48 |
-
|
49 |
-
if ($codePoint >= 42955 && $codePoint <= 42996) {
|
50 |
-
return true;
|
51 |
-
}
|
52 |
-
|
53 |
-
if ($codePoint >= 55296 && $codePoint <= 57343) {
|
54 |
-
return true;
|
55 |
-
}
|
56 |
-
|
57 |
-
if ($codePoint >= 57344 && $codePoint <= 63743) {
|
58 |
-
return true;
|
59 |
-
}
|
60 |
-
|
61 |
-
if ($codePoint >= 64218 && $codePoint <= 64255) {
|
62 |
-
return true;
|
63 |
-
}
|
64 |
-
|
65 |
-
if ($codePoint >= 64976 && $codePoint <= 65007) {
|
66 |
-
return true;
|
67 |
-
}
|
68 |
-
|
69 |
-
if ($codePoint >= 65630 && $codePoint <= 65663) {
|
70 |
-
return true;
|
71 |
-
}
|
72 |
-
|
73 |
-
if ($codePoint >= 65953 && $codePoint <= 65999) {
|
74 |
-
return true;
|
75 |
-
}
|
76 |
-
|
77 |
-
if ($codePoint >= 66046 && $codePoint <= 66175) {
|
78 |
-
return true;
|
79 |
-
}
|
80 |
-
|
81 |
-
if ($codePoint >= 66518 && $codePoint <= 66559) {
|
82 |
-
return true;
|
83 |
-
}
|
84 |
-
|
85 |
-
if ($codePoint >= 66928 && $codePoint <= 67071) {
|
86 |
-
return true;
|
87 |
-
}
|
88 |
-
|
89 |
-
if ($codePoint >= 67432 && $codePoint <= 67583) {
|
90 |
-
return true;
|
91 |
-
}
|
92 |
-
|
93 |
-
if ($codePoint >= 67760 && $codePoint <= 67807) {
|
94 |
-
return true;
|
95 |
-
}
|
96 |
-
|
97 |
-
if ($codePoint >= 67904 && $codePoint <= 67967) {
|
98 |
-
return true;
|
99 |
-
}
|
100 |
-
|
101 |
-
if ($codePoint >= 68256 && $codePoint <= 68287) {
|
102 |
-
return true;
|
103 |
-
}
|
104 |
-
|
105 |
-
if ($codePoint >= 68528 && $codePoint <= 68607) {
|
106 |
-
return true;
|
107 |
-
}
|
108 |
-
|
109 |
-
if ($codePoint >= 68681 && $codePoint <= 68735) {
|
110 |
-
return true;
|
111 |
-
}
|
112 |
-
|
113 |
-
if ($codePoint >= 68922 && $codePoint <= 69215) {
|
114 |
-
return true;
|
115 |
-
}
|
116 |
-
|
117 |
-
if ($codePoint >= 69298 && $codePoint <= 69375) {
|
118 |
-
return true;
|
119 |
-
}
|
120 |
-
|
121 |
-
if ($codePoint >= 69466 && $codePoint <= 69551) {
|
122 |
-
return true;
|
123 |
-
}
|
124 |
-
|
125 |
-
if ($codePoint >= 70207 && $codePoint <= 70271) {
|
126 |
-
return true;
|
127 |
-
}
|
128 |
-
|
129 |
-
if ($codePoint >= 70517 && $codePoint <= 70655) {
|
130 |
-
return true;
|
131 |
-
}
|
132 |
-
|
133 |
-
if ($codePoint >= 70874 && $codePoint <= 71039) {
|
134 |
-
return true;
|
135 |
-
}
|
136 |
-
|
137 |
-
if ($codePoint >= 71134 && $codePoint <= 71167) {
|
138 |
-
return true;
|
139 |
-
}
|
140 |
-
|
141 |
-
if ($codePoint >= 71370 && $codePoint <= 71423) {
|
142 |
-
return true;
|
143 |
-
}
|
144 |
-
|
145 |
-
if ($codePoint >= 71488 && $codePoint <= 71679) {
|
146 |
-
return true;
|
147 |
-
}
|
148 |
-
|
149 |
-
if ($codePoint >= 71740 && $codePoint <= 71839) {
|
150 |
-
return true;
|
151 |
-
}
|
152 |
-
|
153 |
-
if ($codePoint >= 72026 && $codePoint <= 72095) {
|
154 |
-
return true;
|
155 |
-
}
|
156 |
-
|
157 |
-
if ($codePoint >= 72441 && $codePoint <= 72703) {
|
158 |
-
return true;
|
159 |
-
}
|
160 |
-
|
161 |
-
if ($codePoint >= 72887 && $codePoint <= 72959) {
|
162 |
-
return true;
|
163 |
-
}
|
164 |
-
|
165 |
-
if ($codePoint >= 73130 && $codePoint <= 73439) {
|
166 |
-
return true;
|
167 |
-
}
|
168 |
-
|
169 |
-
if ($codePoint >= 73465 && $codePoint <= 73647) {
|
170 |
-
return true;
|
171 |
-
}
|
172 |
-
|
173 |
-
if ($codePoint >= 74650 && $codePoint <= 74751) {
|
174 |
-
return true;
|
175 |
-
}
|
176 |
-
|
177 |
-
if ($codePoint >= 75076 && $codePoint <= 77823) {
|
178 |
-
return true;
|
179 |
-
}
|
180 |
-
|
181 |
-
if ($codePoint >= 78905 && $codePoint <= 82943) {
|
182 |
-
return true;
|
183 |
-
}
|
184 |
-
|
185 |
-
if ($codePoint >= 83527 && $codePoint <= 92159) {
|
186 |
-
return true;
|
187 |
-
}
|
188 |
-
|
189 |
-
if ($codePoint >= 92784 && $codePoint <= 92879) {
|
190 |
-
return true;
|
191 |
-
}
|
192 |
-
|
193 |
-
if ($codePoint >= 93072 && $codePoint <= 93759) {
|
194 |
-
return true;
|
195 |
-
}
|
196 |
-
|
197 |
-
if ($codePoint >= 93851 && $codePoint <= 93951) {
|
198 |
-
return true;
|
199 |
-
}
|
200 |
-
|
201 |
-
if ($codePoint >= 94112 && $codePoint <= 94175) {
|
202 |
-
return true;
|
203 |
-
}
|
204 |
-
|
205 |
-
if ($codePoint >= 101590 && $codePoint <= 101631) {
|
206 |
-
return true;
|
207 |
-
}
|
208 |
-
|
209 |
-
if ($codePoint >= 101641 && $codePoint <= 110591) {
|
210 |
-
return true;
|
211 |
-
}
|
212 |
-
|
213 |
-
if ($codePoint >= 110879 && $codePoint <= 110927) {
|
214 |
-
return true;
|
215 |
-
}
|
216 |
-
|
217 |
-
if ($codePoint >= 111356 && $codePoint <= 113663) {
|
218 |
-
return true;
|
219 |
-
}
|
220 |
-
|
221 |
-
if ($codePoint >= 113828 && $codePoint <= 118783) {
|
222 |
-
return true;
|
223 |
-
}
|
224 |
-
|
225 |
-
if ($codePoint >= 119366 && $codePoint <= 119519) {
|
226 |
-
return true;
|
227 |
-
}
|
228 |
-
|
229 |
-
if ($codePoint >= 119673 && $codePoint <= 119807) {
|
230 |
-
return true;
|
231 |
-
}
|
232 |
-
|
233 |
-
if ($codePoint >= 121520 && $codePoint <= 122879) {
|
234 |
-
return true;
|
235 |
-
}
|
236 |
-
|
237 |
-
if ($codePoint >= 122923 && $codePoint <= 123135) {
|
238 |
-
return true;
|
239 |
-
}
|
240 |
-
|
241 |
-
if ($codePoint >= 123216 && $codePoint <= 123583) {
|
242 |
-
return true;
|
243 |
-
}
|
244 |
-
|
245 |
-
if ($codePoint >= 123648 && $codePoint <= 124927) {
|
246 |
-
return true;
|
247 |
-
}
|
248 |
-
|
249 |
-
if ($codePoint >= 125143 && $codePoint <= 125183) {
|
250 |
-
return true;
|
251 |
-
}
|
252 |
-
|
253 |
-
if ($codePoint >= 125280 && $codePoint <= 126064) {
|
254 |
-
return true;
|
255 |
-
}
|
256 |
-
|
257 |
-
if ($codePoint >= 126133 && $codePoint <= 126208) {
|
258 |
-
return true;
|
259 |
-
}
|
260 |
-
|
261 |
-
if ($codePoint >= 126270 && $codePoint <= 126463) {
|
262 |
-
return true;
|
263 |
-
}
|
264 |
-
|
265 |
-
if ($codePoint >= 126652 && $codePoint <= 126703) {
|
266 |
-
return true;
|
267 |
-
}
|
268 |
-
|
269 |
-
if ($codePoint >= 126706 && $codePoint <= 126975) {
|
270 |
-
return true;
|
271 |
-
}
|
272 |
-
|
273 |
-
if ($codePoint >= 127406 && $codePoint <= 127461) {
|
274 |
-
return true;
|
275 |
-
}
|
276 |
-
|
277 |
-
if ($codePoint >= 127590 && $codePoint <= 127743) {
|
278 |
-
return true;
|
279 |
-
}
|
280 |
-
|
281 |
-
if ($codePoint >= 129202 && $codePoint <= 129279) {
|
282 |
-
return true;
|
283 |
-
}
|
284 |
-
|
285 |
-
if ($codePoint >= 129751 && $codePoint <= 129791) {
|
286 |
-
return true;
|
287 |
-
}
|
288 |
-
|
289 |
-
if ($codePoint >= 129995 && $codePoint <= 130031) {
|
290 |
-
return true;
|
291 |
-
}
|
292 |
-
|
293 |
-
if ($codePoint >= 130042 && $codePoint <= 131069) {
|
294 |
-
return true;
|
295 |
-
}
|
296 |
-
|
297 |
-
if ($codePoint >= 173790 && $codePoint <= 173823) {
|
298 |
-
return true;
|
299 |
-
}
|
300 |
-
|
301 |
-
if ($codePoint >= 191457 && $codePoint <= 194559) {
|
302 |
-
return true;
|
303 |
-
}
|
304 |
-
|
305 |
-
if ($codePoint >= 195102 && $codePoint <= 196605) {
|
306 |
-
return true;
|
307 |
-
}
|
308 |
-
|
309 |
-
if ($codePoint >= 201547 && $codePoint <= 262141) {
|
310 |
-
return true;
|
311 |
-
}
|
312 |
-
|
313 |
-
if ($codePoint >= 262144 && $codePoint <= 327677) {
|
314 |
-
return true;
|
315 |
-
}
|
316 |
-
|
317 |
-
if ($codePoint >= 327680 && $codePoint <= 393213) {
|
318 |
-
return true;
|
319 |
-
}
|
320 |
-
|
321 |
-
if ($codePoint >= 393216 && $codePoint <= 458749) {
|
322 |
-
return true;
|
323 |
-
}
|
324 |
-
|
325 |
-
if ($codePoint >= 458752 && $codePoint <= 524285) {
|
326 |
-
return true;
|
327 |
-
}
|
328 |
-
|
329 |
-
if ($codePoint >= 524288 && $codePoint <= 589821) {
|
330 |
-
return true;
|
331 |
-
}
|
332 |
-
|
333 |
-
if ($codePoint >= 589824 && $codePoint <= 655357) {
|
334 |
-
return true;
|
335 |
-
}
|
336 |
-
|
337 |
-
if ($codePoint >= 655360 && $codePoint <= 720893) {
|
338 |
-
return true;
|
339 |
-
}
|
340 |
-
|
341 |
-
if ($codePoint >= 720896 && $codePoint <= 786429) {
|
342 |
-
return true;
|
343 |
-
}
|
344 |
-
|
345 |
-
if ($codePoint >= 786432 && $codePoint <= 851965) {
|
346 |
-
return true;
|
347 |
-
}
|
348 |
-
|
349 |
-
if ($codePoint >= 851968 && $codePoint <= 917501) {
|
350 |
-
return true;
|
351 |
-
}
|
352 |
-
|
353 |
-
if ($codePoint >= 917536 && $codePoint <= 917631) {
|
354 |
-
return true;
|
355 |
-
}
|
356 |
-
|
357 |
-
if ($codePoint >= 917632 && $codePoint <= 917759) {
|
358 |
-
return true;
|
359 |
-
}
|
360 |
-
|
361 |
-
if ($codePoint >= 918000 && $codePoint <= 983037) {
|
362 |
-
return true;
|
363 |
-
}
|
364 |
-
|
365 |
-
if ($codePoint >= 983040 && $codePoint <= 1048573) {
|
366 |
-
return true;
|
367 |
-
}
|
368 |
-
|
369 |
-
if ($codePoint >= 1048576 && $codePoint <= 1114109) {
|
370 |
-
return true;
|
371 |
-
}
|
372 |
-
|
373 |
-
return false;
|
374 |
-
}
|
375 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Symfony\Polyfill\Intl\Idn\Resources\unidata;
|
4 |
-
|
5 |
-
/**
|
6 |
-
* @internal
|
7 |
-
*/
|
8 |
-
final class Regex
|
9 |
-
{
|
10 |
-
const COMBINING_MARK = '/^[\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{0903}\x{093A}\x{093B}\x{093C}\x{093E}-\x{0940}\x{0941}-\x{0948}\x{0949}-\x{094C}\x{094D}\x{094E}-\x{094F}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{0982}-\x{0983}\x{09BC}\x{09BE}-\x{09C0}\x{09C1}-\x{09C4}\x{09C7}-\x{09C8}\x{09CB}-\x{09CC}\x{09CD}\x{09D7}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A03}\x{0A3C}\x{0A3E}-\x{0A40}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0A83}\x{0ABC}\x{0ABE}-\x{0AC0}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0AC9}\x{0ACB}-\x{0ACC}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B02}-\x{0B03}\x{0B3C}\x{0B3E}\x{0B3F}\x{0B40}\x{0B41}-\x{0B44}\x{0B47}-\x{0B48}\x{0B4B}-\x{0B4C}\x{0B4D}\x{0B55}-\x{0B56}\x{0B57}\x{0B62}-\x{0B63}\x{0B82}\x{0BBE}-\x{0BBF}\x{0BC0}\x{0BC1}-\x{0BC2}\x{0BC6}-\x{0BC8}\x{0BCA}-\x{0BCC}\x{0BCD}\x{0BD7}\x{0C00}\x{0C01}-\x{0C03}\x{0C04}\x{0C3E}-\x{0C40}\x{0C41}-\x{0C44}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0C82}-\x{0C83}\x{0CBC}\x{0CBE}\x{0CBF}\x{0CC0}-\x{0CC4}\x{0CC6}\x{0CC7}-\x{0CC8}\x{0CCA}-\x{0CCB}\x{0CCC}-\x{0CCD}\x{0CD5}-\x{0CD6}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D02}-\x{0D03}\x{0D3B}-\x{0D3C}\x{0D3E}-\x{0D40}\x{0D41}-\x{0D44}\x{0D46}-\x{0D48}\x{0D4A}-\x{0D4C}\x{0D4D}\x{0D57}\x{0D62}-\x{0D63}\x{0D81}\x{0D82}-\x{0D83}\x{0DCA}\x{0DCF}-\x{0DD1}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0DD8}-\x{0DDF}\x{0DF2}-\x{0DF3}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3E}-\x{0F3F}\x{0F71}-\x{0F7E}\x{0F7F}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102B}-\x{102C}\x{102D}-\x{1030}\x{1031}\x{1032}-\x{1037}\x{1038}\x{1039}-\x{103A}\x{103B}-\x{103C}\x{103D}-\x{103E}\x{1056}-\x{1057}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1062}-\x{1064}\x{1067}-\x{106D}\x{1071}-\x{1074}\x{1082}\x{1083}-\x{1084}\x{1085}-\x{1086}\x{1087}-\x{108C}\x{108D}\x{108F}\x{109A}-\x{109C}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B6}\x{17B7}-\x{17BD}\x{17BE}-\x{17C5}\x{17C6}\x{17C7}-\x{17C8}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1923}-\x{1926}\x{1927}-\x{1928}\x{1929}-\x{192B}\x{1930}-\x{1931}\x{1932}\x{1933}-\x{1938}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A19}-\x{1A1A}\x{1A1B}\x{1A55}\x{1A56}\x{1A57}\x{1A58}-\x{1A5E}\x{1A60}\x{1A61}\x{1A62}\x{1A63}-\x{1A64}\x{1A65}-\x{1A6C}\x{1A6D}-\x{1A72}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B04}\x{1B34}\x{1B35}\x{1B36}-\x{1B3A}\x{1B3B}\x{1B3C}\x{1B3D}-\x{1B41}\x{1B42}\x{1B43}-\x{1B44}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1B82}\x{1BA1}\x{1BA2}-\x{1BA5}\x{1BA6}-\x{1BA7}\x{1BA8}-\x{1BA9}\x{1BAA}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE7}\x{1BE8}-\x{1BE9}\x{1BEA}-\x{1BEC}\x{1BED}\x{1BEE}\x{1BEF}-\x{1BF1}\x{1BF2}-\x{1BF3}\x{1C24}-\x{1C2B}\x{1C2C}-\x{1C33}\x{1C34}-\x{1C35}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE1}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF7}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{302E}-\x{302F}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A823}-\x{A824}\x{A825}-\x{A826}\x{A827}\x{A82C}\x{A880}-\x{A881}\x{A8B4}-\x{A8C3}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A952}-\x{A953}\x{A980}-\x{A982}\x{A983}\x{A9B3}\x{A9B4}-\x{A9B5}\x{A9B6}-\x{A9B9}\x{A9BA}-\x{A9BB}\x{A9BC}-\x{A9BD}\x{A9BE}-\x{A9C0}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA2F}-\x{AA30}\x{AA31}-\x{AA32}\x{AA33}-\x{AA34}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA4D}\x{AA7B}\x{AA7C}\x{AA7D}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEB}\x{AAEC}-\x{AAED}\x{AAEE}-\x{AAEF}\x{AAF5}\x{AAF6}\x{ABE3}-\x{ABE4}\x{ABE5}\x{ABE6}-\x{ABE7}\x{ABE8}\x{ABE9}-\x{ABEA}\x{ABEC}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11000}\x{11001}\x{11002}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{11082}\x{110B0}-\x{110B2}\x{110B3}-\x{110B6}\x{110B7}-\x{110B8}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112C}\x{1112D}-\x{11134}\x{11145}-\x{11146}\x{11173}\x{11180}-\x{11181}\x{11182}\x{111B3}-\x{111B5}\x{111B6}-\x{111BE}\x{111BF}-\x{111C0}\x{111C9}-\x{111CC}\x{111CE}\x{111CF}\x{1122C}-\x{1122E}\x{1122F}-\x{11231}\x{11232}-\x{11233}\x{11234}\x{11235}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E0}-\x{112E2}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{11302}-\x{11303}\x{1133B}-\x{1133C}\x{1133E}-\x{1133F}\x{11340}\x{11341}-\x{11344}\x{11347}-\x{11348}\x{1134B}-\x{1134D}\x{11357}\x{11362}-\x{11363}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11435}-\x{11437}\x{11438}-\x{1143F}\x{11440}-\x{11441}\x{11442}-\x{11444}\x{11445}\x{11446}\x{1145E}\x{114B0}-\x{114B2}\x{114B3}-\x{114B8}\x{114B9}\x{114BA}\x{114BB}-\x{114BE}\x{114BF}-\x{114C0}\x{114C1}\x{114C2}-\x{114C3}\x{115AF}-\x{115B1}\x{115B2}-\x{115B5}\x{115B8}-\x{115BB}\x{115BC}-\x{115BD}\x{115BE}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11630}-\x{11632}\x{11633}-\x{1163A}\x{1163B}-\x{1163C}\x{1163D}\x{1163E}\x{1163F}-\x{11640}\x{116AB}\x{116AC}\x{116AD}\x{116AE}-\x{116AF}\x{116B0}-\x{116B5}\x{116B6}\x{116B7}\x{1171D}-\x{1171F}\x{11720}-\x{11721}\x{11722}-\x{11725}\x{11726}\x{11727}-\x{1172B}\x{1182C}-\x{1182E}\x{1182F}-\x{11837}\x{11838}\x{11839}-\x{1183A}\x{11930}-\x{11935}\x{11937}-\x{11938}\x{1193B}-\x{1193C}\x{1193D}\x{1193E}\x{11940}\x{11942}\x{11943}\x{119D1}-\x{119D3}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119DC}-\x{119DF}\x{119E0}\x{119E4}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A39}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A57}-\x{11A58}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A97}\x{11A98}-\x{11A99}\x{11C2F}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3E}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CA9}\x{11CAA}-\x{11CB0}\x{11CB1}\x{11CB2}-\x{11CB3}\x{11CB4}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D8A}-\x{11D8E}\x{11D90}-\x{11D91}\x{11D93}-\x{11D94}\x{11D95}\x{11D96}\x{11D97}\x{11EF3}-\x{11EF4}\x{11EF5}-\x{11EF6}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F51}-\x{16F87}\x{16F8F}-\x{16F92}\x{16FE4}\x{16FF0}-\x{16FF1}\x{1BC9D}-\x{1BC9E}\x{1D165}-\x{1D166}\x{1D167}-\x{1D169}\x{1D16D}-\x{1D172}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]/u';
|
11 |
-
|
12 |
-
const RTL_LABEL = '/[\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{200F}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
|
13 |
-
|
14 |
-
const BIDI_STEP_1_LTR = '/^[^\x{0000}-\x{0008}\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{000E}-\x{001B}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{0030}-\x{0039}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0085}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B2}-\x{00B3}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00B9}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{1680}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{2000}-\x{200A}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{205F}\x{2060}-\x{2064}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}\x{206A}-\x{206F}\x{2070}\x{2074}-\x{2079}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{2080}-\x{2089}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{2488}-\x{249B}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3000}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF10}-\x{FF19}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{102E1}-\x{102FB}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1D7CE}-\x{1D7FF}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F100}-\x{1F10A}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FBF0}-\x{1FBF9}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}]/u';
|
15 |
-
const BIDI_STEP_1_RTL = '/^[\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{200F}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
|
16 |
-
const BIDI_STEP_2 = '/[^\x{0000}-\x{0008}\x{000E}-\x{001B}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{0030}-\x{0039}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B2}-\x{00B3}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00B9}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{2060}-\x{2064}\x{2065}\x{206A}-\x{206F}\x{2070}\x{2074}-\x{2079}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{2080}-\x{2089}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{2488}-\x{249B}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF10}-\x{FF19}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{102E1}-\x{102FB}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1D7CE}-\x{1D7FF}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F100}-\x{1F10A}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FBF0}-\x{1FBF9}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}]/u';
|
17 |
-
const BIDI_STEP_3 = '/[\x{0030}-\x{0039}\x{00B2}-\x{00B3}\x{00B9}\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{200F}\x{2070}\x{2074}-\x{2079}\x{2080}-\x{2089}\x{2488}-\x{249B}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FF10}-\x{FF19}\x{102E1}-\x{102FB}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1D7CE}-\x{1D7FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F100}-\x{1F10A}\x{1FBF0}-\x{1FBF9}][\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1D167}-\x{1D169}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]*$/u';
|
18 |
-
const BIDI_STEP_4_AN = '/[\x{0600}-\x{0605}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{06DD}\x{08E2}\x{10D30}-\x{10D39}\x{10E60}-\x{10E7E}]/u';
|
19 |
-
const BIDI_STEP_4_EN = '/[\x{0030}-\x{0039}\x{00B2}-\x{00B3}\x{00B9}\x{06F0}-\x{06F9}\x{2070}\x{2074}-\x{2079}\x{2080}-\x{2089}\x{2488}-\x{249B}\x{FF10}-\x{FF19}\x{102E1}-\x{102FB}\x{1D7CE}-\x{1D7FF}\x{1F100}-\x{1F10A}\x{1FBF0}-\x{1FBF9}]/u';
|
20 |
-
const BIDI_STEP_5 = '/[\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0085}\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{1680}\x{2000}-\x{200A}\x{200F}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{205F}\x{2066}\x{2067}\x{2068}\x{2069}\x{3000}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
|
21 |
-
const BIDI_STEP_6 = '/[^\x{0000}-\x{0008}\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{000E}-\x{001B}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0085}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{1680}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{2000}-\x{200A}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{205F}\x{2060}-\x{2064}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}\x{206A}-\x{206F}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3000}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}][\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1D167}-\x{1D169}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]*$/u';
|
22 |
-
|
23 |
-
const ZWNJ = '/([\x{A872}\x{10ACD}\x{10AD7}\x{10D00}\x{10FCB}\x{0620}\x{0626}\x{0628}\x{062A}-\x{062E}\x{0633}-\x{063F}\x{0641}-\x{0647}\x{0649}-\x{064A}\x{066E}-\x{066F}\x{0678}-\x{0687}\x{069A}-\x{06BF}\x{06C1}-\x{06C2}\x{06CC}\x{06CE}\x{06D0}-\x{06D1}\x{06FA}-\x{06FC}\x{06FF}\x{0712}-\x{0714}\x{071A}-\x{071D}\x{071F}-\x{0727}\x{0729}\x{072B}\x{072D}-\x{072E}\x{074E}-\x{0758}\x{075C}-\x{076A}\x{076D}-\x{0770}\x{0772}\x{0775}-\x{0777}\x{077A}-\x{077F}\x{07CA}-\x{07EA}\x{0841}-\x{0845}\x{0848}\x{084A}-\x{0853}\x{0855}\x{0860}\x{0862}-\x{0865}\x{0868}\x{08A0}-\x{08A9}\x{08AF}-\x{08B0}\x{08B3}-\x{08B4}\x{08B6}-\x{08B8}\x{08BA}-\x{08C7}\x{1807}\x{1820}-\x{1842}\x{1843}\x{1844}-\x{1878}\x{1887}-\x{18A8}\x{18AA}\x{A840}-\x{A871}\x{10AC0}-\x{10AC4}\x{10AD3}-\x{10AD6}\x{10AD8}-\x{10ADC}\x{10ADE}-\x{10AE0}\x{10AEB}-\x{10AEE}\x{10B80}\x{10B82}\x{10B86}-\x{10B88}\x{10B8A}-\x{10B8B}\x{10B8D}\x{10B90}\x{10BAD}-\x{10BAE}\x{10D01}-\x{10D21}\x{10D23}\x{10F30}-\x{10F32}\x{10F34}-\x{10F44}\x{10F51}-\x{10F53}\x{10FB0}\x{10FB2}-\x{10FB3}\x{10FB8}\x{10FBB}-\x{10FBC}\x{10FBE}-\x{10FBF}\x{10FC1}\x{10FC4}\x{10FCA}\x{1E900}-\x{1E943}][\x{00AD}\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{061C}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{200B}\x{200E}-\x{200F}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{206A}-\x{206F}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{FEFF}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{13430}-\x{13438}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1E94B}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}]*\x{200C}[\x{00AD}\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{061C}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{200B}\x{200E}-\x{200F}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{206A}-\x{206F}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{FEFF}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{13430}-\x{13438}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1E94B}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}]*)[\x{0622}-\x{0625}\x{0627}\x{0629}\x{062F}-\x{0632}\x{0648}\x{0671}-\x{0673}\x{0675}-\x{0677}\x{0688}-\x{0699}\x{06C0}\x{06C3}-\x{06CB}\x{06CD}\x{06CF}\x{06D2}-\x{06D3}\x{06D5}\x{06EE}-\x{06EF}\x{0710}\x{0715}-\x{0719}\x{071E}\x{0728}\x{072A}\x{072C}\x{072F}\x{074D}\x{0759}-\x{075B}\x{076B}-\x{076C}\x{0771}\x{0773}-\x{0774}\x{0778}-\x{0779}\x{0840}\x{0846}-\x{0847}\x{0849}\x{0854}\x{0856}-\x{0858}\x{0867}\x{0869}-\x{086A}\x{08AA}-\x{08AC}\x{08AE}\x{08B1}-\x{08B2}\x{08B9}\x{10AC5}\x{10AC7}\x{10AC9}-\x{10ACA}\x{10ACE}-\x{10AD2}\x{10ADD}\x{10AE1}\x{10AE4}\x{10AEF}\x{10B81}\x{10B83}-\x{10B85}\x{10B89}\x{10B8C}\x{10B8E}-\x{10B8F}\x{10B91}\x{10BA9}-\x{10BAC}\x{10D22}\x{10F33}\x{10F54}\x{10FB4}-\x{10FB6}\x{10FB9}-\x{10FBA}\x{10FBD}\x{10FC2}-\x{10FC3}\x{10FC9}\x{0620}\x{0626}\x{0628}\x{062A}-\x{062E}\x{0633}-\x{063F}\x{0641}-\x{0647}\x{0649}-\x{064A}\x{066E}-\x{066F}\x{0678}-\x{0687}\x{069A}-\x{06BF}\x{06C1}-\x{06C2}\x{06CC}\x{06CE}\x{06D0}-\x{06D1}\x{06FA}-\x{06FC}\x{06FF}\x{0712}-\x{0714}\x{071A}-\x{071D}\x{071F}-\x{0727}\x{0729}\x{072B}\x{072D}-\x{072E}\x{074E}-\x{0758}\x{075C}-\x{076A}\x{076D}-\x{0770}\x{0772}\x{0775}-\x{0777}\x{077A}-\x{077F}\x{07CA}-\x{07EA}\x{0841}-\x{0845}\x{0848}\x{084A}-\x{0853}\x{0855}\x{0860}\x{0862}-\x{0865}\x{0868}\x{08A0}-\x{08A9}\x{08AF}-\x{08B0}\x{08B3}-\x{08B4}\x{08B6}-\x{08B8}\x{08BA}-\x{08C7}\x{1807}\x{1820}-\x{1842}\x{1843}\x{1844}-\x{1878}\x{1887}-\x{18A8}\x{18AA}\x{A840}-\x{A871}\x{10AC0}-\x{10AC4}\x{10AD3}-\x{10AD6}\x{10AD8}-\x{10ADC}\x{10ADE}-\x{10AE0}\x{10AEB}-\x{10AEE}\x{10B80}\x{10B82}\x{10B86}-\x{10B88}\x{10B8A}-\x{10B8B}\x{10B8D}\x{10B90}\x{10BAD}-\x{10BAE}\x{10D01}-\x{10D21}\x{10D23}\x{10F30}-\x{10F32}\x{10F34}-\x{10F44}\x{10F51}-\x{10F53}\x{10FB0}\x{10FB2}-\x{10FB3}\x{10FB8}\x{10FBB}-\x{10FBC}\x{10FBE}-\x{10FBF}\x{10FC1}\x{10FC4}\x{10FCA}\x{1E900}-\x{1E943}]/u';
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
223 => 'ss',
|
5 |
-
962 => 'σ',
|
6 |
-
8204 => '',
|
7 |
-
8205 => '',
|
8 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php
DELETED
@@ -1,2638 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
888 => true,
|
5 |
-
889 => true,
|
6 |
-
896 => true,
|
7 |
-
897 => true,
|
8 |
-
898 => true,
|
9 |
-
899 => true,
|
10 |
-
907 => true,
|
11 |
-
909 => true,
|
12 |
-
930 => true,
|
13 |
-
1216 => true,
|
14 |
-
1328 => true,
|
15 |
-
1367 => true,
|
16 |
-
1368 => true,
|
17 |
-
1419 => true,
|
18 |
-
1420 => true,
|
19 |
-
1424 => true,
|
20 |
-
1480 => true,
|
21 |
-
1481 => true,
|
22 |
-
1482 => true,
|
23 |
-
1483 => true,
|
24 |
-
1484 => true,
|
25 |
-
1485 => true,
|
26 |
-
1486 => true,
|
27 |
-
1487 => true,
|
28 |
-
1515 => true,
|
29 |
-
1516 => true,
|
30 |
-
1517 => true,
|
31 |
-
1518 => true,
|
32 |
-
1525 => true,
|
33 |
-
1526 => true,
|
34 |
-
1527 => true,
|
35 |
-
1528 => true,
|
36 |
-
1529 => true,
|
37 |
-
1530 => true,
|
38 |
-
1531 => true,
|
39 |
-
1532 => true,
|
40 |
-
1533 => true,
|
41 |
-
1534 => true,
|
42 |
-
1535 => true,
|
43 |
-
1536 => true,
|
44 |
-
1537 => true,
|
45 |
-
1538 => true,
|
46 |
-
1539 => true,
|
47 |
-
1540 => true,
|
48 |
-
1541 => true,
|
49 |
-
1564 => true,
|
50 |
-
1565 => true,
|
51 |
-
1757 => true,
|
52 |
-
1806 => true,
|
53 |
-
1807 => true,
|
54 |
-
1867 => true,
|
55 |
-
1868 => true,
|
56 |
-
1970 => true,
|
57 |
-
1971 => true,
|
58 |
-
1972 => true,
|
59 |
-
1973 => true,
|
60 |
-
1974 => true,
|
61 |
-
1975 => true,
|
62 |
-
1976 => true,
|
63 |
-
1977 => true,
|
64 |
-
1978 => true,
|
65 |
-
1979 => true,
|
66 |
-
1980 => true,
|
67 |
-
1981 => true,
|
68 |
-
1982 => true,
|
69 |
-
1983 => true,
|
70 |
-
2043 => true,
|
71 |
-
2044 => true,
|
72 |
-
2094 => true,
|
73 |
-
2095 => true,
|
74 |
-
2111 => true,
|
75 |
-
2140 => true,
|
76 |
-
2141 => true,
|
77 |
-
2143 => true,
|
78 |
-
2229 => true,
|
79 |
-
2248 => true,
|
80 |
-
2249 => true,
|
81 |
-
2250 => true,
|
82 |
-
2251 => true,
|
83 |
-
2252 => true,
|
84 |
-
2253 => true,
|
85 |
-
2254 => true,
|
86 |
-
2255 => true,
|
87 |
-
2256 => true,
|
88 |
-
2257 => true,
|
89 |
-
2258 => true,
|
90 |
-
2274 => true,
|
91 |
-
2436 => true,
|
92 |
-
2445 => true,
|
93 |
-
2446 => true,
|
94 |
-
2449 => true,
|
95 |
-
2450 => true,
|
96 |
-
2473 => true,
|
97 |
-
2481 => true,
|
98 |
-
2483 => true,
|
99 |
-
2484 => true,
|
100 |
-
2485 => true,
|
101 |
-
2490 => true,
|
102 |
-
2491 => true,
|
103 |
-
2501 => true,
|
104 |
-
2502 => true,
|
105 |
-
2505 => true,
|
106 |
-
2506 => true,
|
107 |
-
2511 => true,
|
108 |
-
2512 => true,
|
109 |
-
2513 => true,
|
110 |
-
2514 => true,
|
111 |
-
2515 => true,
|
112 |
-
2516 => true,
|
113 |
-
2517 => true,
|
114 |
-
2518 => true,
|
115 |
-
2520 => true,
|
116 |
-
2521 => true,
|
117 |
-
2522 => true,
|
118 |
-
2523 => true,
|
119 |
-
2526 => true,
|
120 |
-
2532 => true,
|
121 |
-
2533 => true,
|
122 |
-
2559 => true,
|
123 |
-
2560 => true,
|
124 |
-
2564 => true,
|
125 |
-
2571 => true,
|
126 |
-
2572 => true,
|
127 |
-
2573 => true,
|
128 |
-
2574 => true,
|
129 |
-
2577 => true,
|
130 |
-
2578 => true,
|
131 |
-
2601 => true,
|
132 |
-
2609 => true,
|
133 |
-
2612 => true,
|
134 |
-
2615 => true,
|
135 |
-
2618 => true,
|
136 |
-
2619 => true,
|
137 |
-
2621 => true,
|
138 |
-
2627 => true,
|
139 |
-
2628 => true,
|
140 |
-
2629 => true,
|
141 |
-
2630 => true,
|
142 |
-
2633 => true,
|
143 |
-
2634 => true,
|
144 |
-
2638 => true,
|
145 |
-
2639 => true,
|
146 |
-
2640 => true,
|
147 |
-
2642 => true,
|
148 |
-
2643 => true,
|
149 |
-
2644 => true,
|
150 |
-
2645 => true,
|
151 |
-
2646 => true,
|
152 |
-
2647 => true,
|
153 |
-
2648 => true,
|
154 |
-
2653 => true,
|
155 |
-
2655 => true,
|
156 |
-
2656 => true,
|
157 |
-
2657 => true,
|
158 |
-
2658 => true,
|
159 |
-
2659 => true,
|
160 |
-
2660 => true,
|
161 |
-
2661 => true,
|
162 |
-
2679 => true,
|
163 |
-
2680 => true,
|
164 |
-
2681 => true,
|
165 |
-
2682 => true,
|
166 |
-
2683 => true,
|
167 |
-
2684 => true,
|
168 |
-
2685 => true,
|
169 |
-
2686 => true,
|
170 |
-
2687 => true,
|
171 |
-
2688 => true,
|
172 |
-
2692 => true,
|
173 |
-
2702 => true,
|
174 |
-
2706 => true,
|
175 |
-
2729 => true,
|
176 |
-
2737 => true,
|
177 |
-
2740 => true,
|
178 |
-
2746 => true,
|
179 |
-
2747 => true,
|
180 |
-
2758 => true,
|
181 |
-
2762 => true,
|
182 |
-
2766 => true,
|
183 |
-
2767 => true,
|
184 |
-
2769 => true,
|
185 |
-
2770 => true,
|
186 |
-
2771 => true,
|
187 |
-
2772 => true,
|
188 |
-
2773 => true,
|
189 |
-
2774 => true,
|
190 |
-
2775 => true,
|
191 |
-
2776 => true,
|
192 |
-
2777 => true,
|
193 |
-
2778 => true,
|
194 |
-
2779 => true,
|
195 |
-
2780 => true,
|
196 |
-
2781 => true,
|
197 |
-
2782 => true,
|
198 |
-
2783 => true,
|
199 |
-
2788 => true,
|
200 |
-
2789 => true,
|
201 |
-
2802 => true,
|
202 |
-
2803 => true,
|
203 |
-
2804 => true,
|
204 |
-
2805 => true,
|
205 |
-
2806 => true,
|
206 |
-
2807 => true,
|
207 |
-
2808 => true,
|
208 |
-
2816 => true,
|
209 |
-
2820 => true,
|
210 |
-
2829 => true,
|
211 |
-
2830 => true,
|
212 |
-
2833 => true,
|
213 |
-
2834 => true,
|
214 |
-
2857 => true,
|
215 |
-
2865 => true,
|
216 |
-
2868 => true,
|
217 |
-
2874 => true,
|
218 |
-
2875 => true,
|
219 |
-
2885 => true,
|
220 |
-
2886 => true,
|
221 |
-
2889 => true,
|
222 |
-
2890 => true,
|
223 |
-
2894 => true,
|
224 |
-
2895 => true,
|
225 |
-
2896 => true,
|
226 |
-
2897 => true,
|
227 |
-
2898 => true,
|
228 |
-
2899 => true,
|
229 |
-
2900 => true,
|
230 |
-
2904 => true,
|
231 |
-
2905 => true,
|
232 |
-
2906 => true,
|
233 |
-
2907 => true,
|
234 |
-
2910 => true,
|
235 |
-
2916 => true,
|
236 |
-
2917 => true,
|
237 |
-
2936 => true,
|
238 |
-
2937 => true,
|
239 |
-
2938 => true,
|
240 |
-
2939 => true,
|
241 |
-
2940 => true,
|
242 |
-
2941 => true,
|
243 |
-
2942 => true,
|
244 |
-
2943 => true,
|
245 |
-
2944 => true,
|
246 |
-
2945 => true,
|
247 |
-
2948 => true,
|
248 |
-
2955 => true,
|
249 |
-
2956 => true,
|
250 |
-
2957 => true,
|
251 |
-
2961 => true,
|
252 |
-
2966 => true,
|
253 |
-
2967 => true,
|
254 |
-
2968 => true,
|
255 |
-
2971 => true,
|
256 |
-
2973 => true,
|
257 |
-
2976 => true,
|
258 |
-
2977 => true,
|
259 |
-
2978 => true,
|
260 |
-
2981 => true,
|
261 |
-
2982 => true,
|
262 |
-
2983 => true,
|
263 |
-
2987 => true,
|
264 |
-
2988 => true,
|
265 |
-
2989 => true,
|
266 |
-
3002 => true,
|
267 |
-
3003 => true,
|
268 |
-
3004 => true,
|
269 |
-
3005 => true,
|
270 |
-
3011 => true,
|
271 |
-
3012 => true,
|
272 |
-
3013 => true,
|
273 |
-
3017 => true,
|
274 |
-
3022 => true,
|
275 |
-
3023 => true,
|
276 |
-
3025 => true,
|
277 |
-
3026 => true,
|
278 |
-
3027 => true,
|
279 |
-
3028 => true,
|
280 |
-
3029 => true,
|
281 |
-
3030 => true,
|
282 |
-
3032 => true,
|
283 |
-
3033 => true,
|
284 |
-
3034 => true,
|
285 |
-
3035 => true,
|
286 |
-
3036 => true,
|
287 |
-
3037 => true,
|
288 |
-
3038 => true,
|
289 |
-
3039 => true,
|
290 |
-
3040 => true,
|
291 |
-
3041 => true,
|
292 |
-
3042 => true,
|
293 |
-
3043 => true,
|
294 |
-
3044 => true,
|
295 |
-
3045 => true,
|
296 |
-
3067 => true,
|
297 |
-
3068 => true,
|
298 |
-
3069 => true,
|
299 |
-
3070 => true,
|
300 |
-
3071 => true,
|
301 |
-
3085 => true,
|
302 |
-
3089 => true,
|
303 |
-
3113 => true,
|
304 |
-
3130 => true,
|
305 |
-
3131 => true,
|
306 |
-
3132 => true,
|
307 |
-
3141 => true,
|
308 |
-
3145 => true,
|
309 |
-
3150 => true,
|
310 |
-
3151 => true,
|
311 |
-
3152 => true,
|
312 |
-
3153 => true,
|
313 |
-
3154 => true,
|
314 |
-
3155 => true,
|
315 |
-
3156 => true,
|
316 |
-
3159 => true,
|
317 |
-
3163 => true,
|
318 |
-
3164 => true,
|
319 |
-
3165 => true,
|
320 |
-
3166 => true,
|
321 |
-
3167 => true,
|
322 |
-
3172 => true,
|
323 |
-
3173 => true,
|
324 |
-
3184 => true,
|
325 |
-
3185 => true,
|
326 |
-
3186 => true,
|
327 |
-
3187 => true,
|
328 |
-
3188 => true,
|
329 |
-
3189 => true,
|
330 |
-
3190 => true,
|
331 |
-
3213 => true,
|
332 |
-
3217 => true,
|
333 |
-
3241 => true,
|
334 |
-
3252 => true,
|
335 |
-
3258 => true,
|
336 |
-
3259 => true,
|
337 |
-
3269 => true,
|
338 |
-
3273 => true,
|
339 |
-
3278 => true,
|
340 |
-
3279 => true,
|
341 |
-
3280 => true,
|
342 |
-
3281 => true,
|
343 |
-
3282 => true,
|
344 |
-
3283 => true,
|
345 |
-
3284 => true,
|
346 |
-
3287 => true,
|
347 |
-
3288 => true,
|
348 |
-
3289 => true,
|
349 |
-
3290 => true,
|
350 |
-
3291 => true,
|
351 |
-
3292 => true,
|
352 |
-
3293 => true,
|
353 |
-
3295 => true,
|
354 |
-
3300 => true,
|
355 |
-
3301 => true,
|
356 |
-
3312 => true,
|
357 |
-
3315 => true,
|
358 |
-
3316 => true,
|
359 |
-
3317 => true,
|
360 |
-
3318 => true,
|
361 |
-
3319 => true,
|
362 |
-
3320 => true,
|
363 |
-
3321 => true,
|
364 |
-
3322 => true,
|
365 |
-
3323 => true,
|
366 |
-
3324 => true,
|
367 |
-
3325 => true,
|
368 |
-
3326 => true,
|
369 |
-
3327 => true,
|
370 |
-
3341 => true,
|
371 |
-
3345 => true,
|
372 |
-
3397 => true,
|
373 |
-
3401 => true,
|
374 |
-
3408 => true,
|
375 |
-
3409 => true,
|
376 |
-
3410 => true,
|
377 |
-
3411 => true,
|
378 |
-
3428 => true,
|
379 |
-
3429 => true,
|
380 |
-
3456 => true,
|
381 |
-
3460 => true,
|
382 |
-
3479 => true,
|
383 |
-
3480 => true,
|
384 |
-
3481 => true,
|
385 |
-
3506 => true,
|
386 |
-
3516 => true,
|
387 |
-
3518 => true,
|
388 |
-
3519 => true,
|
389 |
-
3527 => true,
|
390 |
-
3528 => true,
|
391 |
-
3529 => true,
|
392 |
-
3531 => true,
|
393 |
-
3532 => true,
|
394 |
-
3533 => true,
|
395 |
-
3534 => true,
|
396 |
-
3541 => true,
|
397 |
-
3543 => true,
|
398 |
-
3552 => true,
|
399 |
-
3553 => true,
|
400 |
-
3554 => true,
|
401 |
-
3555 => true,
|
402 |
-
3556 => true,
|
403 |
-
3557 => true,
|
404 |
-
3568 => true,
|
405 |
-
3569 => true,
|
406 |
-
3573 => true,
|
407 |
-
3574 => true,
|
408 |
-
3575 => true,
|
409 |
-
3576 => true,
|
410 |
-
3577 => true,
|
411 |
-
3578 => true,
|
412 |
-
3579 => true,
|
413 |
-
3580 => true,
|
414 |
-
3581 => true,
|
415 |
-
3582 => true,
|
416 |
-
3583 => true,
|
417 |
-
3584 => true,
|
418 |
-
3643 => true,
|
419 |
-
3644 => true,
|
420 |
-
3645 => true,
|
421 |
-
3646 => true,
|
422 |
-
3715 => true,
|
423 |
-
3717 => true,
|
424 |
-
3723 => true,
|
425 |
-
3748 => true,
|
426 |
-
3750 => true,
|
427 |
-
3774 => true,
|
428 |
-
3775 => true,
|
429 |
-
3781 => true,
|
430 |
-
3783 => true,
|
431 |
-
3790 => true,
|
432 |
-
3791 => true,
|
433 |
-
3802 => true,
|
434 |
-
3803 => true,
|
435 |
-
3912 => true,
|
436 |
-
3949 => true,
|
437 |
-
3950 => true,
|
438 |
-
3951 => true,
|
439 |
-
3952 => true,
|
440 |
-
3992 => true,
|
441 |
-
4029 => true,
|
442 |
-
4045 => true,
|
443 |
-
4294 => true,
|
444 |
-
4296 => true,
|
445 |
-
4297 => true,
|
446 |
-
4298 => true,
|
447 |
-
4299 => true,
|
448 |
-
4300 => true,
|
449 |
-
4302 => true,
|
450 |
-
4303 => true,
|
451 |
-
4447 => true,
|
452 |
-
4448 => true,
|
453 |
-
4681 => true,
|
454 |
-
4686 => true,
|
455 |
-
4687 => true,
|
456 |
-
4695 => true,
|
457 |
-
4697 => true,
|
458 |
-
4702 => true,
|
459 |
-
4703 => true,
|
460 |
-
4745 => true,
|
461 |
-
4750 => true,
|
462 |
-
4751 => true,
|
463 |
-
4785 => true,
|
464 |
-
4790 => true,
|
465 |
-
4791 => true,
|
466 |
-
4799 => true,
|
467 |
-
4801 => true,
|
468 |
-
4806 => true,
|
469 |
-
4807 => true,
|
470 |
-
4823 => true,
|
471 |
-
4881 => true,
|
472 |
-
4886 => true,
|
473 |
-
4887 => true,
|
474 |
-
4955 => true,
|
475 |
-
4956 => true,
|
476 |
-
4989 => true,
|
477 |
-
4990 => true,
|
478 |
-
4991 => true,
|
479 |
-
5018 => true,
|
480 |
-
5019 => true,
|
481 |
-
5020 => true,
|
482 |
-
5021 => true,
|
483 |
-
5022 => true,
|
484 |
-
5023 => true,
|
485 |
-
5110 => true,
|
486 |
-
5111 => true,
|
487 |
-
5118 => true,
|
488 |
-
5119 => true,
|
489 |
-
5760 => true,
|
490 |
-
5789 => true,
|
491 |
-
5790 => true,
|
492 |
-
5791 => true,
|
493 |
-
5881 => true,
|
494 |
-
5882 => true,
|
495 |
-
5883 => true,
|
496 |
-
5884 => true,
|
497 |
-
5885 => true,
|
498 |
-
5886 => true,
|
499 |
-
5887 => true,
|
500 |
-
5901 => true,
|
501 |
-
5909 => true,
|
502 |
-
5910 => true,
|
503 |
-
5911 => true,
|
504 |
-
5912 => true,
|
505 |
-
5913 => true,
|
506 |
-
5914 => true,
|
507 |
-
5915 => true,
|
508 |
-
5916 => true,
|
509 |
-
5917 => true,
|
510 |
-
5918 => true,
|
511 |
-
5919 => true,
|
512 |
-
5943 => true,
|
513 |
-
5944 => true,
|
514 |
-
5945 => true,
|
515 |
-
5946 => true,
|
516 |
-
5947 => true,
|
517 |
-
5948 => true,
|
518 |
-
5949 => true,
|
519 |
-
5950 => true,
|
520 |
-
5951 => true,
|
521 |
-
5972 => true,
|
522 |
-
5973 => true,
|
523 |
-
5974 => true,
|
524 |
-
5975 => true,
|
525 |
-
5976 => true,
|
526 |
-
5977 => true,
|
527 |
-
5978 => true,
|
528 |
-
5979 => true,
|
529 |
-
5980 => true,
|
530 |
-
5981 => true,
|
531 |
-
5982 => true,
|
532 |
-
5983 => true,
|
533 |
-
5997 => true,
|
534 |
-
6001 => true,
|
535 |
-
6004 => true,
|
536 |
-
6005 => true,
|
537 |
-
6006 => true,
|
538 |
-
6007 => true,
|
539 |
-
6008 => true,
|
540 |
-
6009 => true,
|
541 |
-
6010 => true,
|
542 |
-
6011 => true,
|
543 |
-
6012 => true,
|
544 |
-
6013 => true,
|
545 |
-
6014 => true,
|
546 |
-
6015 => true,
|
547 |
-
6068 => true,
|
548 |
-
6069 => true,
|
549 |
-
6110 => true,
|
550 |
-
6111 => true,
|
551 |
-
6122 => true,
|
552 |
-
6123 => true,
|
553 |
-
6124 => true,
|
554 |
-
6125 => true,
|
555 |
-
6126 => true,
|
556 |
-
6127 => true,
|
557 |
-
6138 => true,
|
558 |
-
6139 => true,
|
559 |
-
6140 => true,
|
560 |
-
6141 => true,
|
561 |
-
6142 => true,
|
562 |
-
6143 => true,
|
563 |
-
6150 => true,
|
564 |
-
6158 => true,
|
565 |
-
6159 => true,
|
566 |
-
6170 => true,
|
567 |
-
6171 => true,
|
568 |
-
6172 => true,
|
569 |
-
6173 => true,
|
570 |
-
6174 => true,
|
571 |
-
6175 => true,
|
572 |
-
6265 => true,
|
573 |
-
6266 => true,
|
574 |
-
6267 => true,
|
575 |
-
6268 => true,
|
576 |
-
6269 => true,
|
577 |
-
6270 => true,
|
578 |
-
6271 => true,
|
579 |
-
6315 => true,
|
580 |
-
6316 => true,
|
581 |
-
6317 => true,
|
582 |
-
6318 => true,
|
583 |
-
6319 => true,
|
584 |
-
6390 => true,
|
585 |
-
6391 => true,
|
586 |
-
6392 => true,
|
587 |
-
6393 => true,
|
588 |
-
6394 => true,
|
589 |
-
6395 => true,
|
590 |
-
6396 => true,
|
591 |
-
6397 => true,
|
592 |
-
6398 => true,
|
593 |
-
6399 => true,
|
594 |
-
6431 => true,
|
595 |
-
6444 => true,
|
596 |
-
6445 => true,
|
597 |
-
6446 => true,
|
598 |
-
6447 => true,
|
599 |
-
6460 => true,
|
600 |
-
6461 => true,
|
601 |
-
6462 => true,
|
602 |
-
6463 => true,
|
603 |
-
6465 => true,
|
604 |
-
6466 => true,
|
605 |
-
6467 => true,
|
606 |
-
6510 => true,
|
607 |
-
6511 => true,
|
608 |
-
6517 => true,
|
609 |
-
6518 => true,
|
610 |
-
6519 => true,
|
611 |
-
6520 => true,
|
612 |
-
6521 => true,
|
613 |
-
6522 => true,
|
614 |
-
6523 => true,
|
615 |
-
6524 => true,
|
616 |
-
6525 => true,
|
617 |
-
6526 => true,
|
618 |
-
6527 => true,
|
619 |
-
6572 => true,
|
620 |
-
6573 => true,
|
621 |
-
6574 => true,
|
622 |
-
6575 => true,
|
623 |
-
6602 => true,
|
624 |
-
6603 => true,
|
625 |
-
6604 => true,
|
626 |
-
6605 => true,
|
627 |
-
6606 => true,
|
628 |
-
6607 => true,
|
629 |
-
6619 => true,
|
630 |
-
6620 => true,
|
631 |
-
6621 => true,
|
632 |
-
6684 => true,
|
633 |
-
6685 => true,
|
634 |
-
6751 => true,
|
635 |
-
6781 => true,
|
636 |
-
6782 => true,
|
637 |
-
6794 => true,
|
638 |
-
6795 => true,
|
639 |
-
6796 => true,
|
640 |
-
6797 => true,
|
641 |
-
6798 => true,
|
642 |
-
6799 => true,
|
643 |
-
6810 => true,
|
644 |
-
6811 => true,
|
645 |
-
6812 => true,
|
646 |
-
6813 => true,
|
647 |
-
6814 => true,
|
648 |
-
6815 => true,
|
649 |
-
6830 => true,
|
650 |
-
6831 => true,
|
651 |
-
6988 => true,
|
652 |
-
6989 => true,
|
653 |
-
6990 => true,
|
654 |
-
6991 => true,
|
655 |
-
7037 => true,
|
656 |
-
7038 => true,
|
657 |
-
7039 => true,
|
658 |
-
7156 => true,
|
659 |
-
7157 => true,
|
660 |
-
7158 => true,
|
661 |
-
7159 => true,
|
662 |
-
7160 => true,
|
663 |
-
7161 => true,
|
664 |
-
7162 => true,
|
665 |
-
7163 => true,
|
666 |
-
7224 => true,
|
667 |
-
7225 => true,
|
668 |
-
7226 => true,
|
669 |
-
7242 => true,
|
670 |
-
7243 => true,
|
671 |
-
7244 => true,
|
672 |
-
7305 => true,
|
673 |
-
7306 => true,
|
674 |
-
7307 => true,
|
675 |
-
7308 => true,
|
676 |
-
7309 => true,
|
677 |
-
7310 => true,
|
678 |
-
7311 => true,
|
679 |
-
7355 => true,
|
680 |
-
7356 => true,
|
681 |
-
7368 => true,
|
682 |
-
7369 => true,
|
683 |
-
7370 => true,
|
684 |
-
7371 => true,
|
685 |
-
7372 => true,
|
686 |
-
7373 => true,
|
687 |
-
7374 => true,
|
688 |
-
7375 => true,
|
689 |
-
7419 => true,
|
690 |
-
7420 => true,
|
691 |
-
7421 => true,
|
692 |
-
7422 => true,
|
693 |
-
7423 => true,
|
694 |
-
7674 => true,
|
695 |
-
7958 => true,
|
696 |
-
7959 => true,
|
697 |
-
7966 => true,
|
698 |
-
7967 => true,
|
699 |
-
8006 => true,
|
700 |
-
8007 => true,
|
701 |
-
8014 => true,
|
702 |
-
8015 => true,
|
703 |
-
8024 => true,
|
704 |
-
8026 => true,
|
705 |
-
8028 => true,
|
706 |
-
8030 => true,
|
707 |
-
8062 => true,
|
708 |
-
8063 => true,
|
709 |
-
8117 => true,
|
710 |
-
8133 => true,
|
711 |
-
8148 => true,
|
712 |
-
8149 => true,
|
713 |
-
8156 => true,
|
714 |
-
8176 => true,
|
715 |
-
8177 => true,
|
716 |
-
8181 => true,
|
717 |
-
8191 => true,
|
718 |
-
8206 => true,
|
719 |
-
8207 => true,
|
720 |
-
8228 => true,
|
721 |
-
8229 => true,
|
722 |
-
8230 => true,
|
723 |
-
8232 => true,
|
724 |
-
8233 => true,
|
725 |
-
8234 => true,
|
726 |
-
8235 => true,
|
727 |
-
8236 => true,
|
728 |
-
8237 => true,
|
729 |
-
8238 => true,
|
730 |
-
8289 => true,
|
731 |
-
8290 => true,
|
732 |
-
8291 => true,
|
733 |
-
8293 => true,
|
734 |
-
8294 => true,
|
735 |
-
8295 => true,
|
736 |
-
8296 => true,
|
737 |
-
8297 => true,
|
738 |
-
8298 => true,
|
739 |
-
8299 => true,
|
740 |
-
8300 => true,
|
741 |
-
8301 => true,
|
742 |
-
8302 => true,
|
743 |
-
8303 => true,
|
744 |
-
8306 => true,
|
745 |
-
8307 => true,
|
746 |
-
8335 => true,
|
747 |
-
8349 => true,
|
748 |
-
8350 => true,
|
749 |
-
8351 => true,
|
750 |
-
8384 => true,
|
751 |
-
8385 => true,
|
752 |
-
8386 => true,
|
753 |
-
8387 => true,
|
754 |
-
8388 => true,
|
755 |
-
8389 => true,
|
756 |
-
8390 => true,
|
757 |
-
8391 => true,
|
758 |
-
8392 => true,
|
759 |
-
8393 => true,
|
760 |
-
8394 => true,
|
761 |
-
8395 => true,
|
762 |
-
8396 => true,
|
763 |
-
8397 => true,
|
764 |
-
8398 => true,
|
765 |
-
8399 => true,
|
766 |
-
8433 => true,
|
767 |
-
8434 => true,
|
768 |
-
8435 => true,
|
769 |
-
8436 => true,
|
770 |
-
8437 => true,
|
771 |
-
8438 => true,
|
772 |
-
8439 => true,
|
773 |
-
8440 => true,
|
774 |
-
8441 => true,
|
775 |
-
8442 => true,
|
776 |
-
8443 => true,
|
777 |
-
8444 => true,
|
778 |
-
8445 => true,
|
779 |
-
8446 => true,
|
780 |
-
8447 => true,
|
781 |
-
8498 => true,
|
782 |
-
8579 => true,
|
783 |
-
8588 => true,
|
784 |
-
8589 => true,
|
785 |
-
8590 => true,
|
786 |
-
8591 => true,
|
787 |
-
9255 => true,
|
788 |
-
9256 => true,
|
789 |
-
9257 => true,
|
790 |
-
9258 => true,
|
791 |
-
9259 => true,
|
792 |
-
9260 => true,
|
793 |
-
9261 => true,
|
794 |
-
9262 => true,
|
795 |
-
9263 => true,
|
796 |
-
9264 => true,
|
797 |
-
9265 => true,
|
798 |
-
9266 => true,
|
799 |
-
9267 => true,
|
800 |
-
9268 => true,
|
801 |
-
9269 => true,
|
802 |
-
9270 => true,
|
803 |
-
9271 => true,
|
804 |
-
9272 => true,
|
805 |
-
9273 => true,
|
806 |
-
9274 => true,
|
807 |
-
9275 => true,
|
808 |
-
9276 => true,
|
809 |
-
9277 => true,
|
810 |
-
9278 => true,
|
811 |
-
9279 => true,
|
812 |
-
9291 => true,
|
813 |
-
9292 => true,
|
814 |
-
9293 => true,
|
815 |
-
9294 => true,
|
816 |
-
9295 => true,
|
817 |
-
9296 => true,
|
818 |
-
9297 => true,
|
819 |
-
9298 => true,
|
820 |
-
9299 => true,
|
821 |
-
9300 => true,
|
822 |
-
9301 => true,
|
823 |
-
9302 => true,
|
824 |
-
9303 => true,
|
825 |
-
9304 => true,
|
826 |
-
9305 => true,
|
827 |
-
9306 => true,
|
828 |
-
9307 => true,
|
829 |
-
9308 => true,
|
830 |
-
9309 => true,
|
831 |
-
9310 => true,
|
832 |
-
9311 => true,
|
833 |
-
9352 => true,
|
834 |
-
9353 => true,
|
835 |
-
9354 => true,
|
836 |
-
9355 => true,
|
837 |
-
9356 => true,
|
838 |
-
9357 => true,
|
839 |
-
9358 => true,
|
840 |
-
9359 => true,
|
841 |
-
9360 => true,
|
842 |
-
9361 => true,
|
843 |
-
9362 => true,
|
844 |
-
9363 => true,
|
845 |
-
9364 => true,
|
846 |
-
9365 => true,
|
847 |
-
9366 => true,
|
848 |
-
9367 => true,
|
849 |
-
9368 => true,
|
850 |
-
9369 => true,
|
851 |
-
9370 => true,
|
852 |
-
9371 => true,
|
853 |
-
11124 => true,
|
854 |
-
11125 => true,
|
855 |
-
11158 => true,
|
856 |
-
11311 => true,
|
857 |
-
11359 => true,
|
858 |
-
11508 => true,
|
859 |
-
11509 => true,
|
860 |
-
11510 => true,
|
861 |
-
11511 => true,
|
862 |
-
11512 => true,
|
863 |
-
11558 => true,
|
864 |
-
11560 => true,
|
865 |
-
11561 => true,
|
866 |
-
11562 => true,
|
867 |
-
11563 => true,
|
868 |
-
11564 => true,
|
869 |
-
11566 => true,
|
870 |
-
11567 => true,
|
871 |
-
11624 => true,
|
872 |
-
11625 => true,
|
873 |
-
11626 => true,
|
874 |
-
11627 => true,
|
875 |
-
11628 => true,
|
876 |
-
11629 => true,
|
877 |
-
11630 => true,
|
878 |
-
11633 => true,
|
879 |
-
11634 => true,
|
880 |
-
11635 => true,
|
881 |
-
11636 => true,
|
882 |
-
11637 => true,
|
883 |
-
11638 => true,
|
884 |
-
11639 => true,
|
885 |
-
11640 => true,
|
886 |
-
11641 => true,
|
887 |
-
11642 => true,
|
888 |
-
11643 => true,
|
889 |
-
11644 => true,
|
890 |
-
11645 => true,
|
891 |
-
11646 => true,
|
892 |
-
11671 => true,
|
893 |
-
11672 => true,
|
894 |
-
11673 => true,
|
895 |
-
11674 => true,
|
896 |
-
11675 => true,
|
897 |
-
11676 => true,
|
898 |
-
11677 => true,
|
899 |
-
11678 => true,
|
900 |
-
11679 => true,
|
901 |
-
11687 => true,
|
902 |
-
11695 => true,
|
903 |
-
11703 => true,
|
904 |
-
11711 => true,
|
905 |
-
11719 => true,
|
906 |
-
11727 => true,
|
907 |
-
11735 => true,
|
908 |
-
11743 => true,
|
909 |
-
11930 => true,
|
910 |
-
12020 => true,
|
911 |
-
12021 => true,
|
912 |
-
12022 => true,
|
913 |
-
12023 => true,
|
914 |
-
12024 => true,
|
915 |
-
12025 => true,
|
916 |
-
12026 => true,
|
917 |
-
12027 => true,
|
918 |
-
12028 => true,
|
919 |
-
12029 => true,
|
920 |
-
12030 => true,
|
921 |
-
12031 => true,
|
922 |
-
12246 => true,
|
923 |
-
12247 => true,
|
924 |
-
12248 => true,
|
925 |
-
12249 => true,
|
926 |
-
12250 => true,
|
927 |
-
12251 => true,
|
928 |
-
12252 => true,
|
929 |
-
12253 => true,
|
930 |
-
12254 => true,
|
931 |
-
12255 => true,
|
932 |
-
12256 => true,
|
933 |
-
12257 => true,
|
934 |
-
12258 => true,
|
935 |
-
12259 => true,
|
936 |
-
12260 => true,
|
937 |
-
12261 => true,
|
938 |
-
12262 => true,
|
939 |
-
12263 => true,
|
940 |
-
12264 => true,
|
941 |
-
12265 => true,
|
942 |
-
12266 => true,
|
943 |
-
12267 => true,
|
944 |
-
12268 => true,
|
945 |
-
12269 => true,
|
946 |
-
12270 => true,
|
947 |
-
12271 => true,
|
948 |
-
12272 => true,
|
949 |
-
12273 => true,
|
950 |
-
12274 => true,
|
951 |
-
12275 => true,
|
952 |
-
12276 => true,
|
953 |
-
12277 => true,
|
954 |
-
12278 => true,
|
955 |
-
12279 => true,
|
956 |
-
12280 => true,
|
957 |
-
12281 => true,
|
958 |
-
12282 => true,
|
959 |
-
12283 => true,
|
960 |
-
12284 => true,
|
961 |
-
12285 => true,
|
962 |
-
12286 => true,
|
963 |
-
12287 => true,
|
964 |
-
12352 => true,
|
965 |
-
12439 => true,
|
966 |
-
12440 => true,
|
967 |
-
12544 => true,
|
968 |
-
12545 => true,
|
969 |
-
12546 => true,
|
970 |
-
12547 => true,
|
971 |
-
12548 => true,
|
972 |
-
12592 => true,
|
973 |
-
12644 => true,
|
974 |
-
12687 => true,
|
975 |
-
12772 => true,
|
976 |
-
12773 => true,
|
977 |
-
12774 => true,
|
978 |
-
12775 => true,
|
979 |
-
12776 => true,
|
980 |
-
12777 => true,
|
981 |
-
12778 => true,
|
982 |
-
12779 => true,
|
983 |
-
12780 => true,
|
984 |
-
12781 => true,
|
985 |
-
12782 => true,
|
986 |
-
12783 => true,
|
987 |
-
12831 => true,
|
988 |
-
13250 => true,
|
989 |
-
13255 => true,
|
990 |
-
13272 => true,
|
991 |
-
40957 => true,
|
992 |
-
40958 => true,
|
993 |
-
40959 => true,
|
994 |
-
42125 => true,
|
995 |
-
42126 => true,
|
996 |
-
42127 => true,
|
997 |
-
42183 => true,
|
998 |
-
42184 => true,
|
999 |
-
42185 => true,
|
1000 |
-
42186 => true,
|
1001 |
-
42187 => true,
|
1002 |
-
42188 => true,
|
1003 |
-
42189 => true,
|
1004 |
-
42190 => true,
|
1005 |
-
42191 => true,
|
1006 |
-
42540 => true,
|
1007 |
-
42541 => true,
|
1008 |
-
42542 => true,
|
1009 |
-
42543 => true,
|
1010 |
-
42544 => true,
|
1011 |
-
42545 => true,
|
1012 |
-
42546 => true,
|
1013 |
-
42547 => true,
|
1014 |
-
42548 => true,
|
1015 |
-
42549 => true,
|
1016 |
-
42550 => true,
|
1017 |
-
42551 => true,
|
1018 |
-
42552 => true,
|
1019 |
-
42553 => true,
|
1020 |
-
42554 => true,
|
1021 |
-
42555 => true,
|
1022 |
-
42556 => true,
|
1023 |
-
42557 => true,
|
1024 |
-
42558 => true,
|
1025 |
-
42559 => true,
|
1026 |
-
42744 => true,
|
1027 |
-
42745 => true,
|
1028 |
-
42746 => true,
|
1029 |
-
42747 => true,
|
1030 |
-
42748 => true,
|
1031 |
-
42749 => true,
|
1032 |
-
42750 => true,
|
1033 |
-
42751 => true,
|
1034 |
-
42944 => true,
|
1035 |
-
42945 => true,
|
1036 |
-
43053 => true,
|
1037 |
-
43054 => true,
|
1038 |
-
43055 => true,
|
1039 |
-
43066 => true,
|
1040 |
-
43067 => true,
|
1041 |
-
43068 => true,
|
1042 |
-
43069 => true,
|
1043 |
-
43070 => true,
|
1044 |
-
43071 => true,
|
1045 |
-
43128 => true,
|
1046 |
-
43129 => true,
|
1047 |
-
43130 => true,
|
1048 |
-
43131 => true,
|
1049 |
-
43132 => true,
|
1050 |
-
43133 => true,
|
1051 |
-
43134 => true,
|
1052 |
-
43135 => true,
|
1053 |
-
43206 => true,
|
1054 |
-
43207 => true,
|
1055 |
-
43208 => true,
|
1056 |
-
43209 => true,
|
1057 |
-
43210 => true,
|
1058 |
-
43211 => true,
|
1059 |
-
43212 => true,
|
1060 |
-
43213 => true,
|
1061 |
-
43226 => true,
|
1062 |
-
43227 => true,
|
1063 |
-
43228 => true,
|
1064 |
-
43229 => true,
|
1065 |
-
43230 => true,
|
1066 |
-
43231 => true,
|
1067 |
-
43348 => true,
|
1068 |
-
43349 => true,
|
1069 |
-
43350 => true,
|
1070 |
-
43351 => true,
|
1071 |
-
43352 => true,
|
1072 |
-
43353 => true,
|
1073 |
-
43354 => true,
|
1074 |
-
43355 => true,
|
1075 |
-
43356 => true,
|
1076 |
-
43357 => true,
|
1077 |
-
43358 => true,
|
1078 |
-
43389 => true,
|
1079 |
-
43390 => true,
|
1080 |
-
43391 => true,
|
1081 |
-
43470 => true,
|
1082 |
-
43482 => true,
|
1083 |
-
43483 => true,
|
1084 |
-
43484 => true,
|
1085 |
-
43485 => true,
|
1086 |
-
43519 => true,
|
1087 |
-
43575 => true,
|
1088 |
-
43576 => true,
|
1089 |
-
43577 => true,
|
1090 |
-
43578 => true,
|
1091 |
-
43579 => true,
|
1092 |
-
43580 => true,
|
1093 |
-
43581 => true,
|
1094 |
-
43582 => true,
|
1095 |
-
43583 => true,
|
1096 |
-
43598 => true,
|
1097 |
-
43599 => true,
|
1098 |
-
43610 => true,
|
1099 |
-
43611 => true,
|
1100 |
-
43715 => true,
|
1101 |
-
43716 => true,
|
1102 |
-
43717 => true,
|
1103 |
-
43718 => true,
|
1104 |
-
43719 => true,
|
1105 |
-
43720 => true,
|
1106 |
-
43721 => true,
|
1107 |
-
43722 => true,
|
1108 |
-
43723 => true,
|
1109 |
-
43724 => true,
|
1110 |
-
43725 => true,
|
1111 |
-
43726 => true,
|
1112 |
-
43727 => true,
|
1113 |
-
43728 => true,
|
1114 |
-
43729 => true,
|
1115 |
-
43730 => true,
|
1116 |
-
43731 => true,
|
1117 |
-
43732 => true,
|
1118 |
-
43733 => true,
|
1119 |
-
43734 => true,
|
1120 |
-
43735 => true,
|
1121 |
-
43736 => true,
|
1122 |
-
43737 => true,
|
1123 |
-
43738 => true,
|
1124 |
-
43767 => true,
|
1125 |
-
43768 => true,
|
1126 |
-
43769 => true,
|
1127 |
-
43770 => true,
|
1128 |
-
43771 => true,
|
1129 |
-
43772 => true,
|
1130 |
-
43773 => true,
|
1131 |
-
43774 => true,
|
1132 |
-
43775 => true,
|
1133 |
-
43776 => true,
|
1134 |
-
43783 => true,
|
1135 |
-
43784 => true,
|
1136 |
-
43791 => true,
|
1137 |
-
43792 => true,
|
1138 |
-
43799 => true,
|
1139 |
-
43800 => true,
|
1140 |
-
43801 => true,
|
1141 |
-
43802 => true,
|
1142 |
-
43803 => true,
|
1143 |
-
43804 => true,
|
1144 |
-
43805 => true,
|
1145 |
-
43806 => true,
|
1146 |
-
43807 => true,
|
1147 |
-
43815 => true,
|
1148 |
-
43823 => true,
|
1149 |
-
43884 => true,
|
1150 |
-
43885 => true,
|
1151 |
-
43886 => true,
|
1152 |
-
43887 => true,
|
1153 |
-
44014 => true,
|
1154 |
-
44015 => true,
|
1155 |
-
44026 => true,
|
1156 |
-
44027 => true,
|
1157 |
-
44028 => true,
|
1158 |
-
44029 => true,
|
1159 |
-
44030 => true,
|
1160 |
-
44031 => true,
|
1161 |
-
55204 => true,
|
1162 |
-
55205 => true,
|
1163 |
-
55206 => true,
|
1164 |
-
55207 => true,
|
1165 |
-
55208 => true,
|
1166 |
-
55209 => true,
|
1167 |
-
55210 => true,
|
1168 |
-
55211 => true,
|
1169 |
-
55212 => true,
|
1170 |
-
55213 => true,
|
1171 |
-
55214 => true,
|
1172 |
-
55215 => true,
|
1173 |
-
55239 => true,
|
1174 |
-
55240 => true,
|
1175 |
-
55241 => true,
|
1176 |
-
55242 => true,
|
1177 |
-
55292 => true,
|
1178 |
-
55293 => true,
|
1179 |
-
55294 => true,
|
1180 |
-
55295 => true,
|
1181 |
-
64110 => true,
|
1182 |
-
64111 => true,
|
1183 |
-
64263 => true,
|
1184 |
-
64264 => true,
|
1185 |
-
64265 => true,
|
1186 |
-
64266 => true,
|
1187 |
-
64267 => true,
|
1188 |
-
64268 => true,
|
1189 |
-
64269 => true,
|
1190 |
-
64270 => true,
|
1191 |
-
64271 => true,
|
1192 |
-
64272 => true,
|
1193 |
-
64273 => true,
|
1194 |
-
64274 => true,
|
1195 |
-
64280 => true,
|
1196 |
-
64281 => true,
|
1197 |
-
64282 => true,
|
1198 |
-
64283 => true,
|
1199 |
-
64284 => true,
|
1200 |
-
64311 => true,
|
1201 |
-
64317 => true,
|
1202 |
-
64319 => true,
|
1203 |
-
64322 => true,
|
1204 |
-
64325 => true,
|
1205 |
-
64450 => true,
|
1206 |
-
64451 => true,
|
1207 |
-
64452 => true,
|
1208 |
-
64453 => true,
|
1209 |
-
64454 => true,
|
1210 |
-
64455 => true,
|
1211 |
-
64456 => true,
|
1212 |
-
64457 => true,
|
1213 |
-
64458 => true,
|
1214 |
-
64459 => true,
|
1215 |
-
64460 => true,
|
1216 |
-
64461 => true,
|
1217 |
-
64462 => true,
|
1218 |
-
64463 => true,
|
1219 |
-
64464 => true,
|
1220 |
-
64465 => true,
|
1221 |
-
64466 => true,
|
1222 |
-
64832 => true,
|
1223 |
-
64833 => true,
|
1224 |
-
64834 => true,
|
1225 |
-
64835 => true,
|
1226 |
-
64836 => true,
|
1227 |
-
64837 => true,
|
1228 |
-
64838 => true,
|
1229 |
-
64839 => true,
|
1230 |
-
64840 => true,
|
1231 |
-
64841 => true,
|
1232 |
-
64842 => true,
|
1233 |
-
64843 => true,
|
1234 |
-
64844 => true,
|
1235 |
-
64845 => true,
|
1236 |
-
64846 => true,
|
1237 |
-
64847 => true,
|
1238 |
-
64912 => true,
|
1239 |
-
64913 => true,
|
1240 |
-
64968 => true,
|
1241 |
-
64969 => true,
|
1242 |
-
64970 => true,
|
1243 |
-
64971 => true,
|
1244 |
-
64972 => true,
|
1245 |
-
64973 => true,
|
1246 |
-
64974 => true,
|
1247 |
-
64975 => true,
|
1248 |
-
65022 => true,
|
1249 |
-
65023 => true,
|
1250 |
-
65042 => true,
|
1251 |
-
65049 => true,
|
1252 |
-
65050 => true,
|
1253 |
-
65051 => true,
|
1254 |
-
65052 => true,
|
1255 |
-
65053 => true,
|
1256 |
-
65054 => true,
|
1257 |
-
65055 => true,
|
1258 |
-
65072 => true,
|
1259 |
-
65106 => true,
|
1260 |
-
65107 => true,
|
1261 |
-
65127 => true,
|
1262 |
-
65132 => true,
|
1263 |
-
65133 => true,
|
1264 |
-
65134 => true,
|
1265 |
-
65135 => true,
|
1266 |
-
65141 => true,
|
1267 |
-
65277 => true,
|
1268 |
-
65278 => true,
|
1269 |
-
65280 => true,
|
1270 |
-
65440 => true,
|
1271 |
-
65471 => true,
|
1272 |
-
65472 => true,
|
1273 |
-
65473 => true,
|
1274 |
-
65480 => true,
|
1275 |
-
65481 => true,
|
1276 |
-
65488 => true,
|
1277 |
-
65489 => true,
|
1278 |
-
65496 => true,
|
1279 |
-
65497 => true,
|
1280 |
-
65501 => true,
|
1281 |
-
65502 => true,
|
1282 |
-
65503 => true,
|
1283 |
-
65511 => true,
|
1284 |
-
65519 => true,
|
1285 |
-
65520 => true,
|
1286 |
-
65521 => true,
|
1287 |
-
65522 => true,
|
1288 |
-
65523 => true,
|
1289 |
-
65524 => true,
|
1290 |
-
65525 => true,
|
1291 |
-
65526 => true,
|
1292 |
-
65527 => true,
|
1293 |
-
65528 => true,
|
1294 |
-
65529 => true,
|
1295 |
-
65530 => true,
|
1296 |
-
65531 => true,
|
1297 |
-
65532 => true,
|
1298 |
-
65533 => true,
|
1299 |
-
65534 => true,
|
1300 |
-
65535 => true,
|
1301 |
-
65548 => true,
|
1302 |
-
65575 => true,
|
1303 |
-
65595 => true,
|
1304 |
-
65598 => true,
|
1305 |
-
65614 => true,
|
1306 |
-
65615 => true,
|
1307 |
-
65787 => true,
|
1308 |
-
65788 => true,
|
1309 |
-
65789 => true,
|
1310 |
-
65790 => true,
|
1311 |
-
65791 => true,
|
1312 |
-
65795 => true,
|
1313 |
-
65796 => true,
|
1314 |
-
65797 => true,
|
1315 |
-
65798 => true,
|
1316 |
-
65844 => true,
|
1317 |
-
65845 => true,
|
1318 |
-
65846 => true,
|
1319 |
-
65935 => true,
|
1320 |
-
65949 => true,
|
1321 |
-
65950 => true,
|
1322 |
-
65951 => true,
|
1323 |
-
66205 => true,
|
1324 |
-
66206 => true,
|
1325 |
-
66207 => true,
|
1326 |
-
66257 => true,
|
1327 |
-
66258 => true,
|
1328 |
-
66259 => true,
|
1329 |
-
66260 => true,
|
1330 |
-
66261 => true,
|
1331 |
-
66262 => true,
|
1332 |
-
66263 => true,
|
1333 |
-
66264 => true,
|
1334 |
-
66265 => true,
|
1335 |
-
66266 => true,
|
1336 |
-
66267 => true,
|
1337 |
-
66268 => true,
|
1338 |
-
66269 => true,
|
1339 |
-
66270 => true,
|
1340 |
-
66271 => true,
|
1341 |
-
66300 => true,
|
1342 |
-
66301 => true,
|
1343 |
-
66302 => true,
|
1344 |
-
66303 => true,
|
1345 |
-
66340 => true,
|
1346 |
-
66341 => true,
|
1347 |
-
66342 => true,
|
1348 |
-
66343 => true,
|
1349 |
-
66344 => true,
|
1350 |
-
66345 => true,
|
1351 |
-
66346 => true,
|
1352 |
-
66347 => true,
|
1353 |
-
66348 => true,
|
1354 |
-
66379 => true,
|
1355 |
-
66380 => true,
|
1356 |
-
66381 => true,
|
1357 |
-
66382 => true,
|
1358 |
-
66383 => true,
|
1359 |
-
66427 => true,
|
1360 |
-
66428 => true,
|
1361 |
-
66429 => true,
|
1362 |
-
66430 => true,
|
1363 |
-
66431 => true,
|
1364 |
-
66462 => true,
|
1365 |
-
66500 => true,
|
1366 |
-
66501 => true,
|
1367 |
-
66502 => true,
|
1368 |
-
66503 => true,
|
1369 |
-
66718 => true,
|
1370 |
-
66719 => true,
|
1371 |
-
66730 => true,
|
1372 |
-
66731 => true,
|
1373 |
-
66732 => true,
|
1374 |
-
66733 => true,
|
1375 |
-
66734 => true,
|
1376 |
-
66735 => true,
|
1377 |
-
66772 => true,
|
1378 |
-
66773 => true,
|
1379 |
-
66774 => true,
|
1380 |
-
66775 => true,
|
1381 |
-
66812 => true,
|
1382 |
-
66813 => true,
|
1383 |
-
66814 => true,
|
1384 |
-
66815 => true,
|
1385 |
-
66856 => true,
|
1386 |
-
66857 => true,
|
1387 |
-
66858 => true,
|
1388 |
-
66859 => true,
|
1389 |
-
66860 => true,
|
1390 |
-
66861 => true,
|
1391 |
-
66862 => true,
|
1392 |
-
66863 => true,
|
1393 |
-
66916 => true,
|
1394 |
-
66917 => true,
|
1395 |
-
66918 => true,
|
1396 |
-
66919 => true,
|
1397 |
-
66920 => true,
|
1398 |
-
66921 => true,
|
1399 |
-
66922 => true,
|
1400 |
-
66923 => true,
|
1401 |
-
66924 => true,
|
1402 |
-
66925 => true,
|
1403 |
-
66926 => true,
|
1404 |
-
67383 => true,
|
1405 |
-
67384 => true,
|
1406 |
-
67385 => true,
|
1407 |
-
67386 => true,
|
1408 |
-
67387 => true,
|
1409 |
-
67388 => true,
|
1410 |
-
67389 => true,
|
1411 |
-
67390 => true,
|
1412 |
-
67391 => true,
|
1413 |
-
67414 => true,
|
1414 |
-
67415 => true,
|
1415 |
-
67416 => true,
|
1416 |
-
67417 => true,
|
1417 |
-
67418 => true,
|
1418 |
-
67419 => true,
|
1419 |
-
67420 => true,
|
1420 |
-
67421 => true,
|
1421 |
-
67422 => true,
|
1422 |
-
67423 => true,
|
1423 |
-
67590 => true,
|
1424 |
-
67591 => true,
|
1425 |
-
67593 => true,
|
1426 |
-
67638 => true,
|
1427 |
-
67641 => true,
|
1428 |
-
67642 => true,
|
1429 |
-
67643 => true,
|
1430 |
-
67645 => true,
|
1431 |
-
67646 => true,
|
1432 |
-
67670 => true,
|
1433 |
-
67743 => true,
|
1434 |
-
67744 => true,
|
1435 |
-
67745 => true,
|
1436 |
-
67746 => true,
|
1437 |
-
67747 => true,
|
1438 |
-
67748 => true,
|
1439 |
-
67749 => true,
|
1440 |
-
67750 => true,
|
1441 |
-
67827 => true,
|
1442 |
-
67830 => true,
|
1443 |
-
67831 => true,
|
1444 |
-
67832 => true,
|
1445 |
-
67833 => true,
|
1446 |
-
67834 => true,
|
1447 |
-
67868 => true,
|
1448 |
-
67869 => true,
|
1449 |
-
67870 => true,
|
1450 |
-
67898 => true,
|
1451 |
-
67899 => true,
|
1452 |
-
67900 => true,
|
1453 |
-
67901 => true,
|
1454 |
-
67902 => true,
|
1455 |
-
68024 => true,
|
1456 |
-
68025 => true,
|
1457 |
-
68026 => true,
|
1458 |
-
68027 => true,
|
1459 |
-
68048 => true,
|
1460 |
-
68049 => true,
|
1461 |
-
68100 => true,
|
1462 |
-
68103 => true,
|
1463 |
-
68104 => true,
|
1464 |
-
68105 => true,
|
1465 |
-
68106 => true,
|
1466 |
-
68107 => true,
|
1467 |
-
68116 => true,
|
1468 |
-
68120 => true,
|
1469 |
-
68150 => true,
|
1470 |
-
68151 => true,
|
1471 |
-
68155 => true,
|
1472 |
-
68156 => true,
|
1473 |
-
68157 => true,
|
1474 |
-
68158 => true,
|
1475 |
-
68169 => true,
|
1476 |
-
68170 => true,
|
1477 |
-
68171 => true,
|
1478 |
-
68172 => true,
|
1479 |
-
68173 => true,
|
1480 |
-
68174 => true,
|
1481 |
-
68175 => true,
|
1482 |
-
68185 => true,
|
1483 |
-
68186 => true,
|
1484 |
-
68187 => true,
|
1485 |
-
68188 => true,
|
1486 |
-
68189 => true,
|
1487 |
-
68190 => true,
|
1488 |
-
68191 => true,
|
1489 |
-
68327 => true,
|
1490 |
-
68328 => true,
|
1491 |
-
68329 => true,
|
1492 |
-
68330 => true,
|
1493 |
-
68343 => true,
|
1494 |
-
68344 => true,
|
1495 |
-
68345 => true,
|
1496 |
-
68346 => true,
|
1497 |
-
68347 => true,
|
1498 |
-
68348 => true,
|
1499 |
-
68349 => true,
|
1500 |
-
68350 => true,
|
1501 |
-
68351 => true,
|
1502 |
-
68406 => true,
|
1503 |
-
68407 => true,
|
1504 |
-
68408 => true,
|
1505 |
-
68438 => true,
|
1506 |
-
68439 => true,
|
1507 |
-
68467 => true,
|
1508 |
-
68468 => true,
|
1509 |
-
68469 => true,
|
1510 |
-
68470 => true,
|
1511 |
-
68471 => true,
|
1512 |
-
68498 => true,
|
1513 |
-
68499 => true,
|
1514 |
-
68500 => true,
|
1515 |
-
68501 => true,
|
1516 |
-
68502 => true,
|
1517 |
-
68503 => true,
|
1518 |
-
68504 => true,
|
1519 |
-
68509 => true,
|
1520 |
-
68510 => true,
|
1521 |
-
68511 => true,
|
1522 |
-
68512 => true,
|
1523 |
-
68513 => true,
|
1524 |
-
68514 => true,
|
1525 |
-
68515 => true,
|
1526 |
-
68516 => true,
|
1527 |
-
68517 => true,
|
1528 |
-
68518 => true,
|
1529 |
-
68519 => true,
|
1530 |
-
68520 => true,
|
1531 |
-
68787 => true,
|
1532 |
-
68788 => true,
|
1533 |
-
68789 => true,
|
1534 |
-
68790 => true,
|
1535 |
-
68791 => true,
|
1536 |
-
68792 => true,
|
1537 |
-
68793 => true,
|
1538 |
-
68794 => true,
|
1539 |
-
68795 => true,
|
1540 |
-
68796 => true,
|
1541 |
-
68797 => true,
|
1542 |
-
68798 => true,
|
1543 |
-
68799 => true,
|
1544 |
-
68851 => true,
|
1545 |
-
68852 => true,
|
1546 |
-
68853 => true,
|
1547 |
-
68854 => true,
|
1548 |
-
68855 => true,
|
1549 |
-
68856 => true,
|
1550 |
-
68857 => true,
|
1551 |
-
68904 => true,
|
1552 |
-
68905 => true,
|
1553 |
-
68906 => true,
|
1554 |
-
68907 => true,
|
1555 |
-
68908 => true,
|
1556 |
-
68909 => true,
|
1557 |
-
68910 => true,
|
1558 |
-
68911 => true,
|
1559 |
-
69247 => true,
|
1560 |
-
69290 => true,
|
1561 |
-
69294 => true,
|
1562 |
-
69295 => true,
|
1563 |
-
69416 => true,
|
1564 |
-
69417 => true,
|
1565 |
-
69418 => true,
|
1566 |
-
69419 => true,
|
1567 |
-
69420 => true,
|
1568 |
-
69421 => true,
|
1569 |
-
69422 => true,
|
1570 |
-
69423 => true,
|
1571 |
-
69580 => true,
|
1572 |
-
69581 => true,
|
1573 |
-
69582 => true,
|
1574 |
-
69583 => true,
|
1575 |
-
69584 => true,
|
1576 |
-
69585 => true,
|
1577 |
-
69586 => true,
|
1578 |
-
69587 => true,
|
1579 |
-
69588 => true,
|
1580 |
-
69589 => true,
|
1581 |
-
69590 => true,
|
1582 |
-
69591 => true,
|
1583 |
-
69592 => true,
|
1584 |
-
69593 => true,
|
1585 |
-
69594 => true,
|
1586 |
-
69595 => true,
|
1587 |
-
69596 => true,
|
1588 |
-
69597 => true,
|
1589 |
-
69598 => true,
|
1590 |
-
69599 => true,
|
1591 |
-
69623 => true,
|
1592 |
-
69624 => true,
|
1593 |
-
69625 => true,
|
1594 |
-
69626 => true,
|
1595 |
-
69627 => true,
|
1596 |
-
69628 => true,
|
1597 |
-
69629 => true,
|
1598 |
-
69630 => true,
|
1599 |
-
69631 => true,
|
1600 |
-
69710 => true,
|
1601 |
-
69711 => true,
|
1602 |
-
69712 => true,
|
1603 |
-
69713 => true,
|
1604 |
-
69744 => true,
|
1605 |
-
69745 => true,
|
1606 |
-
69746 => true,
|
1607 |
-
69747 => true,
|
1608 |
-
69748 => true,
|
1609 |
-
69749 => true,
|
1610 |
-
69750 => true,
|
1611 |
-
69751 => true,
|
1612 |
-
69752 => true,
|
1613 |
-
69753 => true,
|
1614 |
-
69754 => true,
|
1615 |
-
69755 => true,
|
1616 |
-
69756 => true,
|
1617 |
-
69757 => true,
|
1618 |
-
69758 => true,
|
1619 |
-
69821 => true,
|
1620 |
-
69826 => true,
|
1621 |
-
69827 => true,
|
1622 |
-
69828 => true,
|
1623 |
-
69829 => true,
|
1624 |
-
69830 => true,
|
1625 |
-
69831 => true,
|
1626 |
-
69832 => true,
|
1627 |
-
69833 => true,
|
1628 |
-
69834 => true,
|
1629 |
-
69835 => true,
|
1630 |
-
69836 => true,
|
1631 |
-
69837 => true,
|
1632 |
-
69838 => true,
|
1633 |
-
69839 => true,
|
1634 |
-
69865 => true,
|
1635 |
-
69866 => true,
|
1636 |
-
69867 => true,
|
1637 |
-
69868 => true,
|
1638 |
-
69869 => true,
|
1639 |
-
69870 => true,
|
1640 |
-
69871 => true,
|
1641 |
-
69882 => true,
|
1642 |
-
69883 => true,
|
1643 |
-
69884 => true,
|
1644 |
-
69885 => true,
|
1645 |
-
69886 => true,
|
1646 |
-
69887 => true,
|
1647 |
-
69941 => true,
|
1648 |
-
69960 => true,
|
1649 |
-
69961 => true,
|
1650 |
-
69962 => true,
|
1651 |
-
69963 => true,
|
1652 |
-
69964 => true,
|
1653 |
-
69965 => true,
|
1654 |
-
69966 => true,
|
1655 |
-
69967 => true,
|
1656 |
-
70007 => true,
|
1657 |
-
70008 => true,
|
1658 |
-
70009 => true,
|
1659 |
-
70010 => true,
|
1660 |
-
70011 => true,
|
1661 |
-
70012 => true,
|
1662 |
-
70013 => true,
|
1663 |
-
70014 => true,
|
1664 |
-
70015 => true,
|
1665 |
-
70112 => true,
|
1666 |
-
70133 => true,
|
1667 |
-
70134 => true,
|
1668 |
-
70135 => true,
|
1669 |
-
70136 => true,
|
1670 |
-
70137 => true,
|
1671 |
-
70138 => true,
|
1672 |
-
70139 => true,
|
1673 |
-
70140 => true,
|
1674 |
-
70141 => true,
|
1675 |
-
70142 => true,
|
1676 |
-
70143 => true,
|
1677 |
-
70162 => true,
|
1678 |
-
70279 => true,
|
1679 |
-
70281 => true,
|
1680 |
-
70286 => true,
|
1681 |
-
70302 => true,
|
1682 |
-
70314 => true,
|
1683 |
-
70315 => true,
|
1684 |
-
70316 => true,
|
1685 |
-
70317 => true,
|
1686 |
-
70318 => true,
|
1687 |
-
70319 => true,
|
1688 |
-
70379 => true,
|
1689 |
-
70380 => true,
|
1690 |
-
70381 => true,
|
1691 |
-
70382 => true,
|
1692 |
-
70383 => true,
|
1693 |
-
70394 => true,
|
1694 |
-
70395 => true,
|
1695 |
-
70396 => true,
|
1696 |
-
70397 => true,
|
1697 |
-
70398 => true,
|
1698 |
-
70399 => true,
|
1699 |
-
70404 => true,
|
1700 |
-
70413 => true,
|
1701 |
-
70414 => true,
|
1702 |
-
70417 => true,
|
1703 |
-
70418 => true,
|
1704 |
-
70441 => true,
|
1705 |
-
70449 => true,
|
1706 |
-
70452 => true,
|
1707 |
-
70458 => true,
|
1708 |
-
70469 => true,
|
1709 |
-
70470 => true,
|
1710 |
-
70473 => true,
|
1711 |
-
70474 => true,
|
1712 |
-
70478 => true,
|
1713 |
-
70479 => true,
|
1714 |
-
70481 => true,
|
1715 |
-
70482 => true,
|
1716 |
-
70483 => true,
|
1717 |
-
70484 => true,
|
1718 |
-
70485 => true,
|
1719 |
-
70486 => true,
|
1720 |
-
70488 => true,
|
1721 |
-
70489 => true,
|
1722 |
-
70490 => true,
|
1723 |
-
70491 => true,
|
1724 |
-
70492 => true,
|
1725 |
-
70500 => true,
|
1726 |
-
70501 => true,
|
1727 |
-
70509 => true,
|
1728 |
-
70510 => true,
|
1729 |
-
70511 => true,
|
1730 |
-
70748 => true,
|
1731 |
-
70754 => true,
|
1732 |
-
70755 => true,
|
1733 |
-
70756 => true,
|
1734 |
-
70757 => true,
|
1735 |
-
70758 => true,
|
1736 |
-
70759 => true,
|
1737 |
-
70760 => true,
|
1738 |
-
70761 => true,
|
1739 |
-
70762 => true,
|
1740 |
-
70763 => true,
|
1741 |
-
70764 => true,
|
1742 |
-
70765 => true,
|
1743 |
-
70766 => true,
|
1744 |
-
70767 => true,
|
1745 |
-
70768 => true,
|
1746 |
-
70769 => true,
|
1747 |
-
70770 => true,
|
1748 |
-
70771 => true,
|
1749 |
-
70772 => true,
|
1750 |
-
70773 => true,
|
1751 |
-
70774 => true,
|
1752 |
-
70775 => true,
|
1753 |
-
70776 => true,
|
1754 |
-
70777 => true,
|
1755 |
-
70778 => true,
|
1756 |
-
70779 => true,
|
1757 |
-
70780 => true,
|
1758 |
-
70781 => true,
|
1759 |
-
70782 => true,
|
1760 |
-
70783 => true,
|
1761 |
-
70856 => true,
|
1762 |
-
70857 => true,
|
1763 |
-
70858 => true,
|
1764 |
-
70859 => true,
|
1765 |
-
70860 => true,
|
1766 |
-
70861 => true,
|
1767 |
-
70862 => true,
|
1768 |
-
70863 => true,
|
1769 |
-
71094 => true,
|
1770 |
-
71095 => true,
|
1771 |
-
71237 => true,
|
1772 |
-
71238 => true,
|
1773 |
-
71239 => true,
|
1774 |
-
71240 => true,
|
1775 |
-
71241 => true,
|
1776 |
-
71242 => true,
|
1777 |
-
71243 => true,
|
1778 |
-
71244 => true,
|
1779 |
-
71245 => true,
|
1780 |
-
71246 => true,
|
1781 |
-
71247 => true,
|
1782 |
-
71258 => true,
|
1783 |
-
71259 => true,
|
1784 |
-
71260 => true,
|
1785 |
-
71261 => true,
|
1786 |
-
71262 => true,
|
1787 |
-
71263 => true,
|
1788 |
-
71277 => true,
|
1789 |
-
71278 => true,
|
1790 |
-
71279 => true,
|
1791 |
-
71280 => true,
|
1792 |
-
71281 => true,
|
1793 |
-
71282 => true,
|
1794 |
-
71283 => true,
|
1795 |
-
71284 => true,
|
1796 |
-
71285 => true,
|
1797 |
-
71286 => true,
|
1798 |
-
71287 => true,
|
1799 |
-
71288 => true,
|
1800 |
-
71289 => true,
|
1801 |
-
71290 => true,
|
1802 |
-
71291 => true,
|
1803 |
-
71292 => true,
|
1804 |
-
71293 => true,
|
1805 |
-
71294 => true,
|
1806 |
-
71295 => true,
|
1807 |
-
71353 => true,
|
1808 |
-
71354 => true,
|
1809 |
-
71355 => true,
|
1810 |
-
71356 => true,
|
1811 |
-
71357 => true,
|
1812 |
-
71358 => true,
|
1813 |
-
71359 => true,
|
1814 |
-
71451 => true,
|
1815 |
-
71452 => true,
|
1816 |
-
71468 => true,
|
1817 |
-
71469 => true,
|
1818 |
-
71470 => true,
|
1819 |
-
71471 => true,
|
1820 |
-
71923 => true,
|
1821 |
-
71924 => true,
|
1822 |
-
71925 => true,
|
1823 |
-
71926 => true,
|
1824 |
-
71927 => true,
|
1825 |
-
71928 => true,
|
1826 |
-
71929 => true,
|
1827 |
-
71930 => true,
|
1828 |
-
71931 => true,
|
1829 |
-
71932 => true,
|
1830 |
-
71933 => true,
|
1831 |
-
71934 => true,
|
1832 |
-
71943 => true,
|
1833 |
-
71944 => true,
|
1834 |
-
71946 => true,
|
1835 |
-
71947 => true,
|
1836 |
-
71956 => true,
|
1837 |
-
71959 => true,
|
1838 |
-
71990 => true,
|
1839 |
-
71993 => true,
|
1840 |
-
71994 => true,
|
1841 |
-
72007 => true,
|
1842 |
-
72008 => true,
|
1843 |
-
72009 => true,
|
1844 |
-
72010 => true,
|
1845 |
-
72011 => true,
|
1846 |
-
72012 => true,
|
1847 |
-
72013 => true,
|
1848 |
-
72014 => true,
|
1849 |
-
72015 => true,
|
1850 |
-
72104 => true,
|
1851 |
-
72105 => true,
|
1852 |
-
72152 => true,
|
1853 |
-
72153 => true,
|
1854 |
-
72165 => true,
|
1855 |
-
72166 => true,
|
1856 |
-
72167 => true,
|
1857 |
-
72168 => true,
|
1858 |
-
72169 => true,
|
1859 |
-
72170 => true,
|
1860 |
-
72171 => true,
|
1861 |
-
72172 => true,
|
1862 |
-
72173 => true,
|
1863 |
-
72174 => true,
|
1864 |
-
72175 => true,
|
1865 |
-
72176 => true,
|
1866 |
-
72177 => true,
|
1867 |
-
72178 => true,
|
1868 |
-
72179 => true,
|
1869 |
-
72180 => true,
|
1870 |
-
72181 => true,
|
1871 |
-
72182 => true,
|
1872 |
-
72183 => true,
|
1873 |
-
72184 => true,
|
1874 |
-
72185 => true,
|
1875 |
-
72186 => true,
|
1876 |
-
72187 => true,
|
1877 |
-
72188 => true,
|
1878 |
-
72189 => true,
|
1879 |
-
72190 => true,
|
1880 |
-
72191 => true,
|
1881 |
-
72264 => true,
|
1882 |
-
72265 => true,
|
1883 |
-
72266 => true,
|
1884 |
-
72267 => true,
|
1885 |
-
72268 => true,
|
1886 |
-
72269 => true,
|
1887 |
-
72270 => true,
|
1888 |
-
72271 => true,
|
1889 |
-
72355 => true,
|
1890 |
-
72356 => true,
|
1891 |
-
72357 => true,
|
1892 |
-
72358 => true,
|
1893 |
-
72359 => true,
|
1894 |
-
72360 => true,
|
1895 |
-
72361 => true,
|
1896 |
-
72362 => true,
|
1897 |
-
72363 => true,
|
1898 |
-
72364 => true,
|
1899 |
-
72365 => true,
|
1900 |
-
72366 => true,
|
1901 |
-
72367 => true,
|
1902 |
-
72368 => true,
|
1903 |
-
72369 => true,
|
1904 |
-
72370 => true,
|
1905 |
-
72371 => true,
|
1906 |
-
72372 => true,
|
1907 |
-
72373 => true,
|
1908 |
-
72374 => true,
|
1909 |
-
72375 => true,
|
1910 |
-
72376 => true,
|
1911 |
-
72377 => true,
|
1912 |
-
72378 => true,
|
1913 |
-
72379 => true,
|
1914 |
-
72380 => true,
|
1915 |
-
72381 => true,
|
1916 |
-
72382 => true,
|
1917 |
-
72383 => true,
|
1918 |
-
72713 => true,
|
1919 |
-
72759 => true,
|
1920 |
-
72774 => true,
|
1921 |
-
72775 => true,
|
1922 |
-
72776 => true,
|
1923 |
-
72777 => true,
|
1924 |
-
72778 => true,
|
1925 |
-
72779 => true,
|
1926 |
-
72780 => true,
|
1927 |
-
72781 => true,
|
1928 |
-
72782 => true,
|
1929 |
-
72783 => true,
|
1930 |
-
72813 => true,
|
1931 |
-
72814 => true,
|
1932 |
-
72815 => true,
|
1933 |
-
72848 => true,
|
1934 |
-
72849 => true,
|
1935 |
-
72872 => true,
|
1936 |
-
72967 => true,
|
1937 |
-
72970 => true,
|
1938 |
-
73015 => true,
|
1939 |
-
73016 => true,
|
1940 |
-
73017 => true,
|
1941 |
-
73019 => true,
|
1942 |
-
73022 => true,
|
1943 |
-
73032 => true,
|
1944 |
-
73033 => true,
|
1945 |
-
73034 => true,
|
1946 |
-
73035 => true,
|
1947 |
-
73036 => true,
|
1948 |
-
73037 => true,
|
1949 |
-
73038 => true,
|
1950 |
-
73039 => true,
|
1951 |
-
73050 => true,
|
1952 |
-
73051 => true,
|
1953 |
-
73052 => true,
|
1954 |
-
73053 => true,
|
1955 |
-
73054 => true,
|
1956 |
-
73055 => true,
|
1957 |
-
73062 => true,
|
1958 |
-
73065 => true,
|
1959 |
-
73103 => true,
|
1960 |
-
73106 => true,
|
1961 |
-
73113 => true,
|
1962 |
-
73114 => true,
|
1963 |
-
73115 => true,
|
1964 |
-
73116 => true,
|
1965 |
-
73117 => true,
|
1966 |
-
73118 => true,
|
1967 |
-
73119 => true,
|
1968 |
-
73649 => true,
|
1969 |
-
73650 => true,
|
1970 |
-
73651 => true,
|
1971 |
-
73652 => true,
|
1972 |
-
73653 => true,
|
1973 |
-
73654 => true,
|
1974 |
-
73655 => true,
|
1975 |
-
73656 => true,
|
1976 |
-
73657 => true,
|
1977 |
-
73658 => true,
|
1978 |
-
73659 => true,
|
1979 |
-
73660 => true,
|
1980 |
-
73661 => true,
|
1981 |
-
73662 => true,
|
1982 |
-
73663 => true,
|
1983 |
-
73714 => true,
|
1984 |
-
73715 => true,
|
1985 |
-
73716 => true,
|
1986 |
-
73717 => true,
|
1987 |
-
73718 => true,
|
1988 |
-
73719 => true,
|
1989 |
-
73720 => true,
|
1990 |
-
73721 => true,
|
1991 |
-
73722 => true,
|
1992 |
-
73723 => true,
|
1993 |
-
73724 => true,
|
1994 |
-
73725 => true,
|
1995 |
-
73726 => true,
|
1996 |
-
74863 => true,
|
1997 |
-
74869 => true,
|
1998 |
-
74870 => true,
|
1999 |
-
74871 => true,
|
2000 |
-
74872 => true,
|
2001 |
-
74873 => true,
|
2002 |
-
74874 => true,
|
2003 |
-
74875 => true,
|
2004 |
-
74876 => true,
|
2005 |
-
74877 => true,
|
2006 |
-
74878 => true,
|
2007 |
-
74879 => true,
|
2008 |
-
78895 => true,
|
2009 |
-
78896 => true,
|
2010 |
-
78897 => true,
|
2011 |
-
78898 => true,
|
2012 |
-
78899 => true,
|
2013 |
-
78900 => true,
|
2014 |
-
78901 => true,
|
2015 |
-
78902 => true,
|
2016 |
-
78903 => true,
|
2017 |
-
78904 => true,
|
2018 |
-
92729 => true,
|
2019 |
-
92730 => true,
|
2020 |
-
92731 => true,
|
2021 |
-
92732 => true,
|
2022 |
-
92733 => true,
|
2023 |
-
92734 => true,
|
2024 |
-
92735 => true,
|
2025 |
-
92767 => true,
|
2026 |
-
92778 => true,
|
2027 |
-
92779 => true,
|
2028 |
-
92780 => true,
|
2029 |
-
92781 => true,
|
2030 |
-
92910 => true,
|
2031 |
-
92911 => true,
|
2032 |
-
92918 => true,
|
2033 |
-
92919 => true,
|
2034 |
-
92920 => true,
|
2035 |
-
92921 => true,
|
2036 |
-
92922 => true,
|
2037 |
-
92923 => true,
|
2038 |
-
92924 => true,
|
2039 |
-
92925 => true,
|
2040 |
-
92926 => true,
|
2041 |
-
92927 => true,
|
2042 |
-
92998 => true,
|
2043 |
-
92999 => true,
|
2044 |
-
93000 => true,
|
2045 |
-
93001 => true,
|
2046 |
-
93002 => true,
|
2047 |
-
93003 => true,
|
2048 |
-
93004 => true,
|
2049 |
-
93005 => true,
|
2050 |
-
93006 => true,
|
2051 |
-
93007 => true,
|
2052 |
-
93018 => true,
|
2053 |
-
93026 => true,
|
2054 |
-
93048 => true,
|
2055 |
-
93049 => true,
|
2056 |
-
93050 => true,
|
2057 |
-
93051 => true,
|
2058 |
-
93052 => true,
|
2059 |
-
94027 => true,
|
2060 |
-
94028 => true,
|
2061 |
-
94029 => true,
|
2062 |
-
94030 => true,
|
2063 |
-
94088 => true,
|
2064 |
-
94089 => true,
|
2065 |
-
94090 => true,
|
2066 |
-
94091 => true,
|
2067 |
-
94092 => true,
|
2068 |
-
94093 => true,
|
2069 |
-
94094 => true,
|
2070 |
-
94181 => true,
|
2071 |
-
94182 => true,
|
2072 |
-
94183 => true,
|
2073 |
-
94184 => true,
|
2074 |
-
94185 => true,
|
2075 |
-
94186 => true,
|
2076 |
-
94187 => true,
|
2077 |
-
94188 => true,
|
2078 |
-
94189 => true,
|
2079 |
-
94190 => true,
|
2080 |
-
94191 => true,
|
2081 |
-
94194 => true,
|
2082 |
-
94195 => true,
|
2083 |
-
94196 => true,
|
2084 |
-
94197 => true,
|
2085 |
-
94198 => true,
|
2086 |
-
94199 => true,
|
2087 |
-
94200 => true,
|
2088 |
-
94201 => true,
|
2089 |
-
94202 => true,
|
2090 |
-
94203 => true,
|
2091 |
-
94204 => true,
|
2092 |
-
94205 => true,
|
2093 |
-
94206 => true,
|
2094 |
-
94207 => true,
|
2095 |
-
100344 => true,
|
2096 |
-
100345 => true,
|
2097 |
-
100346 => true,
|
2098 |
-
100347 => true,
|
2099 |
-
100348 => true,
|
2100 |
-
100349 => true,
|
2101 |
-
100350 => true,
|
2102 |
-
100351 => true,
|
2103 |
-
110931 => true,
|
2104 |
-
110932 => true,
|
2105 |
-
110933 => true,
|
2106 |
-
110934 => true,
|
2107 |
-
110935 => true,
|
2108 |
-
110936 => true,
|
2109 |
-
110937 => true,
|
2110 |
-
110938 => true,
|
2111 |
-
110939 => true,
|
2112 |
-
110940 => true,
|
2113 |
-
110941 => true,
|
2114 |
-
110942 => true,
|
2115 |
-
110943 => true,
|
2116 |
-
110944 => true,
|
2117 |
-
110945 => true,
|
2118 |
-
110946 => true,
|
2119 |
-
110947 => true,
|
2120 |
-
110952 => true,
|
2121 |
-
110953 => true,
|
2122 |
-
110954 => true,
|
2123 |
-
110955 => true,
|
2124 |
-
110956 => true,
|
2125 |
-
110957 => true,
|
2126 |
-
110958 => true,
|
2127 |
-
110959 => true,
|
2128 |
-
113771 => true,
|
2129 |
-
113772 => true,
|
2130 |
-
113773 => true,
|
2131 |
-
113774 => true,
|
2132 |
-
113775 => true,
|
2133 |
-
113789 => true,
|
2134 |
-
113790 => true,
|
2135 |
-
113791 => true,
|
2136 |
-
113801 => true,
|
2137 |
-
113802 => true,
|
2138 |
-
113803 => true,
|
2139 |
-
113804 => true,
|
2140 |
-
113805 => true,
|
2141 |
-
113806 => true,
|
2142 |
-
113807 => true,
|
2143 |
-
113818 => true,
|
2144 |
-
113819 => true,
|
2145 |
-
119030 => true,
|
2146 |
-
119031 => true,
|
2147 |
-
119032 => true,
|
2148 |
-
119033 => true,
|
2149 |
-
119034 => true,
|
2150 |
-
119035 => true,
|
2151 |
-
119036 => true,
|
2152 |
-
119037 => true,
|
2153 |
-
119038 => true,
|
2154 |
-
119039 => true,
|
2155 |
-
119079 => true,
|
2156 |
-
119080 => true,
|
2157 |
-
119155 => true,
|
2158 |
-
119156 => true,
|
2159 |
-
119157 => true,
|
2160 |
-
119158 => true,
|
2161 |
-
119159 => true,
|
2162 |
-
119160 => true,
|
2163 |
-
119161 => true,
|
2164 |
-
119162 => true,
|
2165 |
-
119273 => true,
|
2166 |
-
119274 => true,
|
2167 |
-
119275 => true,
|
2168 |
-
119276 => true,
|
2169 |
-
119277 => true,
|
2170 |
-
119278 => true,
|
2171 |
-
119279 => true,
|
2172 |
-
119280 => true,
|
2173 |
-
119281 => true,
|
2174 |
-
119282 => true,
|
2175 |
-
119283 => true,
|
2176 |
-
119284 => true,
|
2177 |
-
119285 => true,
|
2178 |
-
119286 => true,
|
2179 |
-
119287 => true,
|
2180 |
-
119288 => true,
|
2181 |
-
119289 => true,
|
2182 |
-
119290 => true,
|
2183 |
-
119291 => true,
|
2184 |
-
119292 => true,
|
2185 |
-
119293 => true,
|
2186 |
-
119294 => true,
|
2187 |
-
119295 => true,
|
2188 |
-
119540 => true,
|
2189 |
-
119541 => true,
|
2190 |
-
119542 => true,
|
2191 |
-
119543 => true,
|
2192 |
-
119544 => true,
|
2193 |
-
119545 => true,
|
2194 |
-
119546 => true,
|
2195 |
-
119547 => true,
|
2196 |
-
119548 => true,
|
2197 |
-
119549 => true,
|
2198 |
-
119550 => true,
|
2199 |
-
119551 => true,
|
2200 |
-
119639 => true,
|
2201 |
-
119640 => true,
|
2202 |
-
119641 => true,
|
2203 |
-
119642 => true,
|
2204 |
-
119643 => true,
|
2205 |
-
119644 => true,
|
2206 |
-
119645 => true,
|
2207 |
-
119646 => true,
|
2208 |
-
119647 => true,
|
2209 |
-
119893 => true,
|
2210 |
-
119965 => true,
|
2211 |
-
119968 => true,
|
2212 |
-
119969 => true,
|
2213 |
-
119971 => true,
|
2214 |
-
119972 => true,
|
2215 |
-
119975 => true,
|
2216 |
-
119976 => true,
|
2217 |
-
119981 => true,
|
2218 |
-
119994 => true,
|
2219 |
-
119996 => true,
|
2220 |
-
120004 => true,
|
2221 |
-
120070 => true,
|
2222 |
-
120075 => true,
|
2223 |
-
120076 => true,
|
2224 |
-
120085 => true,
|
2225 |
-
120093 => true,
|
2226 |
-
120122 => true,
|
2227 |
-
120127 => true,
|
2228 |
-
120133 => true,
|
2229 |
-
120135 => true,
|
2230 |
-
120136 => true,
|
2231 |
-
120137 => true,
|
2232 |
-
120145 => true,
|
2233 |
-
120486 => true,
|
2234 |
-
120487 => true,
|
2235 |
-
120780 => true,
|
2236 |
-
120781 => true,
|
2237 |
-
121484 => true,
|
2238 |
-
121485 => true,
|
2239 |
-
121486 => true,
|
2240 |
-
121487 => true,
|
2241 |
-
121488 => true,
|
2242 |
-
121489 => true,
|
2243 |
-
121490 => true,
|
2244 |
-
121491 => true,
|
2245 |
-
121492 => true,
|
2246 |
-
121493 => true,
|
2247 |
-
121494 => true,
|
2248 |
-
121495 => true,
|
2249 |
-
121496 => true,
|
2250 |
-
121497 => true,
|
2251 |
-
121498 => true,
|
2252 |
-
121504 => true,
|
2253 |
-
122887 => true,
|
2254 |
-
122905 => true,
|
2255 |
-
122906 => true,
|
2256 |
-
122914 => true,
|
2257 |
-
122917 => true,
|
2258 |
-
123181 => true,
|
2259 |
-
123182 => true,
|
2260 |
-
123183 => true,
|
2261 |
-
123198 => true,
|
2262 |
-
123199 => true,
|
2263 |
-
123210 => true,
|
2264 |
-
123211 => true,
|
2265 |
-
123212 => true,
|
2266 |
-
123213 => true,
|
2267 |
-
123642 => true,
|
2268 |
-
123643 => true,
|
2269 |
-
123644 => true,
|
2270 |
-
123645 => true,
|
2271 |
-
123646 => true,
|
2272 |
-
125125 => true,
|
2273 |
-
125126 => true,
|
2274 |
-
125260 => true,
|
2275 |
-
125261 => true,
|
2276 |
-
125262 => true,
|
2277 |
-
125263 => true,
|
2278 |
-
125274 => true,
|
2279 |
-
125275 => true,
|
2280 |
-
125276 => true,
|
2281 |
-
125277 => true,
|
2282 |
-
126468 => true,
|
2283 |
-
126496 => true,
|
2284 |
-
126499 => true,
|
2285 |
-
126501 => true,
|
2286 |
-
126502 => true,
|
2287 |
-
126504 => true,
|
2288 |
-
126515 => true,
|
2289 |
-
126520 => true,
|
2290 |
-
126522 => true,
|
2291 |
-
126524 => true,
|
2292 |
-
126525 => true,
|
2293 |
-
126526 => true,
|
2294 |
-
126527 => true,
|
2295 |
-
126528 => true,
|
2296 |
-
126529 => true,
|
2297 |
-
126531 => true,
|
2298 |
-
126532 => true,
|
2299 |
-
126533 => true,
|
2300 |
-
126534 => true,
|
2301 |
-
126536 => true,
|
2302 |
-
126538 => true,
|
2303 |
-
126540 => true,
|
2304 |
-
126544 => true,
|
2305 |
-
126547 => true,
|
2306 |
-
126549 => true,
|
2307 |
-
126550 => true,
|
2308 |
-
126552 => true,
|
2309 |
-
126554 => true,
|
2310 |
-
126556 => true,
|
2311 |
-
126558 => true,
|
2312 |
-
126560 => true,
|
2313 |
-
126563 => true,
|
2314 |
-
126565 => true,
|
2315 |
-
126566 => true,
|
2316 |
-
126571 => true,
|
2317 |
-
126579 => true,
|
2318 |
-
126584 => true,
|
2319 |
-
126589 => true,
|
2320 |
-
126591 => true,
|
2321 |
-
126602 => true,
|
2322 |
-
126620 => true,
|
2323 |
-
126621 => true,
|
2324 |
-
126622 => true,
|
2325 |
-
126623 => true,
|
2326 |
-
126624 => true,
|
2327 |
-
126628 => true,
|
2328 |
-
126634 => true,
|
2329 |
-
127020 => true,
|
2330 |
-
127021 => true,
|
2331 |
-
127022 => true,
|
2332 |
-
127023 => true,
|
2333 |
-
127124 => true,
|
2334 |
-
127125 => true,
|
2335 |
-
127126 => true,
|
2336 |
-
127127 => true,
|
2337 |
-
127128 => true,
|
2338 |
-
127129 => true,
|
2339 |
-
127130 => true,
|
2340 |
-
127131 => true,
|
2341 |
-
127132 => true,
|
2342 |
-
127133 => true,
|
2343 |
-
127134 => true,
|
2344 |
-
127135 => true,
|
2345 |
-
127151 => true,
|
2346 |
-
127152 => true,
|
2347 |
-
127168 => true,
|
2348 |
-
127184 => true,
|
2349 |
-
127222 => true,
|
2350 |
-
127223 => true,
|
2351 |
-
127224 => true,
|
2352 |
-
127225 => true,
|
2353 |
-
127226 => true,
|
2354 |
-
127227 => true,
|
2355 |
-
127228 => true,
|
2356 |
-
127229 => true,
|
2357 |
-
127230 => true,
|
2358 |
-
127231 => true,
|
2359 |
-
127232 => true,
|
2360 |
-
127491 => true,
|
2361 |
-
127492 => true,
|
2362 |
-
127493 => true,
|
2363 |
-
127494 => true,
|
2364 |
-
127495 => true,
|
2365 |
-
127496 => true,
|
2366 |
-
127497 => true,
|
2367 |
-
127498 => true,
|
2368 |
-
127499 => true,
|
2369 |
-
127500 => true,
|
2370 |
-
127501 => true,
|
2371 |
-
127502 => true,
|
2372 |
-
127503 => true,
|
2373 |
-
127548 => true,
|
2374 |
-
127549 => true,
|
2375 |
-
127550 => true,
|
2376 |
-
127551 => true,
|
2377 |
-
127561 => true,
|
2378 |
-
127562 => true,
|
2379 |
-
127563 => true,
|
2380 |
-
127564 => true,
|
2381 |
-
127565 => true,
|
2382 |
-
127566 => true,
|
2383 |
-
127567 => true,
|
2384 |
-
127570 => true,
|
2385 |
-
127571 => true,
|
2386 |
-
127572 => true,
|
2387 |
-
127573 => true,
|
2388 |
-
127574 => true,
|
2389 |
-
127575 => true,
|
2390 |
-
127576 => true,
|
2391 |
-
127577 => true,
|
2392 |
-
127578 => true,
|
2393 |
-
127579 => true,
|
2394 |
-
127580 => true,
|
2395 |
-
127581 => true,
|
2396 |
-
127582 => true,
|
2397 |
-
127583 => true,
|
2398 |
-
128728 => true,
|
2399 |
-
128729 => true,
|
2400 |
-
128730 => true,
|
2401 |
-
128731 => true,
|
2402 |
-
128732 => true,
|
2403 |
-
128733 => true,
|
2404 |
-
128734 => true,
|
2405 |
-
128735 => true,
|
2406 |
-
128749 => true,
|
2407 |
-
128750 => true,
|
2408 |
-
128751 => true,
|
2409 |
-
128765 => true,
|
2410 |
-
128766 => true,
|
2411 |
-
128767 => true,
|
2412 |
-
128884 => true,
|
2413 |
-
128885 => true,
|
2414 |
-
128886 => true,
|
2415 |
-
128887 => true,
|
2416 |
-
128888 => true,
|
2417 |
-
128889 => true,
|
2418 |
-
128890 => true,
|
2419 |
-
128891 => true,
|
2420 |
-
128892 => true,
|
2421 |
-
128893 => true,
|
2422 |
-
128894 => true,
|
2423 |
-
128895 => true,
|
2424 |
-
128985 => true,
|
2425 |
-
128986 => true,
|
2426 |
-
128987 => true,
|
2427 |
-
128988 => true,
|
2428 |
-
128989 => true,
|
2429 |
-
128990 => true,
|
2430 |
-
128991 => true,
|
2431 |
-
129004 => true,
|
2432 |
-
129005 => true,
|
2433 |
-
129006 => true,
|
2434 |
-
129007 => true,
|
2435 |
-
129008 => true,
|
2436 |
-
129009 => true,
|
2437 |
-
129010 => true,
|
2438 |
-
129011 => true,
|
2439 |
-
129012 => true,
|
2440 |
-
129013 => true,
|
2441 |
-
129014 => true,
|
2442 |
-
129015 => true,
|
2443 |
-
129016 => true,
|
2444 |
-
129017 => true,
|
2445 |
-
129018 => true,
|
2446 |
-
129019 => true,
|
2447 |
-
129020 => true,
|
2448 |
-
129021 => true,
|
2449 |
-
129022 => true,
|
2450 |
-
129023 => true,
|
2451 |
-
129036 => true,
|
2452 |
-
129037 => true,
|
2453 |
-
129038 => true,
|
2454 |
-
129039 => true,
|
2455 |
-
129096 => true,
|
2456 |
-
129097 => true,
|
2457 |
-
129098 => true,
|
2458 |
-
129099 => true,
|
2459 |
-
129100 => true,
|
2460 |
-
129101 => true,
|
2461 |
-
129102 => true,
|
2462 |
-
129103 => true,
|
2463 |
-
129114 => true,
|
2464 |
-
129115 => true,
|
2465 |
-
129116 => true,
|
2466 |
-
129117 => true,
|
2467 |
-
129118 => true,
|
2468 |
-
129119 => true,
|
2469 |
-
129160 => true,
|
2470 |
-
129161 => true,
|
2471 |
-
129162 => true,
|
2472 |
-
129163 => true,
|
2473 |
-
129164 => true,
|
2474 |
-
129165 => true,
|
2475 |
-
129166 => true,
|
2476 |
-
129167 => true,
|
2477 |
-
129198 => true,
|
2478 |
-
129199 => true,
|
2479 |
-
129401 => true,
|
2480 |
-
129484 => true,
|
2481 |
-
129620 => true,
|
2482 |
-
129621 => true,
|
2483 |
-
129622 => true,
|
2484 |
-
129623 => true,
|
2485 |
-
129624 => true,
|
2486 |
-
129625 => true,
|
2487 |
-
129626 => true,
|
2488 |
-
129627 => true,
|
2489 |
-
129628 => true,
|
2490 |
-
129629 => true,
|
2491 |
-
129630 => true,
|
2492 |
-
129631 => true,
|
2493 |
-
129646 => true,
|
2494 |
-
129647 => true,
|
2495 |
-
129653 => true,
|
2496 |
-
129654 => true,
|
2497 |
-
129655 => true,
|
2498 |
-
129659 => true,
|
2499 |
-
129660 => true,
|
2500 |
-
129661 => true,
|
2501 |
-
129662 => true,
|
2502 |
-
129663 => true,
|
2503 |
-
129671 => true,
|
2504 |
-
129672 => true,
|
2505 |
-
129673 => true,
|
2506 |
-
129674 => true,
|
2507 |
-
129675 => true,
|
2508 |
-
129676 => true,
|
2509 |
-
129677 => true,
|
2510 |
-
129678 => true,
|
2511 |
-
129679 => true,
|
2512 |
-
129705 => true,
|
2513 |
-
129706 => true,
|
2514 |
-
129707 => true,
|
2515 |
-
129708 => true,
|
2516 |
-
129709 => true,
|
2517 |
-
129710 => true,
|
2518 |
-
129711 => true,
|
2519 |
-
129719 => true,
|
2520 |
-
129720 => true,
|
2521 |
-
129721 => true,
|
2522 |
-
129722 => true,
|
2523 |
-
129723 => true,
|
2524 |
-
129724 => true,
|
2525 |
-
129725 => true,
|
2526 |
-
129726 => true,
|
2527 |
-
129727 => true,
|
2528 |
-
129731 => true,
|
2529 |
-
129732 => true,
|
2530 |
-
129733 => true,
|
2531 |
-
129734 => true,
|
2532 |
-
129735 => true,
|
2533 |
-
129736 => true,
|
2534 |
-
129737 => true,
|
2535 |
-
129738 => true,
|
2536 |
-
129739 => true,
|
2537 |
-
129740 => true,
|
2538 |
-
129741 => true,
|
2539 |
-
129742 => true,
|
2540 |
-
129743 => true,
|
2541 |
-
129939 => true,
|
2542 |
-
131070 => true,
|
2543 |
-
131071 => true,
|
2544 |
-
177973 => true,
|
2545 |
-
177974 => true,
|
2546 |
-
177975 => true,
|
2547 |
-
177976 => true,
|
2548 |
-
177977 => true,
|
2549 |
-
177978 => true,
|
2550 |
-
177979 => true,
|
2551 |
-
177980 => true,
|
2552 |
-
177981 => true,
|
2553 |
-
177982 => true,
|
2554 |
-
177983 => true,
|
2555 |
-
178206 => true,
|
2556 |
-
178207 => true,
|
2557 |
-
183970 => true,
|
2558 |
-
183971 => true,
|
2559 |
-
183972 => true,
|
2560 |
-
183973 => true,
|
2561 |
-
183974 => true,
|
2562 |
-
183975 => true,
|
2563 |
-
183976 => true,
|
2564 |
-
183977 => true,
|
2565 |
-
183978 => true,
|
2566 |
-
183979 => true,
|
2567 |
-
183980 => true,
|
2568 |
-
183981 => true,
|
2569 |
-
183982 => true,
|
2570 |
-
183983 => true,
|
2571 |
-
194664 => true,
|
2572 |
-
194676 => true,
|
2573 |
-
194847 => true,
|
2574 |
-
194911 => true,
|
2575 |
-
195007 => true,
|
2576 |
-
196606 => true,
|
2577 |
-
196607 => true,
|
2578 |
-
262142 => true,
|
2579 |
-
262143 => true,
|
2580 |
-
327678 => true,
|
2581 |
-
327679 => true,
|
2582 |
-
393214 => true,
|
2583 |
-
393215 => true,
|
2584 |
-
458750 => true,
|
2585 |
-
458751 => true,
|
2586 |
-
524286 => true,
|
2587 |
-
524287 => true,
|
2588 |
-
589822 => true,
|
2589 |
-
589823 => true,
|
2590 |
-
655358 => true,
|
2591 |
-
655359 => true,
|
2592 |
-
720894 => true,
|
2593 |
-
720895 => true,
|
2594 |
-
786430 => true,
|
2595 |
-
786431 => true,
|
2596 |
-
851966 => true,
|
2597 |
-
851967 => true,
|
2598 |
-
917502 => true,
|
2599 |
-
917503 => true,
|
2600 |
-
917504 => true,
|
2601 |
-
917505 => true,
|
2602 |
-
917506 => true,
|
2603 |
-
917507 => true,
|
2604 |
-
917508 => true,
|
2605 |
-
917509 => true,
|
2606 |
-
917510 => true,
|
2607 |
-
917511 => true,
|
2608 |
-
917512 => true,
|
2609 |
-
917513 => true,
|
2610 |
-
917514 => true,
|
2611 |
-
917515 => true,
|
2612 |
-
917516 => true,
|
2613 |
-
917517 => true,
|
2614 |
-
917518 => true,
|
2615 |
-
917519 => true,
|
2616 |
-
917520 => true,
|
2617 |
-
917521 => true,
|
2618 |
-
917522 => true,
|
2619 |
-
917523 => true,
|
2620 |
-
917524 => true,
|
2621 |
-
917525 => true,
|
2622 |
-
917526 => true,
|
2623 |
-
917527 => true,
|
2624 |
-
917528 => true,
|
2625 |
-
917529 => true,
|
2626 |
-
917530 => true,
|
2627 |
-
917531 => true,
|
2628 |
-
917532 => true,
|
2629 |
-
917533 => true,
|
2630 |
-
917534 => true,
|
2631 |
-
917535 => true,
|
2632 |
-
983038 => true,
|
2633 |
-
983039 => true,
|
2634 |
-
1048574 => true,
|
2635 |
-
1048575 => true,
|
2636 |
-
1114110 => true,
|
2637 |
-
1114111 => true,
|
2638 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php
DELETED
@@ -1,308 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
160 => ' ',
|
5 |
-
168 => ' ̈',
|
6 |
-
175 => ' ̄',
|
7 |
-
180 => ' ́',
|
8 |
-
184 => ' ̧',
|
9 |
-
728 => ' ̆',
|
10 |
-
729 => ' ̇',
|
11 |
-
730 => ' ̊',
|
12 |
-
731 => ' ̨',
|
13 |
-
732 => ' ̃',
|
14 |
-
733 => ' ̋',
|
15 |
-
890 => ' ι',
|
16 |
-
894 => ';',
|
17 |
-
900 => ' ́',
|
18 |
-
901 => ' ̈́',
|
19 |
-
8125 => ' ̓',
|
20 |
-
8127 => ' ̓',
|
21 |
-
8128 => ' ͂',
|
22 |
-
8129 => ' ̈͂',
|
23 |
-
8141 => ' ̓̀',
|
24 |
-
8142 => ' ̓́',
|
25 |
-
8143 => ' ̓͂',
|
26 |
-
8157 => ' ̔̀',
|
27 |
-
8158 => ' ̔́',
|
28 |
-
8159 => ' ̔͂',
|
29 |
-
8173 => ' ̈̀',
|
30 |
-
8174 => ' ̈́',
|
31 |
-
8175 => '`',
|
32 |
-
8189 => ' ́',
|
33 |
-
8190 => ' ̔',
|
34 |
-
8192 => ' ',
|
35 |
-
8193 => ' ',
|
36 |
-
8194 => ' ',
|
37 |
-
8195 => ' ',
|
38 |
-
8196 => ' ',
|
39 |
-
8197 => ' ',
|
40 |
-
8198 => ' ',
|
41 |
-
8199 => ' ',
|
42 |
-
8200 => ' ',
|
43 |
-
8201 => ' ',
|
44 |
-
8202 => ' ',
|
45 |
-
8215 => ' ̳',
|
46 |
-
8239 => ' ',
|
47 |
-
8252 => '!!',
|
48 |
-
8254 => ' ̅',
|
49 |
-
8263 => '??',
|
50 |
-
8264 => '?!',
|
51 |
-
8265 => '!?',
|
52 |
-
8287 => ' ',
|
53 |
-
8314 => '+',
|
54 |
-
8316 => '=',
|
55 |
-
8317 => '(',
|
56 |
-
8318 => ')',
|
57 |
-
8330 => '+',
|
58 |
-
8332 => '=',
|
59 |
-
8333 => '(',
|
60 |
-
8334 => ')',
|
61 |
-
8448 => 'a/c',
|
62 |
-
8449 => 'a/s',
|
63 |
-
8453 => 'c/o',
|
64 |
-
8454 => 'c/u',
|
65 |
-
9332 => '(1)',
|
66 |
-
9333 => '(2)',
|
67 |
-
9334 => '(3)',
|
68 |
-
9335 => '(4)',
|
69 |
-
9336 => '(5)',
|
70 |
-
9337 => '(6)',
|
71 |
-
9338 => '(7)',
|
72 |
-
9339 => '(8)',
|
73 |
-
9340 => '(9)',
|
74 |
-
9341 => '(10)',
|
75 |
-
9342 => '(11)',
|
76 |
-
9343 => '(12)',
|
77 |
-
9344 => '(13)',
|
78 |
-
9345 => '(14)',
|
79 |
-
9346 => '(15)',
|
80 |
-
9347 => '(16)',
|
81 |
-
9348 => '(17)',
|
82 |
-
9349 => '(18)',
|
83 |
-
9350 => '(19)',
|
84 |
-
9351 => '(20)',
|
85 |
-
9372 => '(a)',
|
86 |
-
9373 => '(b)',
|
87 |
-
9374 => '(c)',
|
88 |
-
9375 => '(d)',
|
89 |
-
9376 => '(e)',
|
90 |
-
9377 => '(f)',
|
91 |
-
9378 => '(g)',
|
92 |
-
9379 => '(h)',
|
93 |
-
9380 => '(i)',
|
94 |
-
9381 => '(j)',
|
95 |
-
9382 => '(k)',
|
96 |
-
9383 => '(l)',
|
97 |
-
9384 => '(m)',
|
98 |
-
9385 => '(n)',
|
99 |
-
9386 => '(o)',
|
100 |
-
9387 => '(p)',
|
101 |
-
9388 => '(q)',
|
102 |
-
9389 => '(r)',
|
103 |
-
9390 => '(s)',
|
104 |
-
9391 => '(t)',
|
105 |
-
9392 => '(u)',
|
106 |
-
9393 => '(v)',
|
107 |
-
9394 => '(w)',
|
108 |
-
9395 => '(x)',
|
109 |
-
9396 => '(y)',
|
110 |
-
9397 => '(z)',
|
111 |
-
10868 => '::=',
|
112 |
-
10869 => '==',
|
113 |
-
10870 => '===',
|
114 |
-
12288 => ' ',
|
115 |
-
12443 => ' ゙',
|
116 |
-
12444 => ' ゚',
|
117 |
-
12800 => '(ᄀ)',
|
118 |
-
12801 => '(ᄂ)',
|
119 |
-
12802 => '(ᄃ)',
|
120 |
-
12803 => '(ᄅ)',
|
121 |
-
12804 => '(ᄆ)',
|
122 |
-
12805 => '(ᄇ)',
|
123 |
-
12806 => '(ᄉ)',
|
124 |
-
12807 => '(ᄋ)',
|
125 |
-
12808 => '(ᄌ)',
|
126 |
-
12809 => '(ᄎ)',
|
127 |
-
12810 => '(ᄏ)',
|
128 |
-
12811 => '(ᄐ)',
|
129 |
-
12812 => '(ᄑ)',
|
130 |
-
12813 => '(ᄒ)',
|
131 |
-
12814 => '(가)',
|
132 |
-
12815 => '(나)',
|
133 |
-
12816 => '(다)',
|
134 |
-
12817 => '(라)',
|
135 |
-
12818 => '(마)',
|
136 |
-
12819 => '(바)',
|
137 |
-
12820 => '(사)',
|
138 |
-
12821 => '(아)',
|
139 |
-
12822 => '(자)',
|
140 |
-
12823 => '(차)',
|
141 |
-
12824 => '(카)',
|
142 |
-
12825 => '(타)',
|
143 |
-
12826 => '(파)',
|
144 |
-
12827 => '(하)',
|
145 |
-
12828 => '(주)',
|
146 |
-
12829 => '(오전)',
|
147 |
-
12830 => '(오후)',
|
148 |
-
12832 => '(一)',
|
149 |
-
12833 => '(二)',
|
150 |
-
12834 => '(三)',
|
151 |
-
12835 => '(四)',
|
152 |
-
12836 => '(五)',
|
153 |
-
12837 => '(六)',
|
154 |
-
12838 => '(七)',
|
155 |
-
12839 => '(八)',
|
156 |
-
12840 => '(九)',
|
157 |
-
12841 => '(十)',
|
158 |
-
12842 => '(月)',
|
159 |
-
12843 => '(火)',
|
160 |
-
12844 => '(水)',
|
161 |
-
12845 => '(木)',
|
162 |
-
12846 => '(金)',
|
163 |
-
12847 => '(土)',
|
164 |
-
12848 => '(日)',
|
165 |
-
12849 => '(株)',
|
166 |
-
12850 => '(有)',
|
167 |
-
12851 => '(社)',
|
168 |
-
12852 => '(名)',
|
169 |
-
12853 => '(特)',
|
170 |
-
12854 => '(財)',
|
171 |
-
12855 => '(祝)',
|
172 |
-
12856 => '(労)',
|
173 |
-
12857 => '(代)',
|
174 |
-
12858 => '(呼)',
|
175 |
-
12859 => '(学)',
|
176 |
-
12860 => '(監)',
|
177 |
-
12861 => '(企)',
|
178 |
-
12862 => '(資)',
|
179 |
-
12863 => '(協)',
|
180 |
-
12864 => '(祭)',
|
181 |
-
12865 => '(休)',
|
182 |
-
12866 => '(自)',
|
183 |
-
12867 => '(至)',
|
184 |
-
64297 => '+',
|
185 |
-
64606 => ' ٌّ',
|
186 |
-
64607 => ' ٍّ',
|
187 |
-
64608 => ' َّ',
|
188 |
-
64609 => ' ُّ',
|
189 |
-
64610 => ' ِّ',
|
190 |
-
64611 => ' ّٰ',
|
191 |
-
65018 => 'صلى الله عليه وسلم',
|
192 |
-
65019 => 'جل جلاله',
|
193 |
-
65040 => ',',
|
194 |
-
65043 => ':',
|
195 |
-
65044 => ';',
|
196 |
-
65045 => '!',
|
197 |
-
65046 => '?',
|
198 |
-
65075 => '_',
|
199 |
-
65076 => '_',
|
200 |
-
65077 => '(',
|
201 |
-
65078 => ')',
|
202 |
-
65079 => '{',
|
203 |
-
65080 => '}',
|
204 |
-
65095 => '[',
|
205 |
-
65096 => ']',
|
206 |
-
65097 => ' ̅',
|
207 |
-
65098 => ' ̅',
|
208 |
-
65099 => ' ̅',
|
209 |
-
65100 => ' ̅',
|
210 |
-
65101 => '_',
|
211 |
-
65102 => '_',
|
212 |
-
65103 => '_',
|
213 |
-
65104 => ',',
|
214 |
-
65108 => ';',
|
215 |
-
65109 => ':',
|
216 |
-
65110 => '?',
|
217 |
-
65111 => '!',
|
218 |
-
65113 => '(',
|
219 |
-
65114 => ')',
|
220 |
-
65115 => '{',
|
221 |
-
65116 => '}',
|
222 |
-
65119 => '#',
|
223 |
-
65120 => '&',
|
224 |
-
65121 => '*',
|
225 |
-
65122 => '+',
|
226 |
-
65124 => '<',
|
227 |
-
65125 => '>',
|
228 |
-
65126 => '=',
|
229 |
-
65128 => '\\',
|
230 |
-
65129 => '$',
|
231 |
-
65130 => '%',
|
232 |
-
65131 => '@',
|
233 |
-
65136 => ' ً',
|
234 |
-
65138 => ' ٌ',
|
235 |
-
65140 => ' ٍ',
|
236 |
-
65142 => ' َ',
|
237 |
-
65144 => ' ُ',
|
238 |
-
65146 => ' ِ',
|
239 |
-
65148 => ' ّ',
|
240 |
-
65150 => ' ْ',
|
241 |
-
65281 => '!',
|
242 |
-
65282 => '"',
|
243 |
-
65283 => '#',
|
244 |
-
65284 => '$',
|
245 |
-
65285 => '%',
|
246 |
-
65286 => '&',
|
247 |
-
65287 => '\'',
|
248 |
-
65288 => '(',
|
249 |
-
65289 => ')',
|
250 |
-
65290 => '*',
|
251 |
-
65291 => '+',
|
252 |
-
65292 => ',',
|
253 |
-
65295 => '/',
|
254 |
-
65306 => ':',
|
255 |
-
65307 => ';',
|
256 |
-
65308 => '<',
|
257 |
-
65309 => '=',
|
258 |
-
65310 => '>',
|
259 |
-
65311 => '?',
|
260 |
-
65312 => '@',
|
261 |
-
65339 => '[',
|
262 |
-
65340 => '\\',
|
263 |
-
65341 => ']',
|
264 |
-
65342 => '^',
|
265 |
-
65343 => '_',
|
266 |
-
65344 => '`',
|
267 |
-
65371 => '{',
|
268 |
-
65372 => '|',
|
269 |
-
65373 => '}',
|
270 |
-
65374 => '~',
|
271 |
-
65507 => ' ̄',
|
272 |
-
127233 => '0,',
|
273 |
-
127234 => '1,',
|
274 |
-
127235 => '2,',
|
275 |
-
127236 => '3,',
|
276 |
-
127237 => '4,',
|
277 |
-
127238 => '5,',
|
278 |
-
127239 => '6,',
|
279 |
-
127240 => '7,',
|
280 |
-
127241 => '8,',
|
281 |
-
127242 => '9,',
|
282 |
-
127248 => '(a)',
|
283 |
-
127249 => '(b)',
|
284 |
-
127250 => '(c)',
|
285 |
-
127251 => '(d)',
|
286 |
-
127252 => '(e)',
|
287 |
-
127253 => '(f)',
|
288 |
-
127254 => '(g)',
|
289 |
-
127255 => '(h)',
|
290 |
-
127256 => '(i)',
|
291 |
-
127257 => '(j)',
|
292 |
-
127258 => '(k)',
|
293 |
-
127259 => '(l)',
|
294 |
-
127260 => '(m)',
|
295 |
-
127261 => '(n)',
|
296 |
-
127262 => '(o)',
|
297 |
-
127263 => '(p)',
|
298 |
-
127264 => '(q)',
|
299 |
-
127265 => '(r)',
|
300 |
-
127266 => '(s)',
|
301 |
-
127267 => '(t)',
|
302 |
-
127268 => '(u)',
|
303 |
-
127269 => '(v)',
|
304 |
-
127270 => '(w)',
|
305 |
-
127271 => '(x)',
|
306 |
-
127272 => '(y)',
|
307 |
-
127273 => '(z)',
|
308 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php
DELETED
@@ -1,71 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
0 => true,
|
5 |
-
1 => true,
|
6 |
-
2 => true,
|
7 |
-
3 => true,
|
8 |
-
4 => true,
|
9 |
-
5 => true,
|
10 |
-
6 => true,
|
11 |
-
7 => true,
|
12 |
-
8 => true,
|
13 |
-
9 => true,
|
14 |
-
10 => true,
|
15 |
-
11 => true,
|
16 |
-
12 => true,
|
17 |
-
13 => true,
|
18 |
-
14 => true,
|
19 |
-
15 => true,
|
20 |
-
16 => true,
|
21 |
-
17 => true,
|
22 |
-
18 => true,
|
23 |
-
19 => true,
|
24 |
-
20 => true,
|
25 |
-
21 => true,
|
26 |
-
22 => true,
|
27 |
-
23 => true,
|
28 |
-
24 => true,
|
29 |
-
25 => true,
|
30 |
-
26 => true,
|
31 |
-
27 => true,
|
32 |
-
28 => true,
|
33 |
-
29 => true,
|
34 |
-
30 => true,
|
35 |
-
31 => true,
|
36 |
-
32 => true,
|
37 |
-
33 => true,
|
38 |
-
34 => true,
|
39 |
-
35 => true,
|
40 |
-
36 => true,
|
41 |
-
37 => true,
|
42 |
-
38 => true,
|
43 |
-
39 => true,
|
44 |
-
40 => true,
|
45 |
-
41 => true,
|
46 |
-
42 => true,
|
47 |
-
43 => true,
|
48 |
-
44 => true,
|
49 |
-
47 => true,
|
50 |
-
58 => true,
|
51 |
-
59 => true,
|
52 |
-
60 => true,
|
53 |
-
61 => true,
|
54 |
-
62 => true,
|
55 |
-
63 => true,
|
56 |
-
64 => true,
|
57 |
-
91 => true,
|
58 |
-
92 => true,
|
59 |
-
93 => true,
|
60 |
-
94 => true,
|
61 |
-
95 => true,
|
62 |
-
96 => true,
|
63 |
-
123 => true,
|
64 |
-
124 => true,
|
65 |
-
125 => true,
|
66 |
-
126 => true,
|
67 |
-
127 => true,
|
68 |
-
8800 => true,
|
69 |
-
8814 => true,
|
70 |
-
8815 => true,
|
71 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php
DELETED
@@ -1,273 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
173 => true,
|
5 |
-
847 => true,
|
6 |
-
6155 => true,
|
7 |
-
6156 => true,
|
8 |
-
6157 => true,
|
9 |
-
8203 => true,
|
10 |
-
8288 => true,
|
11 |
-
8292 => true,
|
12 |
-
65024 => true,
|
13 |
-
65025 => true,
|
14 |
-
65026 => true,
|
15 |
-
65027 => true,
|
16 |
-
65028 => true,
|
17 |
-
65029 => true,
|
18 |
-
65030 => true,
|
19 |
-
65031 => true,
|
20 |
-
65032 => true,
|
21 |
-
65033 => true,
|
22 |
-
65034 => true,
|
23 |
-
65035 => true,
|
24 |
-
65036 => true,
|
25 |
-
65037 => true,
|
26 |
-
65038 => true,
|
27 |
-
65039 => true,
|
28 |
-
65279 => true,
|
29 |
-
113824 => true,
|
30 |
-
113825 => true,
|
31 |
-
113826 => true,
|
32 |
-
113827 => true,
|
33 |
-
917760 => true,
|
34 |
-
917761 => true,
|
35 |
-
917762 => true,
|
36 |
-
917763 => true,
|
37 |
-
917764 => true,
|
38 |
-
917765 => true,
|
39 |
-
917766 => true,
|
40 |
-
917767 => true,
|
41 |
-
917768 => true,
|
42 |
-
917769 => true,
|
43 |
-
917770 => true,
|
44 |
-
917771 => true,
|
45 |
-
917772 => true,
|
46 |
-
917773 => true,
|
47 |
-
917774 => true,
|
48 |
-
917775 => true,
|
49 |
-
917776 => true,
|
50 |
-
917777 => true,
|
51 |
-
917778 => true,
|
52 |
-
917779 => true,
|
53 |
-
917780 => true,
|
54 |
-
917781 => true,
|
55 |
-
917782 => true,
|
56 |
-
917783 => true,
|
57 |
-
917784 => true,
|
58 |
-
917785 => true,
|
59 |
-
917786 => true,
|
60 |
-
917787 => true,
|
61 |
-
917788 => true,
|
62 |
-
917789 => true,
|
63 |
-
917790 => true,
|
64 |
-
917791 => true,
|
65 |
-
917792 => true,
|
66 |
-
917793 => true,
|
67 |
-
917794 => true,
|
68 |
-
917795 => true,
|
69 |
-
917796 => true,
|
70 |
-
917797 => true,
|
71 |
-
917798 => true,
|
72 |
-
917799 => true,
|
73 |
-
917800 => true,
|
74 |
-
917801 => true,
|
75 |
-
917802 => true,
|
76 |
-
917803 => true,
|
77 |
-
917804 => true,
|
78 |
-
917805 => true,
|
79 |
-
917806 => true,
|
80 |
-
917807 => true,
|
81 |
-
917808 => true,
|
82 |
-
917809 => true,
|
83 |
-
917810 => true,
|
84 |
-
917811 => true,
|
85 |
-
917812 => true,
|
86 |
-
917813 => true,
|
87 |
-
917814 => true,
|
88 |
-
917815 => true,
|
89 |
-
917816 => true,
|
90 |
-
917817 => true,
|
91 |
-
917818 => true,
|
92 |
-
917819 => true,
|
93 |
-
917820 => true,
|
94 |
-
917821 => true,
|
95 |
-
917822 => true,
|
96 |
-
917823 => true,
|
97 |
-
917824 => true,
|
98 |
-
917825 => true,
|
99 |
-
917826 => true,
|
100 |
-
917827 => true,
|
101 |
-
917828 => true,
|
102 |
-
917829 => true,
|
103 |
-
917830 => true,
|
104 |
-
917831 => true,
|
105 |
-
917832 => true,
|
106 |
-
917833 => true,
|
107 |
-
917834 => true,
|
108 |
-
917835 => true,
|
109 |
-
917836 => true,
|
110 |
-
917837 => true,
|
111 |
-
917838 => true,
|
112 |
-
917839 => true,
|
113 |
-
917840 => true,
|
114 |
-
917841 => true,
|
115 |
-
917842 => true,
|
116 |
-
917843 => true,
|
117 |
-
917844 => true,
|
118 |
-
917845 => true,
|
119 |
-
917846 => true,
|
120 |
-
917847 => true,
|
121 |
-
917848 => true,
|
122 |
-
917849 => true,
|
123 |
-
917850 => true,
|
124 |
-
917851 => true,
|
125 |
-
917852 => true,
|
126 |
-
917853 => true,
|
127 |
-
917854 => true,
|
128 |
-
917855 => true,
|
129 |
-
917856 => true,
|
130 |
-
917857 => true,
|
131 |
-
917858 => true,
|
132 |
-
917859 => true,
|
133 |
-
917860 => true,
|
134 |
-
917861 => true,
|
135 |
-
917862 => true,
|
136 |
-
917863 => true,
|
137 |
-
917864 => true,
|
138 |
-
917865 => true,
|
139 |
-
917866 => true,
|
140 |
-
917867 => true,
|
141 |
-
917868 => true,
|
142 |
-
917869 => true,
|
143 |
-
917870 => true,
|
144 |
-
917871 => true,
|
145 |
-
917872 => true,
|
146 |
-
917873 => true,
|
147 |
-
917874 => true,
|
148 |
-
917875 => true,
|
149 |
-
917876 => true,
|
150 |
-
917877 => true,
|
151 |
-
917878 => true,
|
152 |
-
917879 => true,
|
153 |
-
917880 => true,
|
154 |
-
917881 => true,
|
155 |
-
917882 => true,
|
156 |
-
917883 => true,
|
157 |
-
917884 => true,
|
158 |
-
917885 => true,
|
159 |
-
917886 => true,
|
160 |
-
917887 => true,
|
161 |
-
917888 => true,
|
162 |
-
917889 => true,
|
163 |
-
917890 => true,
|
164 |
-
917891 => true,
|
165 |
-
917892 => true,
|
166 |
-
917893 => true,
|
167 |
-
917894 => true,
|
168 |
-
917895 => true,
|
169 |
-
917896 => true,
|
170 |
-
917897 => true,
|
171 |
-
917898 => true,
|
172 |
-
917899 => true,
|
173 |
-
917900 => true,
|
174 |
-
917901 => true,
|
175 |
-
917902 => true,
|
176 |
-
917903 => true,
|
177 |
-
917904 => true,
|
178 |
-
917905 => true,
|
179 |
-
917906 => true,
|
180 |
-
917907 => true,
|
181 |
-
917908 => true,
|
182 |
-
917909 => true,
|
183 |
-
917910 => true,
|
184 |
-
917911 => true,
|
185 |
-
917912 => true,
|
186 |
-
917913 => true,
|
187 |
-
917914 => true,
|
188 |
-
917915 => true,
|
189 |
-
917916 => true,
|
190 |
-
917917 => true,
|
191 |
-
917918 => true,
|
192 |
-
917919 => true,
|
193 |
-
917920 => true,
|
194 |
-
917921 => true,
|
195 |
-
917922 => true,
|
196 |
-
917923 => true,
|
197 |
-
917924 => true,
|
198 |
-
917925 => true,
|
199 |
-
917926 => true,
|
200 |
-
917927 => true,
|
201 |
-
917928 => true,
|
202 |
-
917929 => true,
|
203 |
-
917930 => true,
|
204 |
-
917931 => true,
|
205 |
-
917932 => true,
|
206 |
-
917933 => true,
|
207 |
-
917934 => true,
|
208 |
-
917935 => true,
|
209 |
-
917936 => true,
|
210 |
-
917937 => true,
|
211 |
-
917938 => true,
|
212 |
-
917939 => true,
|
213 |
-
917940 => true,
|
214 |
-
917941 => true,
|
215 |
-
917942 => true,
|
216 |
-
917943 => true,
|
217 |
-
917944 => true,
|
218 |
-
917945 => true,
|
219 |
-
917946 => true,
|
220 |
-
917947 => true,
|
221 |
-
917948 => true,
|
222 |
-
917949 => true,
|
223 |
-
917950 => true,
|
224 |
-
917951 => true,
|
225 |
-
917952 => true,
|
226 |
-
917953 => true,
|
227 |
-
917954 => true,
|
228 |
-
917955 => true,
|
229 |
-
917956 => true,
|
230 |
-
917957 => true,
|
231 |
-
917958 => true,
|
232 |
-
917959 => true,
|
233 |
-
917960 => true,
|
234 |
-
917961 => true,
|
235 |
-
917962 => true,
|
236 |
-
917963 => true,
|
237 |
-
917964 => true,
|
238 |
-
917965 => true,
|
239 |
-
917966 => true,
|
240 |
-
917967 => true,
|
241 |
-
917968 => true,
|
242 |
-
917969 => true,
|
243 |
-
917970 => true,
|
244 |
-
917971 => true,
|
245 |
-
917972 => true,
|
246 |
-
917973 => true,
|
247 |
-
917974 => true,
|
248 |
-
917975 => true,
|
249 |
-
917976 => true,
|
250 |
-
917977 => true,
|
251 |
-
917978 => true,
|
252 |
-
917979 => true,
|
253 |
-
917980 => true,
|
254 |
-
917981 => true,
|
255 |
-
917982 => true,
|
256 |
-
917983 => true,
|
257 |
-
917984 => true,
|
258 |
-
917985 => true,
|
259 |
-
917986 => true,
|
260 |
-
917987 => true,
|
261 |
-
917988 => true,
|
262 |
-
917989 => true,
|
263 |
-
917990 => true,
|
264 |
-
917991 => true,
|
265 |
-
917992 => true,
|
266 |
-
917993 => true,
|
267 |
-
917994 => true,
|
268 |
-
917995 => true,
|
269 |
-
917996 => true,
|
270 |
-
917997 => true,
|
271 |
-
917998 => true,
|
272 |
-
917999 => true,
|
273 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php
DELETED
@@ -1,5778 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
65 => 'a',
|
5 |
-
66 => 'b',
|
6 |
-
67 => 'c',
|
7 |
-
68 => 'd',
|
8 |
-
69 => 'e',
|
9 |
-
70 => 'f',
|
10 |
-
71 => 'g',
|
11 |
-
72 => 'h',
|
12 |
-
73 => 'i',
|
13 |
-
74 => 'j',
|
14 |
-
75 => 'k',
|
15 |
-
76 => 'l',
|
16 |
-
77 => 'm',
|
17 |
-
78 => 'n',
|
18 |
-
79 => 'o',
|
19 |
-
80 => 'p',
|
20 |
-
81 => 'q',
|
21 |
-
82 => 'r',
|
22 |
-
83 => 's',
|
23 |
-
84 => 't',
|
24 |
-
85 => 'u',
|
25 |
-
86 => 'v',
|
26 |
-
87 => 'w',
|
27 |
-
88 => 'x',
|
28 |
-
89 => 'y',
|
29 |
-
90 => 'z',
|
30 |
-
170 => 'a',
|
31 |
-
178 => '2',
|
32 |
-
179 => '3',
|
33 |
-
181 => 'μ',
|
34 |
-
185 => '1',
|
35 |
-
186 => 'o',
|
36 |
-
188 => '1⁄4',
|
37 |
-
189 => '1⁄2',
|
38 |
-
190 => '3⁄4',
|
39 |
-
192 => 'à',
|
40 |
-
193 => 'á',
|
41 |
-
194 => 'â',
|
42 |
-
195 => 'ã',
|
43 |
-
196 => 'ä',
|
44 |
-
197 => 'å',
|
45 |
-
198 => 'æ',
|
46 |
-
199 => 'ç',
|
47 |
-
200 => 'è',
|
48 |
-
201 => 'é',
|
49 |
-
202 => 'ê',
|
50 |
-
203 => 'ë',
|
51 |
-
204 => 'ì',
|
52 |
-
205 => 'í',
|
53 |
-
206 => 'î',
|
54 |
-
207 => 'ï',
|
55 |
-
208 => 'ð',
|
56 |
-
209 => 'ñ',
|
57 |
-
210 => 'ò',
|
58 |
-
211 => 'ó',
|
59 |
-
212 => 'ô',
|
60 |
-
213 => 'õ',
|
61 |
-
214 => 'ö',
|
62 |
-
216 => 'ø',
|
63 |
-
217 => 'ù',
|
64 |
-
218 => 'ú',
|
65 |
-
219 => 'û',
|
66 |
-
220 => 'ü',
|
67 |
-
221 => 'ý',
|
68 |
-
222 => 'þ',
|
69 |
-
256 => 'ā',
|
70 |
-
258 => 'ă',
|
71 |
-
260 => 'ą',
|
72 |
-
262 => 'ć',
|
73 |
-
264 => 'ĉ',
|
74 |
-
266 => 'ċ',
|
75 |
-
268 => 'č',
|
76 |
-
270 => 'ď',
|
77 |
-
272 => 'đ',
|
78 |
-
274 => 'ē',
|
79 |
-
276 => 'ĕ',
|
80 |
-
278 => 'ė',
|
81 |
-
280 => 'ę',
|
82 |
-
282 => 'ě',
|
83 |
-
284 => 'ĝ',
|
84 |
-
286 => 'ğ',
|
85 |
-
288 => 'ġ',
|
86 |
-
290 => 'ģ',
|
87 |
-
292 => 'ĥ',
|
88 |
-
294 => 'ħ',
|
89 |
-
296 => 'ĩ',
|
90 |
-
298 => 'ī',
|
91 |
-
300 => 'ĭ',
|
92 |
-
302 => 'į',
|
93 |
-
304 => 'i̇',
|
94 |
-
306 => 'ij',
|
95 |
-
307 => 'ij',
|
96 |
-
308 => 'ĵ',
|
97 |
-
310 => 'ķ',
|
98 |
-
313 => 'ĺ',
|
99 |
-
315 => 'ļ',
|
100 |
-
317 => 'ľ',
|
101 |
-
319 => 'l·',
|
102 |
-
320 => 'l·',
|
103 |
-
321 => 'ł',
|
104 |
-
323 => 'ń',
|
105 |
-
325 => 'ņ',
|
106 |
-
327 => 'ň',
|
107 |
-
329 => 'ʼn',
|
108 |
-
330 => 'ŋ',
|
109 |
-
332 => 'ō',
|
110 |
-
334 => 'ŏ',
|
111 |
-
336 => 'ő',
|
112 |
-
338 => 'œ',
|
113 |
-
340 => 'ŕ',
|
114 |
-
342 => 'ŗ',
|
115 |
-
344 => 'ř',
|
116 |
-
346 => 'ś',
|
117 |
-
348 => 'ŝ',
|
118 |
-
350 => 'ş',
|
119 |
-
352 => 'š',
|
120 |
-
354 => 'ţ',
|
121 |
-
356 => 'ť',
|
122 |
-
358 => 'ŧ',
|
123 |
-
360 => 'ũ',
|
124 |
-
362 => 'ū',
|
125 |
-
364 => 'ŭ',
|
126 |
-
366 => 'ů',
|
127 |
-
368 => 'ű',
|
128 |
-
370 => 'ų',
|
129 |
-
372 => 'ŵ',
|
130 |
-
374 => 'ŷ',
|
131 |
-
376 => 'ÿ',
|
132 |
-
377 => 'ź',
|
133 |
-
379 => 'ż',
|
134 |
-
381 => 'ž',
|
135 |
-
383 => 's',
|
136 |
-
385 => 'ɓ',
|
137 |
-
386 => 'ƃ',
|
138 |
-
388 => 'ƅ',
|
139 |
-
390 => 'ɔ',
|
140 |
-
391 => 'ƈ',
|
141 |
-
393 => 'ɖ',
|
142 |
-
394 => 'ɗ',
|
143 |
-
395 => 'ƌ',
|
144 |
-
398 => 'ǝ',
|
145 |
-
399 => 'ə',
|
146 |
-
400 => 'ɛ',
|
147 |
-
401 => 'ƒ',
|
148 |
-
403 => 'ɠ',
|
149 |
-
404 => 'ɣ',
|
150 |
-
406 => 'ɩ',
|
151 |
-
407 => 'ɨ',
|
152 |
-
408 => 'ƙ',
|
153 |
-
412 => 'ɯ',
|
154 |
-
413 => 'ɲ',
|
155 |
-
415 => 'ɵ',
|
156 |
-
416 => 'ơ',
|
157 |
-
418 => 'ƣ',
|
158 |
-
420 => 'ƥ',
|
159 |
-
422 => 'ʀ',
|
160 |
-
423 => 'ƨ',
|
161 |
-
425 => 'ʃ',
|
162 |
-
428 => 'ƭ',
|
163 |
-
430 => 'ʈ',
|
164 |
-
431 => 'ư',
|
165 |
-
433 => 'ʊ',
|
166 |
-
434 => 'ʋ',
|
167 |
-
435 => 'ƴ',
|
168 |
-
437 => 'ƶ',
|
169 |
-
439 => 'ʒ',
|
170 |
-
440 => 'ƹ',
|
171 |
-
444 => 'ƽ',
|
172 |
-
452 => 'dž',
|
173 |
-
453 => 'dž',
|
174 |
-
454 => 'dž',
|
175 |
-
455 => 'lj',
|
176 |
-
456 => 'lj',
|
177 |
-
457 => 'lj',
|
178 |
-
458 => 'nj',
|
179 |
-
459 => 'nj',
|
180 |
-
460 => 'nj',
|
181 |
-
461 => 'ǎ',
|
182 |
-
463 => 'ǐ',
|
183 |
-
465 => 'ǒ',
|
184 |
-
467 => 'ǔ',
|
185 |
-
469 => 'ǖ',
|
186 |
-
471 => 'ǘ',
|
187 |
-
473 => 'ǚ',
|
188 |
-
475 => 'ǜ',
|
189 |
-
478 => 'ǟ',
|
190 |
-
480 => 'ǡ',
|
191 |
-
482 => 'ǣ',
|
192 |
-
484 => 'ǥ',
|
193 |
-
486 => 'ǧ',
|
194 |
-
488 => 'ǩ',
|
195 |
-
490 => 'ǫ',
|
196 |
-
492 => 'ǭ',
|
197 |
-
494 => 'ǯ',
|
198 |
-
497 => 'dz',
|
199 |
-
498 => 'dz',
|
200 |
-
499 => 'dz',
|
201 |
-
500 => 'ǵ',
|
202 |
-
502 => 'ƕ',
|
203 |
-
503 => 'ƿ',
|
204 |
-
504 => 'ǹ',
|
205 |
-
506 => 'ǻ',
|
206 |
-
508 => 'ǽ',
|
207 |
-
510 => 'ǿ',
|
208 |
-
512 => 'ȁ',
|
209 |
-
514 => 'ȃ',
|
210 |
-
516 => 'ȅ',
|
211 |
-
518 => 'ȇ',
|
212 |
-
520 => 'ȉ',
|
213 |
-
522 => 'ȋ',
|
214 |
-
524 => 'ȍ',
|
215 |
-
526 => 'ȏ',
|
216 |
-
528 => 'ȑ',
|
217 |
-
530 => 'ȓ',
|
218 |
-
532 => 'ȕ',
|
219 |
-
534 => 'ȗ',
|
220 |
-
536 => 'ș',
|
221 |
-
538 => 'ț',
|
222 |
-
540 => 'ȝ',
|
223 |
-
542 => 'ȟ',
|
224 |
-
544 => 'ƞ',
|
225 |
-
546 => 'ȣ',
|
226 |
-
548 => 'ȥ',
|
227 |
-
550 => 'ȧ',
|
228 |
-
552 => 'ȩ',
|
229 |
-
554 => 'ȫ',
|
230 |
-
556 => 'ȭ',
|
231 |
-
558 => 'ȯ',
|
232 |
-
560 => 'ȱ',
|
233 |
-
562 => 'ȳ',
|
234 |
-
570 => 'ⱥ',
|
235 |
-
571 => 'ȼ',
|
236 |
-
573 => 'ƚ',
|
237 |
-
574 => 'ⱦ',
|
238 |
-
577 => 'ɂ',
|
239 |
-
579 => 'ƀ',
|
240 |
-
580 => 'ʉ',
|
241 |
-
581 => 'ʌ',
|
242 |
-
582 => 'ɇ',
|
243 |
-
584 => 'ɉ',
|
244 |
-
586 => 'ɋ',
|
245 |
-
588 => 'ɍ',
|
246 |
-
590 => 'ɏ',
|
247 |
-
688 => 'h',
|
248 |
-
689 => 'ɦ',
|
249 |
-
690 => 'j',
|
250 |
-
691 => 'r',
|
251 |
-
692 => 'ɹ',
|
252 |
-
693 => 'ɻ',
|
253 |
-
694 => 'ʁ',
|
254 |
-
695 => 'w',
|
255 |
-
696 => 'y',
|
256 |
-
736 => 'ɣ',
|
257 |
-
737 => 'l',
|
258 |
-
738 => 's',
|
259 |
-
739 => 'x',
|
260 |
-
740 => 'ʕ',
|
261 |
-
832 => '̀',
|
262 |
-
833 => '́',
|
263 |
-
835 => '̓',
|
264 |
-
836 => '̈́',
|
265 |
-
837 => 'ι',
|
266 |
-
880 => 'ͱ',
|
267 |
-
882 => 'ͳ',
|
268 |
-
884 => 'ʹ',
|
269 |
-
886 => 'ͷ',
|
270 |
-
895 => 'ϳ',
|
271 |
-
902 => 'ά',
|
272 |
-
903 => '·',
|
273 |
-
904 => 'έ',
|
274 |
-
905 => 'ή',
|
275 |
-
906 => 'ί',
|
276 |
-
908 => 'ό',
|
277 |
-
910 => 'ύ',
|
278 |
-
911 => 'ώ',
|
279 |
-
913 => 'α',
|
280 |
-
914 => 'β',
|
281 |
-
915 => 'γ',
|
282 |
-
916 => 'δ',
|
283 |
-
917 => 'ε',
|
284 |
-
918 => 'ζ',
|
285 |
-
919 => 'η',
|
286 |
-
920 => 'θ',
|
287 |
-
921 => 'ι',
|
288 |
-
922 => 'κ',
|
289 |
-
923 => 'λ',
|
290 |
-
924 => 'μ',
|
291 |
-
925 => 'ν',
|
292 |
-
926 => 'ξ',
|
293 |
-
927 => 'ο',
|
294 |
-
928 => 'π',
|
295 |
-
929 => 'ρ',
|
296 |
-
931 => 'σ',
|
297 |
-
932 => 'τ',
|
298 |
-
933 => 'υ',
|
299 |
-
934 => 'φ',
|
300 |
-
935 => 'χ',
|
301 |
-
936 => 'ψ',
|
302 |
-
937 => 'ω',
|
303 |
-
938 => 'ϊ',
|
304 |
-
939 => 'ϋ',
|
305 |
-
975 => 'ϗ',
|
306 |
-
976 => 'β',
|
307 |
-
977 => 'θ',
|
308 |
-
978 => 'υ',
|
309 |
-
979 => 'ύ',
|
310 |
-
980 => 'ϋ',
|
311 |
-
981 => 'φ',
|
312 |
-
982 => 'π',
|
313 |
-
984 => 'ϙ',
|
314 |
-
986 => 'ϛ',
|
315 |
-
988 => 'ϝ',
|
316 |
-
990 => 'ϟ',
|
317 |
-
992 => 'ϡ',
|
318 |
-
994 => 'ϣ',
|
319 |
-
996 => 'ϥ',
|
320 |
-
998 => 'ϧ',
|
321 |
-
1000 => 'ϩ',
|
322 |
-
1002 => 'ϫ',
|
323 |
-
1004 => 'ϭ',
|
324 |
-
1006 => 'ϯ',
|
325 |
-
1008 => 'κ',
|
326 |
-
1009 => 'ρ',
|
327 |
-
1010 => 'σ',
|
328 |
-
1012 => 'θ',
|
329 |
-
1013 => 'ε',
|
330 |
-
1015 => 'ϸ',
|
331 |
-
1017 => 'σ',
|
332 |
-
1018 => 'ϻ',
|
333 |
-
1021 => 'ͻ',
|
334 |
-
1022 => 'ͼ',
|
335 |
-
1023 => 'ͽ',
|
336 |
-
1024 => 'ѐ',
|
337 |
-
1025 => 'ё',
|
338 |
-
1026 => 'ђ',
|
339 |
-
1027 => 'ѓ',
|
340 |
-
1028 => 'є',
|
341 |
-
1029 => 'ѕ',
|
342 |
-
1030 => 'і',
|
343 |
-
1031 => 'ї',
|
344 |
-
1032 => 'ј',
|
345 |
-
1033 => 'љ',
|
346 |
-
1034 => 'њ',
|
347 |
-
1035 => 'ћ',
|
348 |
-
1036 => 'ќ',
|
349 |
-
1037 => 'ѝ',
|
350 |
-
1038 => 'ў',
|
351 |
-
1039 => 'џ',
|
352 |
-
1040 => 'а',
|
353 |
-
1041 => 'б',
|
354 |
-
1042 => 'в',
|
355 |
-
1043 => 'г',
|
356 |
-
1044 => 'д',
|
357 |
-
1045 => 'е',
|
358 |
-
1046 => 'ж',
|
359 |
-
1047 => 'з',
|
360 |
-
1048 => 'и',
|
361 |
-
1049 => 'й',
|
362 |
-
1050 => 'к',
|
363 |
-
1051 => 'л',
|
364 |
-
1052 => 'м',
|
365 |
-
1053 => 'н',
|
366 |
-
1054 => 'о',
|
367 |
-
1055 => 'п',
|
368 |
-
1056 => 'р',
|
369 |
-
1057 => 'с',
|
370 |
-
1058 => 'т',
|
371 |
-
1059 => 'у',
|
372 |
-
1060 => 'ф',
|
373 |
-
1061 => 'х',
|
374 |
-
1062 => 'ц',
|
375 |
-
1063 => 'ч',
|
376 |
-
1064 => 'ш',
|
377 |
-
1065 => 'щ',
|
378 |
-
1066 => 'ъ',
|
379 |
-
1067 => 'ы',
|
380 |
-
1068 => 'ь',
|
381 |
-
1069 => 'э',
|
382 |
-
1070 => 'ю',
|
383 |
-
1071 => 'я',
|
384 |
-
1120 => 'ѡ',
|
385 |
-
1122 => 'ѣ',
|
386 |
-
1124 => 'ѥ',
|
387 |
-
1126 => 'ѧ',
|
388 |
-
1128 => 'ѩ',
|
389 |
-
1130 => 'ѫ',
|
390 |
-
1132 => 'ѭ',
|
391 |
-
1134 => 'ѯ',
|
392 |
-
1136 => 'ѱ',
|
393 |
-
1138 => 'ѳ',
|
394 |
-
1140 => 'ѵ',
|
395 |
-
1142 => 'ѷ',
|
396 |
-
1144 => 'ѹ',
|
397 |
-
1146 => 'ѻ',
|
398 |
-
1148 => 'ѽ',
|
399 |
-
1150 => 'ѿ',
|
400 |
-
1152 => 'ҁ',
|
401 |
-
1162 => 'ҋ',
|
402 |
-
1164 => 'ҍ',
|
403 |
-
1166 => 'ҏ',
|
404 |
-
1168 => 'ґ',
|
405 |
-
1170 => 'ғ',
|
406 |
-
1172 => 'ҕ',
|
407 |
-
1174 => 'җ',
|
408 |
-
1176 => 'ҙ',
|
409 |
-
1178 => 'қ',
|
410 |
-
1180 => 'ҝ',
|
411 |
-
1182 => 'ҟ',
|
412 |
-
1184 => 'ҡ',
|
413 |
-
1186 => 'ң',
|
414 |
-
1188 => 'ҥ',
|
415 |
-
1190 => 'ҧ',
|
416 |
-
1192 => 'ҩ',
|
417 |
-
1194 => 'ҫ',
|
418 |
-
1196 => 'ҭ',
|
419 |
-
1198 => 'ү',
|
420 |
-
1200 => 'ұ',
|
421 |
-
1202 => 'ҳ',
|
422 |
-
1204 => 'ҵ',
|
423 |
-
1206 => 'ҷ',
|
424 |
-
1208 => 'ҹ',
|
425 |
-
1210 => 'һ',
|
426 |
-
1212 => 'ҽ',
|
427 |
-
1214 => 'ҿ',
|
428 |
-
1217 => 'ӂ',
|
429 |
-
1219 => 'ӄ',
|
430 |
-
1221 => 'ӆ',
|
431 |
-
1223 => 'ӈ',
|
432 |
-
1225 => 'ӊ',
|
433 |
-
1227 => 'ӌ',
|
434 |
-
1229 => 'ӎ',
|
435 |
-
1232 => 'ӑ',
|
436 |
-
1234 => 'ӓ',
|
437 |
-
1236 => 'ӕ',
|
438 |
-
1238 => 'ӗ',
|
439 |
-
1240 => 'ә',
|
440 |
-
1242 => 'ӛ',
|
441 |
-
1244 => 'ӝ',
|
442 |
-
1246 => 'ӟ',
|
443 |
-
1248 => 'ӡ',
|
444 |
-
1250 => 'ӣ',
|
445 |
-
1252 => 'ӥ',
|
446 |
-
1254 => 'ӧ',
|
447 |
-
1256 => 'ө',
|
448 |
-
1258 => 'ӫ',
|
449 |
-
1260 => 'ӭ',
|
450 |
-
1262 => 'ӯ',
|
451 |
-
1264 => 'ӱ',
|
452 |
-
1266 => 'ӳ',
|
453 |
-
1268 => 'ӵ',
|
454 |
-
1270 => 'ӷ',
|
455 |
-
1272 => 'ӹ',
|
456 |
-
1274 => 'ӻ',
|
457 |
-
1276 => 'ӽ',
|
458 |
-
1278 => 'ӿ',
|
459 |
-
1280 => 'ԁ',
|
460 |
-
1282 => 'ԃ',
|
461 |
-
1284 => 'ԅ',
|
462 |
-
1286 => 'ԇ',
|
463 |
-
1288 => 'ԉ',
|
464 |
-
1290 => 'ԋ',
|
465 |
-
1292 => 'ԍ',
|
466 |
-
1294 => 'ԏ',
|
467 |
-
1296 => 'ԑ',
|
468 |
-
1298 => 'ԓ',
|
469 |
-
1300 => 'ԕ',
|
470 |
-
1302 => 'ԗ',
|
471 |
-
1304 => 'ԙ',
|
472 |
-
1306 => 'ԛ',
|
473 |
-
1308 => 'ԝ',
|
474 |
-
1310 => 'ԟ',
|
475 |
-
1312 => 'ԡ',
|
476 |
-
1314 => 'ԣ',
|
477 |
-
1316 => 'ԥ',
|
478 |
-
1318 => 'ԧ',
|
479 |
-
1320 => 'ԩ',
|
480 |
-
1322 => 'ԫ',
|
481 |
-
1324 => 'ԭ',
|
482 |
-
1326 => 'ԯ',
|
483 |
-
1329 => 'ա',
|
484 |
-
1330 => 'բ',
|
485 |
-
1331 => 'գ',
|
486 |
-
1332 => 'դ',
|
487 |
-
1333 => 'ե',
|
488 |
-
1334 => 'զ',
|
489 |
-
1335 => 'է',
|
490 |
-
1336 => 'ը',
|
491 |
-
1337 => 'թ',
|
492 |
-
1338 => 'ժ',
|
493 |
-
1339 => 'ի',
|
494 |
-
1340 => 'լ',
|
495 |
-
1341 => 'խ',
|
496 |
-
1342 => 'ծ',
|
497 |
-
1343 => 'կ',
|
498 |
-
1344 => 'հ',
|
499 |
-
1345 => 'ձ',
|
500 |
-
1346 => 'ղ',
|
501 |
-
1347 => 'ճ',
|
502 |
-
1348 => 'մ',
|
503 |
-
1349 => 'յ',
|
504 |
-
1350 => 'ն',
|
505 |
-
1351 => 'շ',
|
506 |
-
1352 => 'ո',
|
507 |
-
1353 => 'չ',
|
508 |
-
1354 => 'պ',
|
509 |
-
1355 => 'ջ',
|
510 |
-
1356 => 'ռ',
|
511 |
-
1357 => 'ս',
|
512 |
-
1358 => 'վ',
|
513 |
-
1359 => 'տ',
|
514 |
-
1360 => 'ր',
|
515 |
-
1361 => 'ց',
|
516 |
-
1362 => 'ւ',
|
517 |
-
1363 => 'փ',
|
518 |
-
1364 => 'ք',
|
519 |
-
1365 => 'օ',
|
520 |
-
1366 => 'ֆ',
|
521 |
-
1415 => 'եւ',
|
522 |
-
1653 => 'اٴ',
|
523 |
-
1654 => 'وٴ',
|
524 |
-
1655 => 'ۇٴ',
|
525 |
-
1656 => 'يٴ',
|
526 |
-
2392 => 'क़',
|
527 |
-
2393 => 'ख़',
|
528 |
-
2394 => 'ग़',
|
529 |
-
2395 => 'ज़',
|
530 |
-
2396 => 'ड़',
|
531 |
-
2397 => 'ढ़',
|
532 |
-
2398 => 'फ़',
|
533 |
-
2399 => 'य़',
|
534 |
-
2524 => 'ড়',
|
535 |
-
2525 => 'ঢ়',
|
536 |
-
2527 => 'য়',
|
537 |
-
2611 => 'ਲ਼',
|
538 |
-
2614 => 'ਸ਼',
|
539 |
-
2649 => 'ਖ਼',
|
540 |
-
2650 => 'ਗ਼',
|
541 |
-
2651 => 'ਜ਼',
|
542 |
-
2654 => 'ਫ਼',
|
543 |
-
2908 => 'ଡ଼',
|
544 |
-
2909 => 'ଢ଼',
|
545 |
-
3635 => 'ํา',
|
546 |
-
3763 => 'ໍາ',
|
547 |
-
3804 => 'ຫນ',
|
548 |
-
3805 => 'ຫມ',
|
549 |
-
3852 => '་',
|
550 |
-
3907 => 'གྷ',
|
551 |
-
3917 => 'ཌྷ',
|
552 |
-
3922 => 'དྷ',
|
553 |
-
3927 => 'བྷ',
|
554 |
-
3932 => 'ཛྷ',
|
555 |
-
3945 => 'ཀྵ',
|
556 |
-
3955 => 'ཱི',
|
557 |
-
3957 => 'ཱུ',
|
558 |
-
3958 => 'ྲྀ',
|
559 |
-
3959 => 'ྲཱྀ',
|
560 |
-
3960 => 'ླྀ',
|
561 |
-
3961 => 'ླཱྀ',
|
562 |
-
3969 => 'ཱྀ',
|
563 |
-
3987 => 'ྒྷ',
|
564 |
-
3997 => 'ྜྷ',
|
565 |
-
4002 => 'ྡྷ',
|
566 |
-
4007 => 'ྦྷ',
|
567 |
-
4012 => 'ྫྷ',
|
568 |
-
4025 => 'ྐྵ',
|
569 |
-
4295 => 'ⴧ',
|
570 |
-
4301 => 'ⴭ',
|
571 |
-
4348 => 'ნ',
|
572 |
-
5112 => 'Ᏸ',
|
573 |
-
5113 => 'Ᏹ',
|
574 |
-
5114 => 'Ᏺ',
|
575 |
-
5115 => 'Ᏻ',
|
576 |
-
5116 => 'Ᏼ',
|
577 |
-
5117 => 'Ᏽ',
|
578 |
-
7296 => 'в',
|
579 |
-
7297 => 'д',
|
580 |
-
7298 => 'о',
|
581 |
-
7299 => 'с',
|
582 |
-
7300 => 'т',
|
583 |
-
7301 => 'т',
|
584 |
-
7302 => 'ъ',
|
585 |
-
7303 => 'ѣ',
|
586 |
-
7304 => 'ꙋ',
|
587 |
-
7312 => 'ა',
|
588 |
-
7313 => 'ბ',
|
589 |
-
7314 => 'გ',
|
590 |
-
7315 => 'დ',
|
591 |
-
7316 => 'ე',
|
592 |
-
7317 => 'ვ',
|
593 |
-
7318 => 'ზ',
|
594 |
-
7319 => 'თ',
|
595 |
-
7320 => 'ი',
|
596 |
-
7321 => 'კ',
|
597 |
-
7322 => 'ლ',
|
598 |
-
7323 => 'მ',
|
599 |
-
7324 => 'ნ',
|
600 |
-
7325 => 'ო',
|
601 |
-
7326 => 'პ',
|
602 |
-
7327 => 'ჟ',
|
603 |
-
7328 => 'რ',
|
604 |
-
7329 => 'ს',
|
605 |
-
7330 => 'ტ',
|
606 |
-
7331 => 'უ',
|
607 |
-
7332 => 'ფ',
|
608 |
-
7333 => 'ქ',
|
609 |
-
7334 => 'ღ',
|
610 |
-
7335 => 'ყ',
|
611 |
-
7336 => 'შ',
|
612 |
-
7337 => 'ჩ',
|
613 |
-
7338 => 'ც',
|
614 |
-
7339 => 'ძ',
|
615 |
-
7340 => 'წ',
|
616 |
-
7341 => 'ჭ',
|
617 |
-
7342 => 'ხ',
|
618 |
-
7343 => 'ჯ',
|
619 |
-
7344 => 'ჰ',
|
620 |
-
7345 => 'ჱ',
|
621 |
-
7346 => 'ჲ',
|
622 |
-
7347 => 'ჳ',
|
623 |
-
7348 => 'ჴ',
|
624 |
-
7349 => 'ჵ',
|
625 |
-
7350 => 'ჶ',
|
626 |
-
7351 => 'ჷ',
|
627 |
-
7352 => 'ჸ',
|
628 |
-
7353 => 'ჹ',
|
629 |
-
7354 => 'ჺ',
|
630 |
-
7357 => 'ჽ',
|
631 |
-
7358 => 'ჾ',
|
632 |
-
7359 => 'ჿ',
|
633 |
-
7468 => 'a',
|
634 |
-
7469 => 'æ',
|
635 |
-
7470 => 'b',
|
636 |
-
7472 => 'd',
|
637 |
-
7473 => 'e',
|
638 |
-
7474 => 'ǝ',
|
639 |
-
7475 => 'g',
|
640 |
-
7476 => 'h',
|
641 |
-
7477 => 'i',
|
642 |
-
7478 => 'j',
|
643 |
-
7479 => 'k',
|
644 |
-
7480 => 'l',
|
645 |
-
7481 => 'm',
|
646 |
-
7482 => 'n',
|
647 |
-
7484 => 'o',
|
648 |
-
7485 => 'ȣ',
|
649 |
-
7486 => 'p',
|
650 |
-
7487 => 'r',
|
651 |
-
7488 => 't',
|
652 |
-
7489 => 'u',
|
653 |
-
7490 => 'w',
|
654 |
-
7491 => 'a',
|
655 |
-
7492 => 'ɐ',
|
656 |
-
7493 => 'ɑ',
|
657 |
-
7494 => 'ᴂ',
|
658 |
-
7495 => 'b',
|
659 |
-
7496 => 'd',
|
660 |
-
7497 => 'e',
|
661 |
-
7498 => 'ə',
|
662 |
-
7499 => 'ɛ',
|
663 |
-
7500 => 'ɜ',
|
664 |
-
7501 => 'g',
|
665 |
-
7503 => 'k',
|
666 |
-
7504 => 'm',
|
667 |
-
7505 => 'ŋ',
|
668 |
-
7506 => 'o',
|
669 |
-
7507 => 'ɔ',
|
670 |
-
7508 => 'ᴖ',
|
671 |
-
7509 => 'ᴗ',
|
672 |
-
7510 => 'p',
|
673 |
-
7511 => 't',
|
674 |
-
7512 => 'u',
|
675 |
-
7513 => 'ᴝ',
|
676 |
-
7514 => 'ɯ',
|
677 |
-
7515 => 'v',
|
678 |
-
7516 => 'ᴥ',
|
679 |
-
7517 => 'β',
|
680 |
-
7518 => 'γ',
|
681 |
-
7519 => 'δ',
|
682 |
-
7520 => 'φ',
|
683 |
-
7521 => 'χ',
|
684 |
-
7522 => 'i',
|
685 |
-
7523 => 'r',
|
686 |
-
7524 => 'u',
|
687 |
-
7525 => 'v',
|
688 |
-
7526 => 'β',
|
689 |
-
7527 => 'γ',
|
690 |
-
7528 => 'ρ',
|
691 |
-
7529 => 'φ',
|
692 |
-
7530 => 'χ',
|
693 |
-
7544 => 'н',
|
694 |
-
7579 => 'ɒ',
|
695 |
-
7580 => 'c',
|
696 |
-
7581 => 'ɕ',
|
697 |
-
7582 => 'ð',
|
698 |
-
7583 => 'ɜ',
|
699 |
-
7584 => 'f',
|
700 |
-
7585 => 'ɟ',
|
701 |
-
7586 => 'ɡ',
|
702 |
-
7587 => 'ɥ',
|
703 |
-
7588 => 'ɨ',
|
704 |
-
7589 => 'ɩ',
|
705 |
-
7590 => 'ɪ',
|
706 |
-
7591 => 'ᵻ',
|
707 |
-
7592 => 'ʝ',
|
708 |
-
7593 => 'ɭ',
|
709 |
-
7594 => 'ᶅ',
|
710 |
-
7595 => 'ʟ',
|
711 |
-
7596 => 'ɱ',
|
712 |
-
7597 => 'ɰ',
|
713 |
-
7598 => 'ɲ',
|
714 |
-
7599 => 'ɳ',
|
715 |
-
7600 => 'ɴ',
|
716 |
-
7601 => 'ɵ',
|
717 |
-
7602 => 'ɸ',
|
718 |
-
7603 => 'ʂ',
|
719 |
-
7604 => 'ʃ',
|
720 |
-
7605 => 'ƫ',
|
721 |
-
7606 => 'ʉ',
|
722 |
-
7607 => 'ʊ',
|
723 |
-
7608 => 'ᴜ',
|
724 |
-
7609 => 'ʋ',
|
725 |
-
7610 => 'ʌ',
|
726 |
-
7611 => 'z',
|
727 |
-
7612 => 'ʐ',
|
728 |
-
7613 => 'ʑ',
|
729 |
-
7614 => 'ʒ',
|
730 |
-
7615 => 'θ',
|
731 |
-
7680 => 'ḁ',
|
732 |
-
7682 => 'ḃ',
|
733 |
-
7684 => 'ḅ',
|
734 |
-
7686 => 'ḇ',
|
735 |
-
7688 => 'ḉ',
|
736 |
-
7690 => 'ḋ',
|
737 |
-
7692 => 'ḍ',
|
738 |
-
7694 => 'ḏ',
|
739 |
-
7696 => 'ḑ',
|
740 |
-
7698 => 'ḓ',
|
741 |
-
7700 => 'ḕ',
|
742 |
-
7702 => 'ḗ',
|
743 |
-
7704 => 'ḙ',
|
744 |
-
7706 => 'ḛ',
|
745 |
-
7708 => 'ḝ',
|
746 |
-
7710 => 'ḟ',
|
747 |
-
7712 => 'ḡ',
|
748 |
-
7714 => 'ḣ',
|
749 |
-
7716 => 'ḥ',
|
750 |
-
7718 => 'ḧ',
|
751 |
-
7720 => 'ḩ',
|
752 |
-
7722 => 'ḫ',
|
753 |
-
7724 => 'ḭ',
|
754 |
-
7726 => 'ḯ',
|
755 |
-
7728 => 'ḱ',
|
756 |
-
7730 => 'ḳ',
|
757 |
-
7732 => 'ḵ',
|
758 |
-
7734 => 'ḷ',
|
759 |
-
7736 => 'ḹ',
|
760 |
-
7738 => 'ḻ',
|
761 |
-
7740 => 'ḽ',
|
762 |
-
7742 => 'ḿ',
|
763 |
-
7744 => 'ṁ',
|
764 |
-
7746 => 'ṃ',
|
765 |
-
7748 => 'ṅ',
|
766 |
-
7750 => 'ṇ',
|
767 |
-
7752 => 'ṉ',
|
768 |
-
7754 => 'ṋ',
|
769 |
-
7756 => 'ṍ',
|
770 |
-
7758 => 'ṏ',
|
771 |
-
7760 => 'ṑ',
|
772 |
-
7762 => 'ṓ',
|
773 |
-
7764 => 'ṕ',
|
774 |
-
7766 => 'ṗ',
|
775 |
-
7768 => 'ṙ',
|
776 |
-
7770 => 'ṛ',
|
777 |
-
7772 => 'ṝ',
|
778 |
-
7774 => 'ṟ',
|
779 |
-
7776 => 'ṡ',
|
780 |
-
7778 => 'ṣ',
|
781 |
-
7780 => 'ṥ',
|
782 |
-
7782 => 'ṧ',
|
783 |
-
7784 => 'ṩ',
|
784 |
-
7786 => 'ṫ',
|
785 |
-
7788 => 'ṭ',
|
786 |
-
7790 => 'ṯ',
|
787 |
-
7792 => 'ṱ',
|
788 |
-
7794 => 'ṳ',
|
789 |
-
7796 => 'ṵ',
|
790 |
-
7798 => 'ṷ',
|
791 |
-
7800 => 'ṹ',
|
792 |
-
7802 => 'ṻ',
|
793 |
-
7804 => 'ṽ',
|
794 |
-
7806 => 'ṿ',
|
795 |
-
7808 => 'ẁ',
|
796 |
-
7810 => 'ẃ',
|
797 |
-
7812 => 'ẅ',
|
798 |
-
7814 => 'ẇ',
|
799 |
-
7816 => 'ẉ',
|
800 |
-
7818 => 'ẋ',
|
801 |
-
7820 => 'ẍ',
|
802 |
-
7822 => 'ẏ',
|
803 |
-
7824 => 'ẑ',
|
804 |
-
7826 => 'ẓ',
|
805 |
-
7828 => 'ẕ',
|
806 |
-
7834 => 'aʾ',
|
807 |
-
7835 => 'ṡ',
|
808 |
-
7838 => 'ss',
|
809 |
-
7840 => 'ạ',
|
810 |
-
7842 => 'ả',
|
811 |
-
7844 => 'ấ',
|
812 |
-
7846 => 'ầ',
|
813 |
-
7848 => 'ẩ',
|
814 |
-
7850 => 'ẫ',
|
815 |
-
7852 => 'ậ',
|
816 |
-
7854 => 'ắ',
|
817 |
-
7856 => 'ằ',
|
818 |
-
7858 => 'ẳ',
|
819 |
-
7860 => 'ẵ',
|
820 |
-
7862 => 'ặ',
|
821 |
-
7864 => 'ẹ',
|
822 |
-
7866 => 'ẻ',
|
823 |
-
7868 => 'ẽ',
|
824 |
-
7870 => 'ế',
|
825 |
-
7872 => 'ề',
|
826 |
-
7874 => 'ể',
|
827 |
-
7876 => 'ễ',
|
828 |
-
7878 => 'ệ',
|
829 |
-
7880 => 'ỉ',
|
830 |
-
7882 => 'ị',
|
831 |
-
7884 => 'ọ',
|
832 |
-
7886 => 'ỏ',
|
833 |
-
7888 => 'ố',
|
834 |
-
7890 => 'ồ',
|
835 |
-
7892 => 'ổ',
|
836 |
-
7894 => 'ỗ',
|
837 |
-
7896 => 'ộ',
|
838 |
-
7898 => 'ớ',
|
839 |
-
7900 => 'ờ',
|
840 |
-
7902 => 'ở',
|
841 |
-
7904 => 'ỡ',
|
842 |
-
7906 => 'ợ',
|
843 |
-
7908 => 'ụ',
|
844 |
-
7910 => 'ủ',
|
845 |
-
7912 => 'ứ',
|
846 |
-
7914 => 'ừ',
|
847 |
-
7916 => 'ử',
|
848 |
-
7918 => 'ữ',
|
849 |
-
7920 => 'ự',
|
850 |
-
7922 => 'ỳ',
|
851 |
-
7924 => 'ỵ',
|
852 |
-
7926 => 'ỷ',
|
853 |
-
7928 => 'ỹ',
|
854 |
-
7930 => 'ỻ',
|
855 |
-
7932 => 'ỽ',
|
856 |
-
7934 => 'ỿ',
|
857 |
-
7944 => 'ἀ',
|
858 |
-
7945 => 'ἁ',
|
859 |
-
7946 => 'ἂ',
|
860 |
-
7947 => 'ἃ',
|
861 |
-
7948 => 'ἄ',
|
862 |
-
7949 => 'ἅ',
|
863 |
-
7950 => 'ἆ',
|
864 |
-
7951 => 'ἇ',
|
865 |
-
7960 => 'ἐ',
|
866 |
-
7961 => 'ἑ',
|
867 |
-
7962 => 'ἒ',
|
868 |
-
7963 => 'ἓ',
|
869 |
-
7964 => 'ἔ',
|
870 |
-
7965 => 'ἕ',
|
871 |
-
7976 => 'ἠ',
|
872 |
-
7977 => 'ἡ',
|
873 |
-
7978 => 'ἢ',
|
874 |
-
7979 => 'ἣ',
|
875 |
-
7980 => 'ἤ',
|
876 |
-
7981 => 'ἥ',
|
877 |
-
7982 => 'ἦ',
|
878 |
-
7983 => 'ἧ',
|
879 |
-
7992 => 'ἰ',
|
880 |
-
7993 => 'ἱ',
|
881 |
-
7994 => 'ἲ',
|
882 |
-
7995 => 'ἳ',
|
883 |
-
7996 => 'ἴ',
|
884 |
-
7997 => 'ἵ',
|
885 |
-
7998 => 'ἶ',
|
886 |
-
7999 => 'ἷ',
|
887 |
-
8008 => 'ὀ',
|
888 |
-
8009 => 'ὁ',
|
889 |
-
8010 => 'ὂ',
|
890 |
-
8011 => 'ὃ',
|
891 |
-
8012 => 'ὄ',
|
892 |
-
8013 => 'ὅ',
|
893 |
-
8025 => 'ὑ',
|
894 |
-
8027 => 'ὓ',
|
895 |
-
8029 => 'ὕ',
|
896 |
-
8031 => 'ὗ',
|
897 |
-
8040 => 'ὠ',
|
898 |
-
8041 => 'ὡ',
|
899 |
-
8042 => 'ὢ',
|
900 |
-
8043 => 'ὣ',
|
901 |
-
8044 => 'ὤ',
|
902 |
-
8045 => 'ὥ',
|
903 |
-
8046 => 'ὦ',
|
904 |
-
8047 => 'ὧ',
|
905 |
-
8049 => 'ά',
|
906 |
-
8051 => 'έ',
|
907 |
-
8053 => 'ή',
|
908 |
-
8055 => 'ί',
|
909 |
-
8057 => 'ό',
|
910 |
-
8059 => 'ύ',
|
911 |
-
8061 => 'ώ',
|
912 |
-
8064 => 'ἀι',
|
913 |
-
8065 => 'ἁι',
|
914 |
-
8066 => 'ἂι',
|
915 |
-
8067 => 'ἃι',
|
916 |
-
8068 => 'ἄι',
|
917 |
-
8069 => 'ἅι',
|
918 |
-
8070 => 'ἆι',
|
919 |
-
8071 => 'ἇι',
|
920 |
-
8072 => 'ἀι',
|
921 |
-
8073 => 'ἁι',
|
922 |
-
8074 => 'ἂι',
|
923 |
-
8075 => 'ἃι',
|
924 |
-
8076 => 'ἄι',
|
925 |
-
8077 => 'ἅι',
|
926 |
-
8078 => 'ἆι',
|
927 |
-
8079 => 'ἇι',
|
928 |
-
8080 => 'ἠι',
|
929 |
-
8081 => 'ἡι',
|
930 |
-
8082 => 'ἢι',
|
931 |
-
8083 => 'ἣι',
|
932 |
-
8084 => 'ἤι',
|
933 |
-
8085 => 'ἥι',
|
934 |
-
8086 => 'ἦι',
|
935 |
-
8087 => 'ἧι',
|
936 |
-
8088 => 'ἠι',
|
937 |
-
8089 => 'ἡι',
|
938 |
-
8090 => 'ἢι',
|
939 |
-
8091 => 'ἣι',
|
940 |
-
8092 => 'ἤι',
|
941 |
-
8093 => 'ἥι',
|
942 |
-
8094 => 'ἦι',
|
943 |
-
8095 => 'ἧι',
|
944 |
-
8096 => 'ὠι',
|
945 |
-
8097 => 'ὡι',
|
946 |
-
8098 => 'ὢι',
|
947 |
-
8099 => 'ὣι',
|
948 |
-
8100 => 'ὤι',
|
949 |
-
8101 => 'ὥι',
|
950 |
-
8102 => 'ὦι',
|
951 |
-
8103 => 'ὧι',
|
952 |
-
8104 => 'ὠι',
|
953 |
-
8105 => 'ὡι',
|
954 |
-
8106 => 'ὢι',
|
955 |
-
8107 => 'ὣι',
|
956 |
-
8108 => 'ὤι',
|
957 |
-
8109 => 'ὥι',
|
958 |
-
8110 => 'ὦι',
|
959 |
-
8111 => 'ὧι',
|
960 |
-
8114 => 'ὰι',
|
961 |
-
8115 => 'αι',
|
962 |
-
8116 => 'άι',
|
963 |
-
8119 => 'ᾶι',
|
964 |
-
8120 => 'ᾰ',
|
965 |
-
8121 => 'ᾱ',
|
966 |
-
8122 => 'ὰ',
|
967 |
-
8123 => 'ά',
|
968 |
-
8124 => 'αι',
|
969 |
-
8126 => 'ι',
|
970 |
-
8130 => 'ὴι',
|
971 |
-
8131 => 'ηι',
|
972 |
-
8132 => 'ήι',
|
973 |
-
8135 => 'ῆι',
|
974 |
-
8136 => 'ὲ',
|
975 |
-
8137 => 'έ',
|
976 |
-
8138 => 'ὴ',
|
977 |
-
8139 => 'ή',
|
978 |
-
8140 => 'ηι',
|
979 |
-
8147 => 'ΐ',
|
980 |
-
8152 => 'ῐ',
|
981 |
-
8153 => 'ῑ',
|
982 |
-
8154 => 'ὶ',
|
983 |
-
8155 => 'ί',
|
984 |
-
8163 => 'ΰ',
|
985 |
-
8168 => 'ῠ',
|
986 |
-
8169 => 'ῡ',
|
987 |
-
8170 => 'ὺ',
|
988 |
-
8171 => 'ύ',
|
989 |
-
8172 => 'ῥ',
|
990 |
-
8178 => 'ὼι',
|
991 |
-
8179 => 'ωι',
|
992 |
-
8180 => 'ώι',
|
993 |
-
8183 => 'ῶι',
|
994 |
-
8184 => 'ὸ',
|
995 |
-
8185 => 'ό',
|
996 |
-
8186 => 'ὼ',
|
997 |
-
8187 => 'ώ',
|
998 |
-
8188 => 'ωι',
|
999 |
-
8209 => '‐',
|
1000 |
-
8243 => '′′',
|
1001 |
-
8244 => '′′′',
|
1002 |
-
8246 => '‵‵',
|
1003 |
-
8247 => '‵‵‵',
|
1004 |
-
8279 => '′′′′',
|
1005 |
-
8304 => '0',
|
1006 |
-
8305 => 'i',
|
1007 |
-
8308 => '4',
|
1008 |
-
8309 => '5',
|
1009 |
-
8310 => '6',
|
1010 |
-
8311 => '7',
|
1011 |
-
8312 => '8',
|
1012 |
-
8313 => '9',
|
1013 |
-
8315 => '−',
|
1014 |
-
8319 => 'n',
|
1015 |
-
8320 => '0',
|
1016 |
-
8321 => '1',
|
1017 |
-
8322 => '2',
|
1018 |
-
8323 => '3',
|
1019 |
-
8324 => '4',
|
1020 |
-
8325 => '5',
|
1021 |
-
8326 => '6',
|
1022 |
-
8327 => '7',
|
1023 |
-
8328 => '8',
|
1024 |
-
8329 => '9',
|
1025 |
-
8331 => '−',
|
1026 |
-
8336 => 'a',
|
1027 |
-
8337 => 'e',
|
1028 |
-
8338 => 'o',
|
1029 |
-
8339 => 'x',
|
1030 |
-
8340 => 'ə',
|
1031 |
-
8341 => 'h',
|
1032 |
-
8342 => 'k',
|
1033 |
-
8343 => 'l',
|
1034 |
-
8344 => 'm',
|
1035 |
-
8345 => 'n',
|
1036 |
-
8346 => 'p',
|
1037 |
-
8347 => 's',
|
1038 |
-
8348 => 't',
|
1039 |
-
8360 => 'rs',
|
1040 |
-
8450 => 'c',
|
1041 |
-
8451 => '°c',
|
1042 |
-
8455 => 'ɛ',
|
1043 |
-
8457 => '°f',
|
1044 |
-
8458 => 'g',
|
1045 |
-
8459 => 'h',
|
1046 |
-
8460 => 'h',
|
1047 |
-
8461 => 'h',
|
1048 |
-
8462 => 'h',
|
1049 |
-
8463 => 'ħ',
|
1050 |
-
8464 => 'i',
|
1051 |
-
8465 => 'i',
|
1052 |
-
8466 => 'l',
|
1053 |
-
8467 => 'l',
|
1054 |
-
8469 => 'n',
|
1055 |
-
8470 => 'no',
|
1056 |
-
8473 => 'p',
|
1057 |
-
8474 => 'q',
|
1058 |
-
8475 => 'r',
|
1059 |
-
8476 => 'r',
|
1060 |
-
8477 => 'r',
|
1061 |
-
8480 => 'sm',
|
1062 |
-
8481 => 'tel',
|
1063 |
-
8482 => 'tm',
|
1064 |
-
8484 => 'z',
|
1065 |
-
8486 => 'ω',
|
1066 |
-
8488 => 'z',
|
1067 |
-
8490 => 'k',
|
1068 |
-
8491 => 'å',
|
1069 |
-
8492 => 'b',
|
1070 |
-
8493 => 'c',
|
1071 |
-
8495 => 'e',
|
1072 |
-
8496 => 'e',
|
1073 |
-
8497 => 'f',
|
1074 |
-
8499 => 'm',
|
1075 |
-
8500 => 'o',
|
1076 |
-
8501 => 'א',
|
1077 |
-
8502 => 'ב',
|
1078 |
-
8503 => 'ג',
|
1079 |
-
8504 => 'ד',
|
1080 |
-
8505 => 'i',
|
1081 |
-
8507 => 'fax',
|
1082 |
-
8508 => 'π',
|
1083 |
-
8509 => 'γ',
|
1084 |
-
8510 => 'γ',
|
1085 |
-
8511 => 'π',
|
1086 |
-
8512 => '∑',
|
1087 |
-
8517 => 'd',
|
1088 |
-
8518 => 'd',
|
1089 |
-
8519 => 'e',
|
1090 |
-
8520 => 'i',
|
1091 |
-
8521 => 'j',
|
1092 |
-
8528 => '1⁄7',
|
1093 |
-
8529 => '1⁄9',
|
1094 |
-
8530 => '1⁄10',
|
1095 |
-
8531 => '1⁄3',
|
1096 |
-
8532 => '2⁄3',
|
1097 |
-
8533 => '1⁄5',
|
1098 |
-
8534 => '2⁄5',
|
1099 |
-
8535 => '3⁄5',
|
1100 |
-
8536 => '4⁄5',
|
1101 |
-
8537 => '1⁄6',
|
1102 |
-
8538 => '5⁄6',
|
1103 |
-
8539 => '1⁄8',
|
1104 |
-
8540 => '3⁄8',
|
1105 |
-
8541 => '5⁄8',
|
1106 |
-
8542 => '7⁄8',
|
1107 |
-
8543 => '1⁄',
|
1108 |
-
8544 => 'i',
|
1109 |
-
8545 => 'ii',
|
1110 |
-
8546 => 'iii',
|
1111 |
-
8547 => 'iv',
|
1112 |
-
8548 => 'v',
|
1113 |
-
8549 => 'vi',
|
1114 |
-
8550 => 'vii',
|
1115 |
-
8551 => 'viii',
|
1116 |
-
8552 => 'ix',
|
1117 |
-
8553 => 'x',
|
1118 |
-
8554 => 'xi',
|
1119 |
-
8555 => 'xii',
|
1120 |
-
8556 => 'l',
|
1121 |
-
8557 => 'c',
|
1122 |
-
8558 => 'd',
|
1123 |
-
8559 => 'm',
|
1124 |
-
8560 => 'i',
|
1125 |
-
8561 => 'ii',
|
1126 |
-
8562 => 'iii',
|
1127 |
-
8563 => 'iv',
|
1128 |
-
8564 => 'v',
|
1129 |
-
8565 => 'vi',
|
1130 |
-
8566 => 'vii',
|
1131 |
-
8567 => 'viii',
|
1132 |
-
8568 => 'ix',
|
1133 |
-
8569 => 'x',
|
1134 |
-
8570 => 'xi',
|
1135 |
-
8571 => 'xii',
|
1136 |
-
8572 => 'l',
|
1137 |
-
8573 => 'c',
|
1138 |
-
8574 => 'd',
|
1139 |
-
8575 => 'm',
|
1140 |
-
8585 => '0⁄3',
|
1141 |
-
8748 => '∫∫',
|
1142 |
-
8749 => '∫∫∫',
|
1143 |
-
8751 => '∮∮',
|
1144 |
-
8752 => '∮∮∮',
|
1145 |
-
9001 => '〈',
|
1146 |
-
9002 => '〉',
|
1147 |
-
9312 => '1',
|
1148 |
-
9313 => '2',
|
1149 |
-
9314 => '3',
|
1150 |
-
9315 => '4',
|
1151 |
-
9316 => '5',
|
1152 |
-
9317 => '6',
|
1153 |
-
9318 => '7',
|
1154 |
-
9319 => '8',
|
1155 |
-
9320 => '9',
|
1156 |
-
9321 => '10',
|
1157 |
-
9322 => '11',
|
1158 |
-
9323 => '12',
|
1159 |
-
9324 => '13',
|
1160 |
-
9325 => '14',
|
1161 |
-
9326 => '15',
|
1162 |
-
9327 => '16',
|
1163 |
-
9328 => '17',
|
1164 |
-
9329 => '18',
|
1165 |
-
9330 => '19',
|
1166 |
-
9331 => '20',
|
1167 |
-
9398 => 'a',
|
1168 |
-
9399 => 'b',
|
1169 |
-
9400 => 'c',
|
1170 |
-
9401 => 'd',
|
1171 |
-
9402 => 'e',
|
1172 |
-
9403 => 'f',
|
1173 |
-
9404 => 'g',
|
1174 |
-
9405 => 'h',
|
1175 |
-
9406 => 'i',
|
1176 |
-
9407 => 'j',
|
1177 |
-
9408 => 'k',
|
1178 |
-
9409 => 'l',
|
1179 |
-
9410 => 'm',
|
1180 |
-
9411 => 'n',
|
1181 |
-
9412 => 'o',
|
1182 |
-
9413 => 'p',
|
1183 |
-
9414 => 'q',
|
1184 |
-
9415 => 'r',
|
1185 |
-
9416 => 's',
|
1186 |
-
9417 => 't',
|
1187 |
-
9418 => 'u',
|
1188 |
-
9419 => 'v',
|
1189 |
-
9420 => 'w',
|
1190 |
-
9421 => 'x',
|
1191 |
-
9422 => 'y',
|
1192 |
-
9423 => 'z',
|
1193 |
-
9424 => 'a',
|
1194 |
-
9425 => 'b',
|
1195 |
-
9426 => 'c',
|
1196 |
-
9427 => 'd',
|
1197 |
-
9428 => 'e',
|
1198 |
-
9429 => 'f',
|
1199 |
-
9430 => 'g',
|
1200 |
-
9431 => 'h',
|
1201 |
-
9432 => 'i',
|
1202 |
-
9433 => 'j',
|
1203 |
-
9434 => 'k',
|
1204 |
-
9435 => 'l',
|
1205 |
-
9436 => 'm',
|
1206 |
-
9437 => 'n',
|
1207 |
-
9438 => 'o',
|
1208 |
-
9439 => 'p',
|
1209 |
-
9440 => 'q',
|
1210 |
-
9441 => 'r',
|
1211 |
-
9442 => 's',
|
1212 |
-
9443 => 't',
|
1213 |
-
9444 => 'u',
|
1214 |
-
9445 => 'v',
|
1215 |
-
9446 => 'w',
|
1216 |
-
9447 => 'x',
|
1217 |
-
9448 => 'y',
|
1218 |
-
9449 => 'z',
|
1219 |
-
9450 => '0',
|
1220 |
-
10764 => '∫∫∫∫',
|
1221 |
-
10972 => '⫝̸',
|
1222 |
-
11264 => 'ⰰ',
|
1223 |
-
11265 => 'ⰱ',
|
1224 |
-
11266 => 'ⰲ',
|
1225 |
-
11267 => 'ⰳ',
|
1226 |
-
11268 => 'ⰴ',
|
1227 |
-
11269 => 'ⰵ',
|
1228 |
-
11270 => 'ⰶ',
|
1229 |
-
11271 => 'ⰷ',
|
1230 |
-
11272 => 'ⰸ',
|
1231 |
-
11273 => 'ⰹ',
|
1232 |
-
11274 => 'ⰺ',
|
1233 |
-
11275 => 'ⰻ',
|
1234 |
-
11276 => 'ⰼ',
|
1235 |
-
11277 => 'ⰽ',
|
1236 |
-
11278 => 'ⰾ',
|
1237 |
-
11279 => 'ⰿ',
|
1238 |
-
11280 => 'ⱀ',
|
1239 |
-
11281 => 'ⱁ',
|
1240 |
-
11282 => 'ⱂ',
|
1241 |
-
11283 => 'ⱃ',
|
1242 |
-
11284 => 'ⱄ',
|
1243 |
-
11285 => 'ⱅ',
|
1244 |
-
11286 => 'ⱆ',
|
1245 |
-
11287 => 'ⱇ',
|
1246 |
-
11288 => 'ⱈ',
|
1247 |
-
11289 => 'ⱉ',
|
1248 |
-
11290 => 'ⱊ',
|
1249 |
-
11291 => 'ⱋ',
|
1250 |
-
11292 => 'ⱌ',
|
1251 |
-
11293 => 'ⱍ',
|
1252 |
-
11294 => 'ⱎ',
|
1253 |
-
11295 => 'ⱏ',
|
1254 |
-
11296 => 'ⱐ',
|
1255 |
-
11297 => 'ⱑ',
|
1256 |
-
11298 => 'ⱒ',
|
1257 |
-
11299 => 'ⱓ',
|
1258 |
-
11300 => 'ⱔ',
|
1259 |
-
11301 => 'ⱕ',
|
1260 |
-
11302 => 'ⱖ',
|
1261 |
-
11303 => 'ⱗ',
|
1262 |
-
11304 => 'ⱘ',
|
1263 |
-
11305 => 'ⱙ',
|
1264 |
-
11306 => 'ⱚ',
|
1265 |
-
11307 => 'ⱛ',
|
1266 |
-
11308 => 'ⱜ',
|
1267 |
-
11309 => 'ⱝ',
|
1268 |
-
11310 => 'ⱞ',
|
1269 |
-
11360 => 'ⱡ',
|
1270 |
-
11362 => 'ɫ',
|
1271 |
-
11363 => 'ᵽ',
|
1272 |
-
11364 => 'ɽ',
|
1273 |
-
11367 => 'ⱨ',
|
1274 |
-
11369 => 'ⱪ',
|
1275 |
-
11371 => 'ⱬ',
|
1276 |
-
11373 => 'ɑ',
|
1277 |
-
11374 => 'ɱ',
|
1278 |
-
11375 => 'ɐ',
|
1279 |
-
11376 => 'ɒ',
|
1280 |
-
11378 => 'ⱳ',
|
1281 |
-
11381 => 'ⱶ',
|
1282 |
-
11388 => 'j',
|
1283 |
-
11389 => 'v',
|
1284 |
-
11390 => 'ȿ',
|
1285 |
-
11391 => 'ɀ',
|
1286 |
-
11392 => 'ⲁ',
|
1287 |
-
11394 => 'ⲃ',
|
1288 |
-
11396 => 'ⲅ',
|
1289 |
-
11398 => 'ⲇ',
|
1290 |
-
11400 => 'ⲉ',
|
1291 |
-
11402 => 'ⲋ',
|
1292 |
-
11404 => 'ⲍ',
|
1293 |
-
11406 => 'ⲏ',
|
1294 |
-
11408 => 'ⲑ',
|
1295 |
-
11410 => 'ⲓ',
|
1296 |
-
11412 => 'ⲕ',
|
1297 |
-
11414 => 'ⲗ',
|
1298 |
-
11416 => 'ⲙ',
|
1299 |
-
11418 => 'ⲛ',
|
1300 |
-
11420 => 'ⲝ',
|
1301 |
-
11422 => 'ⲟ',
|
1302 |
-
11424 => 'ⲡ',
|
1303 |
-
11426 => 'ⲣ',
|
1304 |
-
11428 => 'ⲥ',
|
1305 |
-
11430 => 'ⲧ',
|
1306 |
-
11432 => 'ⲩ',
|
1307 |
-
11434 => 'ⲫ',
|
1308 |
-
11436 => 'ⲭ',
|
1309 |
-
11438 => 'ⲯ',
|
1310 |
-
11440 => 'ⲱ',
|
1311 |
-
11442 => 'ⲳ',
|
1312 |
-
11444 => 'ⲵ',
|
1313 |
-
11446 => 'ⲷ',
|
1314 |
-
11448 => 'ⲹ',
|
1315 |
-
11450 => 'ⲻ',
|
1316 |
-
11452 => 'ⲽ',
|
1317 |
-
11454 => 'ⲿ',
|
1318 |
-
11456 => 'ⳁ',
|
1319 |
-
11458 => 'ⳃ',
|
1320 |
-
11460 => 'ⳅ',
|
1321 |
-
11462 => 'ⳇ',
|
1322 |
-
11464 => 'ⳉ',
|
1323 |
-
11466 => 'ⳋ',
|
1324 |
-
11468 => 'ⳍ',
|
1325 |
-
11470 => 'ⳏ',
|
1326 |
-
11472 => 'ⳑ',
|
1327 |
-
11474 => 'ⳓ',
|
1328 |
-
11476 => 'ⳕ',
|
1329 |
-
11478 => 'ⳗ',
|
1330 |
-
11480 => 'ⳙ',
|
1331 |
-
11482 => 'ⳛ',
|
1332 |
-
11484 => 'ⳝ',
|
1333 |
-
11486 => 'ⳟ',
|
1334 |
-
11488 => 'ⳡ',
|
1335 |
-
11490 => 'ⳣ',
|
1336 |
-
11499 => 'ⳬ',
|
1337 |
-
11501 => 'ⳮ',
|
1338 |
-
11506 => 'ⳳ',
|
1339 |
-
11631 => 'ⵡ',
|
1340 |
-
11935 => '母',
|
1341 |
-
12019 => '龟',
|
1342 |
-
12032 => '一',
|
1343 |
-
12033 => '丨',
|
1344 |
-
12034 => '丶',
|
1345 |
-
12035 => '丿',
|
1346 |
-
12036 => '乙',
|
1347 |
-
12037 => '亅',
|
1348 |
-
12038 => '二',
|
1349 |
-
12039 => '亠',
|
1350 |
-
12040 => '人',
|
1351 |
-
12041 => '儿',
|
1352 |
-
12042 => '入',
|
1353 |
-
12043 => '八',
|
1354 |
-
12044 => '冂',
|
1355 |
-
12045 => '冖',
|
1356 |
-
12046 => '冫',
|
1357 |
-
12047 => '几',
|
1358 |
-
12048 => '凵',
|
1359 |
-
12049 => '刀',
|
1360 |
-
12050 => '力',
|
1361 |
-
12051 => '勹',
|
1362 |
-
12052 => '匕',
|
1363 |
-
12053 => '匚',
|
1364 |
-
12054 => '匸',
|
1365 |
-
12055 => '十',
|
1366 |
-
12056 => '卜',
|
1367 |
-
12057 => '卩',
|
1368 |
-
12058 => '厂',
|
1369 |
-
12059 => '厶',
|
1370 |
-
12060 => '又',
|
1371 |
-
12061 => '口',
|
1372 |
-
12062 => '囗',
|
1373 |
-
12063 => '土',
|
1374 |
-
12064 => '士',
|
1375 |
-
12065 => '夂',
|
1376 |
-
12066 => '夊',
|
1377 |
-
12067 => '夕',
|
1378 |
-
12068 => '大',
|
1379 |
-
12069 => '女',
|
1380 |
-
12070 => '子',
|
1381 |
-
12071 => '宀',
|
1382 |
-
12072 => '寸',
|
1383 |
-
12073 => '小',
|
1384 |
-
12074 => '尢',
|
1385 |
-
12075 => '尸',
|
1386 |
-
12076 => '屮',
|
1387 |
-
12077 => '山',
|
1388 |
-
12078 => '巛',
|
1389 |
-
12079 => '工',
|
1390 |
-
12080 => '己',
|
1391 |
-
12081 => '巾',
|
1392 |
-
12082 => '干',
|
1393 |
-
12083 => '幺',
|
1394 |
-
12084 => '广',
|
1395 |
-
12085 => '廴',
|
1396 |
-
12086 => '廾',
|
1397 |
-
12087 => '弋',
|
1398 |
-
12088 => '弓',
|
1399 |
-
12089 => '彐',
|
1400 |
-
12090 => '彡',
|
1401 |
-
12091 => '彳',
|
1402 |
-
12092 => '心',
|
1403 |
-
12093 => '戈',
|
1404 |
-
12094 => '戶',
|
1405 |
-
12095 => '手',
|
1406 |
-
12096 => '支',
|
1407 |
-
12097 => '攴',
|
1408 |
-
12098 => '文',
|
1409 |
-
12099 => '斗',
|
1410 |
-
12100 => '斤',
|
1411 |
-
12101 => '方',
|
1412 |
-
12102 => '无',
|
1413 |
-
12103 => '日',
|
1414 |
-
12104 => '曰',
|
1415 |
-
12105 => '月',
|
1416 |
-
12106 => '木',
|
1417 |
-
12107 => '欠',
|
1418 |
-
12108 => '止',
|
1419 |
-
12109 => '歹',
|
1420 |
-
12110 => '殳',
|
1421 |
-
12111 => '毋',
|
1422 |
-
12112 => '比',
|
1423 |
-
12113 => '毛',
|
1424 |
-
12114 => '氏',
|
1425 |
-
12115 => '气',
|
1426 |
-
12116 => '水',
|
1427 |
-
12117 => '火',
|
1428 |
-
12118 => '爪',
|
1429 |
-
12119 => '父',
|
1430 |
-
12120 => '爻',
|
1431 |
-
12121 => '爿',
|
1432 |
-
12122 => '片',
|
1433 |
-
12123 => '牙',
|
1434 |
-
12124 => '牛',
|
1435 |
-
12125 => '犬',
|
1436 |
-
12126 => '玄',
|
1437 |
-
12127 => '玉',
|
1438 |
-
12128 => '瓜',
|
1439 |
-
12129 => '瓦',
|
1440 |
-
12130 => '甘',
|
1441 |
-
12131 => '生',
|
1442 |
-
12132 => '用',
|
1443 |
-
12133 => '田',
|
1444 |
-
12134 => '疋',
|
1445 |
-
12135 => '疒',
|
1446 |
-
12136 => '癶',
|
1447 |
-
12137 => '白',
|
1448 |
-
12138 => '皮',
|
1449 |
-
12139 => '皿',
|
1450 |
-
12140 => '目',
|
1451 |
-
12141 => '矛',
|
1452 |
-
12142 => '矢',
|
1453 |
-
12143 => '石',
|
1454 |
-
12144 => '示',
|
1455 |
-
12145 => '禸',
|
1456 |
-
12146 => '禾',
|
1457 |
-
12147 => '穴',
|
1458 |
-
12148 => '立',
|
1459 |
-
12149 => '竹',
|
1460 |
-
12150 => '米',
|
1461 |
-
12151 => '糸',
|
1462 |
-
12152 => '缶',
|
1463 |
-
12153 => '网',
|
1464 |
-
12154 => '羊',
|
1465 |
-
12155 => '羽',
|
1466 |
-
12156 => '老',
|
1467 |
-
12157 => '而',
|
1468 |
-
12158 => '耒',
|
1469 |
-
12159 => '耳',
|
1470 |
-
12160 => '聿',
|
1471 |
-
12161 => '肉',
|
1472 |
-
12162 => '臣',
|
1473 |
-
12163 => '自',
|
1474 |
-
12164 => '至',
|
1475 |
-
12165 => '臼',
|
1476 |
-
12166 => '舌',
|
1477 |
-
12167 => '舛',
|
1478 |
-
12168 => '舟',
|
1479 |
-
12169 => '艮',
|
1480 |
-
12170 => '色',
|
1481 |
-
12171 => '艸',
|
1482 |
-
12172 => '虍',
|
1483 |
-
12173 => '虫',
|
1484 |
-
12174 => '血',
|
1485 |
-
12175 => '行',
|
1486 |
-
12176 => '衣',
|
1487 |
-
12177 => '襾',
|
1488 |
-
12178 => '見',
|
1489 |
-
12179 => '角',
|
1490 |
-
12180 => '言',
|
1491 |
-
12181 => '谷',
|
1492 |
-
12182 => '豆',
|
1493 |
-
12183 => '豕',
|
1494 |
-
12184 => '豸',
|
1495 |
-
12185 => '貝',
|
1496 |
-
12186 => '赤',
|
1497 |
-
12187 => '走',
|
1498 |
-
12188 => '足',
|
1499 |
-
12189 => '身',
|
1500 |
-
12190 => '車',
|
1501 |
-
12191 => '辛',
|
1502 |
-
12192 => '辰',
|
1503 |
-
12193 => '辵',
|
1504 |
-
12194 => '邑',
|
1505 |
-
12195 => '酉',
|
1506 |
-
12196 => '釆',
|
1507 |
-
12197 => '里',
|
1508 |
-
12198 => '金',
|
1509 |
-
12199 => '長',
|
1510 |
-
12200 => '門',
|
1511 |
-
12201 => '阜',
|
1512 |
-
12202 => '隶',
|
1513 |
-
12203 => '隹',
|
1514 |
-
12204 => '雨',
|
1515 |
-
12205 => '靑',
|
1516 |
-
12206 => '非',
|
1517 |
-
12207 => '面',
|
1518 |
-
12208 => '革',
|
1519 |
-
12209 => '韋',
|
1520 |
-
12210 => '韭',
|
1521 |
-
12211 => '音',
|
1522 |
-
12212 => '頁',
|
1523 |
-
12213 => '風',
|
1524 |
-
12214 => '飛',
|
1525 |
-
12215 => '食',
|
1526 |
-
12216 => '首',
|
1527 |
-
12217 => '香',
|
1528 |
-
12218 => '馬',
|
1529 |
-
12219 => '骨',
|
1530 |
-
12220 => '高',
|
1531 |
-
12221 => '髟',
|
1532 |
-
12222 => '鬥',
|
1533 |
-
12223 => '鬯',
|
1534 |
-
12224 => '鬲',
|
1535 |
-
12225 => '鬼',
|
1536 |
-
12226 => '魚',
|
1537 |
-
12227 => '鳥',
|
1538 |
-
12228 => '鹵',
|
1539 |
-
12229 => '鹿',
|
1540 |
-
12230 => '麥',
|
1541 |
-
12231 => '麻',
|
1542 |
-
12232 => '黃',
|
1543 |
-
12233 => '黍',
|
1544 |
-
12234 => '黑',
|
1545 |
-
12235 => '黹',
|
1546 |
-
12236 => '黽',
|
1547 |
-
12237 => '鼎',
|
1548 |
-
12238 => '鼓',
|
1549 |
-
12239 => '鼠',
|
1550 |
-
12240 => '鼻',
|
1551 |
-
12241 => '齊',
|
1552 |
-
12242 => '齒',
|
1553 |
-
12243 => '龍',
|
1554 |
-
12244 => '龜',
|
1555 |
-
12245 => '龠',
|
1556 |
-
12290 => '.',
|
1557 |
-
12342 => '〒',
|
1558 |
-
12344 => '十',
|
1559 |
-
12345 => '卄',
|
1560 |
-
12346 => '卅',
|
1561 |
-
12447 => 'より',
|
1562 |
-
12543 => 'コト',
|
1563 |
-
12593 => 'ᄀ',
|
1564 |
-
12594 => 'ᄁ',
|
1565 |
-
12595 => 'ᆪ',
|
1566 |
-
12596 => 'ᄂ',
|
1567 |
-
12597 => 'ᆬ',
|
1568 |
-
12598 => 'ᆭ',
|
1569 |
-
12599 => 'ᄃ',
|
1570 |
-
12600 => 'ᄄ',
|
1571 |
-
12601 => 'ᄅ',
|
1572 |
-
12602 => 'ᆰ',
|
1573 |
-
12603 => 'ᆱ',
|
1574 |
-
12604 => 'ᆲ',
|
1575 |
-
12605 => 'ᆳ',
|
1576 |
-
12606 => 'ᆴ',
|
1577 |
-
12607 => 'ᆵ',
|
1578 |
-
12608 => 'ᄚ',
|
1579 |
-
12609 => 'ᄆ',
|
1580 |
-
12610 => 'ᄇ',
|
1581 |
-
12611 => 'ᄈ',
|
1582 |
-
12612 => 'ᄡ',
|
1583 |
-
12613 => 'ᄉ',
|
1584 |
-
12614 => 'ᄊ',
|
1585 |
-
12615 => 'ᄋ',
|
1586 |
-
12616 => 'ᄌ',
|
1587 |
-
12617 => 'ᄍ',
|
1588 |
-
12618 => 'ᄎ',
|
1589 |
-
12619 => 'ᄏ',
|
1590 |
-
12620 => 'ᄐ',
|
1591 |
-
12621 => 'ᄑ',
|
1592 |
-
12622 => 'ᄒ',
|
1593 |
-
12623 => 'ᅡ',
|
1594 |
-
12624 => 'ᅢ',
|
1595 |
-
12625 => 'ᅣ',
|
1596 |
-
12626 => 'ᅤ',
|
1597 |
-
12627 => 'ᅥ',
|
1598 |
-
12628 => 'ᅦ',
|
1599 |
-
12629 => 'ᅧ',
|
1600 |
-
12630 => 'ᅨ',
|
1601 |
-
12631 => 'ᅩ',
|
1602 |
-
12632 => 'ᅪ',
|
1603 |
-
12633 => 'ᅫ',
|
1604 |
-
12634 => 'ᅬ',
|
1605 |
-
12635 => 'ᅭ',
|
1606 |
-
12636 => 'ᅮ',
|
1607 |
-
12637 => 'ᅯ',
|
1608 |
-
12638 => 'ᅰ',
|
1609 |
-
12639 => 'ᅱ',
|
1610 |
-
12640 => 'ᅲ',
|
1611 |
-
12641 => 'ᅳ',
|
1612 |
-
12642 => 'ᅴ',
|
1613 |
-
12643 => 'ᅵ',
|
1614 |
-
12645 => 'ᄔ',
|
1615 |
-
12646 => 'ᄕ',
|
1616 |
-
12647 => 'ᇇ',
|
1617 |
-
12648 => 'ᇈ',
|
1618 |
-
12649 => 'ᇌ',
|
1619 |
-
12650 => 'ᇎ',
|
1620 |
-
12651 => 'ᇓ',
|
1621 |
-
12652 => 'ᇗ',
|
1622 |
-
12653 => 'ᇙ',
|
1623 |
-
12654 => 'ᄜ',
|
1624 |
-
12655 => 'ᇝ',
|
1625 |
-
12656 => 'ᇟ',
|
1626 |
-
12657 => 'ᄝ',
|
1627 |
-
12658 => 'ᄞ',
|
1628 |
-
12659 => 'ᄠ',
|
1629 |
-
12660 => 'ᄢ',
|
1630 |
-
12661 => 'ᄣ',
|
1631 |
-
12662 => 'ᄧ',
|
1632 |
-
12663 => 'ᄩ',
|
1633 |
-
12664 => 'ᄫ',
|
1634 |
-
12665 => 'ᄬ',
|
1635 |
-
12666 => 'ᄭ',
|
1636 |
-
12667 => 'ᄮ',
|
1637 |
-
12668 => 'ᄯ',
|
1638 |
-
12669 => 'ᄲ',
|
1639 |
-
12670 => 'ᄶ',
|
1640 |
-
12671 => 'ᅀ',
|
1641 |
-
12672 => 'ᅇ',
|
1642 |
-
12673 => 'ᅌ',
|
1643 |
-
12674 => 'ᇱ',
|
1644 |
-
12675 => 'ᇲ',
|
1645 |
-
12676 => 'ᅗ',
|
1646 |
-
12677 => 'ᅘ',
|
1647 |
-
12678 => 'ᅙ',
|
1648 |
-
12679 => 'ᆄ',
|
1649 |
-
12680 => 'ᆅ',
|
1650 |
-
12681 => 'ᆈ',
|
1651 |
-
12682 => 'ᆑ',
|
1652 |
-
12683 => 'ᆒ',
|
1653 |
-
12684 => 'ᆔ',
|
1654 |
-
12685 => 'ᆞ',
|
1655 |
-
12686 => 'ᆡ',
|
1656 |
-
12690 => '一',
|
1657 |
-
12691 => '二',
|
1658 |
-
12692 => '三',
|
1659 |
-
12693 => '四',
|
1660 |
-
12694 => '上',
|
1661 |
-
12695 => '中',
|
1662 |
-
12696 => '下',
|
1663 |
-
12697 => '甲',
|
1664 |
-
12698 => '乙',
|
1665 |
-
12699 => '丙',
|
1666 |
-
12700 => '丁',
|
1667 |
-
12701 => '天',
|
1668 |
-
12702 => '地',
|
1669 |
-
12703 => '人',
|
1670 |
-
12868 => '問',
|
1671 |
-
12869 => '幼',
|
1672 |
-
12870 => '文',
|
1673 |
-
12871 => '箏',
|
1674 |
-
12880 => 'pte',
|
1675 |
-
12881 => '21',
|
1676 |
-
12882 => '22',
|
1677 |
-
12883 => '23',
|
1678 |
-
12884 => '24',
|
1679 |
-
12885 => '25',
|
1680 |
-
12886 => '26',
|
1681 |
-
12887 => '27',
|
1682 |
-
12888 => '28',
|
1683 |
-
12889 => '29',
|
1684 |
-
12890 => '30',
|
1685 |
-
12891 => '31',
|
1686 |
-
12892 => '32',
|
1687 |
-
12893 => '33',
|
1688 |
-
12894 => '34',
|
1689 |
-
12895 => '35',
|
1690 |
-
12896 => 'ᄀ',
|
1691 |
-
12897 => 'ᄂ',
|
1692 |
-
12898 => 'ᄃ',
|
1693 |
-
12899 => 'ᄅ',
|
1694 |
-
12900 => 'ᄆ',
|
1695 |
-
12901 => 'ᄇ',
|
1696 |
-
12902 => 'ᄉ',
|
1697 |
-
12903 => 'ᄋ',
|
1698 |
-
12904 => 'ᄌ',
|
1699 |
-
12905 => 'ᄎ',
|
1700 |
-
12906 => 'ᄏ',
|
1701 |
-
12907 => 'ᄐ',
|
1702 |
-
12908 => 'ᄑ',
|
1703 |
-
12909 => 'ᄒ',
|
1704 |
-
12910 => '가',
|
1705 |
-
12911 => '나',
|
1706 |
-
12912 => '다',
|
1707 |
-
12913 => '라',
|
1708 |
-
12914 => '마',
|
1709 |
-
12915 => '바',
|
1710 |
-
12916 => '사',
|
1711 |
-
12917 => '아',
|
1712 |
-
12918 => '자',
|
1713 |
-
12919 => '차',
|
1714 |
-
12920 => '카',
|
1715 |
-
12921 => '타',
|
1716 |
-
12922 => '파',
|
1717 |
-
12923 => '하',
|
1718 |
-
12924 => '참고',
|
1719 |
-
12925 => '주의',
|
1720 |
-
12926 => '우',
|
1721 |
-
12928 => '一',
|
1722 |
-
12929 => '二',
|
1723 |
-
12930 => '三',
|
1724 |
-
12931 => '四',
|
1725 |
-
12932 => '五',
|
1726 |
-
12933 => '六',
|
1727 |
-
12934 => '七',
|
1728 |
-
12935 => '八',
|
1729 |
-
12936 => '九',
|
1730 |
-
12937 => '十',
|
1731 |
-
12938 => '月',
|
1732 |
-
12939 => '火',
|
1733 |
-
12940 => '水',
|
1734 |
-
12941 => '木',
|
1735 |
-
12942 => '金',
|
1736 |
-
12943 => '土',
|
1737 |
-
12944 => '日',
|
1738 |
-
12945 => '株',
|
1739 |
-
12946 => '有',
|
1740 |
-
12947 => '社',
|
1741 |
-
12948 => '名',
|
1742 |
-
12949 => '特',
|
1743 |
-
12950 => '財',
|
1744 |
-
12951 => '祝',
|
1745 |
-
12952 => '労',
|
1746 |
-
12953 => '秘',
|
1747 |
-
12954 => '男',
|
1748 |
-
12955 => '女',
|
1749 |
-
12956 => '適',
|
1750 |
-
12957 => '優',
|
1751 |
-
12958 => '印',
|
1752 |
-
12959 => '注',
|
1753 |
-
12960 => '項',
|
1754 |
-
12961 => '休',
|
1755 |
-
12962 => '写',
|
1756 |
-
12963 => '正',
|
1757 |
-
12964 => '上',
|
1758 |
-
12965 => '中',
|
1759 |
-
12966 => '下',
|
1760 |
-
12967 => '左',
|
1761 |
-
12968 => '右',
|
1762 |
-
12969 => '医',
|
1763 |
-
12970 => '宗',
|
1764 |
-
12971 => '学',
|
1765 |
-
12972 => '監',
|
1766 |
-
12973 => '企',
|
1767 |
-
12974 => '資',
|
1768 |
-
12975 => '協',
|
1769 |
-
12976 => '夜',
|
1770 |
-
12977 => '36',
|
1771 |
-
12978 => '37',
|
1772 |
-
12979 => '38',
|
1773 |
-
12980 => '39',
|
1774 |
-
12981 => '40',
|
1775 |
-
12982 => '41',
|
1776 |
-
12983 => '42',
|
1777 |
-
12984 => '43',
|
1778 |
-
12985 => '44',
|
1779 |
-
12986 => '45',
|
1780 |
-
12987 => '46',
|
1781 |
-
12988 => '47',
|
1782 |
-
12989 => '48',
|
1783 |
-
12990 => '49',
|
1784 |
-
12991 => '50',
|
1785 |
-
12992 => '1月',
|
1786 |
-
12993 => '2月',
|
1787 |
-
12994 => '3月',
|
1788 |
-
12995 => '4月',
|
1789 |
-
12996 => '5月',
|
1790 |
-
12997 => '6月',
|
1791 |
-
12998 => '7月',
|
1792 |
-
12999 => '8月',
|
1793 |
-
13000 => '9月',
|
1794 |
-
13001 => '10月',
|
1795 |
-
13002 => '11月',
|
1796 |
-
13003 => '12月',
|
1797 |
-
13004 => 'hg',
|
1798 |
-
13005 => 'erg',
|
1799 |
-
13006 => 'ev',
|
1800 |
-
13007 => 'ltd',
|
1801 |
-
13008 => 'ア',
|
1802 |
-
13009 => 'イ',
|
1803 |
-
13010 => 'ウ',
|
1804 |
-
13011 => 'エ',
|
1805 |
-
13012 => 'オ',
|
1806 |
-
13013 => 'カ',
|
1807 |
-
13014 => 'キ',
|
1808 |
-
13015 => 'ク',
|
1809 |
-
13016 => 'ケ',
|
1810 |
-
13017 => 'コ',
|
1811 |
-
13018 => 'サ',
|
1812 |
-
13019 => 'シ',
|
1813 |
-
13020 => 'ス',
|
1814 |
-
13021 => 'セ',
|
1815 |
-
13022 => 'ソ',
|
1816 |
-
13023 => 'タ',
|
1817 |
-
13024 => 'チ',
|
1818 |
-
13025 => 'ツ',
|
1819 |
-
13026 => 'テ',
|
1820 |
-
13027 => 'ト',
|
1821 |
-
13028 => 'ナ',
|
1822 |
-
13029 => 'ニ',
|
1823 |
-
13030 => 'ヌ',
|
1824 |
-
13031 => 'ネ',
|
1825 |
-
13032 => 'ノ',
|
1826 |
-
13033 => 'ハ',
|
1827 |
-
13034 => 'ヒ',
|
1828 |
-
13035 => 'フ',
|
1829 |
-
13036 => 'ヘ',
|
1830 |
-
13037 => 'ホ',
|
1831 |
-
13038 => 'マ',
|
1832 |
-
13039 => 'ミ',
|
1833 |
-
13040 => 'ム',
|
1834 |
-
13041 => 'メ',
|
1835 |
-
13042 => 'モ',
|
1836 |
-
13043 => 'ヤ',
|
1837 |
-
13044 => 'ユ',
|
1838 |
-
13045 => 'ヨ',
|
1839 |
-
13046 => 'ラ',
|
1840 |
-
13047 => 'リ',
|
1841 |
-
13048 => 'ル',
|
1842 |
-
13049 => 'レ',
|
1843 |
-
13050 => 'ロ',
|
1844 |
-
13051 => 'ワ',
|
1845 |
-
13052 => 'ヰ',
|
1846 |
-
13053 => 'ヱ',
|
1847 |
-
13054 => 'ヲ',
|
1848 |
-
13055 => '令和',
|
1849 |
-
13056 => 'アパート',
|
1850 |
-
13057 => 'アルファ',
|
1851 |
-
13058 => 'アンペア',
|
1852 |
-
13059 => 'アール',
|
1853 |
-
13060 => 'イニング',
|
1854 |
-
13061 => 'インチ',
|
1855 |
-
13062 => 'ウォン',
|
1856 |
-
13063 => 'エスクード',
|
1857 |
-
13064 => 'エーカー',
|
1858 |
-
13065 => 'オンス',
|
1859 |
-
13066 => 'オーム',
|
1860 |
-
13067 => 'カイリ',
|
1861 |
-
13068 => 'カラット',
|
1862 |
-
13069 => 'カロリー',
|
1863 |
-
13070 => 'ガロン',
|
1864 |
-
13071 => 'ガンマ',
|
1865 |
-
13072 => 'ギガ',
|
1866 |
-
13073 => 'ギニー',
|
1867 |
-
13074 => 'キュリー',
|
1868 |
-
13075 => 'ギルダー',
|
1869 |
-
13076 => 'キロ',
|
1870 |
-
13077 => 'キログラム',
|
1871 |
-
13078 => 'キロメートル',
|
1872 |
-
13079 => 'キロワット',
|
1873 |
-
13080 => 'グラム',
|
1874 |
-
13081 => 'グラムトン',
|
1875 |
-
13082 => 'クルゼイロ',
|
1876 |
-
13083 => 'クローネ',
|
1877 |
-
13084 => 'ケース',
|
1878 |
-
13085 => 'コルナ',
|
1879 |
-
13086 => 'コーポ',
|
1880 |
-
13087 => 'サイクル',
|
1881 |
-
13088 => 'サンチーム',
|
1882 |
-
13089 => 'シリング',
|
1883 |
-
13090 => 'センチ',
|
1884 |
-
13091 => 'セント',
|
1885 |
-
13092 => 'ダース',
|
1886 |
-
13093 => 'デシ',
|
1887 |
-
13094 => 'ドル',
|
1888 |
-
13095 => 'トン',
|
1889 |
-
13096 => 'ナノ',
|
1890 |
-
13097 => 'ノット',
|
1891 |
-
13098 => 'ハイツ',
|
1892 |
-
13099 => 'パーセント',
|
1893 |
-
13100 => 'パーツ',
|
1894 |
-
13101 => 'バーレル',
|
1895 |
-
13102 => 'ピアストル',
|
1896 |
-
13103 => 'ピクル',
|
1897 |
-
13104 => 'ピコ',
|
1898 |
-
13105 => 'ビル',
|
1899 |
-
13106 => 'ファラッド',
|
1900 |
-
13107 => 'フィート',
|
1901 |
-
13108 => 'ブッシェル',
|
1902 |
-
13109 => 'フラン',
|
1903 |
-
13110 => 'ヘクタール',
|
1904 |
-
13111 => 'ペソ',
|
1905 |
-
13112 => 'ペニヒ',
|
1906 |
-
13113 => 'ヘルツ',
|
1907 |
-
13114 => 'ペンス',
|
1908 |
-
13115 => 'ページ',
|
1909 |
-
13116 => 'ベータ',
|
1910 |
-
13117 => 'ポイント',
|
1911 |
-
13118 => 'ボルト',
|
1912 |
-
13119 => 'ホン',
|
1913 |
-
13120 => 'ポンド',
|
1914 |
-
13121 => 'ホール',
|
1915 |
-
13122 => 'ホーン',
|
1916 |
-
13123 => 'マイクロ',
|
1917 |
-
13124 => 'マイル',
|
1918 |
-
13125 => 'マッハ',
|
1919 |
-
13126 => 'マルク',
|
1920 |
-
13127 => 'マンション',
|
1921 |
-
13128 => 'ミクロン',
|
1922 |
-
13129 => 'ミリ',
|
1923 |
-
13130 => 'ミリバール',
|
1924 |
-
13131 => 'メガ',
|
1925 |
-
13132 => 'メガトン',
|
1926 |
-
13133 => 'メートル',
|
1927 |
-
13134 => 'ヤード',
|
1928 |
-
13135 => 'ヤール',
|
1929 |
-
13136 => 'ユアン',
|
1930 |
-
13137 => 'リットル',
|
1931 |
-
13138 => 'リラ',
|
1932 |
-
13139 => 'ルピー',
|
1933 |
-
13140 => 'ルーブル',
|
1934 |
-
13141 => 'レム',
|
1935 |
-
13142 => 'レントゲン',
|
1936 |
-
13143 => 'ワット',
|
1937 |
-
13144 => '0点',
|
1938 |
-
13145 => '1点',
|
1939 |
-
13146 => '2点',
|
1940 |
-
13147 => '3点',
|
1941 |
-
13148 => '4点',
|
1942 |
-
13149 => '5点',
|
1943 |
-
13150 => '6点',
|
1944 |
-
13151 => '7点',
|
1945 |
-
13152 => '8点',
|
1946 |
-
13153 => '9点',
|
1947 |
-
13154 => '10点',
|
1948 |
-
13155 => '11点',
|
1949 |
-
13156 => '12点',
|
1950 |
-
13157 => '13点',
|
1951 |
-
13158 => '14点',
|
1952 |
-
13159 => '15点',
|
1953 |
-
13160 => '16点',
|
1954 |
-
13161 => '17点',
|
1955 |
-
13162 => '18点',
|
1956 |
-
13163 => '19点',
|
1957 |
-
13164 => '20点',
|
1958 |
-
13165 => '21点',
|
1959 |
-
13166 => '22点',
|
1960 |
-
13167 => '23点',
|
1961 |
-
13168 => '24点',
|
1962 |
-
13169 => 'hpa',
|
1963 |
-
13170 => 'da',
|
1964 |
-
13171 => 'au',
|
1965 |
-
13172 => 'bar',
|
1966 |
-
13173 => 'ov',
|
1967 |
-
13174 => 'pc',
|
1968 |
-
13175 => 'dm',
|
1969 |
-
13176 => 'dm2',
|
1970 |
-
13177 => 'dm3',
|
1971 |
-
13178 => 'iu',
|
1972 |
-
13179 => '平成',
|
1973 |
-
13180 => '昭和',
|
1974 |
-
13181 => '大正',
|
1975 |
-
13182 => '明治',
|
1976 |
-
13183 => '株式会社',
|
1977 |
-
13184 => 'pa',
|
1978 |
-
13185 => 'na',
|
1979 |
-
13186 => 'μa',
|
1980 |
-
13187 => 'ma',
|
1981 |
-
13188 => 'ka',
|
1982 |
-
13189 => 'kb',
|
1983 |
-
13190 => 'mb',
|
1984 |
-
13191 => 'gb',
|
1985 |
-
13192 => 'cal',
|
1986 |
-
13193 => 'kcal',
|
1987 |
-
13194 => 'pf',
|
1988 |
-
13195 => 'nf',
|
1989 |
-
13196 => 'μf',
|
1990 |
-
13197 => 'μg',
|
1991 |
-
13198 => 'mg',
|
1992 |
-
13199 => 'kg',
|
1993 |
-
13200 => 'hz',
|
1994 |
-
13201 => 'khz',
|
1995 |
-
13202 => 'mhz',
|
1996 |
-
13203 => 'ghz',
|
1997 |
-
13204 => 'thz',
|
1998 |
-
13205 => 'μl',
|
1999 |
-
13206 => 'ml',
|
2000 |
-
13207 => 'dl',
|
2001 |
-
13208 => 'kl',
|
2002 |
-
13209 => 'fm',
|
2003 |
-
13210 => 'nm',
|
2004 |
-
13211 => 'μm',
|
2005 |
-
13212 => 'mm',
|
2006 |
-
13213 => 'cm',
|
2007 |
-
13214 => 'km',
|
2008 |
-
13215 => 'mm2',
|
2009 |
-
13216 => 'cm2',
|
2010 |
-
13217 => 'm2',
|
2011 |
-
13218 => 'km2',
|
2012 |
-
13219 => 'mm3',
|
2013 |
-
13220 => 'cm3',
|
2014 |
-
13221 => 'm3',
|
2015 |
-
13222 => 'km3',
|
2016 |
-
13223 => 'm∕s',
|
2017 |
-
13224 => 'm∕s2',
|
2018 |
-
13225 => 'pa',
|
2019 |
-
13226 => 'kpa',
|
2020 |
-
13227 => 'mpa',
|
2021 |
-
13228 => 'gpa',
|
2022 |
-
13229 => 'rad',
|
2023 |
-
13230 => 'rad∕s',
|
2024 |
-
13231 => 'rad∕s2',
|
2025 |
-
13232 => 'ps',
|
2026 |
-
13233 => 'ns',
|
2027 |
-
13234 => 'μs',
|
2028 |
-
13235 => 'ms',
|
2029 |
-
13236 => 'pv',
|
2030 |
-
13237 => 'nv',
|
2031 |
-
13238 => 'μv',
|
2032 |
-
13239 => 'mv',
|
2033 |
-
13240 => 'kv',
|
2034 |
-
13241 => 'mv',
|
2035 |
-
13242 => 'pw',
|
2036 |
-
13243 => 'nw',
|
2037 |
-
13244 => 'μw',
|
2038 |
-
13245 => 'mw',
|
2039 |
-
13246 => 'kw',
|
2040 |
-
13247 => 'mw',
|
2041 |
-
13248 => 'kω',
|
2042 |
-
13249 => 'mω',
|
2043 |
-
13251 => 'bq',
|
2044 |
-
13252 => 'cc',
|
2045 |
-
13253 => 'cd',
|
2046 |
-
13254 => 'c∕kg',
|
2047 |
-
13256 => 'db',
|
2048 |
-
13257 => 'gy',
|
2049 |
-
13258 => 'ha',
|
2050 |
-
13259 => 'hp',
|
2051 |
-
13260 => 'in',
|
2052 |
-
13261 => 'kk',
|
2053 |
-
13262 => 'km',
|
2054 |
-
13263 => 'kt',
|
2055 |
-
13264 => 'lm',
|
2056 |
-
13265 => 'ln',
|
2057 |
-
13266 => 'log',
|
2058 |
-
13267 => 'lx',
|
2059 |
-
13268 => 'mb',
|
2060 |
-
13269 => 'mil',
|
2061 |
-
13270 => 'mol',
|
2062 |
-
13271 => 'ph',
|
2063 |
-
13273 => 'ppm',
|
2064 |
-
13274 => 'pr',
|
2065 |
-
13275 => 'sr',
|
2066 |
-
13276 => 'sv',
|
2067 |
-
13277 => 'wb',
|
2068 |
-
13278 => 'v∕m',
|
2069 |
-
13279 => 'a∕m',
|
2070 |
-
13280 => '1日',
|
2071 |
-
13281 => '2日',
|
2072 |
-
13282 => '3日',
|
2073 |
-
13283 => '4日',
|
2074 |
-
13284 => '5日',
|
2075 |
-
13285 => '6日',
|
2076 |
-
13286 => '7日',
|
2077 |
-
13287 => '8日',
|
2078 |
-
13288 => '9日',
|
2079 |
-
13289 => '10日',
|
2080 |
-
13290 => '11日',
|
2081 |
-
13291 => '12日',
|
2082 |
-
13292 => '13日',
|
2083 |
-
13293 => '14日',
|
2084 |
-
13294 => '15日',
|
2085 |
-
13295 => '16日',
|
2086 |
-
13296 => '17日',
|
2087 |
-
13297 => '18日',
|
2088 |
-
13298 => '19日',
|
2089 |
-
13299 => '20日',
|
2090 |
-
13300 => '21日',
|
2091 |
-
13301 => '22日',
|
2092 |
-
13302 => '23日',
|
2093 |
-
13303 => '24日',
|
2094 |
-
13304 => '25日',
|
2095 |
-
13305 => '26日',
|
2096 |
-
13306 => '27日',
|
2097 |
-
13307 => '28日',
|
2098 |
-
13308 => '29日',
|
2099 |
-
13309 => '30日',
|
2100 |
-
13310 => '31日',
|
2101 |
-
13311 => 'gal',
|
2102 |
-
42560 => 'ꙁ',
|
2103 |
-
42562 => 'ꙃ',
|
2104 |
-
42564 => 'ꙅ',
|
2105 |
-
42566 => 'ꙇ',
|
2106 |
-
42568 => 'ꙉ',
|
2107 |
-
42570 => 'ꙋ',
|
2108 |
-
42572 => 'ꙍ',
|
2109 |
-
42574 => 'ꙏ',
|
2110 |
-
42576 => 'ꙑ',
|
2111 |
-
42578 => 'ꙓ',
|
2112 |
-
42580 => 'ꙕ',
|
2113 |
-
42582 => 'ꙗ',
|
2114 |
-
42584 => 'ꙙ',
|
2115 |
-
42586 => 'ꙛ',
|
2116 |
-
42588 => 'ꙝ',
|
2117 |
-
42590 => 'ꙟ',
|
2118 |
-
42592 => 'ꙡ',
|
2119 |
-
42594 => 'ꙣ',
|
2120 |
-
42596 => 'ꙥ',
|
2121 |
-
42598 => 'ꙧ',
|
2122 |
-
42600 => 'ꙩ',
|
2123 |
-
42602 => 'ꙫ',
|
2124 |
-
42604 => 'ꙭ',
|
2125 |
-
42624 => 'ꚁ',
|
2126 |
-
42626 => 'ꚃ',
|
2127 |
-
42628 => 'ꚅ',
|
2128 |
-
42630 => 'ꚇ',
|
2129 |
-
42632 => 'ꚉ',
|
2130 |
-
42634 => 'ꚋ',
|
2131 |
-
42636 => 'ꚍ',
|
2132 |
-
42638 => 'ꚏ',
|
2133 |
-
42640 => 'ꚑ',
|
2134 |
-
42642 => 'ꚓ',
|
2135 |
-
42644 => 'ꚕ',
|
2136 |
-
42646 => 'ꚗ',
|
2137 |
-
42648 => 'ꚙ',
|
2138 |
-
42650 => 'ꚛ',
|
2139 |
-
42652 => 'ъ',
|
2140 |
-
42653 => 'ь',
|
2141 |
-
42786 => 'ꜣ',
|
2142 |
-
42788 => 'ꜥ',
|
2143 |
-
42790 => 'ꜧ',
|
2144 |
-
42792 => 'ꜩ',
|
2145 |
-
42794 => 'ꜫ',
|
2146 |
-
42796 => 'ꜭ',
|
2147 |
-
42798 => 'ꜯ',
|
2148 |
-
42802 => 'ꜳ',
|
2149 |
-
42804 => 'ꜵ',
|
2150 |
-
42806 => 'ꜷ',
|
2151 |
-
42808 => 'ꜹ',
|
2152 |
-
42810 => 'ꜻ',
|
2153 |
-
42812 => 'ꜽ',
|
2154 |
-
42814 => 'ꜿ',
|
2155 |
-
42816 => 'ꝁ',
|
2156 |
-
42818 => 'ꝃ',
|
2157 |
-
42820 => 'ꝅ',
|
2158 |
-
42822 => 'ꝇ',
|
2159 |
-
42824 => 'ꝉ',
|
2160 |
-
42826 => 'ꝋ',
|
2161 |
-
42828 => 'ꝍ',
|
2162 |
-
42830 => 'ꝏ',
|
2163 |
-
42832 => 'ꝑ',
|
2164 |
-
42834 => 'ꝓ',
|
2165 |
-
42836 => 'ꝕ',
|
2166 |
-
42838 => 'ꝗ',
|
2167 |
-
42840 => 'ꝙ',
|
2168 |
-
42842 => 'ꝛ',
|
2169 |
-
42844 => 'ꝝ',
|
2170 |
-
42846 => 'ꝟ',
|
2171 |
-
42848 => 'ꝡ',
|
2172 |
-
42850 => 'ꝣ',
|
2173 |
-
42852 => 'ꝥ',
|
2174 |
-
42854 => 'ꝧ',
|
2175 |
-
42856 => 'ꝩ',
|
2176 |
-
42858 => 'ꝫ',
|
2177 |
-
42860 => 'ꝭ',
|
2178 |
-
42862 => 'ꝯ',
|
2179 |
-
42864 => 'ꝯ',
|
2180 |
-
42873 => 'ꝺ',
|
2181 |
-
42875 => 'ꝼ',
|
2182 |
-
42877 => 'ᵹ',
|
2183 |
-
42878 => 'ꝿ',
|
2184 |
-
42880 => 'ꞁ',
|
2185 |
-
42882 => 'ꞃ',
|
2186 |
-
42884 => 'ꞅ',
|
2187 |
-
42886 => 'ꞇ',
|
2188 |
-
42891 => 'ꞌ',
|
2189 |
-
42893 => 'ɥ',
|
2190 |
-
42896 => 'ꞑ',
|
2191 |
-
42898 => 'ꞓ',
|
2192 |
-
42902 => 'ꞗ',
|
2193 |
-
42904 => 'ꞙ',
|
2194 |
-
42906 => 'ꞛ',
|
2195 |
-
42908 => 'ꞝ',
|
2196 |
-
42910 => 'ꞟ',
|
2197 |
-
42912 => 'ꞡ',
|
2198 |
-
42914 => 'ꞣ',
|
2199 |
-
42916 => 'ꞥ',
|
2200 |
-
42918 => 'ꞧ',
|
2201 |
-
42920 => 'ꞩ',
|
2202 |
-
42922 => 'ɦ',
|
2203 |
-
42923 => 'ɜ',
|
2204 |
-
42924 => 'ɡ',
|
2205 |
-
42925 => 'ɬ',
|
2206 |
-
42926 => 'ɪ',
|
2207 |
-
42928 => 'ʞ',
|
2208 |
-
42929 => 'ʇ',
|
2209 |
-
42930 => 'ʝ',
|
2210 |
-
42931 => 'ꭓ',
|
2211 |
-
42932 => 'ꞵ',
|
2212 |
-
42934 => 'ꞷ',
|
2213 |
-
42936 => 'ꞹ',
|
2214 |
-
42938 => 'ꞻ',
|
2215 |
-
42940 => 'ꞽ',
|
2216 |
-
42942 => 'ꞿ',
|
2217 |
-
42946 => 'ꟃ',
|
2218 |
-
42948 => 'ꞔ',
|
2219 |
-
42949 => 'ʂ',
|
2220 |
-
42950 => 'ᶎ',
|
2221 |
-
42951 => 'ꟈ',
|
2222 |
-
42953 => 'ꟊ',
|
2223 |
-
42997 => 'ꟶ',
|
2224 |
-
43000 => 'ħ',
|
2225 |
-
43001 => 'œ',
|
2226 |
-
43868 => 'ꜧ',
|
2227 |
-
43869 => 'ꬷ',
|
2228 |
-
43870 => 'ɫ',
|
2229 |
-
43871 => 'ꭒ',
|
2230 |
-
43881 => 'ʍ',
|
2231 |
-
43888 => 'Ꭰ',
|
2232 |
-
43889 => 'Ꭱ',
|
2233 |
-
43890 => 'Ꭲ',
|
2234 |
-
43891 => 'Ꭳ',
|
2235 |
-
43892 => 'Ꭴ',
|
2236 |
-
43893 => 'Ꭵ',
|
2237 |
-
43894 => 'Ꭶ',
|
2238 |
-
43895 => 'Ꭷ',
|
2239 |
-
43896 => 'Ꭸ',
|
2240 |
-
43897 => 'Ꭹ',
|
2241 |
-
43898 => 'Ꭺ',
|
2242 |
-
43899 => 'Ꭻ',
|
2243 |
-
43900 => 'Ꭼ',
|
2244 |
-
43901 => 'Ꭽ',
|
2245 |
-
43902 => 'Ꭾ',
|
2246 |
-
43903 => 'Ꭿ',
|
2247 |
-
43904 => 'Ꮀ',
|
2248 |
-
43905 => 'Ꮁ',
|
2249 |
-
43906 => 'Ꮂ',
|
2250 |
-
43907 => 'Ꮃ',
|
2251 |
-
43908 => 'Ꮄ',
|
2252 |
-
43909 => 'Ꮅ',
|
2253 |
-
43910 => 'Ꮆ',
|
2254 |
-
43911 => 'Ꮇ',
|
2255 |
-
43912 => 'Ꮈ',
|
2256 |
-
43913 => 'Ꮉ',
|
2257 |
-
43914 => 'Ꮊ',
|
2258 |
-
43915 => 'Ꮋ',
|
2259 |
-
43916 => 'Ꮌ',
|
2260 |
-
43917 => 'Ꮍ',
|
2261 |
-
43918 => 'Ꮎ',
|
2262 |
-
43919 => 'Ꮏ',
|
2263 |
-
43920 => 'Ꮐ',
|
2264 |
-
43921 => 'Ꮑ',
|
2265 |
-
43922 => 'Ꮒ',
|
2266 |
-
43923 => 'Ꮓ',
|
2267 |
-
43924 => 'Ꮔ',
|
2268 |
-
43925 => 'Ꮕ',
|
2269 |
-
43926 => 'Ꮖ',
|
2270 |
-
43927 => 'Ꮗ',
|
2271 |
-
43928 => 'Ꮘ',
|
2272 |
-
43929 => 'Ꮙ',
|
2273 |
-
43930 => 'Ꮚ',
|
2274 |
-
43931 => 'Ꮛ',
|
2275 |
-
43932 => 'Ꮜ',
|
2276 |
-
43933 => 'Ꮝ',
|
2277 |
-
43934 => 'Ꮞ',
|
2278 |
-
43935 => 'Ꮟ',
|
2279 |
-
43936 => 'Ꮠ',
|
2280 |
-
43937 => 'Ꮡ',
|
2281 |
-
43938 => 'Ꮢ',
|
2282 |
-
43939 => 'Ꮣ',
|
2283 |
-
43940 => 'Ꮤ',
|
2284 |
-
43941 => 'Ꮥ',
|
2285 |
-
43942 => 'Ꮦ',
|
2286 |
-
43943 => 'Ꮧ',
|
2287 |
-
43944 => 'Ꮨ',
|
2288 |
-
43945 => 'Ꮩ',
|
2289 |
-
43946 => 'Ꮪ',
|
2290 |
-
43947 => 'Ꮫ',
|
2291 |
-
43948 => 'Ꮬ',
|
2292 |
-
43949 => 'Ꮭ',
|
2293 |
-
43950 => 'Ꮮ',
|
2294 |
-
43951 => 'Ꮯ',
|
2295 |
-
43952 => 'Ꮰ',
|
2296 |
-
43953 => 'Ꮱ',
|
2297 |
-
43954 => 'Ꮲ',
|
2298 |
-
43955 => 'Ꮳ',
|
2299 |
-
43956 => 'Ꮴ',
|
2300 |
-
43957 => 'Ꮵ',
|
2301 |
-
43958 => 'Ꮶ',
|
2302 |
-
43959 => 'Ꮷ',
|
2303 |
-
43960 => 'Ꮸ',
|
2304 |
-
43961 => 'Ꮹ',
|
2305 |
-
43962 => 'Ꮺ',
|
2306 |
-
43963 => 'Ꮻ',
|
2307 |
-
43964 => 'Ꮼ',
|
2308 |
-
43965 => 'Ꮽ',
|
2309 |
-
43966 => 'Ꮾ',
|
2310 |
-
43967 => 'Ꮿ',
|
2311 |
-
63744 => '豈',
|
2312 |
-
63745 => '更',
|
2313 |
-
63746 => '車',
|
2314 |
-
63747 => '賈',
|
2315 |
-
63748 => '滑',
|
2316 |
-
63749 => '串',
|
2317 |
-
63750 => '句',
|
2318 |
-
63751 => '龜',
|
2319 |
-
63752 => '龜',
|
2320 |
-
63753 => '契',
|
2321 |
-
63754 => '金',
|
2322 |
-
63755 => '喇',
|
2323 |
-
63756 => '奈',
|
2324 |
-
63757 => '懶',
|
2325 |
-
63758 => '癩',
|
2326 |
-
63759 => '羅',
|
2327 |
-
63760 => '蘿',
|
2328 |
-
63761 => '螺',
|
2329 |
-
63762 => '裸',
|
2330 |
-
63763 => '邏',
|
2331 |
-
63764 => '樂',
|
2332 |
-
63765 => '洛',
|
2333 |
-
63766 => '烙',
|
2334 |
-
63767 => '珞',
|
2335 |
-
63768 => '落',
|
2336 |
-
63769 => '酪',
|
2337 |
-
63770 => '駱',
|
2338 |
-
63771 => '亂',
|
2339 |
-
63772 => '卵',
|
2340 |
-
63773 => '欄',
|
2341 |
-
63774 => '爛',
|
2342 |
-
63775 => '蘭',
|
2343 |
-
63776 => '鸞',
|
2344 |
-
63777 => '嵐',
|
2345 |
-
63778 => '濫',
|
2346 |
-
63779 => '藍',
|
2347 |
-
63780 => '襤',
|
2348 |
-
63781 => '拉',
|
2349 |
-
63782 => '臘',
|
2350 |
-
63783 => '蠟',
|
2351 |
-
63784 => '廊',
|
2352 |
-
63785 => '朗',
|
2353 |
-
63786 => '浪',
|
2354 |
-
63787 => '狼',
|
2355 |
-
63788 => '郎',
|
2356 |
-
63789 => '來',
|
2357 |
-
63790 => '冷',
|
2358 |
-
63791 => '勞',
|
2359 |
-
63792 => '擄',
|
2360 |
-
63793 => '櫓',
|
2361 |
-
63794 => '爐',
|
2362 |
-
63795 => '盧',
|
2363 |
-
63796 => '老',
|
2364 |
-
63797 => '蘆',
|
2365 |
-
63798 => '虜',
|
2366 |
-
63799 => '路',
|
2367 |
-
63800 => '露',
|
2368 |
-
63801 => '魯',
|
2369 |
-
63802 => '鷺',
|
2370 |
-
63803 => '碌',
|
2371 |
-
63804 => '祿',
|
2372 |
-
63805 => '綠',
|
2373 |
-
63806 => '菉',
|
2374 |
-
63807 => '錄',
|
2375 |
-
63808 => '鹿',
|
2376 |
-
63809 => '論',
|
2377 |
-
63810 => '壟',
|
2378 |
-
63811 => '弄',
|
2379 |
-
63812 => '籠',
|
2380 |
-
63813 => '聾',
|
2381 |
-
63814 => '牢',
|
2382 |
-
63815 => '磊',
|
2383 |
-
63816 => '賂',
|
2384 |
-
63817 => '雷',
|
2385 |
-
63818 => '壘',
|
2386 |
-
63819 => '屢',
|
2387 |
-
63820 => '樓',
|
2388 |
-
63821 => '淚',
|
2389 |
-
63822 => '漏',
|
2390 |
-
63823 => '累',
|
2391 |
-
63824 => '縷',
|
2392 |
-
63825 => '陋',
|
2393 |
-
63826 => '勒',
|
2394 |
-
63827 => '肋',
|
2395 |
-
63828 => '凜',
|
2396 |
-
63829 => '凌',
|
2397 |
-
63830 => '稜',
|
2398 |
-
63831 => '綾',
|
2399 |
-
63832 => '菱',
|
2400 |
-
63833 => '陵',
|
2401 |
-
63834 => '讀',
|
2402 |
-
63835 => '拏',
|
2403 |
-
63836 => '樂',
|
2404 |
-
63837 => '諾',
|
2405 |
-
63838 => '丹',
|
2406 |
-
63839 => '寧',
|
2407 |
-
63840 => '怒',
|
2408 |
-
63841 => '率',
|
2409 |
-
63842 => '異',
|
2410 |
-
63843 => '北',
|
2411 |
-
63844 => '磻',
|
2412 |
-
63845 => '便',
|
2413 |
-
63846 => '復',
|
2414 |
-
63847 => '不',
|
2415 |
-
63848 => '泌',
|
2416 |
-
63849 => '數',
|
2417 |
-
63850 => '索',
|
2418 |
-
63851 => '參',
|
2419 |
-
63852 => '塞',
|
2420 |
-
63853 => '省',
|
2421 |
-
63854 => '葉',
|
2422 |
-
63855 => '說',
|
2423 |
-
63856 => '殺',
|
2424 |
-
63857 => '辰',
|
2425 |
-
63858 => '沈',
|
2426 |
-
63859 => '拾',
|
2427 |
-
63860 => '若',
|
2428 |
-
63861 => '掠',
|
2429 |
-
63862 => '略',
|
2430 |
-
63863 => '亮',
|
2431 |
-
63864 => '兩',
|
2432 |
-
63865 => '凉',
|
2433 |
-
63866 => '梁',
|
2434 |
-
63867 => '糧',
|
2435 |
-
63868 => '良',
|
2436 |
-
63869 => '諒',
|
2437 |
-
63870 => '量',
|
2438 |
-
63871 => '勵',
|
2439 |
-
63872 => '呂',
|
2440 |
-
63873 => '女',
|
2441 |
-
63874 => '廬',
|
2442 |
-
63875 => '旅',
|
2443 |
-
63876 => '濾',
|
2444 |
-
63877 => '礪',
|
2445 |
-
63878 => '閭',
|
2446 |
-
63879 => '驪',
|
2447 |
-
63880 => '麗',
|
2448 |
-
63881 => '黎',
|
2449 |
-
63882 => '力',
|
2450 |
-
63883 => '曆',
|
2451 |
-
63884 => '歷',
|
2452 |
-
63885 => '轢',
|
2453 |
-
63886 => '年',
|
2454 |
-
63887 => '憐',
|
2455 |
-
63888 => '戀',
|
2456 |
-
63889 => '撚',
|
2457 |
-
63890 => '漣',
|
2458 |
-
63891 => '煉',
|
2459 |
-
63892 => '璉',
|
2460 |
-
63893 => '秊',
|
2461 |
-
63894 => '練',
|
2462 |
-
63895 => '聯',
|
2463 |
-
63896 => '輦',
|
2464 |
-
63897 => '蓮',
|
2465 |
-
63898 => '連',
|
2466 |
-
63899 => '鍊',
|
2467 |
-
63900 => '列',
|
2468 |
-
63901 => '劣',
|
2469 |
-
63902 => '咽',
|
2470 |
-
63903 => '烈',
|
2471 |
-
63904 => '裂',
|
2472 |
-
63905 => '說',
|
2473 |
-
63906 => '廉',
|
2474 |
-
63907 => '念',
|
2475 |
-
63908 => '捻',
|
2476 |
-
63909 => '殮',
|
2477 |
-
63910 => '簾',
|
2478 |
-
63911 => '獵',
|
2479 |
-
63912 => '令',
|
2480 |
-
63913 => '囹',
|
2481 |
-
63914 => '寧',
|
2482 |
-
63915 => '嶺',
|
2483 |
-
63916 => '怜',
|
2484 |
-
63917 => '玲',
|
2485 |
-
63918 => '瑩',
|
2486 |
-
63919 => '羚',
|
2487 |
-
63920 => '聆',
|
2488 |
-
63921 => '鈴',
|
2489 |
-
63922 => '零',
|
2490 |
-
63923 => '靈',
|
2491 |
-
63924 => '領',
|
2492 |
-
63925 => '例',
|
2493 |
-
63926 => '禮',
|
2494 |
-
63927 => '醴',
|
2495 |
-
63928 => '隸',
|
2496 |
-
63929 => '惡',
|
2497 |
-
63930 => '了',
|
2498 |
-
63931 => '僚',
|
2499 |
-
63932 => '寮',
|
2500 |
-
63933 => '尿',
|
2501 |
-
63934 => '料',
|
2502 |
-
63935 => '樂',
|
2503 |
-
63936 => '燎',
|
2504 |
-
63937 => '療',
|
2505 |
-
63938 => '蓼',
|
2506 |
-
63939 => '遼',
|
2507 |
-
63940 => '龍',
|
2508 |
-
63941 => '暈',
|
2509 |
-
63942 => '阮',
|
2510 |
-
63943 => '劉',
|
2511 |
-
63944 => '杻',
|
2512 |
-
63945 => '柳',
|
2513 |
-
63946 => '流',
|
2514 |
-
63947 => '溜',
|
2515 |
-
63948 => '琉',
|
2516 |
-
63949 => '留',
|
2517 |
-
63950 => '硫',
|
2518 |
-
63951 => '紐',
|
2519 |
-
63952 => '類',
|
2520 |
-
63953 => '六',
|
2521 |
-
63954 => '戮',
|
2522 |
-
63955 => '陸',
|
2523 |
-
63956 => '倫',
|
2524 |
-
63957 => '崙',
|
2525 |
-
63958 => '淪',
|
2526 |
-
63959 => '輪',
|
2527 |
-
63960 => '律',
|
2528 |
-
63961 => '慄',
|
2529 |
-
63962 => '栗',
|
2530 |
-
63963 => '率',
|
2531 |
-
63964 => '隆',
|
2532 |
-
63965 => '利',
|
2533 |
-
63966 => '吏',
|
2534 |
-
63967 => '履',
|
2535 |
-
63968 => '易',
|
2536 |
-
63969 => '李',
|
2537 |
-
63970 => '梨',
|
2538 |
-
63971 => '泥',
|
2539 |
-
63972 => '理',
|
2540 |
-
63973 => '痢',
|
2541 |
-
63974 => '罹',
|
2542 |
-
63975 => '裏',
|
2543 |
-
63976 => '裡',
|
2544 |
-
63977 => '里',
|
2545 |
-
63978 => '離',
|
2546 |
-
63979 => '匿',
|
2547 |
-
63980 => '溺',
|
2548 |
-
63981 => '吝',
|
2549 |
-
63982 => '燐',
|
2550 |
-
63983 => '璘',
|
2551 |
-
63984 => '藺',
|
2552 |
-
63985 => '隣',
|
2553 |
-
63986 => '鱗',
|
2554 |
-
63987 => '麟',
|
2555 |
-
63988 => '林',
|
2556 |
-
63989 => '淋',
|
2557 |
-
63990 => '臨',
|
2558 |
-
63991 => '立',
|
2559 |
-
63992 => '笠',
|
2560 |
-
63993 => '粒',
|
2561 |
-
63994 => '狀',
|
2562 |
-
63995 => '炙',
|
2563 |
-
63996 => '識',
|
2564 |
-
63997 => '什',
|
2565 |
-
63998 => '茶',
|
2566 |
-
63999 => '刺',
|
2567 |
-
64000 => '切',
|
2568 |
-
64001 => '度',
|
2569 |
-
64002 => '拓',
|
2570 |
-
64003 => '糖',
|
2571 |
-
64004 => '宅',
|
2572 |
-
64005 => '洞',
|
2573 |
-
64006 => '暴',
|
2574 |
-
64007 => '輻',
|
2575 |
-
64008 => '行',
|
2576 |
-
64009 => '降',
|
2577 |
-
64010 => '見',
|
2578 |
-
64011 => '廓',
|
2579 |
-
64012 => '兀',
|
2580 |
-
64013 => '嗀',
|
2581 |
-
64016 => '塚',
|
2582 |
-
64018 => '晴',
|
2583 |
-
64021 => '凞',
|
2584 |
-
64022 => '猪',
|
2585 |
-
64023 => '益',
|
2586 |
-
64024 => '礼',
|
2587 |
-
64025 => '神',
|
2588 |
-
64026 => '祥',
|
2589 |
-
64027 => '福',
|
2590 |
-
64028 => '靖',
|
2591 |
-
64029 => '精',
|
2592 |
-
64030 => '羽',
|
2593 |
-
64032 => '蘒',
|
2594 |
-
64034 => '諸',
|
2595 |
-
64037 => '逸',
|
2596 |
-
64038 => '都',
|
2597 |
-
64042 => '飯',
|
2598 |
-
64043 => '飼',
|
2599 |
-
64044 => '館',
|
2600 |
-
64045 => '鶴',
|
2601 |
-
64046 => '郞',
|
2602 |
-
64047 => '隷',
|
2603 |
-
64048 => '侮',
|
2604 |
-
64049 => '僧',
|
2605 |
-
64050 => '免',
|
2606 |
-
64051 => '勉',
|
2607 |
-
64052 => '勤',
|
2608 |
-
64053 => '卑',
|
2609 |
-
64054 => '喝',
|
2610 |
-
64055 => '嘆',
|
2611 |
-
64056 => '器',
|
2612 |
-
64057 => '塀',
|
2613 |
-
64058 => '墨',
|
2614 |
-
64059 => '層',
|
2615 |
-
64060 => '屮',
|
2616 |
-
64061 => '悔',
|
2617 |
-
64062 => '慨',
|
2618 |
-
64063 => '憎',
|
2619 |
-
64064 => '懲',
|
2620 |
-
64065 => '敏',
|
2621 |
-
64066 => '既',
|
2622 |
-
64067 => '暑',
|
2623 |
-
64068 => '梅',
|
2624 |
-
64069 => '海',
|
2625 |
-
64070 => '渚',
|
2626 |
-
64071 => '漢',
|
2627 |
-
64072 => '煮',
|
2628 |
-
64073 => '爫',
|
2629 |
-
64074 => '琢',
|
2630 |
-
64075 => '碑',
|
2631 |
-
64076 => '社',
|
2632 |
-
64077 => '祉',
|
2633 |
-
64078 => '祈',
|
2634 |
-
64079 => '祐',
|
2635 |
-
64080 => '祖',
|
2636 |
-
64081 => '祝',
|
2637 |
-
64082 => '禍',
|
2638 |
-
64083 => '禎',
|
2639 |
-
64084 => '穀',
|
2640 |
-
64085 => '突',
|
2641 |
-
64086 => '節',
|
2642 |
-
64087 => '練',
|
2643 |
-
64088 => '縉',
|
2644 |
-
64089 => '繁',
|
2645 |
-
64090 => '署',
|
2646 |
-
64091 => '者',
|
2647 |
-
64092 => '臭',
|
2648 |
-
64093 => '艹',
|
2649 |
-
64094 => '艹',
|
2650 |
-
64095 => '著',
|
2651 |
-
64096 => '褐',
|
2652 |
-
64097 => '視',
|
2653 |
-
64098 => '謁',
|
2654 |
-
64099 => '謹',
|
2655 |
-
64100 => '賓',
|
2656 |
-
64101 => '贈',
|
2657 |
-
64102 => '辶',
|
2658 |
-
64103 => '逸',
|
2659 |
-
64104 => '難',
|
2660 |
-
64105 => '響',
|
2661 |
-
64106 => '頻',
|
2662 |
-
64107 => '恵',
|
2663 |
-
64108 => '𤋮',
|
2664 |
-
64109 => '舘',
|
2665 |
-
64112 => '並',
|
2666 |
-
64113 => '况',
|
2667 |
-
64114 => '全',
|
2668 |
-
64115 => '侀',
|
2669 |
-
64116 => '充',
|
2670 |
-
64117 => '冀',
|
2671 |
-
64118 => '勇',
|
2672 |
-
64119 => '勺',
|
2673 |
-
64120 => '喝',
|
2674 |
-
64121 => '啕',
|
2675 |
-
64122 => '喙',
|
2676 |
-
64123 => '嗢',
|
2677 |
-
64124 => '塚',
|
2678 |
-
64125 => '墳',
|
2679 |
-
64126 => '奄',
|
2680 |
-
64127 => '奔',
|
2681 |
-
64128 => '婢',
|
2682 |
-
64129 => '嬨',
|
2683 |
-
64130 => '廒',
|
2684 |
-
64131 => '廙',
|
2685 |
-
64132 => '彩',
|
2686 |
-
64133 => '徭',
|
2687 |
-
64134 => '惘',
|
2688 |
-
64135 => '慎',
|
2689 |
-
64136 => '愈',
|
2690 |
-
64137 => '憎',
|
2691 |
-
64138 => '慠',
|
2692 |
-
64139 => '懲',
|
2693 |
-
64140 => '戴',
|
2694 |
-
64141 => '揄',
|
2695 |
-
64142 => '搜',
|
2696 |
-
64143 => '摒',
|
2697 |
-
64144 => '敖',
|
2698 |
-
64145 => '晴',
|
2699 |
-
64146 => '朗',
|
2700 |
-
64147 => '望',
|
2701 |
-
64148 => '杖',
|
2702 |
-
64149 => '歹',
|
2703 |
-
64150 => '殺',
|
2704 |
-
64151 => '流',
|
2705 |
-
64152 => '滛',
|
2706 |
-
64153 => '滋',
|
2707 |
-
64154 => '漢',
|
2708 |
-
64155 => '瀞',
|
2709 |
-
64156 => '煮',
|
2710 |
-
64157 => '瞧',
|
2711 |
-
64158 => '爵',
|
2712 |
-
64159 => '犯',
|
2713 |
-
64160 => '猪',
|
2714 |
-
64161 => '瑱',
|
2715 |
-
64162 => '甆',
|
2716 |
-
64163 => '画',
|
2717 |
-
64164 => '瘝',
|
2718 |
-
64165 => '瘟',
|
2719 |
-
64166 => '益',
|
2720 |
-
64167 => '盛',
|
2721 |
-
64168 => '直',
|
2722 |
-
64169 => '睊',
|
2723 |
-
64170 => '着',
|
2724 |
-
64171 => '磌',
|
2725 |
-
64172 => '窱',
|
2726 |
-
64173 => '節',
|
2727 |
-
64174 => '类',
|
2728 |
-
64175 => '絛',
|
2729 |
-
64176 => '練',
|
2730 |
-
64177 => '缾',
|
2731 |
-
64178 => '者',
|
2732 |
-
64179 => '荒',
|
2733 |
-
64180 => '華',
|
2734 |
-
64181 => '蝹',
|
2735 |
-
64182 => '襁',
|
2736 |
-
64183 => '覆',
|
2737 |
-
64184 => '視',
|
2738 |
-
64185 => '調',
|
2739 |
-
64186 => '諸',
|
2740 |
-
64187 => '請',
|
2741 |
-
64188 => '謁',
|
2742 |
-
64189 => '諾',
|
2743 |
-
64190 => '諭',
|
2744 |
-
64191 => '謹',
|
2745 |
-
64192 => '變',
|
2746 |
-
64193 => '贈',
|
2747 |
-
64194 => '輸',
|
2748 |
-
64195 => '遲',
|
2749 |
-
64196 => '醙',
|
2750 |
-
64197 => '鉶',
|
2751 |
-
64198 => '陼',
|
2752 |
-
64199 => '難',
|
2753 |
-
64200 => '靖',
|
2754 |
-
64201 => '韛',
|
2755 |
-
64202 => '響',
|
2756 |
-
64203 => '頋',
|
2757 |
-
64204 => '頻',
|
2758 |
-
64205 => '鬒',
|
2759 |
-
64206 => '龜',
|
2760 |
-
64207 => '𢡊',
|
2761 |
-
64208 => '𢡄',
|
2762 |
-
64209 => '𣏕',
|
2763 |
-
64210 => '㮝',
|
2764 |
-
64211 => '䀘',
|
2765 |
-
64212 => '䀹',
|
2766 |
-
64213 => '𥉉',
|
2767 |
-
64214 => '𥳐',
|
2768 |
-
64215 => '𧻓',
|
2769 |
-
64216 => '齃',
|
2770 |
-
64217 => '龎',
|
2771 |
-
64256 => 'ff',
|
2772 |
-
64257 => 'fi',
|
2773 |
-
64258 => 'fl',
|
2774 |
-
64259 => 'ffi',
|
2775 |
-
64260 => 'ffl',
|
2776 |
-
64261 => 'st',
|
2777 |
-
64262 => 'st',
|
2778 |
-
64275 => 'մն',
|
2779 |
-
64276 => 'մե',
|
2780 |
-
64277 => 'մի',
|
2781 |
-
64278 => 'վն',
|
2782 |
-
64279 => 'մխ',
|
2783 |
-
64285 => 'יִ',
|
2784 |
-
64287 => 'ײַ',
|
2785 |
-
64288 => 'ע',
|
2786 |
-
64289 => 'א',
|
2787 |
-
64290 => 'ד',
|
2788 |
-
64291 => 'ה',
|
2789 |
-
64292 => 'כ',
|
2790 |
-
64293 => 'ל',
|
2791 |
-
64294 => 'ם',
|
2792 |
-
64295 => 'ר',
|
2793 |
-
64296 => 'ת',
|
2794 |
-
64298 => 'שׁ',
|
2795 |
-
64299 => 'שׂ',
|
2796 |
-
64300 => 'שּׁ',
|
2797 |
-
64301 => 'שּׂ',
|
2798 |
-
64302 => 'אַ',
|
2799 |
-
64303 => 'אָ',
|
2800 |
-
64304 => 'אּ',
|
2801 |
-
64305 => 'בּ',
|
2802 |
-
64306 => 'גּ',
|
2803 |
-
64307 => 'דּ',
|
2804 |
-
64308 => 'הּ',
|
2805 |
-
64309 => 'וּ',
|
2806 |
-
64310 => 'זּ',
|
2807 |
-
64312 => 'טּ',
|
2808 |
-
64313 => 'יּ',
|
2809 |
-
64314 => 'ךּ',
|
2810 |
-
64315 => 'כּ',
|
2811 |
-
64316 => 'לּ',
|
2812 |
-
64318 => 'מּ',
|
2813 |
-
64320 => 'נּ',
|
2814 |
-
64321 => 'סּ',
|
2815 |
-
64323 => 'ףּ',
|
2816 |
-
64324 => 'פּ',
|
2817 |
-
64326 => 'צּ',
|
2818 |
-
64327 => 'קּ',
|
2819 |
-
64328 => 'רּ',
|
2820 |
-
64329 => 'שּ',
|
2821 |
-
64330 => 'תּ',
|
2822 |
-
64331 => 'וֹ',
|
2823 |
-
64332 => 'בֿ',
|
2824 |
-
64333 => 'כֿ',
|
2825 |
-
64334 => 'פֿ',
|
2826 |
-
64335 => 'אל',
|
2827 |
-
64336 => 'ٱ',
|
2828 |
-
64337 => 'ٱ',
|
2829 |
-
64338 => 'ٻ',
|
2830 |
-
64339 => 'ٻ',
|
2831 |
-
64340 => 'ٻ',
|
2832 |
-
64341 => 'ٻ',
|
2833 |
-
64342 => 'پ',
|
2834 |
-
64343 => 'پ',
|
2835 |
-
64344 => 'پ',
|
2836 |
-
64345 => 'پ',
|
2837 |
-
64346 => 'ڀ',
|
2838 |
-
64347 => 'ڀ',
|
2839 |
-
64348 => 'ڀ',
|
2840 |
-
64349 => 'ڀ',
|
2841 |
-
64350 => 'ٺ',
|
2842 |
-
64351 => 'ٺ',
|
2843 |
-
64352 => 'ٺ',
|
2844 |
-
64353 => 'ٺ',
|
2845 |
-
64354 => 'ٿ',
|
2846 |
-
64355 => 'ٿ',
|
2847 |
-
64356 => 'ٿ',
|
2848 |
-
64357 => 'ٿ',
|
2849 |
-
64358 => 'ٹ',
|
2850 |
-
64359 => 'ٹ',
|
2851 |
-
64360 => 'ٹ',
|
2852 |
-
64361 => 'ٹ',
|
2853 |
-
64362 => 'ڤ',
|
2854 |
-
64363 => 'ڤ',
|
2855 |
-
64364 => 'ڤ',
|
2856 |
-
64365 => 'ڤ',
|
2857 |
-
64366 => 'ڦ',
|
2858 |
-
64367 => 'ڦ',
|
2859 |
-
64368 => 'ڦ',
|
2860 |
-
64369 => 'ڦ',
|
2861 |
-
64370 => 'ڄ',
|
2862 |
-
64371 => 'ڄ',
|
2863 |
-
64372 => 'ڄ',
|
2864 |
-
64373 => 'ڄ',
|
2865 |
-
64374 => 'ڃ',
|
2866 |
-
64375 => 'ڃ',
|
2867 |
-
64376 => 'ڃ',
|
2868 |
-
64377 => 'ڃ',
|
2869 |
-
64378 => 'چ',
|
2870 |
-
64379 => 'چ',
|
2871 |
-
64380 => 'چ',
|
2872 |
-
64381 => 'چ',
|
2873 |
-
64382 => 'ڇ',
|
2874 |
-
64383 => 'ڇ',
|
2875 |
-
64384 => 'ڇ',
|
2876 |
-
64385 => 'ڇ',
|
2877 |
-
64386 => 'ڍ',
|
2878 |
-
64387 => 'ڍ',
|
2879 |
-
64388 => 'ڌ',
|
2880 |
-
64389 => 'ڌ',
|
2881 |
-
64390 => 'ڎ',
|
2882 |
-
64391 => 'ڎ',
|
2883 |
-
64392 => 'ڈ',
|
2884 |
-
64393 => 'ڈ',
|
2885 |
-
64394 => 'ژ',
|
2886 |
-
64395 => 'ژ',
|
2887 |
-
64396 => 'ڑ',
|
2888 |
-
64397 => 'ڑ',
|
2889 |
-
64398 => 'ک',
|
2890 |
-
64399 => 'ک',
|
2891 |
-
64400 => 'ک',
|
2892 |
-
64401 => 'ک',
|
2893 |
-
64402 => 'گ',
|
2894 |
-
64403 => 'گ',
|
2895 |
-
64404 => 'گ',
|
2896 |
-
64405 => 'گ',
|
2897 |
-
64406 => 'ڳ',
|
2898 |
-
64407 => 'ڳ',
|
2899 |
-
64408 => 'ڳ',
|
2900 |
-
64409 => 'ڳ',
|
2901 |
-
64410 => 'ڱ',
|
2902 |
-
64411 => 'ڱ',
|
2903 |
-
64412 => 'ڱ',
|
2904 |
-
64413 => 'ڱ',
|
2905 |
-
64414 => 'ں',
|
2906 |
-
64415 => 'ں',
|
2907 |
-
64416 => 'ڻ',
|
2908 |
-
64417 => 'ڻ',
|
2909 |
-
64418 => 'ڻ',
|
2910 |
-
64419 => 'ڻ',
|
2911 |
-
64420 => 'ۀ',
|
2912 |
-
64421 => 'ۀ',
|
2913 |
-
64422 => 'ہ',
|
2914 |
-
64423 => 'ہ',
|
2915 |
-
64424 => 'ہ',
|
2916 |
-
64425 => 'ہ',
|
2917 |
-
64426 => 'ھ',
|
2918 |
-
64427 => 'ھ',
|
2919 |
-
64428 => 'ھ',
|
2920 |
-
64429 => 'ھ',
|
2921 |
-
64430 => 'ے',
|
2922 |
-
64431 => 'ے',
|
2923 |
-
64432 => 'ۓ',
|
2924 |
-
64433 => 'ۓ',
|
2925 |
-
64467 => 'ڭ',
|
2926 |
-
64468 => 'ڭ',
|
2927 |
-
64469 => 'ڭ',
|
2928 |
-
64470 => 'ڭ',
|
2929 |
-
64471 => 'ۇ',
|
2930 |
-
64472 => 'ۇ',
|
2931 |
-
64473 => 'ۆ',
|
2932 |
-
64474 => 'ۆ',
|
2933 |
-
64475 => 'ۈ',
|
2934 |
-
64476 => 'ۈ',
|
2935 |
-
64477 => 'ۇٴ',
|
2936 |
-
64478 => 'ۋ',
|
2937 |
-
64479 => 'ۋ',
|
2938 |
-
64480 => 'ۅ',
|
2939 |
-
64481 => 'ۅ',
|
2940 |
-
64482 => 'ۉ',
|
2941 |
-
64483 => 'ۉ',
|
2942 |
-
64484 => 'ې',
|
2943 |
-
64485 => 'ې',
|
2944 |
-
64486 => 'ې',
|
2945 |
-
64487 => 'ې',
|
2946 |
-
64488 => 'ى',
|
2947 |
-
64489 => 'ى',
|
2948 |
-
64490 => 'ئا',
|
2949 |
-
64491 => 'ئا',
|
2950 |
-
64492 => 'ئە',
|
2951 |
-
64493 => 'ئە',
|
2952 |
-
64494 => 'ئو',
|
2953 |
-
64495 => 'ئو',
|
2954 |
-
64496 => 'ئۇ',
|
2955 |
-
64497 => 'ئۇ',
|
2956 |
-
64498 => 'ئۆ',
|
2957 |
-
64499 => 'ئۆ',
|
2958 |
-
64500 => 'ئۈ',
|
2959 |
-
64501 => 'ئۈ',
|
2960 |
-
64502 => 'ئې',
|
2961 |
-
64503 => 'ئې',
|
2962 |
-
64504 => 'ئې',
|
2963 |
-
64505 => 'ئى',
|
2964 |
-
64506 => 'ئى',
|
2965 |
-
64507 => 'ئى',
|
2966 |
-
64508 => 'ی',
|
2967 |
-
64509 => 'ی',
|
2968 |
-
64510 => 'ی',
|
2969 |
-
64511 => 'ی',
|
2970 |
-
64512 => 'ئج',
|
2971 |
-
64513 => 'ئح',
|
2972 |
-
64514 => 'ئم',
|
2973 |
-
64515 => 'ئى',
|
2974 |
-
64516 => 'ئي',
|
2975 |
-
64517 => 'بج',
|
2976 |
-
64518 => 'بح',
|
2977 |
-
64519 => 'بخ',
|
2978 |
-
64520 => 'بم',
|
2979 |
-
64521 => 'بى',
|
2980 |
-
64522 => 'بي',
|
2981 |
-
64523 => 'تج',
|
2982 |
-
64524 => 'تح',
|
2983 |
-
64525 => 'تخ',
|
2984 |
-
64526 => 'تم',
|
2985 |
-
64527 => 'تى',
|
2986 |
-
64528 => 'تي',
|
2987 |
-
64529 => 'ثج',
|
2988 |
-
64530 => 'ثم',
|
2989 |
-
64531 => 'ثى',
|
2990 |
-
64532 => 'ثي',
|
2991 |
-
64533 => 'جح',
|
2992 |
-
64534 => 'جم',
|
2993 |
-
64535 => 'حج',
|
2994 |
-
64536 => 'حم',
|
2995 |
-
64537 => 'خج',
|
2996 |
-
64538 => 'خح',
|
2997 |
-
64539 => 'خم',
|
2998 |
-
64540 => 'سج',
|
2999 |
-
64541 => 'سح',
|
3000 |
-
64542 => 'سخ',
|
3001 |
-
64543 => 'سم',
|
3002 |
-
64544 => 'صح',
|
3003 |
-
64545 => 'صم',
|
3004 |
-
64546 => 'ضج',
|
3005 |
-
64547 => 'ضح',
|
3006 |
-
64548 => 'ضخ',
|
3007 |
-
64549 => 'ضم',
|
3008 |
-
64550 => 'طح',
|
3009 |
-
64551 => 'طم',
|
3010 |
-
64552 => 'ظم',
|
3011 |
-
64553 => 'عج',
|
3012 |
-
64554 => 'عم',
|
3013 |
-
64555 => 'غج',
|
3014 |
-
64556 => 'غم',
|
3015 |
-
64557 => 'فج',
|
3016 |
-
64558 => 'فح',
|
3017 |
-
64559 => 'فخ',
|
3018 |
-
64560 => 'فم',
|
3019 |
-
64561 => 'فى',
|
3020 |
-
64562 => 'في',
|
3021 |
-
64563 => 'قح',
|
3022 |
-
64564 => 'قم',
|
3023 |
-
64565 => 'قى',
|
3024 |
-
64566 => 'قي',
|
3025 |
-
64567 => 'كا',
|
3026 |
-
64568 => 'كج',
|
3027 |
-
64569 => 'كح',
|
3028 |
-
64570 => 'كخ',
|
3029 |
-
64571 => 'كل',
|
3030 |
-
64572 => 'كم',
|
3031 |
-
64573 => 'كى',
|
3032 |
-
64574 => 'كي',
|
3033 |
-
64575 => 'لج',
|
3034 |
-
64576 => 'لح',
|
3035 |
-
64577 => 'لخ',
|
3036 |
-
64578 => 'لم',
|
3037 |
-
64579 => 'لى',
|
3038 |
-
64580 => 'لي',
|
3039 |
-
64581 => 'مج',
|
3040 |
-
64582 => 'مح',
|
3041 |
-
64583 => 'مخ',
|
3042 |
-
64584 => 'مم',
|
3043 |
-
64585 => 'مى',
|
3044 |
-
64586 => 'مي',
|
3045 |
-
64587 => 'نج',
|
3046 |
-
64588 => 'نح',
|
3047 |
-
64589 => 'نخ',
|
3048 |
-
64590 => 'نم',
|
3049 |
-
64591 => 'نى',
|
3050 |
-
64592 => 'ني',
|
3051 |
-
64593 => 'هج',
|
3052 |
-
64594 => 'هم',
|
3053 |
-
64595 => 'هى',
|
3054 |
-
64596 => 'هي',
|
3055 |
-
64597 => 'يج',
|
3056 |
-
64598 => 'يح',
|
3057 |
-
64599 => 'يخ',
|
3058 |
-
64600 => 'يم',
|
3059 |
-
64601 => 'يى',
|
3060 |
-
64602 => 'يي',
|
3061 |
-
64603 => 'ذٰ',
|
3062 |
-
64604 => 'رٰ',
|
3063 |
-
64605 => 'ىٰ',
|
3064 |
-
64612 => 'ئر',
|
3065 |
-
64613 => 'ئز',
|
3066 |
-
64614 => 'ئم',
|
3067 |
-
64615 => 'ئن',
|
3068 |
-
64616 => 'ئى',
|
3069 |
-
64617 => 'ئي',
|
3070 |
-
64618 => 'بر',
|
3071 |
-
64619 => 'بز',
|
3072 |
-
64620 => 'بم',
|
3073 |
-
64621 => 'بن',
|
3074 |
-
64622 => 'بى',
|
3075 |
-
64623 => 'بي',
|
3076 |
-
64624 => 'تر',
|
3077 |
-
64625 => 'تز',
|
3078 |
-
64626 => 'تم',
|
3079 |
-
64627 => 'تن',
|
3080 |
-
64628 => 'تى',
|
3081 |
-
64629 => 'تي',
|
3082 |
-
64630 => 'ثر',
|
3083 |
-
64631 => 'ثز',
|
3084 |
-
64632 => 'ثم',
|
3085 |
-
64633 => 'ثن',
|
3086 |
-
64634 => 'ثى',
|
3087 |
-
64635 => 'ثي',
|
3088 |
-
64636 => 'فى',
|
3089 |
-
64637 => 'في',
|
3090 |
-
64638 => 'قى',
|
3091 |
-
64639 => 'قي',
|
3092 |
-
64640 => 'كا',
|
3093 |
-
64641 => 'كل',
|
3094 |
-
64642 => 'كم',
|
3095 |
-
64643 => 'كى',
|
3096 |
-
64644 => 'كي',
|
3097 |
-
64645 => 'لم',
|
3098 |
-
64646 => 'لى',
|
3099 |
-
64647 => 'لي',
|
3100 |
-
64648 => 'ما',
|
3101 |
-
64649 => 'مم',
|
3102 |
-
64650 => 'نر',
|
3103 |
-
64651 => 'نز',
|
3104 |
-
64652 => 'نم',
|
3105 |
-
64653 => 'نن',
|
3106 |
-
64654 => 'نى',
|
3107 |
-
64655 => 'ني',
|
3108 |
-
64656 => 'ىٰ',
|
3109 |
-
64657 => 'ير',
|
3110 |
-
64658 => 'يز',
|
3111 |
-
64659 => 'يم',
|
3112 |
-
64660 => 'ين',
|
3113 |
-
64661 => 'يى',
|
3114 |
-
64662 => 'يي',
|
3115 |
-
64663 => 'ئج',
|
3116 |
-
64664 => 'ئح',
|
3117 |
-
64665 => 'ئخ',
|
3118 |
-
64666 => 'ئم',
|
3119 |
-
64667 => 'ئه',
|
3120 |
-
64668 => 'بج',
|
3121 |
-
64669 => 'بح',
|
3122 |
-
64670 => 'بخ',
|
3123 |
-
64671 => 'بم',
|
3124 |
-
64672 => 'به',
|
3125 |
-
64673 => 'تج',
|
3126 |
-
64674 => 'تح',
|
3127 |
-
64675 => 'تخ',
|
3128 |
-
64676 => 'تم',
|
3129 |
-
64677 => 'ته',
|
3130 |
-
64678 => 'ثم',
|
3131 |
-
64679 => 'جح',
|
3132 |
-
64680 => 'جم',
|
3133 |
-
64681 => 'حج',
|
3134 |
-
64682 => 'حم',
|
3135 |
-
64683 => 'خج',
|
3136 |
-
64684 => 'خم',
|
3137 |
-
64685 => 'سج',
|
3138 |
-
64686 => 'سح',
|
3139 |
-
64687 => 'سخ',
|
3140 |
-
64688 => 'سم',
|
3141 |
-
64689 => 'صح',
|
3142 |
-
64690 => 'صخ',
|
3143 |
-
64691 => 'صم',
|
3144 |
-
64692 => 'ضج',
|
3145 |
-
64693 => 'ضح',
|
3146 |
-
64694 => 'ضخ',
|
3147 |
-
64695 => 'ضم',
|
3148 |
-
64696 => 'طح',
|
3149 |
-
64697 => 'ظم',
|
3150 |
-
64698 => 'عج',
|
3151 |
-
64699 => 'عم',
|
3152 |
-
64700 => 'غج',
|
3153 |
-
64701 => 'غم',
|
3154 |
-
64702 => 'فج',
|
3155 |
-
64703 => 'فح',
|
3156 |
-
64704 => 'فخ',
|
3157 |
-
64705 => 'فم',
|
3158 |
-
64706 => 'قح',
|
3159 |
-
64707 => 'قم',
|
3160 |
-
64708 => 'كج',
|
3161 |
-
64709 => 'كح',
|
3162 |
-
64710 => 'كخ',
|
3163 |
-
64711 => 'كل',
|
3164 |
-
64712 => 'كم',
|
3165 |
-
64713 => 'لج',
|
3166 |
-
64714 => 'لح',
|
3167 |
-
64715 => 'لخ',
|
3168 |
-
64716 => 'لم',
|
3169 |
-
64717 => 'له',
|
3170 |
-
64718 => 'مج',
|
3171 |
-
64719 => 'مح',
|
3172 |
-
64720 => 'مخ',
|
3173 |
-
64721 => 'مم',
|
3174 |
-
64722 => 'نج',
|
3175 |
-
64723 => 'نح',
|
3176 |
-
64724 => 'نخ',
|
3177 |
-
64725 => 'نم',
|
3178 |
-
64726 => 'نه',
|
3179 |
-
64727 => 'هج',
|
3180 |
-
64728 => 'هم',
|
3181 |
-
64729 => 'هٰ',
|
3182 |
-
64730 => 'يج',
|
3183 |
-
64731 => 'يح',
|
3184 |
-
64732 => 'يخ',
|
3185 |
-
64733 => 'يم',
|
3186 |
-
64734 => 'يه',
|
3187 |
-
64735 => 'ئم',
|
3188 |
-
64736 => 'ئه',
|
3189 |
-
64737 => 'بم',
|
3190 |
-
64738 => 'به',
|
3191 |
-
64739 => 'تم',
|
3192 |
-
64740 => 'ته',
|
3193 |
-
64741 => 'ثم',
|
3194 |
-
64742 => 'ثه',
|
3195 |
-
64743 => 'سم',
|
3196 |
-
64744 => 'سه',
|
3197 |
-
64745 => 'شم',
|
3198 |
-
64746 => 'شه',
|
3199 |
-
64747 => 'كل',
|
3200 |
-
64748 => 'كم',
|
3201 |
-
64749 => 'لم',
|
3202 |
-
64750 => 'نم',
|
3203 |
-
64751 => 'نه',
|
3204 |
-
64752 => 'يم',
|
3205 |
-
64753 => 'يه',
|
3206 |
-
64754 => 'ـَّ',
|
3207 |
-
64755 => 'ـُّ',
|
3208 |
-
64756 => 'ـِّ',
|
3209 |
-
64757 => 'طى',
|
3210 |
-
64758 => 'طي',
|
3211 |
-
64759 => 'عى',
|
3212 |
-
64760 => 'عي',
|
3213 |
-
64761 => 'غى',
|
3214 |
-
64762 => 'غي',
|
3215 |
-
64763 => 'سى',
|
3216 |
-
64764 => 'سي',
|
3217 |
-
64765 => 'شى',
|
3218 |
-
64766 => 'شي',
|
3219 |
-
64767 => 'حى',
|
3220 |
-
64768 => 'حي',
|
3221 |
-
64769 => 'جى',
|
3222 |
-
64770 => 'جي',
|
3223 |
-
64771 => 'خى',
|
3224 |
-
64772 => 'خي',
|
3225 |
-
64773 => 'صى',
|
3226 |
-
64774 => 'صي',
|
3227 |
-
64775 => 'ضى',
|
3228 |
-
64776 => 'ضي',
|
3229 |
-
64777 => 'شج',
|
3230 |
-
64778 => 'شح',
|
3231 |
-
64779 => 'شخ',
|
3232 |
-
64780 => 'شم',
|
3233 |
-
64781 => 'شر',
|
3234 |
-
64782 => 'سر',
|
3235 |
-
64783 => 'صر',
|
3236 |
-
64784 => 'ضر',
|
3237 |
-
64785 => 'طى',
|
3238 |
-
64786 => 'طي',
|
3239 |
-
64787 => 'عى',
|
3240 |
-
64788 => 'عي',
|
3241 |
-
64789 => 'غى',
|
3242 |
-
64790 => 'غي',
|
3243 |
-
64791 => 'سى',
|
3244 |
-
64792 => 'سي',
|
3245 |
-
64793 => 'شى',
|
3246 |
-
64794 => 'شي',
|
3247 |
-
64795 => 'حى',
|
3248 |
-
64796 => 'حي',
|
3249 |
-
64797 => 'جى',
|
3250 |
-
64798 => 'جي',
|
3251 |
-
64799 => 'خى',
|
3252 |
-
64800 => 'خي',
|
3253 |
-
64801 => 'صى',
|
3254 |
-
64802 => 'صي',
|
3255 |
-
64803 => 'ضى',
|
3256 |
-
64804 => 'ضي',
|
3257 |
-
64805 => 'شج',
|
3258 |
-
64806 => 'شح',
|
3259 |
-
64807 => 'شخ',
|
3260 |
-
64808 => 'شم',
|
3261 |
-
64809 => 'شر',
|
3262 |
-
64810 => 'سر',
|
3263 |
-
64811 => 'صر',
|
3264 |
-
64812 => 'ضر',
|
3265 |
-
64813 => 'شج',
|
3266 |
-
64814 => 'شح',
|
3267 |
-
64815 => 'شخ',
|
3268 |
-
64816 => 'شم',
|
3269 |
-
64817 => 'سه',
|
3270 |
-
64818 => 'شه',
|
3271 |
-
64819 => 'طم',
|
3272 |
-
64820 => 'سج',
|
3273 |
-
64821 => 'سح',
|
3274 |
-
64822 => 'سخ',
|
3275 |
-
64823 => 'شج',
|
3276 |
-
64824 => 'شح',
|
3277 |
-
64825 => 'شخ',
|
3278 |
-
64826 => 'طم',
|
3279 |
-
64827 => 'ظم',
|
3280 |
-
64828 => 'اً',
|
3281 |
-
64829 => 'اً',
|
3282 |
-
64848 => 'تجم',
|
3283 |
-
64849 => 'تحج',
|
3284 |
-
64850 => 'تحج',
|
3285 |
-
64851 => 'تحم',
|
3286 |
-
64852 => 'تخم',
|
3287 |
-
64853 => 'تمج',
|
3288 |
-
64854 => 'تمح',
|
3289 |
-
64855 => 'تمخ',
|
3290 |
-
64856 => 'جمح',
|
3291 |
-
64857 => 'جمح',
|
3292 |
-
64858 => 'حمي',
|
3293 |
-
64859 => 'حمى',
|
3294 |
-
64860 => 'سحج',
|
3295 |
-
64861 => 'سجح',
|
3296 |
-
64862 => 'سجى',
|
3297 |
-
64863 => 'سمح',
|
3298 |
-
64864 => 'سمح',
|
3299 |
-
64865 => 'سمج',
|
3300 |
-
64866 => 'سمم',
|
3301 |
-
64867 => 'سمم',
|
3302 |
-
64868 => 'صحح',
|
3303 |
-
64869 => 'صحح',
|
3304 |
-
64870 => 'صمم',
|
3305 |
-
64871 => 'شحم',
|
3306 |
-
64872 => 'شحم',
|
3307 |
-
64873 => 'شجي',
|
3308 |
-
64874 => 'شمخ',
|
3309 |
-
64875 => 'شمخ',
|
3310 |
-
64876 => 'شمم',
|
3311 |
-
64877 => 'شمم',
|
3312 |
-
64878 => 'ضحى',
|
3313 |
-
64879 => 'ضخم',
|
3314 |
-
64880 => 'ضخم',
|
3315 |
-
64881 => 'طمح',
|
3316 |
-
64882 => 'طمح',
|
3317 |
-
64883 => 'طمم',
|
3318 |
-
64884 => 'طمي',
|
3319 |
-
64885 => 'عجم',
|
3320 |
-
64886 => 'عمم',
|
3321 |
-
64887 => 'عمم',
|
3322 |
-
64888 => 'عمى',
|
3323 |
-
64889 => 'غمم',
|
3324 |
-
64890 => 'غمي',
|
3325 |
-
64891 => 'غمى',
|
3326 |
-
64892 => 'فخم',
|
3327 |
-
64893 => 'فخم',
|
3328 |
-
64894 => 'قمح',
|
3329 |
-
64895 => 'قمم',
|
3330 |
-
64896 => 'لحم',
|
3331 |
-
64897 => 'لحي',
|
3332 |
-
64898 => 'لحى',
|
3333 |
-
64899 => 'لجج',
|
3334 |
-
64900 => 'لجج',
|
3335 |
-
64901 => 'لخم',
|
3336 |
-
64902 => 'لخم',
|
3337 |
-
64903 => 'لمح',
|
3338 |
-
64904 => 'لمح',
|
3339 |
-
64905 => 'محج',
|
3340 |
-
64906 => 'محم',
|
3341 |
-
64907 => 'محي',
|
3342 |
-
64908 => 'مجح',
|
3343 |
-
64909 => 'مجم',
|
3344 |
-
64910 => 'مخج',
|
3345 |
-
64911 => 'مخم',
|
3346 |
-
64914 => 'مجخ',
|
3347 |
-
64915 => 'همج',
|
3348 |
-
64916 => 'همم',
|
3349 |
-
64917 => 'نحم',
|
3350 |
-
64918 => 'نحى',
|
3351 |
-
64919 => 'نجم',
|
3352 |
-
64920 => 'نجم',
|
3353 |
-
64921 => 'نجى',
|
3354 |
-
64922 => 'نمي',
|
3355 |
-
64923 => 'نمى',
|
3356 |
-
64924 => 'يمم',
|
3357 |
-
64925 => 'يمم',
|
3358 |
-
64926 => 'بخي',
|
3359 |
-
64927 => 'تجي',
|
3360 |
-
64928 => 'تجى',
|
3361 |
-
64929 => 'تخي',
|
3362 |
-
64930 => 'تخى',
|
3363 |
-
64931 => 'تمي',
|
3364 |
-
64932 => 'تمى',
|
3365 |
-
64933 => 'جمي',
|
3366 |
-
64934 => 'جحى',
|
3367 |
-
64935 => 'جمى',
|
3368 |
-
64936 => 'سخى',
|
3369 |
-
64937 => 'صحي',
|
3370 |
-
64938 => 'شحي',
|
3371 |
-
64939 => 'ضحي',
|
3372 |
-
64940 => 'لجي',
|
3373 |
-
64941 => 'لمي',
|
3374 |
-
64942 => 'يحي',
|
3375 |
-
64943 => 'يجي',
|
3376 |
-
64944 => 'يمي',
|
3377 |
-
64945 => 'ممي',
|
3378 |
-
64946 => 'قمي',
|
3379 |
-
64947 => 'نحي',
|
3380 |
-
64948 => 'قمح',
|
3381 |
-
64949 => 'لحم',
|
3382 |
-
64950 => 'عمي',
|
3383 |
-
64951 => 'كمي',
|
3384 |
-
64952 => 'نجح',
|
3385 |
-
64953 => 'مخي',
|
3386 |
-
64954 => 'لجم',
|
3387 |
-
64955 => 'كمم',
|
3388 |
-
64956 => 'لجم',
|
3389 |
-
64957 => 'نجح',
|
3390 |
-
64958 => 'جحي',
|
3391 |
-
64959 => 'حجي',
|
3392 |
-
64960 => 'مجي',
|
3393 |
-
64961 => 'فمي',
|
3394 |
-
64962 => 'بحي',
|
3395 |
-
64963 => 'كمم',
|
3396 |
-
64964 => 'عجم',
|
3397 |
-
64965 => 'صمم',
|
3398 |
-
64966 => 'سخي',
|
3399 |
-
64967 => 'نجي',
|
3400 |
-
65008 => 'صلے',
|
3401 |
-
65009 => 'قلے',
|
3402 |
-
65010 => 'الله',
|
3403 |
-
65011 => 'اكبر',
|
3404 |
-
65012 => 'محمد',
|
3405 |
-
65013 => 'صلعم',
|
3406 |
-
65014 => 'رسول',
|
3407 |
-
65015 => 'عليه',
|
3408 |
-
65016 => 'وسلم',
|
3409 |
-
65017 => 'صلى',
|
3410 |
-
65020 => 'ریال',
|
3411 |
-
65041 => '、',
|
3412 |
-
65047 => '〖',
|
3413 |
-
65048 => '〗',
|
3414 |
-
65073 => '—',
|
3415 |
-
65074 => '–',
|
3416 |
-
65081 => '〔',
|
3417 |
-
65082 => '〕',
|
3418 |
-
65083 => '【',
|
3419 |
-
65084 => '】',
|
3420 |
-
65085 => '《',
|
3421 |
-
65086 => '》',
|
3422 |
-
65087 => '〈',
|
3423 |
-
65088 => '〉',
|
3424 |
-
65089 => '「',
|
3425 |
-
65090 => '」',
|
3426 |
-
65091 => '『',
|
3427 |
-
65092 => '』',
|
3428 |
-
65105 => '、',
|
3429 |
-
65112 => '—',
|
3430 |
-
65117 => '〔',
|
3431 |
-
65118 => '〕',
|
3432 |
-
65123 => '-',
|
3433 |
-
65137 => 'ـً',
|
3434 |
-
65143 => 'ـَ',
|
3435 |
-
65145 => 'ـُ',
|
3436 |
-
65147 => 'ـِ',
|
3437 |
-
65149 => 'ـّ',
|
3438 |
-
65151 => 'ـْ',
|
3439 |
-
65152 => 'ء',
|
3440 |
-
65153 => 'آ',
|
3441 |
-
65154 => 'آ',
|
3442 |
-
65155 => 'أ',
|
3443 |
-
65156 => 'أ',
|
3444 |
-
65157 => 'ؤ',
|
3445 |
-
65158 => 'ؤ',
|
3446 |
-
65159 => 'إ',
|
3447 |
-
65160 => 'إ',
|
3448 |
-
65161 => 'ئ',
|
3449 |
-
65162 => 'ئ',
|
3450 |
-
65163 => 'ئ',
|
3451 |
-
65164 => 'ئ',
|
3452 |
-
65165 => 'ا',
|
3453 |
-
65166 => 'ا',
|
3454 |
-
65167 => 'ب',
|
3455 |
-
65168 => 'ب',
|
3456 |
-
65169 => 'ب',
|
3457 |
-
65170 => 'ب',
|
3458 |
-
65171 => 'ة',
|
3459 |
-
65172 => 'ة',
|
3460 |
-
65173 => 'ت',
|
3461 |
-
65174 => 'ت',
|
3462 |
-
65175 => 'ت',
|
3463 |
-
65176 => 'ت',
|
3464 |
-
65177 => 'ث',
|
3465 |
-
65178 => 'ث',
|
3466 |
-
65179 => 'ث',
|
3467 |
-
65180 => 'ث',
|
3468 |
-
65181 => 'ج',
|
3469 |
-
65182 => 'ج',
|
3470 |
-
65183 => 'ج',
|
3471 |
-
65184 => 'ج',
|
3472 |
-
65185 => 'ح',
|
3473 |
-
65186 => 'ح',
|
3474 |
-
65187 => 'ح',
|
3475 |
-
65188 => 'ح',
|
3476 |
-
65189 => 'خ',
|
3477 |
-
65190 => 'خ',
|
3478 |
-
65191 => 'خ',
|
3479 |
-
65192 => 'خ',
|
3480 |
-
65193 => 'د',
|
3481 |
-
65194 => 'د',
|
3482 |
-
65195 => 'ذ',
|
3483 |
-
65196 => 'ذ',
|
3484 |
-
65197 => 'ر',
|
3485 |
-
65198 => 'ر',
|
3486 |
-
65199 => 'ز',
|
3487 |
-
65200 => 'ز',
|
3488 |
-
65201 => 'س',
|
3489 |
-
65202 => 'س',
|
3490 |
-
65203 => 'س',
|
3491 |
-
65204 => 'س',
|
3492 |
-
65205 => 'ش',
|
3493 |
-
65206 => 'ش',
|
3494 |
-
65207 => 'ش',
|
3495 |
-
65208 => 'ش',
|
3496 |
-
65209 => 'ص',
|
3497 |
-
65210 => 'ص',
|
3498 |
-
65211 => 'ص',
|
3499 |
-
65212 => 'ص',
|
3500 |
-
65213 => 'ض',
|
3501 |
-
65214 => 'ض',
|
3502 |
-
65215 => 'ض',
|
3503 |
-
65216 => 'ض',
|
3504 |
-
65217 => 'ط',
|
3505 |
-
65218 => 'ط',
|
3506 |
-
65219 => 'ط',
|
3507 |
-
65220 => 'ط',
|
3508 |
-
65221 => 'ظ',
|
3509 |
-
65222 => 'ظ',
|
3510 |
-
65223 => 'ظ',
|
3511 |
-
65224 => 'ظ',
|
3512 |
-
65225 => 'ع',
|
3513 |
-
65226 => 'ع',
|
3514 |
-
65227 => 'ع',
|
3515 |
-
65228 => 'ع',
|
3516 |
-
65229 => 'غ',
|
3517 |
-
65230 => 'غ',
|
3518 |
-
65231 => 'غ',
|
3519 |
-
65232 => 'غ',
|
3520 |
-
65233 => 'ف',
|
3521 |
-
65234 => 'ف',
|
3522 |
-
65235 => 'ف',
|
3523 |
-
65236 => 'ف',
|
3524 |
-
65237 => 'ق',
|
3525 |
-
65238 => 'ق',
|
3526 |
-
65239 => 'ق',
|
3527 |
-
65240 => 'ق',
|
3528 |
-
65241 => 'ك',
|
3529 |
-
65242 => 'ك',
|
3530 |
-
65243 => 'ك',
|
3531 |
-
65244 => 'ك',
|
3532 |
-
65245 => 'ل',
|
3533 |
-
65246 => 'ل',
|
3534 |
-
65247 => 'ل',
|
3535 |
-
65248 => 'ل',
|
3536 |
-
65249 => 'م',
|
3537 |
-
65250 => 'م',
|
3538 |
-
65251 => 'م',
|
3539 |
-
65252 => 'م',
|
3540 |
-
65253 => 'ن',
|
3541 |
-
65254 => 'ن',
|
3542 |
-
65255 => 'ن',
|
3543 |
-
65256 => 'ن',
|
3544 |
-
65257 => 'ه',
|
3545 |
-
65258 => 'ه',
|
3546 |
-
65259 => 'ه',
|
3547 |
-
65260 => 'ه',
|
3548 |
-
65261 => 'و',
|
3549 |
-
65262 => 'و',
|
3550 |
-
65263 => 'ى',
|
3551 |
-
65264 => 'ى',
|
3552 |
-
65265 => 'ي',
|
3553 |
-
65266 => 'ي',
|
3554 |
-
65267 => 'ي',
|
3555 |
-
65268 => 'ي',
|
3556 |
-
65269 => 'لآ',
|
3557 |
-
65270 => 'لآ',
|
3558 |
-
65271 => 'لأ',
|
3559 |
-
65272 => 'لأ',
|
3560 |
-
65273 => 'لإ',
|
3561 |
-
65274 => 'لإ',
|
3562 |
-
65275 => 'لا',
|
3563 |
-
65276 => 'لا',
|
3564 |
-
65293 => '-',
|
3565 |
-
65294 => '.',
|
3566 |
-
65296 => '0',
|
3567 |
-
65297 => '1',
|
3568 |
-
65298 => '2',
|
3569 |
-
65299 => '3',
|
3570 |
-
65300 => '4',
|
3571 |
-
65301 => '5',
|
3572 |
-
65302 => '6',
|
3573 |
-
65303 => '7',
|
3574 |
-
65304 => '8',
|
3575 |
-
65305 => '9',
|
3576 |
-
65313 => 'a',
|
3577 |
-
65314 => 'b',
|
3578 |
-
65315 => 'c',
|
3579 |
-
65316 => 'd',
|
3580 |
-
65317 => 'e',
|
3581 |
-
65318 => 'f',
|
3582 |
-
65319 => 'g',
|
3583 |
-
65320 => 'h',
|
3584 |
-
65321 => 'i',
|
3585 |
-
65322 => 'j',
|
3586 |
-
65323 => 'k',
|
3587 |
-
65324 => 'l',
|
3588 |
-
65325 => 'm',
|
3589 |
-
65326 => 'n',
|
3590 |
-
65327 => 'o',
|
3591 |
-
65328 => 'p',
|
3592 |
-
65329 => 'q',
|
3593 |
-
65330 => 'r',
|
3594 |
-
65331 => 's',
|
3595 |
-
65332 => 't',
|
3596 |
-
65333 => 'u',
|
3597 |
-
65334 => 'v',
|
3598 |
-
65335 => 'w',
|
3599 |
-
65336 => 'x',
|
3600 |
-
65337 => 'y',
|
3601 |
-
65338 => 'z',
|
3602 |
-
65345 => 'a',
|
3603 |
-
65346 => 'b',
|
3604 |
-
65347 => 'c',
|
3605 |
-
65348 => 'd',
|
3606 |
-
65349 => 'e',
|
3607 |
-
65350 => 'f',
|
3608 |
-
65351 => 'g',
|
3609 |
-
65352 => 'h',
|
3610 |
-
65353 => 'i',
|
3611 |
-
65354 => 'j',
|
3612 |
-
65355 => 'k',
|
3613 |
-
65356 => 'l',
|
3614 |
-
65357 => 'm',
|
3615 |
-
65358 => 'n',
|
3616 |
-
65359 => 'o',
|
3617 |
-
65360 => 'p',
|
3618 |
-
65361 => 'q',
|
3619 |
-
65362 => 'r',
|
3620 |
-
65363 => 's',
|
3621 |
-
65364 => 't',
|
3622 |
-
65365 => 'u',
|
3623 |
-
65366 => 'v',
|
3624 |
-
65367 => 'w',
|
3625 |
-
65368 => 'x',
|
3626 |
-
65369 => 'y',
|
3627 |
-
65370 => 'z',
|
3628 |
-
65375 => '⦅',
|
3629 |
-
65376 => '⦆',
|
3630 |
-
65377 => '.',
|
3631 |
-
65378 => '「',
|
3632 |
-
65379 => '」',
|
3633 |
-
65380 => '、',
|
3634 |
-
65381 => '・',
|
3635 |
-
65382 => 'ヲ',
|
3636 |
-
65383 => 'ァ',
|
3637 |
-
65384 => 'ィ',
|
3638 |
-
65385 => 'ゥ',
|
3639 |
-
65386 => 'ェ',
|
3640 |
-
65387 => 'ォ',
|
3641 |
-
65388 => 'ャ',
|
3642 |
-
65389 => 'ュ',
|
3643 |
-
65390 => 'ョ',
|
3644 |
-
65391 => 'ッ',
|
3645 |
-
65392 => 'ー',
|
3646 |
-
65393 => 'ア',
|
3647 |
-
65394 => 'イ',
|
3648 |
-
65395 => 'ウ',
|
3649 |
-
65396 => 'エ',
|
3650 |
-
65397 => 'オ',
|
3651 |
-
65398 => 'カ',
|
3652 |
-
65399 => 'キ',
|
3653 |
-
65400 => 'ク',
|
3654 |
-
65401 => 'ケ',
|
3655 |
-
65402 => 'コ',
|
3656 |
-
65403 => 'サ',
|
3657 |
-
65404 => 'シ',
|
3658 |
-
65405 => 'ス',
|
3659 |
-
65406 => 'セ',
|
3660 |
-
65407 => 'ソ',
|
3661 |
-
65408 => 'タ',
|
3662 |
-
65409 => 'チ',
|
3663 |
-
65410 => 'ツ',
|
3664 |
-
65411 => 'テ',
|
3665 |
-
65412 => 'ト',
|
3666 |
-
65413 => 'ナ',
|
3667 |
-
65414 => 'ニ',
|
3668 |
-
65415 => 'ヌ',
|
3669 |
-
65416 => 'ネ',
|
3670 |
-
65417 => 'ノ',
|
3671 |
-
65418 => 'ハ',
|
3672 |
-
65419 => 'ヒ',
|
3673 |
-
65420 => 'フ',
|
3674 |
-
65421 => 'ヘ',
|
3675 |
-
65422 => 'ホ',
|
3676 |
-
65423 => 'マ',
|
3677 |
-
65424 => 'ミ',
|
3678 |
-
65425 => 'ム',
|
3679 |
-
65426 => 'メ',
|
3680 |
-
65427 => 'モ',
|
3681 |
-
65428 => 'ヤ',
|
3682 |
-
65429 => 'ユ',
|
3683 |
-
65430 => 'ヨ',
|
3684 |
-
65431 => 'ラ',
|
3685 |
-
65432 => 'リ',
|
3686 |
-
65433 => 'ル',
|
3687 |
-
65434 => 'レ',
|
3688 |
-
65435 => 'ロ',
|
3689 |
-
65436 => 'ワ',
|
3690 |
-
65437 => 'ン',
|
3691 |
-
65438 => '゙',
|
3692 |
-
65439 => '゚',
|
3693 |
-
65441 => 'ᄀ',
|
3694 |
-
65442 => 'ᄁ',
|
3695 |
-
65443 => 'ᆪ',
|
3696 |
-
65444 => 'ᄂ',
|
3697 |
-
65445 => 'ᆬ',
|
3698 |
-
65446 => 'ᆭ',
|
3699 |
-
65447 => 'ᄃ',
|
3700 |
-
65448 => 'ᄄ',
|
3701 |
-
65449 => 'ᄅ',
|
3702 |
-
65450 => 'ᆰ',
|
3703 |
-
65451 => 'ᆱ',
|
3704 |
-
65452 => 'ᆲ',
|
3705 |
-
65453 => 'ᆳ',
|
3706 |
-
65454 => 'ᆴ',
|
3707 |
-
65455 => 'ᆵ',
|
3708 |
-
65456 => 'ᄚ',
|
3709 |
-
65457 => 'ᄆ',
|
3710 |
-
65458 => 'ᄇ',
|
3711 |
-
65459 => 'ᄈ',
|
3712 |
-
65460 => 'ᄡ',
|
3713 |
-
65461 => 'ᄉ',
|
3714 |
-
65462 => 'ᄊ',
|
3715 |
-
65463 => 'ᄋ',
|
3716 |
-
65464 => 'ᄌ',
|
3717 |
-
65465 => 'ᄍ',
|
3718 |
-
65466 => 'ᄎ',
|
3719 |
-
65467 => 'ᄏ',
|
3720 |
-
65468 => 'ᄐ',
|
3721 |
-
65469 => 'ᄑ',
|
3722 |
-
65470 => 'ᄒ',
|
3723 |
-
65474 => 'ᅡ',
|
3724 |
-
65475 => 'ᅢ',
|
3725 |
-
65476 => 'ᅣ',
|
3726 |
-
65477 => 'ᅤ',
|
3727 |
-
65478 => 'ᅥ',
|
3728 |
-
65479 => 'ᅦ',
|
3729 |
-
65482 => 'ᅧ',
|
3730 |
-
65483 => 'ᅨ',
|
3731 |
-
65484 => 'ᅩ',
|
3732 |
-
65485 => 'ᅪ',
|
3733 |
-
65486 => 'ᅫ',
|
3734 |
-
65487 => 'ᅬ',
|
3735 |
-
65490 => 'ᅭ',
|
3736 |
-
65491 => 'ᅮ',
|
3737 |
-
65492 => 'ᅯ',
|
3738 |
-
65493 => 'ᅰ',
|
3739 |
-
65494 => 'ᅱ',
|
3740 |
-
65495 => 'ᅲ',
|
3741 |
-
65498 => 'ᅳ',
|
3742 |
-
65499 => 'ᅴ',
|
3743 |
-
65500 => 'ᅵ',
|
3744 |
-
65504 => '¢',
|
3745 |
-
65505 => '£',
|
3746 |
-
65506 => '¬',
|
3747 |
-
65508 => '¦',
|
3748 |
-
65509 => '¥',
|
3749 |
-
65510 => '₩',
|
3750 |
-
65512 => '│',
|
3751 |
-
65513 => '←',
|
3752 |
-
65514 => '↑',
|
3753 |
-
65515 => '→',
|
3754 |
-
65516 => '↓',
|
3755 |
-
65517 => '■',
|
3756 |
-
65518 => '○',
|
3757 |
-
66560 => '𐐨',
|
3758 |
-
66561 => '𐐩',
|
3759 |
-
66562 => '𐐪',
|
3760 |
-
66563 => '𐐫',
|
3761 |
-
66564 => '𐐬',
|
3762 |
-
66565 => '𐐭',
|
3763 |
-
66566 => '𐐮',
|
3764 |
-
66567 => '𐐯',
|
3765 |
-
66568 => '𐐰',
|
3766 |
-
66569 => '𐐱',
|
3767 |
-
66570 => '𐐲',
|
3768 |
-
66571 => '𐐳',
|
3769 |
-
66572 => '𐐴',
|
3770 |
-
66573 => '𐐵',
|
3771 |
-
66574 => '𐐶',
|
3772 |
-
66575 => '𐐷',
|
3773 |
-
66576 => '𐐸',
|
3774 |
-
66577 => '𐐹',
|
3775 |
-
66578 => '𐐺',
|
3776 |
-
66579 => '𐐻',
|
3777 |
-
66580 => '𐐼',
|
3778 |
-
66581 => '𐐽',
|
3779 |
-
66582 => '𐐾',
|
3780 |
-
66583 => '𐐿',
|
3781 |
-
66584 => '𐑀',
|
3782 |
-
66585 => '𐑁',
|
3783 |
-
66586 => '𐑂',
|
3784 |
-
66587 => '𐑃',
|
3785 |
-
66588 => '𐑄',
|
3786 |
-
66589 => '𐑅',
|
3787 |
-
66590 => '𐑆',
|
3788 |
-
66591 => '𐑇',
|
3789 |
-
66592 => '𐑈',
|
3790 |
-
66593 => '𐑉',
|
3791 |
-
66594 => '𐑊',
|
3792 |
-
66595 => '𐑋',
|
3793 |
-
66596 => '𐑌',
|
3794 |
-
66597 => '𐑍',
|
3795 |
-
66598 => '𐑎',
|
3796 |
-
66599 => '𐑏',
|
3797 |
-
66736 => '𐓘',
|
3798 |
-
66737 => '𐓙',
|
3799 |
-
66738 => '𐓚',
|
3800 |
-
66739 => '𐓛',
|
3801 |
-
66740 => '𐓜',
|
3802 |
-
66741 => '𐓝',
|
3803 |
-
66742 => '𐓞',
|
3804 |
-
66743 => '𐓟',
|
3805 |
-
66744 => '𐓠',
|
3806 |
-
66745 => '𐓡',
|
3807 |
-
66746 => '𐓢',
|
3808 |
-
66747 => '𐓣',
|
3809 |
-
66748 => '𐓤',
|
3810 |
-
66749 => '𐓥',
|
3811 |
-
66750 => '𐓦',
|
3812 |
-
66751 => '𐓧',
|
3813 |
-
66752 => '𐓨',
|
3814 |
-
66753 => '𐓩',
|
3815 |
-
66754 => '𐓪',
|
3816 |
-
66755 => '𐓫',
|
3817 |
-
66756 => '𐓬',
|
3818 |
-
66757 => '𐓭',
|
3819 |
-
66758 => '𐓮',
|
3820 |
-
66759 => '𐓯',
|
3821 |
-
66760 => '𐓰',
|
3822 |
-
66761 => '𐓱',
|
3823 |
-
66762 => '𐓲',
|
3824 |
-
66763 => '𐓳',
|
3825 |
-
66764 => '𐓴',
|
3826 |
-
66765 => '𐓵',
|
3827 |
-
66766 => '𐓶',
|
3828 |
-
66767 => '𐓷',
|
3829 |
-
66768 => '𐓸',
|
3830 |
-
66769 => '𐓹',
|
3831 |
-
66770 => '𐓺',
|
3832 |
-
66771 => '𐓻',
|
3833 |
-
68736 => '𐳀',
|
3834 |
-
68737 => '𐳁',
|
3835 |
-
68738 => '𐳂',
|
3836 |
-
68739 => '𐳃',
|
3837 |
-
68740 => '𐳄',
|
3838 |
-
68741 => '𐳅',
|
3839 |
-
68742 => '𐳆',
|
3840 |
-
68743 => '𐳇',
|
3841 |
-
68744 => '𐳈',
|
3842 |
-
68745 => '𐳉',
|
3843 |
-
68746 => '𐳊',
|
3844 |
-
68747 => '𐳋',
|
3845 |
-
68748 => '𐳌',
|
3846 |
-
68749 => '𐳍',
|
3847 |
-
68750 => '𐳎',
|
3848 |
-
68751 => '𐳏',
|
3849 |
-
68752 => '𐳐',
|
3850 |
-
68753 => '𐳑',
|
3851 |
-
68754 => '𐳒',
|
3852 |
-
68755 => '𐳓',
|
3853 |
-
68756 => '𐳔',
|
3854 |
-
68757 => '𐳕',
|
3855 |
-
68758 => '𐳖',
|
3856 |
-
68759 => '𐳗',
|
3857 |
-
68760 => '𐳘',
|
3858 |
-
68761 => '𐳙',
|
3859 |
-
68762 => '𐳚',
|
3860 |
-
68763 => '𐳛',
|
3861 |
-
68764 => '𐳜',
|
3862 |
-
68765 => '𐳝',
|
3863 |
-
68766 => '𐳞',
|
3864 |
-
68767 => '𐳟',
|
3865 |
-
68768 => '𐳠',
|
3866 |
-
68769 => '𐳡',
|
3867 |
-
68770 => '𐳢',
|
3868 |
-
68771 => '𐳣',
|
3869 |
-
68772 => '𐳤',
|
3870 |
-
68773 => '𐳥',
|
3871 |
-
68774 => '𐳦',
|
3872 |
-
68775 => '𐳧',
|
3873 |
-
68776 => '𐳨',
|
3874 |
-
68777 => '𐳩',
|
3875 |
-
68778 => '𐳪',
|
3876 |
-
68779 => '𐳫',
|
3877 |
-
68780 => '𐳬',
|
3878 |
-
68781 => '𐳭',
|
3879 |
-
68782 => '𐳮',
|
3880 |
-
68783 => '𐳯',
|
3881 |
-
68784 => '𐳰',
|
3882 |
-
68785 => '𐳱',
|
3883 |
-
68786 => '𐳲',
|
3884 |
-
71840 => '𑣀',
|
3885 |
-
71841 => '𑣁',
|
3886 |
-
71842 => '𑣂',
|
3887 |
-
71843 => '𑣃',
|
3888 |
-
71844 => '𑣄',
|
3889 |
-
71845 => '𑣅',
|
3890 |
-
71846 => '𑣆',
|
3891 |
-
71847 => '𑣇',
|
3892 |
-
71848 => '𑣈',
|
3893 |
-
71849 => '𑣉',
|
3894 |
-
71850 => '𑣊',
|
3895 |
-
71851 => '𑣋',
|
3896 |
-
71852 => '𑣌',
|
3897 |
-
71853 => '𑣍',
|
3898 |
-
71854 => '𑣎',
|
3899 |
-
71855 => '𑣏',
|
3900 |
-
71856 => '𑣐',
|
3901 |
-
71857 => '𑣑',
|
3902 |
-
71858 => '𑣒',
|
3903 |
-
71859 => '𑣓',
|
3904 |
-
71860 => '𑣔',
|
3905 |
-
71861 => '𑣕',
|
3906 |
-
71862 => '𑣖',
|
3907 |
-
71863 => '𑣗',
|
3908 |
-
71864 => '𑣘',
|
3909 |
-
71865 => '𑣙',
|
3910 |
-
71866 => '𑣚',
|
3911 |
-
71867 => '𑣛',
|
3912 |
-
71868 => '𑣜',
|
3913 |
-
71869 => '𑣝',
|
3914 |
-
71870 => '𑣞',
|
3915 |
-
71871 => '𑣟',
|
3916 |
-
93760 => '𖹠',
|
3917 |
-
93761 => '𖹡',
|
3918 |
-
93762 => '𖹢',
|
3919 |
-
93763 => '𖹣',
|
3920 |
-
93764 => '𖹤',
|
3921 |
-
93765 => '𖹥',
|
3922 |
-
93766 => '𖹦',
|
3923 |
-
93767 => '𖹧',
|
3924 |
-
93768 => '𖹨',
|
3925 |
-
93769 => '𖹩',
|
3926 |
-
93770 => '𖹪',
|
3927 |
-
93771 => '𖹫',
|
3928 |
-
93772 => '𖹬',
|
3929 |
-
93773 => '𖹭',
|
3930 |
-
93774 => '𖹮',
|
3931 |
-
93775 => '𖹯',
|
3932 |
-
93776 => '𖹰',
|
3933 |
-
93777 => '𖹱',
|
3934 |
-
93778 => '𖹲',
|
3935 |
-
93779 => '𖹳',
|
3936 |
-
93780 => '𖹴',
|
3937 |
-
93781 => '𖹵',
|
3938 |
-
93782 => '𖹶',
|
3939 |
-
93783 => '𖹷',
|
3940 |
-
93784 => '𖹸',
|
3941 |
-
93785 => '𖹹',
|
3942 |
-
93786 => '𖹺',
|
3943 |
-
93787 => '𖹻',
|
3944 |
-
93788 => '𖹼',
|
3945 |
-
93789 => '𖹽',
|
3946 |
-
93790 => '𖹾',
|
3947 |
-
93791 => '𖹿',
|
3948 |
-
119134 => '𝅗𝅥',
|
3949 |
-
119135 => '𝅘𝅥',
|
3950 |
-
119136 => '𝅘𝅥𝅮',
|
3951 |
-
119137 => '𝅘𝅥𝅯',
|
3952 |
-
119138 => '𝅘𝅥𝅰',
|
3953 |
-
119139 => '𝅘𝅥𝅱',
|
3954 |
-
119140 => '𝅘𝅥𝅲',
|
3955 |
-
119227 => '𝆹𝅥',
|
3956 |
-
119228 => '𝆺𝅥',
|
3957 |
-
119229 => '𝆹𝅥𝅮',
|
3958 |
-
119230 => '𝆺𝅥𝅮',
|
3959 |
-
119231 => '𝆹𝅥𝅯',
|
3960 |
-
119232 => '𝆺𝅥𝅯',
|
3961 |
-
119808 => 'a',
|
3962 |
-
119809 => 'b',
|
3963 |
-
119810 => 'c',
|
3964 |
-
119811 => 'd',
|
3965 |
-
119812 => 'e',
|
3966 |
-
119813 => 'f',
|
3967 |
-
119814 => 'g',
|
3968 |
-
119815 => 'h',
|
3969 |
-
119816 => 'i',
|
3970 |
-
119817 => 'j',
|
3971 |
-
119818 => 'k',
|
3972 |
-
119819 => 'l',
|
3973 |
-
119820 => 'm',
|
3974 |
-
119821 => 'n',
|
3975 |
-
119822 => 'o',
|
3976 |
-
119823 => 'p',
|
3977 |
-
119824 => 'q',
|
3978 |
-
119825 => 'r',
|
3979 |
-
119826 => 's',
|
3980 |
-
119827 => 't',
|
3981 |
-
119828 => 'u',
|
3982 |
-
119829 => 'v',
|
3983 |
-
119830 => 'w',
|
3984 |
-
119831 => 'x',
|
3985 |
-
119832 => 'y',
|
3986 |
-
119833 => 'z',
|
3987 |
-
119834 => 'a',
|
3988 |
-
119835 => 'b',
|
3989 |
-
119836 => 'c',
|
3990 |
-
119837 => 'd',
|
3991 |
-
119838 => 'e',
|
3992 |
-
119839 => 'f',
|
3993 |
-
119840 => 'g',
|
3994 |
-
119841 => 'h',
|
3995 |
-
119842 => 'i',
|
3996 |
-
119843 => 'j',
|
3997 |
-
119844 => 'k',
|
3998 |
-
119845 => 'l',
|
3999 |
-
119846 => 'm',
|
4000 |
-
119847 => 'n',
|
4001 |
-
119848 => 'o',
|
4002 |
-
119849 => 'p',
|
4003 |
-
119850 => 'q',
|
4004 |
-
119851 => 'r',
|
4005 |
-
119852 => 's',
|
4006 |
-
119853 => 't',
|
4007 |
-
119854 => 'u',
|
4008 |
-
119855 => 'v',
|
4009 |
-
119856 => 'w',
|
4010 |
-
119857 => 'x',
|
4011 |
-
119858 => 'y',
|
4012 |
-
119859 => 'z',
|
4013 |
-
119860 => 'a',
|
4014 |
-
119861 => 'b',
|
4015 |
-
119862 => 'c',
|
4016 |
-
119863 => 'd',
|
4017 |
-
119864 => 'e',
|
4018 |
-
119865 => 'f',
|
4019 |
-
119866 => 'g',
|
4020 |
-
119867 => 'h',
|
4021 |
-
119868 => 'i',
|
4022 |
-
119869 => 'j',
|
4023 |
-
119870 => 'k',
|
4024 |
-
119871 => 'l',
|
4025 |
-
119872 => 'm',
|
4026 |
-
119873 => 'n',
|
4027 |
-
119874 => 'o',
|
4028 |
-
119875 => 'p',
|
4029 |
-
119876 => 'q',
|
4030 |
-
119877 => 'r',
|
4031 |
-
119878 => 's',
|
4032 |
-
119879 => 't',
|
4033 |
-
119880 => 'u',
|
4034 |
-
119881 => 'v',
|
4035 |
-
119882 => 'w',
|
4036 |
-
119883 => 'x',
|
4037 |
-
119884 => 'y',
|
4038 |
-
119885 => 'z',
|
4039 |
-
119886 => 'a',
|
4040 |
-
119887 => 'b',
|
4041 |
-
119888 => 'c',
|
4042 |
-
119889 => 'd',
|
4043 |
-
119890 => 'e',
|
4044 |
-
119891 => 'f',
|
4045 |
-
119892 => 'g',
|
4046 |
-
119894 => 'i',
|
4047 |
-
119895 => 'j',
|
4048 |
-
119896 => 'k',
|
4049 |
-
119897 => 'l',
|
4050 |
-
119898 => 'm',
|
4051 |
-
119899 => 'n',
|
4052 |
-
119900 => 'o',
|
4053 |
-
119901 => 'p',
|
4054 |
-
119902 => 'q',
|
4055 |
-
119903 => 'r',
|
4056 |
-
119904 => 's',
|
4057 |
-
119905 => 't',
|
4058 |
-
119906 => 'u',
|
4059 |
-
119907 => 'v',
|
4060 |
-
119908 => 'w',
|
4061 |
-
119909 => 'x',
|
4062 |
-
119910 => 'y',
|
4063 |
-
119911 => 'z',
|
4064 |
-
119912 => 'a',
|
4065 |
-
119913 => 'b',
|
4066 |
-
119914 => 'c',
|
4067 |
-
119915 => 'd',
|
4068 |
-
119916 => 'e',
|
4069 |
-
119917 => 'f',
|
4070 |
-
119918 => 'g',
|
4071 |
-
119919 => 'h',
|
4072 |
-
119920 => 'i',
|
4073 |
-
119921 => 'j',
|
4074 |
-
119922 => 'k',
|
4075 |
-
119923 => 'l',
|
4076 |
-
119924 => 'm',
|
4077 |
-
119925 => 'n',
|
4078 |
-
119926 => 'o',
|
4079 |
-
119927 => 'p',
|
4080 |
-
119928 => 'q',
|
4081 |
-
119929 => 'r',
|
4082 |
-
119930 => 's',
|
4083 |
-
119931 => 't',
|
4084 |
-
119932 => 'u',
|
4085 |
-
119933 => 'v',
|
4086 |
-
119934 => 'w',
|
4087 |
-
119935 => 'x',
|
4088 |
-
119936 => 'y',
|
4089 |
-
119937 => 'z',
|
4090 |
-
119938 => 'a',
|
4091 |
-
119939 => 'b',
|
4092 |
-
119940 => 'c',
|
4093 |
-
119941 => 'd',
|
4094 |
-
119942 => 'e',
|
4095 |
-
119943 => 'f',
|
4096 |
-
119944 => 'g',
|
4097 |
-
119945 => 'h',
|
4098 |
-
119946 => 'i',
|
4099 |
-
119947 => 'j',
|
4100 |
-
119948 => 'k',
|
4101 |
-
119949 => 'l',
|
4102 |
-
119950 => 'm',
|
4103 |
-
119951 => 'n',
|
4104 |
-
119952 => 'o',
|
4105 |
-
119953 => 'p',
|
4106 |
-
119954 => 'q',
|
4107 |
-
119955 => 'r',
|
4108 |
-
119956 => 's',
|
4109 |
-
119957 => 't',
|
4110 |
-
119958 => 'u',
|
4111 |
-
119959 => 'v',
|
4112 |
-
119960 => 'w',
|
4113 |
-
119961 => 'x',
|
4114 |
-
119962 => 'y',
|
4115 |
-
119963 => 'z',
|
4116 |
-
119964 => 'a',
|
4117 |
-
119966 => 'c',
|
4118 |
-
119967 => 'd',
|
4119 |
-
119970 => 'g',
|
4120 |
-
119973 => 'j',
|
4121 |
-
119974 => 'k',
|
4122 |
-
119977 => 'n',
|
4123 |
-
119978 => 'o',
|
4124 |
-
119979 => 'p',
|
4125 |
-
119980 => 'q',
|
4126 |
-
119982 => 's',
|
4127 |
-
119983 => 't',
|
4128 |
-
119984 => 'u',
|
4129 |
-
119985 => 'v',
|
4130 |
-
119986 => 'w',
|
4131 |
-
119987 => 'x',
|
4132 |
-
119988 => 'y',
|
4133 |
-
119989 => 'z',
|
4134 |
-
119990 => 'a',
|
4135 |
-
119991 => 'b',
|
4136 |
-
119992 => 'c',
|
4137 |
-
119993 => 'd',
|
4138 |
-
119995 => 'f',
|
4139 |
-
119997 => 'h',
|
4140 |
-
119998 => 'i',
|
4141 |
-
119999 => 'j',
|
4142 |
-
120000 => 'k',
|
4143 |
-
120001 => 'l',
|
4144 |
-
120002 => 'm',
|
4145 |
-
120003 => 'n',
|
4146 |
-
120005 => 'p',
|
4147 |
-
120006 => 'q',
|
4148 |
-
120007 => 'r',
|
4149 |
-
120008 => 's',
|
4150 |
-
120009 => 't',
|
4151 |
-
120010 => 'u',
|
4152 |
-
120011 => 'v',
|
4153 |
-
120012 => 'w',
|
4154 |
-
120013 => 'x',
|
4155 |
-
120014 => 'y',
|
4156 |
-
120015 => 'z',
|
4157 |
-
120016 => 'a',
|
4158 |
-
120017 => 'b',
|
4159 |
-
120018 => 'c',
|
4160 |
-
120019 => 'd',
|
4161 |
-
120020 => 'e',
|
4162 |
-
120021 => 'f',
|
4163 |
-
120022 => 'g',
|
4164 |
-
120023 => 'h',
|
4165 |
-
120024 => 'i',
|
4166 |
-
120025 => 'j',
|
4167 |
-
120026 => 'k',
|
4168 |
-
120027 => 'l',
|
4169 |
-
120028 => 'm',
|
4170 |
-
120029 => 'n',
|
4171 |
-
120030 => 'o',
|
4172 |
-
120031 => 'p',
|
4173 |
-
120032 => 'q',
|
4174 |
-
120033 => 'r',
|
4175 |
-
120034 => 's',
|
4176 |
-
120035 => 't',
|
4177 |
-
120036 => 'u',
|
4178 |
-
120037 => 'v',
|
4179 |
-
120038 => 'w',
|
4180 |
-
120039 => 'x',
|
4181 |
-
120040 => 'y',
|
4182 |
-
120041 => 'z',
|
4183 |
-
120042 => 'a',
|
4184 |
-
120043 => 'b',
|
4185 |
-
120044 => 'c',
|
4186 |
-
120045 => 'd',
|
4187 |
-
120046 => 'e',
|
4188 |
-
120047 => 'f',
|
4189 |
-
120048 => 'g',
|
4190 |
-
120049 => 'h',
|
4191 |
-
120050 => 'i',
|
4192 |
-
120051 => 'j',
|
4193 |
-
120052 => 'k',
|
4194 |
-
120053 => 'l',
|
4195 |
-
120054 => 'm',
|
4196 |
-
120055 => 'n',
|
4197 |
-
120056 => 'o',
|
4198 |
-
120057 => 'p',
|
4199 |
-
120058 => 'q',
|
4200 |
-
120059 => 'r',
|
4201 |
-
120060 => 's',
|
4202 |
-
120061 => 't',
|
4203 |
-
120062 => 'u',
|
4204 |
-
120063 => 'v',
|
4205 |
-
120064 => 'w',
|
4206 |
-
120065 => 'x',
|
4207 |
-
120066 => 'y',
|
4208 |
-
120067 => 'z',
|
4209 |
-
120068 => 'a',
|
4210 |
-
120069 => 'b',
|
4211 |
-
120071 => 'd',
|
4212 |
-
120072 => 'e',
|
4213 |
-
120073 => 'f',
|
4214 |
-
120074 => 'g',
|
4215 |
-
120077 => 'j',
|
4216 |
-
120078 => 'k',
|
4217 |
-
120079 => 'l',
|
4218 |
-
120080 => 'm',
|
4219 |
-
120081 => 'n',
|
4220 |
-
120082 => 'o',
|
4221 |
-
120083 => 'p',
|
4222 |
-
120084 => 'q',
|
4223 |
-
120086 => 's',
|
4224 |
-
120087 => 't',
|
4225 |
-
120088 => 'u',
|
4226 |
-
120089 => 'v',
|
4227 |
-
120090 => 'w',
|
4228 |
-
120091 => 'x',
|
4229 |
-
120092 => 'y',
|
4230 |
-
120094 => 'a',
|
4231 |
-
120095 => 'b',
|
4232 |
-
120096 => 'c',
|
4233 |
-
120097 => 'd',
|
4234 |
-
120098 => 'e',
|
4235 |
-
120099 => 'f',
|
4236 |
-
120100 => 'g',
|
4237 |
-
120101 => 'h',
|
4238 |
-
120102 => 'i',
|
4239 |
-
120103 => 'j',
|
4240 |
-
120104 => 'k',
|
4241 |
-
120105 => 'l',
|
4242 |
-
120106 => 'm',
|
4243 |
-
120107 => 'n',
|
4244 |
-
120108 => 'o',
|
4245 |
-
120109 => 'p',
|
4246 |
-
120110 => 'q',
|
4247 |
-
120111 => 'r',
|
4248 |
-
120112 => 's',
|
4249 |
-
120113 => 't',
|
4250 |
-
120114 => 'u',
|
4251 |
-
120115 => 'v',
|
4252 |
-
120116 => 'w',
|
4253 |
-
120117 => 'x',
|
4254 |
-
120118 => 'y',
|
4255 |
-
120119 => 'z',
|
4256 |
-
120120 => 'a',
|
4257 |
-
120121 => 'b',
|
4258 |
-
120123 => 'd',
|
4259 |
-
120124 => 'e',
|
4260 |
-
120125 => 'f',
|
4261 |
-
120126 => 'g',
|
4262 |
-
120128 => 'i',
|
4263 |
-
120129 => 'j',
|
4264 |
-
120130 => 'k',
|
4265 |
-
120131 => 'l',
|
4266 |
-
120132 => 'm',
|
4267 |
-
120134 => 'o',
|
4268 |
-
120138 => 's',
|
4269 |
-
120139 => 't',
|
4270 |
-
120140 => 'u',
|
4271 |
-
120141 => 'v',
|
4272 |
-
120142 => 'w',
|
4273 |
-
120143 => 'x',
|
4274 |
-
120144 => 'y',
|
4275 |
-
120146 => 'a',
|
4276 |
-
120147 => 'b',
|
4277 |
-
120148 => 'c',
|
4278 |
-
120149 => 'd',
|
4279 |
-
120150 => 'e',
|
4280 |
-
120151 => 'f',
|
4281 |
-
120152 => 'g',
|
4282 |
-
120153 => 'h',
|
4283 |
-
120154 => 'i',
|
4284 |
-
120155 => 'j',
|
4285 |
-
120156 => 'k',
|
4286 |
-
120157 => 'l',
|
4287 |
-
120158 => 'm',
|
4288 |
-
120159 => 'n',
|
4289 |
-
120160 => 'o',
|
4290 |
-
120161 => 'p',
|
4291 |
-
120162 => 'q',
|
4292 |
-
120163 => 'r',
|
4293 |
-
120164 => 's',
|
4294 |
-
120165 => 't',
|
4295 |
-
120166 => 'u',
|
4296 |
-
120167 => 'v',
|
4297 |
-
120168 => 'w',
|
4298 |
-
120169 => 'x',
|
4299 |
-
120170 => 'y',
|
4300 |
-
120171 => 'z',
|
4301 |
-
120172 => 'a',
|
4302 |
-
120173 => 'b',
|
4303 |
-
120174 => 'c',
|
4304 |
-
120175 => 'd',
|
4305 |
-
120176 => 'e',
|
4306 |
-
120177 => 'f',
|
4307 |
-
120178 => 'g',
|
4308 |
-
120179 => 'h',
|
4309 |
-
120180 => 'i',
|
4310 |
-
120181 => 'j',
|
4311 |
-
120182 => 'k',
|
4312 |
-
120183 => 'l',
|
4313 |
-
120184 => 'm',
|
4314 |
-
120185 => 'n',
|
4315 |
-
120186 => 'o',
|
4316 |
-
120187 => 'p',
|
4317 |
-
120188 => 'q',
|
4318 |
-
120189 => 'r',
|
4319 |
-
120190 => 's',
|
4320 |
-
120191 => 't',
|
4321 |
-
120192 => 'u',
|
4322 |
-
120193 => 'v',
|
4323 |
-
120194 => 'w',
|
4324 |
-
120195 => 'x',
|
4325 |
-
120196 => 'y',
|
4326 |
-
120197 => 'z',
|
4327 |
-
120198 => 'a',
|
4328 |
-
120199 => 'b',
|
4329 |
-
120200 => 'c',
|
4330 |
-
120201 => 'd',
|
4331 |
-
120202 => 'e',
|
4332 |
-
120203 => 'f',
|
4333 |
-
120204 => 'g',
|
4334 |
-
120205 => 'h',
|
4335 |
-
120206 => 'i',
|
4336 |
-
120207 => 'j',
|
4337 |
-
120208 => 'k',
|
4338 |
-
120209 => 'l',
|
4339 |
-
120210 => 'm',
|
4340 |
-
120211 => 'n',
|
4341 |
-
120212 => 'o',
|
4342 |
-
120213 => 'p',
|
4343 |
-
120214 => 'q',
|
4344 |
-
120215 => 'r',
|
4345 |
-
120216 => 's',
|
4346 |
-
120217 => 't',
|
4347 |
-
120218 => 'u',
|
4348 |
-
120219 => 'v',
|
4349 |
-
120220 => 'w',
|
4350 |
-
120221 => 'x',
|
4351 |
-
120222 => 'y',
|
4352 |
-
120223 => 'z',
|
4353 |
-
120224 => 'a',
|
4354 |
-
120225 => 'b',
|
4355 |
-
120226 => 'c',
|
4356 |
-
120227 => 'd',
|
4357 |
-
120228 => 'e',
|
4358 |
-
120229 => 'f',
|
4359 |
-
120230 => 'g',
|
4360 |
-
120231 => 'h',
|
4361 |
-
120232 => 'i',
|
4362 |
-
120233 => 'j',
|
4363 |
-
120234 => 'k',
|
4364 |
-
120235 => 'l',
|
4365 |
-
120236 => 'm',
|
4366 |
-
120237 => 'n',
|
4367 |
-
120238 => 'o',
|
4368 |
-
120239 => 'p',
|
4369 |
-
120240 => 'q',
|
4370 |
-
120241 => 'r',
|
4371 |
-
120242 => 's',
|
4372 |
-
120243 => 't',
|
4373 |
-
120244 => 'u',
|
4374 |
-
120245 => 'v',
|
4375 |
-
120246 => 'w',
|
4376 |
-
120247 => 'x',
|
4377 |
-
120248 => 'y',
|
4378 |
-
120249 => 'z',
|
4379 |
-
120250 => 'a',
|
4380 |
-
120251 => 'b',
|
4381 |
-
120252 => 'c',
|
4382 |
-
120253 => 'd',
|
4383 |
-
120254 => 'e',
|
4384 |
-
120255 => 'f',
|
4385 |
-
120256 => 'g',
|
4386 |
-
120257 => 'h',
|
4387 |
-
120258 => 'i',
|
4388 |
-
120259 => 'j',
|
4389 |
-
120260 => 'k',
|
4390 |
-
120261 => 'l',
|
4391 |
-
120262 => 'm',
|
4392 |
-
120263 => 'n',
|
4393 |
-
120264 => 'o',
|
4394 |
-
120265 => 'p',
|
4395 |
-
120266 => 'q',
|
4396 |
-
120267 => 'r',
|
4397 |
-
120268 => 's',
|
4398 |
-
120269 => 't',
|
4399 |
-
120270 => 'u',
|
4400 |
-
120271 => 'v',
|
4401 |
-
120272 => 'w',
|
4402 |
-
120273 => 'x',
|
4403 |
-
120274 => 'y',
|
4404 |
-
120275 => 'z',
|
4405 |
-
120276 => 'a',
|
4406 |
-
120277 => 'b',
|
4407 |
-
120278 => 'c',
|
4408 |
-
120279 => 'd',
|
4409 |
-
120280 => 'e',
|
4410 |
-
120281 => 'f',
|
4411 |
-
120282 => 'g',
|
4412 |
-
120283 => 'h',
|
4413 |
-
120284 => 'i',
|
4414 |
-
120285 => 'j',
|
4415 |
-
120286 => 'k',
|
4416 |
-
120287 => 'l',
|
4417 |
-
120288 => 'm',
|
4418 |
-
120289 => 'n',
|
4419 |
-
120290 => 'o',
|
4420 |
-
120291 => 'p',
|
4421 |
-
120292 => 'q',
|
4422 |
-
120293 => 'r',
|
4423 |
-
120294 => 's',
|
4424 |
-
120295 => 't',
|
4425 |
-
120296 => 'u',
|
4426 |
-
120297 => 'v',
|
4427 |
-
120298 => 'w',
|
4428 |
-
120299 => 'x',
|
4429 |
-
120300 => 'y',
|
4430 |
-
120301 => 'z',
|
4431 |
-
120302 => 'a',
|
4432 |
-
120303 => 'b',
|
4433 |
-
120304 => 'c',
|
4434 |
-
120305 => 'd',
|
4435 |
-
120306 => 'e',
|
4436 |
-
120307 => 'f',
|
4437 |
-
120308 => 'g',
|
4438 |
-
120309 => 'h',
|
4439 |
-
120310 => 'i',
|
4440 |
-
120311 => 'j',
|
4441 |
-
120312 => 'k',
|
4442 |
-
120313 => 'l',
|
4443 |
-
120314 => 'm',
|
4444 |
-
120315 => 'n',
|
4445 |
-
120316 => 'o',
|
4446 |
-
120317 => 'p',
|
4447 |
-
120318 => 'q',
|
4448 |
-
120319 => 'r',
|
4449 |
-
120320 => 's',
|
4450 |
-
120321 => 't',
|
4451 |
-
120322 => 'u',
|
4452 |
-
120323 => 'v',
|
4453 |
-
120324 => 'w',
|
4454 |
-
120325 => 'x',
|
4455 |
-
120326 => 'y',
|
4456 |
-
120327 => 'z',
|
4457 |
-
120328 => 'a',
|
4458 |
-
120329 => 'b',
|
4459 |
-
120330 => 'c',
|
4460 |
-
120331 => 'd',
|
4461 |
-
120332 => 'e',
|
4462 |
-
120333 => 'f',
|
4463 |
-
120334 => 'g',
|
4464 |
-
120335 => 'h',
|
4465 |
-
120336 => 'i',
|
4466 |
-
120337 => 'j',
|
4467 |
-
120338 => 'k',
|
4468 |
-
120339 => 'l',
|
4469 |
-
120340 => 'm',
|
4470 |
-
120341 => 'n',
|
4471 |
-
120342 => 'o',
|
4472 |
-
120343 => 'p',
|
4473 |
-
120344 => 'q',
|
4474 |
-
120345 => 'r',
|
4475 |
-
120346 => 's',
|
4476 |
-
120347 => 't',
|
4477 |
-
120348 => 'u',
|
4478 |
-
120349 => 'v',
|
4479 |
-
120350 => 'w',
|
4480 |
-
120351 => 'x',
|
4481 |
-
120352 => 'y',
|
4482 |
-
120353 => 'z',
|
4483 |
-
120354 => 'a',
|
4484 |
-
120355 => 'b',
|
4485 |
-
120356 => 'c',
|
4486 |
-
120357 => 'd',
|
4487 |
-
120358 => 'e',
|
4488 |
-
120359 => 'f',
|
4489 |
-
120360 => 'g',
|
4490 |
-
120361 => 'h',
|
4491 |
-
120362 => 'i',
|
4492 |
-
120363 => 'j',
|
4493 |
-
120364 => 'k',
|
4494 |
-
120365 => 'l',
|
4495 |
-
120366 => 'm',
|
4496 |
-
120367 => 'n',
|
4497 |
-
120368 => 'o',
|
4498 |
-
120369 => 'p',
|
4499 |
-
120370 => 'q',
|
4500 |
-
120371 => 'r',
|
4501 |
-
120372 => 's',
|
4502 |
-
120373 => 't',
|
4503 |
-
120374 => 'u',
|
4504 |
-
120375 => 'v',
|
4505 |
-
120376 => 'w',
|
4506 |
-
120377 => 'x',
|
4507 |
-
120378 => 'y',
|
4508 |
-
120379 => 'z',
|
4509 |
-
120380 => 'a',
|
4510 |
-
120381 => 'b',
|
4511 |
-
120382 => 'c',
|
4512 |
-
120383 => 'd',
|
4513 |
-
120384 => 'e',
|
4514 |
-
120385 => 'f',
|
4515 |
-
120386 => 'g',
|
4516 |
-
120387 => 'h',
|
4517 |
-
120388 => 'i',
|
4518 |
-
120389 => 'j',
|
4519 |
-
120390 => 'k',
|
4520 |
-
120391 => 'l',
|
4521 |
-
120392 => 'm',
|
4522 |
-
120393 => 'n',
|
4523 |
-
120394 => 'o',
|
4524 |
-
120395 => 'p',
|
4525 |
-
120396 => 'q',
|
4526 |
-
120397 => 'r',
|
4527 |
-
120398 => 's',
|
4528 |
-
120399 => 't',
|
4529 |
-
120400 => 'u',
|
4530 |
-
120401 => 'v',
|
4531 |
-
120402 => 'w',
|
4532 |
-
120403 => 'x',
|
4533 |
-
120404 => 'y',
|
4534 |
-
120405 => 'z',
|
4535 |
-
120406 => 'a',
|
4536 |
-
120407 => 'b',
|
4537 |
-
120408 => 'c',
|
4538 |
-
120409 => 'd',
|
4539 |
-
120410 => 'e',
|
4540 |
-
120411 => 'f',
|
4541 |
-
120412 => 'g',
|
4542 |
-
120413 => 'h',
|
4543 |
-
120414 => 'i',
|
4544 |
-
120415 => 'j',
|
4545 |
-
120416 => 'k',
|
4546 |
-
120417 => 'l',
|
4547 |
-
120418 => 'm',
|
4548 |
-
120419 => 'n',
|
4549 |
-
120420 => 'o',
|
4550 |
-
120421 => 'p',
|
4551 |
-
120422 => 'q',
|
4552 |
-
120423 => 'r',
|
4553 |
-
120424 => 's',
|
4554 |
-
120425 => 't',
|
4555 |
-
120426 => 'u',
|
4556 |
-
120427 => 'v',
|
4557 |
-
120428 => 'w',
|
4558 |
-
120429 => 'x',
|
4559 |
-
120430 => 'y',
|
4560 |
-
120431 => 'z',
|
4561 |
-
120432 => 'a',
|
4562 |
-
120433 => 'b',
|
4563 |
-
120434 => 'c',
|
4564 |
-
120435 => 'd',
|
4565 |
-
120436 => 'e',
|
4566 |
-
120437 => 'f',
|
4567 |
-
120438 => 'g',
|
4568 |
-
120439 => 'h',
|
4569 |
-
120440 => 'i',
|
4570 |
-
120441 => 'j',
|
4571 |
-
120442 => 'k',
|
4572 |
-
120443 => 'l',
|
4573 |
-
120444 => 'm',
|
4574 |
-
120445 => 'n',
|
4575 |
-
120446 => 'o',
|
4576 |
-
120447 => 'p',
|
4577 |
-
120448 => 'q',
|
4578 |
-
120449 => 'r',
|
4579 |
-
120450 => 's',
|
4580 |
-
120451 => 't',
|
4581 |
-
120452 => 'u',
|
4582 |
-
120453 => 'v',
|
4583 |
-
120454 => 'w',
|
4584 |
-
120455 => 'x',
|
4585 |
-
120456 => 'y',
|
4586 |
-
120457 => 'z',
|
4587 |
-
120458 => 'a',
|
4588 |
-
120459 => 'b',
|
4589 |
-
120460 => 'c',
|
4590 |
-
120461 => 'd',
|
4591 |
-
120462 => 'e',
|
4592 |
-
120463 => 'f',
|
4593 |
-
120464 => 'g',
|
4594 |
-
120465 => 'h',
|
4595 |
-
120466 => 'i',
|
4596 |
-
120467 => 'j',
|
4597 |
-
120468 => 'k',
|
4598 |
-
120469 => 'l',
|
4599 |
-
120470 => 'm',
|
4600 |
-
120471 => 'n',
|
4601 |
-
120472 => 'o',
|
4602 |
-
120473 => 'p',
|
4603 |
-
120474 => 'q',
|
4604 |
-
120475 => 'r',
|
4605 |
-
120476 => 's',
|
4606 |
-
120477 => 't',
|
4607 |
-
120478 => 'u',
|
4608 |
-
120479 => 'v',
|
4609 |
-
120480 => 'w',
|
4610 |
-
120481 => 'x',
|
4611 |
-
120482 => 'y',
|
4612 |
-
120483 => 'z',
|
4613 |
-
120484 => 'ı',
|
4614 |
-
120485 => 'ȷ',
|
4615 |
-
120488 => 'α',
|
4616 |
-
120489 => 'β',
|
4617 |
-
120490 => 'γ',
|
4618 |
-
120491 => 'δ',
|
4619 |
-
120492 => 'ε',
|
4620 |
-
120493 => 'ζ',
|
4621 |
-
120494 => 'η',
|
4622 |
-
120495 => 'θ',
|
4623 |
-
120496 => 'ι',
|
4624 |
-
120497 => 'κ',
|
4625 |
-
120498 => 'λ',
|
4626 |
-
120499 => 'μ',
|
4627 |
-
120500 => 'ν',
|
4628 |
-
120501 => 'ξ',
|
4629 |
-
120502 => 'ο',
|
4630 |
-
120503 => 'π',
|
4631 |
-
120504 => 'ρ',
|
4632 |
-
120505 => 'θ',
|
4633 |
-
120506 => 'σ',
|
4634 |
-
120507 => 'τ',
|
4635 |
-
120508 => 'υ',
|
4636 |
-
120509 => 'φ',
|
4637 |
-
120510 => 'χ',
|
4638 |
-
120511 => 'ψ',
|
4639 |
-
120512 => 'ω',
|
4640 |
-
120513 => '∇',
|
4641 |
-
120514 => 'α',
|
4642 |
-
120515 => 'β',
|
4643 |
-
120516 => 'γ',
|
4644 |
-
120517 => 'δ',
|
4645 |
-
120518 => 'ε',
|
4646 |
-
120519 => 'ζ',
|
4647 |
-
120520 => 'η',
|
4648 |
-
120521 => 'θ',
|
4649 |
-
120522 => 'ι',
|
4650 |
-
120523 => 'κ',
|
4651 |
-
120524 => 'λ',
|
4652 |
-
120525 => 'μ',
|
4653 |
-
120526 => 'ν',
|
4654 |
-
120527 => 'ξ',
|
4655 |
-
120528 => 'ο',
|
4656 |
-
120529 => 'π',
|
4657 |
-
120530 => 'ρ',
|
4658 |
-
120531 => 'σ',
|
4659 |
-
120532 => 'σ',
|
4660 |
-
120533 => 'τ',
|
4661 |
-
120534 => 'υ',
|
4662 |
-
120535 => 'φ',
|
4663 |
-
120536 => 'χ',
|
4664 |
-
120537 => 'ψ',
|
4665 |
-
120538 => 'ω',
|
4666 |
-
120539 => '∂',
|
4667 |
-
120540 => 'ε',
|
4668 |
-
120541 => 'θ',
|
4669 |
-
120542 => 'κ',
|
4670 |
-
120543 => 'φ',
|
4671 |
-
120544 => 'ρ',
|
4672 |
-
120545 => 'π',
|
4673 |
-
120546 => 'α',
|
4674 |
-
120547 => 'β',
|
4675 |
-
120548 => 'γ',
|
4676 |
-
120549 => 'δ',
|
4677 |
-
120550 => 'ε',
|
4678 |
-
120551 => 'ζ',
|
4679 |
-
120552 => 'η',
|
4680 |
-
120553 => 'θ',
|
4681 |
-
120554 => 'ι',
|
4682 |
-
120555 => 'κ',
|
4683 |
-
120556 => 'λ',
|
4684 |
-
120557 => 'μ',
|
4685 |
-
120558 => 'ν',
|
4686 |
-
120559 => 'ξ',
|
4687 |
-
120560 => 'ο',
|
4688 |
-
120561 => 'π',
|
4689 |
-
120562 => 'ρ',
|
4690 |
-
120563 => 'θ',
|
4691 |
-
120564 => 'σ',
|
4692 |
-
120565 => 'τ',
|
4693 |
-
120566 => 'υ',
|
4694 |
-
120567 => 'φ',
|
4695 |
-
120568 => 'χ',
|
4696 |
-
120569 => 'ψ',
|
4697 |
-
120570 => 'ω',
|
4698 |
-
120571 => '∇',
|
4699 |
-
120572 => 'α',
|
4700 |
-
120573 => 'β',
|
4701 |
-
120574 => 'γ',
|
4702 |
-
120575 => 'δ',
|
4703 |
-
120576 => 'ε',
|
4704 |
-
120577 => 'ζ',
|
4705 |
-
120578 => 'η',
|
4706 |
-
120579 => 'θ',
|
4707 |
-
120580 => 'ι',
|
4708 |
-
120581 => 'κ',
|
4709 |
-
120582 => 'λ',
|
4710 |
-
120583 => 'μ',
|
4711 |
-
120584 => 'ν',
|
4712 |
-
120585 => 'ξ',
|
4713 |
-
120586 => 'ο',
|
4714 |
-
120587 => 'π',
|
4715 |
-
120588 => 'ρ',
|
4716 |
-
120589 => 'σ',
|
4717 |
-
120590 => 'σ',
|
4718 |
-
120591 => 'τ',
|
4719 |
-
120592 => 'υ',
|
4720 |
-
120593 => 'φ',
|
4721 |
-
120594 => 'χ',
|
4722 |
-
120595 => 'ψ',
|
4723 |
-
120596 => 'ω',
|
4724 |
-
120597 => '∂',
|
4725 |
-
120598 => 'ε',
|
4726 |
-
120599 => 'θ',
|
4727 |
-
120600 => 'κ',
|
4728 |
-
120601 => 'φ',
|
4729 |
-
120602 => 'ρ',
|
4730 |
-
120603 => 'π',
|
4731 |
-
120604 => 'α',
|
4732 |
-
120605 => 'β',
|
4733 |
-
120606 => 'γ',
|
4734 |
-
120607 => 'δ',
|
4735 |
-
120608 => 'ε',
|
4736 |
-
120609 => 'ζ',
|
4737 |
-
120610 => 'η',
|
4738 |
-
120611 => 'θ',
|
4739 |
-
120612 => 'ι',
|
4740 |
-
120613 => 'κ',
|
4741 |
-
120614 => 'λ',
|
4742 |
-
120615 => 'μ',
|
4743 |
-
120616 => 'ν',
|
4744 |
-
120617 => 'ξ',
|
4745 |
-
120618 => 'ο',
|
4746 |
-
120619 => 'π',
|
4747 |
-
120620 => 'ρ',
|
4748 |
-
120621 => 'θ',
|
4749 |
-
120622 => 'σ',
|
4750 |
-
120623 => 'τ',
|
4751 |
-
120624 => 'υ',
|
4752 |
-
120625 => 'φ',
|
4753 |
-
120626 => 'χ',
|
4754 |
-
120627 => 'ψ',
|
4755 |
-
120628 => 'ω',
|
4756 |
-
120629 => '∇',
|
4757 |
-
120630 => 'α',
|
4758 |
-
120631 => 'β',
|
4759 |
-
120632 => 'γ',
|
4760 |
-
120633 => 'δ',
|
4761 |
-
120634 => 'ε',
|
4762 |
-
120635 => 'ζ',
|
4763 |
-
120636 => 'η',
|
4764 |
-
120637 => 'θ',
|
4765 |
-
120638 => 'ι',
|
4766 |
-
120639 => 'κ',
|
4767 |
-
120640 => 'λ',
|
4768 |
-
120641 => 'μ',
|
4769 |
-
120642 => 'ν',
|
4770 |
-
120643 => 'ξ',
|
4771 |
-
120644 => 'ο',
|
4772 |
-
120645 => 'π',
|
4773 |
-
120646 => 'ρ',
|
4774 |
-
120647 => 'σ',
|
4775 |
-
120648 => 'σ',
|
4776 |
-
120649 => 'τ',
|
4777 |
-
120650 => 'υ',
|
4778 |
-
120651 => 'φ',
|
4779 |
-
120652 => 'χ',
|
4780 |
-
120653 => 'ψ',
|
4781 |
-
120654 => 'ω',
|
4782 |
-
120655 => '∂',
|
4783 |
-
120656 => 'ε',
|
4784 |
-
120657 => 'θ',
|
4785 |
-
120658 => 'κ',
|
4786 |
-
120659 => 'φ',
|
4787 |
-
120660 => 'ρ',
|
4788 |
-
120661 => 'π',
|
4789 |
-
120662 => 'α',
|
4790 |
-
120663 => 'β',
|
4791 |
-
120664 => 'γ',
|
4792 |
-
120665 => 'δ',
|
4793 |
-
120666 => 'ε',
|
4794 |
-
120667 => 'ζ',
|
4795 |
-
120668 => 'η',
|
4796 |
-
120669 => 'θ',
|
4797 |
-
120670 => 'ι',
|
4798 |
-
120671 => 'κ',
|
4799 |
-
120672 => 'λ',
|
4800 |
-
120673 => 'μ',
|
4801 |
-
120674 => 'ν',
|
4802 |
-
120675 => 'ξ',
|
4803 |
-
120676 => 'ο',
|
4804 |
-
120677 => 'π',
|
4805 |
-
120678 => 'ρ',
|
4806 |
-
120679 => 'θ',
|
4807 |
-
120680 => 'σ',
|
4808 |
-
120681 => 'τ',
|
4809 |
-
120682 => 'υ',
|
4810 |
-
120683 => 'φ',
|
4811 |
-
120684 => 'χ',
|
4812 |
-
120685 => 'ψ',
|
4813 |
-
120686 => 'ω',
|
4814 |
-
120687 => '∇',
|
4815 |
-
120688 => 'α',
|
4816 |
-
120689 => 'β',
|
4817 |
-
120690 => 'γ',
|
4818 |
-
120691 => 'δ',
|
4819 |
-
120692 => 'ε',
|
4820 |
-
120693 => 'ζ',
|
4821 |
-
120694 => 'η',
|
4822 |
-
120695 => 'θ',
|
4823 |
-
120696 => 'ι',
|
4824 |
-
120697 => 'κ',
|
4825 |
-
120698 => 'λ',
|
4826 |
-
120699 => 'μ',
|
4827 |
-
120700 => 'ν',
|
4828 |
-
120701 => 'ξ',
|
4829 |
-
120702 => 'ο',
|
4830 |
-
120703 => 'π',
|
4831 |
-
120704 => 'ρ',
|
4832 |
-
120705 => 'σ',
|
4833 |
-
120706 => 'σ',
|
4834 |
-
120707 => 'τ',
|
4835 |
-
120708 => 'υ',
|
4836 |
-
120709 => 'φ',
|
4837 |
-
120710 => 'χ',
|
4838 |
-
120711 => 'ψ',
|
4839 |
-
120712 => 'ω',
|
4840 |
-
120713 => '∂',
|
4841 |
-
120714 => 'ε',
|
4842 |
-
120715 => 'θ',
|
4843 |
-
120716 => 'κ',
|
4844 |
-
120717 => 'φ',
|
4845 |
-
120718 => 'ρ',
|
4846 |
-
120719 => 'π',
|
4847 |
-
120720 => 'α',
|
4848 |
-
120721 => 'β',
|
4849 |
-
120722 => 'γ',
|
4850 |
-
120723 => 'δ',
|
4851 |
-
120724 => 'ε',
|
4852 |
-
120725 => 'ζ',
|
4853 |
-
120726 => 'η',
|
4854 |
-
120727 => 'θ',
|
4855 |
-
120728 => 'ι',
|
4856 |
-
120729 => 'κ',
|
4857 |
-
120730 => 'λ',
|
4858 |
-
120731 => 'μ',
|
4859 |
-
120732 => 'ν',
|
4860 |
-
120733 => 'ξ',
|
4861 |
-
120734 => 'ο',
|
4862 |
-
120735 => 'π',
|
4863 |
-
120736 => 'ρ',
|
4864 |
-
120737 => 'θ',
|
4865 |
-
120738 => 'σ',
|
4866 |
-
120739 => 'τ',
|
4867 |
-
120740 => 'υ',
|
4868 |
-
120741 => 'φ',
|
4869 |
-
120742 => 'χ',
|
4870 |
-
120743 => 'ψ',
|
4871 |
-
120744 => 'ω',
|
4872 |
-
120745 => '∇',
|
4873 |
-
120746 => 'α',
|
4874 |
-
120747 => 'β',
|
4875 |
-
120748 => 'γ',
|
4876 |
-
120749 => 'δ',
|
4877 |
-
120750 => 'ε',
|
4878 |
-
120751 => 'ζ',
|
4879 |
-
120752 => 'η',
|
4880 |
-
120753 => 'θ',
|
4881 |
-
120754 => 'ι',
|
4882 |
-
120755 => 'κ',
|
4883 |
-
120756 => 'λ',
|
4884 |
-
120757 => 'μ',
|
4885 |
-
120758 => 'ν',
|
4886 |
-
120759 => 'ξ',
|
4887 |
-
120760 => 'ο',
|
4888 |
-
120761 => 'π',
|
4889 |
-
120762 => 'ρ',
|
4890 |
-
120763 => 'σ',
|
4891 |
-
120764 => 'σ',
|
4892 |
-
120765 => 'τ',
|
4893 |
-
120766 => 'υ',
|
4894 |
-
120767 => 'φ',
|
4895 |
-
120768 => 'χ',
|
4896 |
-
120769 => 'ψ',
|
4897 |
-
120770 => 'ω',
|
4898 |
-
120771 => '∂',
|
4899 |
-
120772 => 'ε',
|
4900 |
-
120773 => 'θ',
|
4901 |
-
120774 => 'κ',
|
4902 |
-
120775 => 'φ',
|
4903 |
-
120776 => 'ρ',
|
4904 |
-
120777 => 'π',
|
4905 |
-
120778 => 'ϝ',
|
4906 |
-
120779 => 'ϝ',
|
4907 |
-
120782 => '0',
|
4908 |
-
120783 => '1',
|
4909 |
-
120784 => '2',
|
4910 |
-
120785 => '3',
|
4911 |
-
120786 => '4',
|
4912 |
-
120787 => '5',
|
4913 |
-
120788 => '6',
|
4914 |
-
120789 => '7',
|
4915 |
-
120790 => '8',
|
4916 |
-
120791 => '9',
|
4917 |
-
120792 => '0',
|
4918 |
-
120793 => '1',
|
4919 |
-
120794 => '2',
|
4920 |
-
120795 => '3',
|
4921 |
-
120796 => '4',
|
4922 |
-
120797 => '5',
|
4923 |
-
120798 => '6',
|
4924 |
-
120799 => '7',
|
4925 |
-
120800 => '8',
|
4926 |
-
120801 => '9',
|
4927 |
-
120802 => '0',
|
4928 |
-
120803 => '1',
|
4929 |
-
120804 => '2',
|
4930 |
-
120805 => '3',
|
4931 |
-
120806 => '4',
|
4932 |
-
120807 => '5',
|
4933 |
-
120808 => '6',
|
4934 |
-
120809 => '7',
|
4935 |
-
120810 => '8',
|
4936 |
-
120811 => '9',
|
4937 |
-
120812 => '0',
|
4938 |
-
120813 => '1',
|
4939 |
-
120814 => '2',
|
4940 |
-
120815 => '3',
|
4941 |
-
120816 => '4',
|
4942 |
-
120817 => '5',
|
4943 |
-
120818 => '6',
|
4944 |
-
120819 => '7',
|
4945 |
-
120820 => '8',
|
4946 |
-
120821 => '9',
|
4947 |
-
120822 => '0',
|
4948 |
-
120823 => '1',
|
4949 |
-
120824 => '2',
|
4950 |
-
120825 => '3',
|
4951 |
-
120826 => '4',
|
4952 |
-
120827 => '5',
|
4953 |
-
120828 => '6',
|
4954 |
-
120829 => '7',
|
4955 |
-
120830 => '8',
|
4956 |
-
120831 => '9',
|
4957 |
-
125184 => '𞤢',
|
4958 |
-
125185 => '𞤣',
|
4959 |
-
125186 => '𞤤',
|
4960 |
-
125187 => '𞤥',
|
4961 |
-
125188 => '𞤦',
|
4962 |
-
125189 => '𞤧',
|
4963 |
-
125190 => '𞤨',
|
4964 |
-
125191 => '𞤩',
|
4965 |
-
125192 => '𞤪',
|
4966 |
-
125193 => '𞤫',
|
4967 |
-
125194 => '𞤬',
|
4968 |
-
125195 => '𞤭',
|
4969 |
-
125196 => '𞤮',
|
4970 |
-
125197 => '𞤯',
|
4971 |
-
125198 => '𞤰',
|
4972 |
-
125199 => '𞤱',
|
4973 |
-
125200 => '𞤲',
|
4974 |
-
125201 => '𞤳',
|
4975 |
-
125202 => '𞤴',
|
4976 |
-
125203 => '𞤵',
|
4977 |
-
125204 => '𞤶',
|
4978 |
-
125205 => '𞤷',
|
4979 |
-
125206 => '𞤸',
|
4980 |
-
125207 => '𞤹',
|
4981 |
-
125208 => '𞤺',
|
4982 |
-
125209 => '𞤻',
|
4983 |
-
125210 => '𞤼',
|
4984 |
-
125211 => '𞤽',
|
4985 |
-
125212 => '𞤾',
|
4986 |
-
125213 => '𞤿',
|
4987 |
-
125214 => '𞥀',
|
4988 |
-
125215 => '𞥁',
|
4989 |
-
125216 => '𞥂',
|
4990 |
-
125217 => '𞥃',
|
4991 |
-
126464 => 'ا',
|
4992 |
-
126465 => 'ب',
|
4993 |
-
126466 => 'ج',
|
4994 |
-
126467 => 'د',
|
4995 |
-
126469 => 'و',
|
4996 |
-
126470 => 'ز',
|
4997 |
-
126471 => 'ح',
|
4998 |
-
126472 => 'ط',
|
4999 |
-
126473 => 'ي',
|
5000 |
-
126474 => 'ك',
|
5001 |
-
126475 => 'ل',
|
5002 |
-
126476 => 'م',
|
5003 |
-
126477 => 'ن',
|
5004 |
-
126478 => 'س',
|
5005 |
-
126479 => 'ع',
|
5006 |
-
126480 => 'ف',
|
5007 |
-
126481 => 'ص',
|
5008 |
-
126482 => 'ق',
|
5009 |
-
126483 => 'ر',
|
5010 |
-
126484 => 'ش',
|
5011 |
-
126485 => 'ت',
|
5012 |
-
126486 => 'ث',
|
5013 |
-
126487 => 'خ',
|
5014 |
-
126488 => 'ذ',
|
5015 |
-
126489 => 'ض',
|
5016 |
-
126490 => 'ظ',
|
5017 |
-
126491 => 'غ',
|
5018 |
-
126492 => 'ٮ',
|
5019 |
-
126493 => 'ں',
|
5020 |
-
126494 => 'ڡ',
|
5021 |
-
126495 => 'ٯ',
|
5022 |
-
126497 => 'ب',
|
5023 |
-
126498 => 'ج',
|
5024 |
-
126500 => 'ه',
|
5025 |
-
126503 => 'ح',
|
5026 |
-
126505 => 'ي',
|
5027 |
-
126506 => 'ك',
|
5028 |
-
126507 => 'ل',
|
5029 |
-
126508 => 'م',
|
5030 |
-
126509 => 'ن',
|
5031 |
-
126510 => 'س',
|
5032 |
-
126511 => 'ع',
|
5033 |
-
126512 => 'ف',
|
5034 |
-
126513 => 'ص',
|
5035 |
-
126514 => 'ق',
|
5036 |
-
126516 => 'ش',
|
5037 |
-
126517 => 'ت',
|
5038 |
-
126518 => 'ث',
|
5039 |
-
126519 => 'خ',
|
5040 |
-
126521 => 'ض',
|
5041 |
-
126523 => 'غ',
|
5042 |
-
126530 => 'ج',
|
5043 |
-
126535 => 'ح',
|
5044 |
-
126537 => 'ي',
|
5045 |
-
126539 => 'ل',
|
5046 |
-
126541 => 'ن',
|
5047 |
-
126542 => 'س',
|
5048 |
-
126543 => 'ع',
|
5049 |
-
126545 => 'ص',
|
5050 |
-
126546 => 'ق',
|
5051 |
-
126548 => 'ش',
|
5052 |
-
126551 => 'خ',
|
5053 |
-
126553 => 'ض',
|
5054 |
-
126555 => 'غ',
|
5055 |
-
126557 => 'ں',
|
5056 |
-
126559 => 'ٯ',
|
5057 |
-
126561 => 'ب',
|
5058 |
-
126562 => 'ج',
|
5059 |
-
126564 => 'ه',
|
5060 |
-
126567 => 'ح',
|
5061 |
-
126568 => 'ط',
|
5062 |
-
126569 => 'ي',
|
5063 |
-
126570 => 'ك',
|
5064 |
-
126572 => 'م',
|
5065 |
-
126573 => 'ن',
|
5066 |
-
126574 => 'س',
|
5067 |
-
126575 => 'ع',
|
5068 |
-
126576 => 'ف',
|
5069 |
-
126577 => 'ص',
|
5070 |
-
126578 => 'ق',
|
5071 |
-
126580 => 'ش',
|
5072 |
-
126581 => 'ت',
|
5073 |
-
126582 => 'ث',
|
5074 |
-
126583 => 'خ',
|
5075 |
-
126585 => 'ض',
|
5076 |
-
126586 => 'ظ',
|
5077 |
-
126587 => 'غ',
|
5078 |
-
126588 => 'ٮ',
|
5079 |
-
126590 => 'ڡ',
|
5080 |
-
126592 => 'ا',
|
5081 |
-
126593 => 'ب',
|
5082 |
-
126594 => 'ج',
|
5083 |
-
126595 => 'د',
|
5084 |
-
126596 => 'ه',
|
5085 |
-
126597 => 'و',
|
5086 |
-
126598 => 'ز',
|
5087 |
-
126599 => 'ح',
|
5088 |
-
126600 => 'ط',
|
5089 |
-
126601 => 'ي',
|
5090 |
-
126603 => 'ل',
|
5091 |
-
126604 => 'م',
|
5092 |
-
126605 => 'ن',
|
5093 |
-
126606 => 'س',
|
5094 |
-
126607 => 'ع',
|
5095 |
-
126608 => 'ف',
|
5096 |
-
126609 => 'ص',
|
5097 |
-
126610 => 'ق',
|
5098 |
-
126611 => 'ر',
|
5099 |
-
126612 => 'ش',
|
5100 |
-
126613 => 'ت',
|
5101 |
-
126614 => 'ث',
|
5102 |
-
126615 => 'خ',
|
5103 |
-
126616 => 'ذ',
|
5104 |
-
126617 => 'ض',
|
5105 |
-
126618 => 'ظ',
|
5106 |
-
126619 => 'غ',
|
5107 |
-
126625 => 'ب',
|
5108 |
-
126626 => 'ج',
|
5109 |
-
126627 => 'د',
|
5110 |
-
126629 => 'و',
|
5111 |
-
126630 => 'ز',
|
5112 |
-
126631 => 'ح',
|
5113 |
-
126632 => 'ط',
|
5114 |
-
126633 => 'ي',
|
5115 |
-
126635 => 'ل',
|
5116 |
-
126636 => 'م',
|
5117 |
-
126637 => 'ن',
|
5118 |
-
126638 => 'س',
|
5119 |
-
126639 => 'ع',
|
5120 |
-
126640 => 'ف',
|
5121 |
-
126641 => 'ص',
|
5122 |
-
126642 => 'ق',
|
5123 |
-
126643 => 'ر',
|
5124 |
-
126644 => 'ش',
|
5125 |
-
126645 => 'ت',
|
5126 |
-
126646 => 'ث',
|
5127 |
-
126647 => 'خ',
|
5128 |
-
126648 => 'ذ',
|
5129 |
-
126649 => 'ض',
|
5130 |
-
126650 => 'ظ',
|
5131 |
-
126651 => 'غ',
|
5132 |
-
127274 => '〔s〕',
|
5133 |
-
127275 => 'c',
|
5134 |
-
127276 => 'r',
|
5135 |
-
127277 => 'cd',
|
5136 |
-
127278 => 'wz',
|
5137 |
-
127280 => 'a',
|
5138 |
-
127281 => 'b',
|
5139 |
-
127282 => 'c',
|
5140 |
-
127283 => 'd',
|
5141 |
-
127284 => 'e',
|
5142 |
-
127285 => 'f',
|
5143 |
-
127286 => 'g',
|
5144 |
-
127287 => 'h',
|
5145 |
-
127288 => 'i',
|
5146 |
-
127289 => 'j',
|
5147 |
-
127290 => 'k',
|
5148 |
-
127291 => 'l',
|
5149 |
-
127292 => 'm',
|
5150 |
-
127293 => 'n',
|
5151 |
-
127294 => 'o',
|
5152 |
-
127295 => 'p',
|
5153 |
-
127296 => 'q',
|
5154 |
-
127297 => 'r',
|
5155 |
-
127298 => 's',
|
5156 |
-
127299 => 't',
|
5157 |
-
127300 => 'u',
|
5158 |
-
127301 => 'v',
|
5159 |
-
127302 => 'w',
|
5160 |
-
127303 => 'x',
|
5161 |
-
127304 => 'y',
|
5162 |
-
127305 => 'z',
|
5163 |
-
127306 => 'hv',
|
5164 |
-
127307 => 'mv',
|
5165 |
-
127308 => 'sd',
|
5166 |
-
127309 => 'ss',
|
5167 |
-
127310 => 'ppv',
|
5168 |
-
127311 => 'wc',
|
5169 |
-
127338 => 'mc',
|
5170 |
-
127339 => 'md',
|
5171 |
-
127340 => 'mr',
|
5172 |
-
127376 => 'dj',
|
5173 |
-
127488 => 'ほか',
|
5174 |
-
127489 => 'ココ',
|
5175 |
-
127490 => 'サ',
|
5176 |
-
127504 => '手',
|
5177 |
-
127505 => '字',
|
5178 |
-
127506 => '双',
|
5179 |
-
127507 => 'デ',
|
5180 |
-
127508 => '二',
|
5181 |
-
127509 => '多',
|
5182 |
-
127510 => '解',
|
5183 |
-
127511 => '天',
|
5184 |
-
127512 => '交',
|
5185 |
-
127513 => '映',
|
5186 |
-
127514 => '無',
|
5187 |
-
127515 => '料',
|
5188 |
-
127516 => '前',
|
5189 |
-
127517 => '後',
|
5190 |
-
127518 => '再',
|
5191 |
-
127519 => '新',
|
5192 |
-
127520 => '初',
|
5193 |
-
127521 => '終',
|
5194 |
-
127522 => '生',
|
5195 |
-
127523 => '販',
|
5196 |
-
127524 => '声',
|
5197 |
-
127525 => '吹',
|
5198 |
-
127526 => '演',
|
5199 |
-
127527 => '投',
|
5200 |
-
127528 => '捕',
|
5201 |
-
127529 => '一',
|
5202 |
-
127530 => '三',
|
5203 |
-
127531 => '遊',
|
5204 |
-
127532 => '左',
|
5205 |
-
127533 => '中',
|
5206 |
-
127534 => '右',
|
5207 |
-
127535 => '指',
|
5208 |
-
127536 => '走',
|
5209 |
-
127537 => '打',
|
5210 |
-
127538 => '禁',
|
5211 |
-
127539 => '空',
|
5212 |
-
127540 => '合',
|
5213 |
-
127541 => '満',
|
5214 |
-
127542 => '有',
|
5215 |
-
127543 => '月',
|
5216 |
-
127544 => '申',
|
5217 |
-
127545 => '割',
|
5218 |
-
127546 => '営',
|
5219 |
-
127547 => '配',
|
5220 |
-
127552 => '〔本〕',
|
5221 |
-
127553 => '〔三〕',
|
5222 |
-
127554 => '〔二〕',
|
5223 |
-
127555 => '〔安〕',
|
5224 |
-
127556 => '〔点〕',
|
5225 |
-
127557 => '〔打〕',
|
5226 |
-
127558 => '〔盗〕',
|
5227 |
-
127559 => '〔勝〕',
|
5228 |
-
127560 => '〔敗〕',
|
5229 |
-
127568 => '得',
|
5230 |
-
127569 => '可',
|
5231 |
-
130032 => '0',
|
5232 |
-
130033 => '1',
|
5233 |
-
130034 => '2',
|
5234 |
-
130035 => '3',
|
5235 |
-
130036 => '4',
|
5236 |
-
130037 => '5',
|
5237 |
-
130038 => '6',
|
5238 |
-
130039 => '7',
|
5239 |
-
130040 => '8',
|
5240 |
-
130041 => '9',
|
5241 |
-
194560 => '丽',
|
5242 |
-
194561 => '丸',
|
5243 |
-
194562 => '乁',
|
5244 |
-
194563 => '𠄢',
|
5245 |
-
194564 => '你',
|
5246 |
-
194565 => '侮',
|
5247 |
-
194566 => '侻',
|
5248 |
-
194567 => '倂',
|
5249 |
-
194568 => '偺',
|
5250 |
-
194569 => '備',
|
5251 |
-
194570 => '僧',
|
5252 |
-
194571 => '像',
|
5253 |
-
194572 => '㒞',
|
5254 |
-
194573 => '𠘺',
|
5255 |
-
194574 => '免',
|
5256 |
-
194575 => '兔',
|
5257 |
-
194576 => '兤',
|
5258 |
-
194577 => '具',
|
5259 |
-
194578 => '𠔜',
|
5260 |
-
194579 => '㒹',
|
5261 |
-
194580 => '內',
|
5262 |
-
194581 => '再',
|
5263 |
-
194582 => '𠕋',
|
5264 |
-
194583 => '冗',
|
5265 |
-
194584 => '冤',
|
5266 |
-
194585 => '仌',
|
5267 |
-
194586 => '冬',
|
5268 |
-
194587 => '况',
|
5269 |
-
194588 => '𩇟',
|
5270 |
-
194589 => '凵',
|
5271 |
-
194590 => '刃',
|
5272 |
-
194591 => '㓟',
|
5273 |
-
194592 => '刻',
|
5274 |
-
194593 => '剆',
|
5275 |
-
194594 => '割',
|
5276 |
-
194595 => '剷',
|
5277 |
-
194596 => '㔕',
|
5278 |
-
194597 => '勇',
|
5279 |
-
194598 => '勉',
|
5280 |
-
194599 => '勤',
|
5281 |
-
194600 => '勺',
|
5282 |
-
194601 => '包',
|
5283 |
-
194602 => '匆',
|
5284 |
-
194603 => '北',
|
5285 |
-
194604 => '卉',
|
5286 |
-
194605 => '卑',
|
5287 |
-
194606 => '博',
|
5288 |
-
194607 => '即',
|
5289 |
-
194608 => '卽',
|
5290 |
-
194609 => '卿',
|
5291 |
-
194610 => '卿',
|
5292 |
-
194611 => '卿',
|
5293 |
-
194612 => '𠨬',
|
5294 |
-
194613 => '灰',
|
5295 |
-
194614 => '及',
|
5296 |
-
194615 => '叟',
|
5297 |
-
194616 => '𠭣',
|
5298 |
-
194617 => '叫',
|
5299 |
-
194618 => '叱',
|
5300 |
-
194619 => '吆',
|
5301 |
-
194620 => '咞',
|
5302 |
-
194621 => '吸',
|
5303 |
-
194622 => '呈',
|
5304 |
-
194623 => '周',
|
5305 |
-
194624 => '咢',
|
5306 |
-
194625 => '哶',
|
5307 |
-
194626 => '唐',
|
5308 |
-
194627 => '啓',
|
5309 |
-
194628 => '啣',
|
5310 |
-
194629 => '善',
|
5311 |
-
194630 => '善',
|
5312 |
-
194631 => '喙',
|
5313 |
-
194632 => '喫',
|
5314 |
-
194633 => '喳',
|
5315 |
-
194634 => '嗂',
|
5316 |
-
194635 => '圖',
|
5317 |
-
194636 => '嘆',
|
5318 |
-
194637 => '圗',
|
5319 |
-
194638 => '噑',
|
5320 |
-
194639 => '噴',
|
5321 |
-
194640 => '切',
|
5322 |
-
194641 => '壮',
|
5323 |
-
194642 => '城',
|
5324 |
-
194643 => '埴',
|
5325 |
-
194644 => '堍',
|
5326 |
-
194645 => '型',
|
5327 |
-
194646 => '堲',
|
5328 |
-
194647 => '報',
|
5329 |
-
194648 => '墬',
|
5330 |
-
194649 => '𡓤',
|
5331 |
-
194650 => '売',
|
5332 |
-
194651 => '壷',
|
5333 |
-
194652 => '夆',
|
5334 |
-
194653 => '多',
|
5335 |
-
194654 => '夢',
|
5336 |
-
194655 => '奢',
|
5337 |
-
194656 => '𡚨',
|
5338 |
-
194657 => '𡛪',
|
5339 |
-
194658 => '姬',
|
5340 |
-
194659 => '娛',
|
5341 |
-
194660 => '娧',
|
5342 |
-
194661 => '姘',
|
5343 |
-
194662 => '婦',
|
5344 |
-
194663 => '㛮',
|
5345 |
-
194665 => '嬈',
|
5346 |
-
194666 => '嬾',
|
5347 |
-
194667 => '嬾',
|
5348 |
-
194668 => '𡧈',
|
5349 |
-
194669 => '寃',
|
5350 |
-
194670 => '寘',
|
5351 |
-
194671 => '寧',
|
5352 |
-
194672 => '寳',
|
5353 |
-
194673 => '𡬘',
|
5354 |
-
194674 => '寿',
|
5355 |
-
194675 => '将',
|
5356 |
-
194677 => '尢',
|
5357 |
-
194678 => '㞁',
|
5358 |
-
194679 => '屠',
|
5359 |
-
194680 => '屮',
|
5360 |
-
194681 => '峀',
|
5361 |
-
194682 => '岍',
|
5362 |
-
194683 => '𡷤',
|
5363 |
-
194684 => '嵃',
|
5364 |
-
194685 => '𡷦',
|
5365 |
-
194686 => '嵮',
|
5366 |
-
194687 => '嵫',
|
5367 |
-
194688 => '嵼',
|
5368 |
-
194689 => '巡',
|
5369 |
-
194690 => '巢',
|
5370 |
-
194691 => '㠯',
|
5371 |
-
194692 => '巽',
|
5372 |
-
194693 => '帨',
|
5373 |
-
194694 => '帽',
|
5374 |
-
194695 => '幩',
|
5375 |
-
194696 => '㡢',
|
5376 |
-
194697 => '𢆃',
|
5377 |
-
194698 => '㡼',
|
5378 |
-
194699 => '庰',
|
5379 |
-
194700 => '庳',
|
5380 |
-
194701 => '庶',
|
5381 |
-
194702 => '廊',
|
5382 |
-
194703 => '𪎒',
|
5383 |
-
194704 => '廾',
|
5384 |
-
194705 => '𢌱',
|
5385 |
-
194706 => '𢌱',
|
5386 |
-
194707 => '舁',
|
5387 |
-
194708 => '弢',
|
5388 |
-
194709 => '弢',
|
5389 |
-
194710 => '㣇',
|
5390 |
-
194711 => '𣊸',
|
5391 |
-
194712 => '𦇚',
|
5392 |
-
194713 => '形',
|
5393 |
-
194714 => '彫',
|
5394 |
-
194715 => '㣣',
|
5395 |
-
194716 => '徚',
|
5396 |
-
194717 => '忍',
|
5397 |
-
194718 => '志',
|
5398 |
-
194719 => '忹',
|
5399 |
-
194720 => '悁',
|
5400 |
-
194721 => '㤺',
|
5401 |
-
194722 => '㤜',
|
5402 |
-
194723 => '悔',
|
5403 |
-
194724 => '𢛔',
|
5404 |
-
194725 => '惇',
|
5405 |
-
194726 => '慈',
|
5406 |
-
194727 => '慌',
|
5407 |
-
194728 => '慎',
|
5408 |
-
194729 => '慌',
|
5409 |
-
194730 => '慺',
|
5410 |
-
194731 => '憎',
|
5411 |
-
194732 => '憲',
|
5412 |
-
194733 => '憤',
|
5413 |
-
194734 => '憯',
|
5414 |
-
194735 => '懞',
|
5415 |
-
194736 => '懲',
|
5416 |
-
194737 => '懶',
|
5417 |
-
194738 => '成',
|
5418 |
-
194739 => '戛',
|
5419 |
-
194740 => '扝',
|
5420 |
-
194741 => '抱',
|
5421 |
-
194742 => '拔',
|
5422 |
-
194743 => '捐',
|
5423 |
-
194744 => '𢬌',
|
5424 |
-
194745 => '挽',
|
5425 |
-
194746 => '拼',
|
5426 |
-
194747 => '捨',
|
5427 |
-
194748 => '掃',
|
5428 |
-
194749 => '揤',
|
5429 |
-
194750 => '𢯱',
|
5430 |
-
194751 => '搢',
|
5431 |
-
194752 => '揅',
|
5432 |
-
194753 => '掩',
|
5433 |
-
194754 => '㨮',
|
5434 |
-
194755 => '摩',
|
5435 |
-
194756 => '摾',
|
5436 |
-
194757 => '撝',
|
5437 |
-
194758 => '摷',
|
5438 |
-
194759 => '㩬',
|
5439 |
-
194760 => '敏',
|
5440 |
-
194761 => '敬',
|
5441 |
-
194762 => '𣀊',
|
5442 |
-
194763 => '旣',
|
5443 |
-
194764 => '書',
|
5444 |
-
194765 => '晉',
|
5445 |
-
194766 => '㬙',
|
5446 |
-
194767 => '暑',
|
5447 |
-
194768 => '㬈',
|
5448 |
-
194769 => '㫤',
|
5449 |
-
194770 => '冒',
|
5450 |
-
194771 => '冕',
|
5451 |
-
194772 => '最',
|
5452 |
-
194773 => '暜',
|
5453 |
-
194774 => '肭',
|
5454 |
-
194775 => '䏙',
|
5455 |
-
194776 => '朗',
|
5456 |
-
194777 => '望',
|
5457 |
-
194778 => '朡',
|
5458 |
-
194779 => '杞',
|
5459 |
-
194780 => '杓',
|
5460 |
-
194781 => '𣏃',
|
5461 |
-
194782 => '㭉',
|
5462 |
-
194783 => '柺',
|
5463 |
-
194784 => '枅',
|
5464 |
-
194785 => '桒',
|
5465 |
-
194786 => '梅',
|
5466 |
-
194787 => '𣑭',
|
5467 |
-
194788 => '梎',
|
5468 |
-
194789 => '栟',
|
5469 |
-
194790 => '椔',
|
5470 |
-
194791 => '㮝',
|
5471 |
-
194792 => '楂',
|
5472 |
-
194793 => '榣',
|
5473 |
-
194794 => '槪',
|
5474 |
-
194795 => '檨',
|
5475 |
-
194796 => '𣚣',
|
5476 |
-
194797 => '櫛',
|
5477 |
-
194798 => '㰘',
|
5478 |
-
194799 => '次',
|
5479 |
-
194800 => '𣢧',
|
5480 |
-
194801 => '歔',
|
5481 |
-
194802 => '㱎',
|
5482 |
-
194803 => '歲',
|
5483 |
-
194804 => '殟',
|
5484 |
-
194805 => '殺',
|
5485 |
-
194806 => '殻',
|
5486 |
-
194807 => '𣪍',
|
5487 |
-
194808 => '𡴋',
|
5488 |
-
194809 => '𣫺',
|
5489 |
-
194810 => '汎',
|
5490 |
-
194811 => '𣲼',
|
5491 |
-
194812 => '沿',
|
5492 |
-
194813 => '泍',
|
5493 |
-
194814 => '汧',
|
5494 |
-
194815 => '洖',
|
5495 |
-
194816 => '派',
|
5496 |
-
194817 => '海',
|
5497 |
-
194818 => '流',
|
5498 |
-
194819 => '浩',
|
5499 |
-
194820 => '浸',
|
5500 |
-
194821 => '涅',
|
5501 |
-
194822 => '𣴞',
|
5502 |
-
194823 => '洴',
|
5503 |
-
194824 => '港',
|
5504 |
-
194825 => '湮',
|
5505 |
-
194826 => '㴳',
|
5506 |
-
194827 => '滋',
|
5507 |
-
194828 => '滇',
|
5508 |
-
194829 => '𣻑',
|
5509 |
-
194830 => '淹',
|
5510 |
-
194831 => '潮',
|
5511 |
-
194832 => '𣽞',
|
5512 |
-
194833 => '𣾎',
|
5513 |
-
194834 => '濆',
|
5514 |
-
194835 => '瀹',
|
5515 |
-
194836 => '瀞',
|
5516 |
-
194837 => '瀛',
|
5517 |
-
194838 => '㶖',
|
5518 |
-
194839 => '灊',
|
5519 |
-
194840 => '災',
|
5520 |
-
194841 => '灷',
|
5521 |
-
194842 => '炭',
|
5522 |
-
194843 => '𠔥',
|
5523 |
-
194844 => '煅',
|
5524 |
-
194845 => '𤉣',
|
5525 |
-
194846 => '熜',
|
5526 |
-
194848 => '爨',
|
5527 |
-
194849 => '爵',
|
5528 |
-
194850 => '牐',
|
5529 |
-
194851 => '𤘈',
|
5530 |
-
194852 => '犀',
|
5531 |
-
194853 => '犕',
|
5532 |
-
194854 => '𤜵',
|
5533 |
-
194855 => '𤠔',
|
5534 |
-
194856 => '獺',
|
5535 |
-
194857 => '王',
|
5536 |
-
194858 => '㺬',
|
5537 |
-
194859 => '玥',
|
5538 |
-
194860 => '㺸',
|
5539 |
-
194861 => '㺸',
|
5540 |
-
194862 => '瑇',
|
5541 |
-
194863 => '瑜',
|
5542 |
-
194864 => '瑱',
|
5543 |
-
194865 => '璅',
|
5544 |
-
194866 => '瓊',
|
5545 |
-
194867 => '㼛',
|
5546 |
-
194868 => '甤',
|
5547 |
-
194869 => '𤰶',
|
5548 |
-
194870 => '甾',
|
5549 |
-
194871 => '𤲒',
|
5550 |
-
194872 => '異',
|
5551 |
-
194873 => '𢆟',
|
5552 |
-
194874 => '瘐',
|
5553 |
-
194875 => '𤾡',
|
5554 |
-
194876 => '𤾸',
|
5555 |
-
194877 => '𥁄',
|
5556 |
-
194878 => '㿼',
|
5557 |
-
194879 => '䀈',
|
5558 |
-
194880 => '直',
|
5559 |
-
194881 => '𥃳',
|
5560 |
-
194882 => '𥃲',
|
5561 |
-
194883 => '𥄙',
|
5562 |
-
194884 => '𥄳',
|
5563 |
-
194885 => '眞',
|
5564 |
-
194886 => '真',
|
5565 |
-
194887 => '真',
|
5566 |
-
194888 => '睊',
|
5567 |
-
194889 => '䀹',
|
5568 |
-
194890 => '瞋',
|
5569 |
-
194891 => '䁆',
|
5570 |
-
194892 => '䂖',
|
5571 |
-
194893 => '𥐝',
|
5572 |
-
194894 => '硎',
|
5573 |
-
194895 => '碌',
|
5574 |
-
194896 => '磌',
|
5575 |
-
194897 => '䃣',
|
5576 |
-
194898 => '𥘦',
|
5577 |
-
194899 => '祖',
|
5578 |
-
194900 => '𥚚',
|
5579 |
-
194901 => '𥛅',
|
5580 |
-
194902 => '福',
|
5581 |
-
194903 => '秫',
|
5582 |
-
194904 => '䄯',
|
5583 |
-
194905 => '穀',
|
5584 |
-
194906 => '穊',
|
5585 |
-
194907 => '穏',
|
5586 |
-
194908 => '𥥼',
|
5587 |
-
194909 => '𥪧',
|
5588 |
-
194910 => '𥪧',
|
5589 |
-
194912 => '䈂',
|
5590 |
-
194913 => '𥮫',
|
5591 |
-
194914 => '篆',
|
5592 |
-
194915 => '築',
|
5593 |
-
194916 => '䈧',
|
5594 |
-
194917 => '𥲀',
|
5595 |
-
194918 => '糒',
|
5596 |
-
194919 => '䊠',
|
5597 |
-
194920 => '糨',
|
5598 |
-
194921 => '糣',
|
5599 |
-
194922 => '紀',
|
5600 |
-
194923 => '𥾆',
|
5601 |
-
194924 => '絣',
|
5602 |
-
194925 => '䌁',
|
5603 |
-
194926 => '緇',
|
5604 |
-
194927 => '縂',
|
5605 |
-
194928 => '繅',
|
5606 |
-
194929 => '䌴',
|
5607 |
-
194930 => '𦈨',
|
5608 |
-
194931 => '𦉇',
|
5609 |
-
194932 => '䍙',
|
5610 |
-
194933 => '𦋙',
|
5611 |
-
194934 => '罺',
|
5612 |
-
194935 => '𦌾',
|
5613 |
-
194936 => '羕',
|
5614 |
-
194937 => '翺',
|
5615 |
-
194938 => '者',
|
5616 |
-
194939 => '𦓚',
|
5617 |
-
194940 => '𦔣',
|
5618 |
-
194941 => '聠',
|
5619 |
-
194942 => '𦖨',
|
5620 |
-
194943 => '聰',
|
5621 |
-
194944 => '𣍟',
|
5622 |
-
194945 => '䏕',
|
5623 |
-
194946 => '育',
|
5624 |
-
194947 => '脃',
|
5625 |
-
194948 => '䐋',
|
5626 |
-
194949 => '脾',
|
5627 |
-
194950 => '媵',
|
5628 |
-
194951 => '𦞧',
|
5629 |
-
194952 => '𦞵',
|
5630 |
-
194953 => '𣎓',
|
5631 |
-
194954 => '𣎜',
|
5632 |
-
194955 => '舁',
|
5633 |
-
194956 => '舄',
|
5634 |
-
194957 => '辞',
|
5635 |
-
194958 => '䑫',
|
5636 |
-
194959 => '芑',
|
5637 |
-
194960 => '芋',
|
5638 |
-
194961 => '芝',
|
5639 |
-
194962 => '劳',
|
5640 |
-
194963 => '花',
|
5641 |
-
194964 => '芳',
|
5642 |
-
194965 => '芽',
|
5643 |
-
194966 => '苦',
|
5644 |
-
194967 => '𦬼',
|
5645 |
-
194968 => '若',
|
5646 |
-
194969 => '茝',
|
5647 |
-
194970 => '荣',
|
5648 |
-
194971 => '莭',
|
5649 |
-
194972 => '茣',
|
5650 |
-
194973 => '莽',
|
5651 |
-
194974 => '菧',
|
5652 |
-
194975 => '著',
|
5653 |
-
194976 => '荓',
|
5654 |
-
194977 => '菊',
|
5655 |
-
194978 => '菌',
|
5656 |
-
194979 => '菜',
|
5657 |
-
194980 => '𦰶',
|
5658 |
-
194981 => '𦵫',
|
5659 |
-
194982 => '𦳕',
|
5660 |
-
194983 => '䔫',
|
5661 |
-
194984 => '蓱',
|
5662 |
-
194985 => '蓳',
|
5663 |
-
194986 => '蔖',
|
5664 |
-
194987 => '𧏊',
|
5665 |
-
194988 => '蕤',
|
5666 |
-
194989 => '𦼬',
|
5667 |
-
194990 => '䕝',
|
5668 |
-
194991 => '䕡',
|
5669 |
-
194992 => '𦾱',
|
5670 |
-
194993 => '𧃒',
|
5671 |
-
194994 => '䕫',
|
5672 |
-
194995 => '虐',
|
5673 |
-
194996 => '虜',
|
5674 |
-
194997 => '虧',
|
5675 |
-
194998 => '虩',
|
5676 |
-
194999 => '蚩',
|
5677 |
-
195000 => '蚈',
|
5678 |
-
195001 => '蜎',
|
5679 |
-
195002 => '蛢',
|
5680 |
-
195003 => '蝹',
|
5681 |
-
195004 => '蜨',
|
5682 |
-
195005 => '蝫',
|
5683 |
-
195006 => '螆',
|
5684 |
-
195008 => '蟡',
|
5685 |
-
195009 => '蠁',
|
5686 |
-
195010 => '䗹',
|
5687 |
-
195011 => '衠',
|
5688 |
-
195012 => '衣',
|
5689 |
-
195013 => '𧙧',
|
5690 |
-
195014 => '裗',
|
5691 |
-
195015 => '裞',
|
5692 |
-
195016 => '䘵',
|
5693 |
-
195017 => '裺',
|
5694 |
-
195018 => '㒻',
|
5695 |
-
195019 => '𧢮',
|
5696 |
-
195020 => '𧥦',
|
5697 |
-
195021 => '䚾',
|
5698 |
-
195022 => '䛇',
|
5699 |
-
195023 => '誠',
|
5700 |
-
195024 => '諭',
|
5701 |
-
195025 => '變',
|
5702 |
-
195026 => '豕',
|
5703 |
-
195027 => '𧲨',
|
5704 |
-
195028 => '貫',
|
5705 |
-
195029 => '賁',
|
5706 |
-
195030 => '贛',
|
5707 |
-
195031 => '起',
|
5708 |
-
195032 => '𧼯',
|
5709 |
-
195033 => '𠠄',
|
5710 |
-
195034 => '跋',
|
5711 |
-
195035 => '趼',
|
5712 |
-
195036 => '跰',
|
5713 |
-
195037 => '𠣞',
|
5714 |
-
195038 => '軔',
|
5715 |
-
195039 => '輸',
|
5716 |
-
195040 => '𨗒',
|
5717 |
-
195041 => '𨗭',
|
5718 |
-
195042 => '邔',
|
5719 |
-
195043 => '郱',
|
5720 |
-
195044 => '鄑',
|
5721 |
-
195045 => '𨜮',
|
5722 |
-
195046 => '鄛',
|
5723 |
-
195047 => '鈸',
|
5724 |
-
195048 => '鋗',
|
5725 |
-
195049 => '鋘',
|
5726 |
-
195050 => '鉼',
|
5727 |
-
195051 => '鏹',
|
5728 |
-
195052 => '鐕',
|
5729 |
-
195053 => '𨯺',
|
5730 |
-
195054 => '開',
|
5731 |
-
195055 => '䦕',
|
5732 |
-
195056 => '閷',
|
5733 |
-
195057 => '𨵷',
|
5734 |
-
195058 => '䧦',
|
5735 |
-
195059 => '雃',
|
5736 |
-
195060 => '嶲',
|
5737 |
-
195061 => '霣',
|
5738 |
-
195062 => '𩅅',
|
5739 |
-
195063 => '𩈚',
|
5740 |
-
195064 => '䩮',
|
5741 |
-
195065 => '䩶',
|
5742 |
-
195066 => '韠',
|
5743 |
-
195067 => '𩐊',
|
5744 |
-
195068 => '䪲',
|
5745 |
-
195069 => '𩒖',
|
5746 |
-
195070 => '頋',
|
5747 |
-
195071 => '頋',
|
5748 |
-
195072 => '頩',
|
5749 |
-
195073 => '𩖶',
|
5750 |
-
195074 => '飢',
|
5751 |
-
195075 => '䬳',
|
5752 |
-
195076 => '餩',
|
5753 |
-
195077 => '馧',
|
5754 |
-
195078 => '駂',
|
5755 |
-
195079 => '駾',
|
5756 |
-
195080 => '䯎',
|
5757 |
-
195081 => '𩬰',
|
5758 |
-
195082 => '鬒',
|
5759 |
-
195083 => '鱀',
|
5760 |
-
195084 => '鳽',
|
5761 |
-
195085 => '䳎',
|
5762 |
-
195086 => '䳭',
|
5763 |
-
195087 => '鵧',
|
5764 |
-
195088 => '𪃎',
|
5765 |
-
195089 => '䳸',
|
5766 |
-
195090 => '𪄅',
|
5767 |
-
195091 => '𪈎',
|
5768 |
-
195092 => '𪊑',
|
5769 |
-
195093 => '麻',
|
5770 |
-
195094 => '䵖',
|
5771 |
-
195095 => '黹',
|
5772 |
-
195096 => '黾',
|
5773 |
-
195097 => '鼅',
|
5774 |
-
195098 => '鼏',
|
5775 |
-
195099 => '鼖',
|
5776 |
-
195100 => '鼻',
|
5777 |
-
195101 => '𪘀',
|
5778 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php
DELETED
@@ -1,65 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
2381 => 9,
|
5 |
-
2509 => 9,
|
6 |
-
2637 => 9,
|
7 |
-
2765 => 9,
|
8 |
-
2893 => 9,
|
9 |
-
3021 => 9,
|
10 |
-
3149 => 9,
|
11 |
-
3277 => 9,
|
12 |
-
3387 => 9,
|
13 |
-
3388 => 9,
|
14 |
-
3405 => 9,
|
15 |
-
3530 => 9,
|
16 |
-
3642 => 9,
|
17 |
-
3770 => 9,
|
18 |
-
3972 => 9,
|
19 |
-
4153 => 9,
|
20 |
-
4154 => 9,
|
21 |
-
5908 => 9,
|
22 |
-
5940 => 9,
|
23 |
-
6098 => 9,
|
24 |
-
6752 => 9,
|
25 |
-
6980 => 9,
|
26 |
-
7082 => 9,
|
27 |
-
7083 => 9,
|
28 |
-
7154 => 9,
|
29 |
-
7155 => 9,
|
30 |
-
11647 => 9,
|
31 |
-
43014 => 9,
|
32 |
-
43052 => 9,
|
33 |
-
43204 => 9,
|
34 |
-
43347 => 9,
|
35 |
-
43456 => 9,
|
36 |
-
43766 => 9,
|
37 |
-
44013 => 9,
|
38 |
-
68159 => 9,
|
39 |
-
69702 => 9,
|
40 |
-
69759 => 9,
|
41 |
-
69817 => 9,
|
42 |
-
69939 => 9,
|
43 |
-
69940 => 9,
|
44 |
-
70080 => 9,
|
45 |
-
70197 => 9,
|
46 |
-
70378 => 9,
|
47 |
-
70477 => 9,
|
48 |
-
70722 => 9,
|
49 |
-
70850 => 9,
|
50 |
-
71103 => 9,
|
51 |
-
71231 => 9,
|
52 |
-
71350 => 9,
|
53 |
-
71467 => 9,
|
54 |
-
71737 => 9,
|
55 |
-
71997 => 9,
|
56 |
-
71998 => 9,
|
57 |
-
72160 => 9,
|
58 |
-
72244 => 9,
|
59 |
-
72263 => 9,
|
60 |
-
72345 => 9,
|
61 |
-
72767 => 9,
|
62 |
-
73028 => 9,
|
63 |
-
73029 => 9,
|
64 |
-
73111 => 9,
|
65 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/bootstrap.php
DELETED
@@ -1,145 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
use Symfony\Polyfill\Intl\Idn as p;
|
13 |
-
|
14 |
-
if (extension_loaded('intl')) {
|
15 |
-
return;
|
16 |
-
}
|
17 |
-
|
18 |
-
if (\PHP_VERSION_ID >= 80000) {
|
19 |
-
return require __DIR__.'/bootstrap80.php';
|
20 |
-
}
|
21 |
-
|
22 |
-
if (!defined('U_IDNA_PROHIBITED_ERROR')) {
|
23 |
-
define('U_IDNA_PROHIBITED_ERROR', 66560);
|
24 |
-
}
|
25 |
-
if (!defined('U_IDNA_ERROR_START')) {
|
26 |
-
define('U_IDNA_ERROR_START', 66560);
|
27 |
-
}
|
28 |
-
if (!defined('U_IDNA_UNASSIGNED_ERROR')) {
|
29 |
-
define('U_IDNA_UNASSIGNED_ERROR', 66561);
|
30 |
-
}
|
31 |
-
if (!defined('U_IDNA_CHECK_BIDI_ERROR')) {
|
32 |
-
define('U_IDNA_CHECK_BIDI_ERROR', 66562);
|
33 |
-
}
|
34 |
-
if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) {
|
35 |
-
define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563);
|
36 |
-
}
|
37 |
-
if (!defined('U_IDNA_ACE_PREFIX_ERROR')) {
|
38 |
-
define('U_IDNA_ACE_PREFIX_ERROR', 66564);
|
39 |
-
}
|
40 |
-
if (!defined('U_IDNA_VERIFICATION_ERROR')) {
|
41 |
-
define('U_IDNA_VERIFICATION_ERROR', 66565);
|
42 |
-
}
|
43 |
-
if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) {
|
44 |
-
define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566);
|
45 |
-
}
|
46 |
-
if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) {
|
47 |
-
define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567);
|
48 |
-
}
|
49 |
-
if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) {
|
50 |
-
define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568);
|
51 |
-
}
|
52 |
-
if (!defined('U_IDNA_ERROR_LIMIT')) {
|
53 |
-
define('U_IDNA_ERROR_LIMIT', 66569);
|
54 |
-
}
|
55 |
-
if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) {
|
56 |
-
define('U_STRINGPREP_PROHIBITED_ERROR', 66560);
|
57 |
-
}
|
58 |
-
if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) {
|
59 |
-
define('U_STRINGPREP_UNASSIGNED_ERROR', 66561);
|
60 |
-
}
|
61 |
-
if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) {
|
62 |
-
define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562);
|
63 |
-
}
|
64 |
-
if (!defined('IDNA_DEFAULT')) {
|
65 |
-
define('IDNA_DEFAULT', 0);
|
66 |
-
}
|
67 |
-
if (!defined('IDNA_ALLOW_UNASSIGNED')) {
|
68 |
-
define('IDNA_ALLOW_UNASSIGNED', 1);
|
69 |
-
}
|
70 |
-
if (!defined('IDNA_USE_STD3_RULES')) {
|
71 |
-
define('IDNA_USE_STD3_RULES', 2);
|
72 |
-
}
|
73 |
-
if (!defined('IDNA_CHECK_BIDI')) {
|
74 |
-
define('IDNA_CHECK_BIDI', 4);
|
75 |
-
}
|
76 |
-
if (!defined('IDNA_CHECK_CONTEXTJ')) {
|
77 |
-
define('IDNA_CHECK_CONTEXTJ', 8);
|
78 |
-
}
|
79 |
-
if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) {
|
80 |
-
define('IDNA_NONTRANSITIONAL_TO_ASCII', 16);
|
81 |
-
}
|
82 |
-
if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) {
|
83 |
-
define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32);
|
84 |
-
}
|
85 |
-
if (!defined('INTL_IDNA_VARIANT_2003')) {
|
86 |
-
define('INTL_IDNA_VARIANT_2003', 0);
|
87 |
-
}
|
88 |
-
if (!defined('INTL_IDNA_VARIANT_UTS46')) {
|
89 |
-
define('INTL_IDNA_VARIANT_UTS46', 1);
|
90 |
-
}
|
91 |
-
if (!defined('IDNA_ERROR_EMPTY_LABEL')) {
|
92 |
-
define('IDNA_ERROR_EMPTY_LABEL', 1);
|
93 |
-
}
|
94 |
-
if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) {
|
95 |
-
define('IDNA_ERROR_LABEL_TOO_LONG', 2);
|
96 |
-
}
|
97 |
-
if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) {
|
98 |
-
define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4);
|
99 |
-
}
|
100 |
-
if (!defined('IDNA_ERROR_LEADING_HYPHEN')) {
|
101 |
-
define('IDNA_ERROR_LEADING_HYPHEN', 8);
|
102 |
-
}
|
103 |
-
if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) {
|
104 |
-
define('IDNA_ERROR_TRAILING_HYPHEN', 16);
|
105 |
-
}
|
106 |
-
if (!defined('IDNA_ERROR_HYPHEN_3_4')) {
|
107 |
-
define('IDNA_ERROR_HYPHEN_3_4', 32);
|
108 |
-
}
|
109 |
-
if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) {
|
110 |
-
define('IDNA_ERROR_LEADING_COMBINING_MARK', 64);
|
111 |
-
}
|
112 |
-
if (!defined('IDNA_ERROR_DISALLOWED')) {
|
113 |
-
define('IDNA_ERROR_DISALLOWED', 128);
|
114 |
-
}
|
115 |
-
if (!defined('IDNA_ERROR_PUNYCODE')) {
|
116 |
-
define('IDNA_ERROR_PUNYCODE', 256);
|
117 |
-
}
|
118 |
-
if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) {
|
119 |
-
define('IDNA_ERROR_LABEL_HAS_DOT', 512);
|
120 |
-
}
|
121 |
-
if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) {
|
122 |
-
define('IDNA_ERROR_INVALID_ACE_LABEL', 1024);
|
123 |
-
}
|
124 |
-
if (!defined('IDNA_ERROR_BIDI')) {
|
125 |
-
define('IDNA_ERROR_BIDI', 2048);
|
126 |
-
}
|
127 |
-
if (!defined('IDNA_ERROR_CONTEXTJ')) {
|
128 |
-
define('IDNA_ERROR_CONTEXTJ', 4096);
|
129 |
-
}
|
130 |
-
|
131 |
-
if (\PHP_VERSION_ID < 70400) {
|
132 |
-
if (!function_exists('idn_to_ascii')) {
|
133 |
-
function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); }
|
134 |
-
}
|
135 |
-
if (!function_exists('idn_to_utf8')) {
|
136 |
-
function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); }
|
137 |
-
}
|
138 |
-
} else {
|
139 |
-
if (!function_exists('idn_to_ascii')) {
|
140 |
-
function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); }
|
141 |
-
}
|
142 |
-
if (!function_exists('idn_to_utf8')) {
|
143 |
-
function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); }
|
144 |
-
}
|
145 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-idn/bootstrap80.php
DELETED
@@ -1,125 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
use Symfony\Polyfill\Intl\Idn as p;
|
13 |
-
|
14 |
-
if (!defined('U_IDNA_PROHIBITED_ERROR')) {
|
15 |
-
define('U_IDNA_PROHIBITED_ERROR', 66560);
|
16 |
-
}
|
17 |
-
if (!defined('U_IDNA_ERROR_START')) {
|
18 |
-
define('U_IDNA_ERROR_START', 66560);
|
19 |
-
}
|
20 |
-
if (!defined('U_IDNA_UNASSIGNED_ERROR')) {
|
21 |
-
define('U_IDNA_UNASSIGNED_ERROR', 66561);
|
22 |
-
}
|
23 |
-
if (!defined('U_IDNA_CHECK_BIDI_ERROR')) {
|
24 |
-
define('U_IDNA_CHECK_BIDI_ERROR', 66562);
|
25 |
-
}
|
26 |
-
if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) {
|
27 |
-
define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563);
|
28 |
-
}
|
29 |
-
if (!defined('U_IDNA_ACE_PREFIX_ERROR')) {
|
30 |
-
define('U_IDNA_ACE_PREFIX_ERROR', 66564);
|
31 |
-
}
|
32 |
-
if (!defined('U_IDNA_VERIFICATION_ERROR')) {
|
33 |
-
define('U_IDNA_VERIFICATION_ERROR', 66565);
|
34 |
-
}
|
35 |
-
if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) {
|
36 |
-
define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566);
|
37 |
-
}
|
38 |
-
if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) {
|
39 |
-
define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567);
|
40 |
-
}
|
41 |
-
if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) {
|
42 |
-
define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568);
|
43 |
-
}
|
44 |
-
if (!defined('U_IDNA_ERROR_LIMIT')) {
|
45 |
-
define('U_IDNA_ERROR_LIMIT', 66569);
|
46 |
-
}
|
47 |
-
if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) {
|
48 |
-
define('U_STRINGPREP_PROHIBITED_ERROR', 66560);
|
49 |
-
}
|
50 |
-
if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) {
|
51 |
-
define('U_STRINGPREP_UNASSIGNED_ERROR', 66561);
|
52 |
-
}
|
53 |
-
if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) {
|
54 |
-
define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562);
|
55 |
-
}
|
56 |
-
if (!defined('IDNA_DEFAULT')) {
|
57 |
-
define('IDNA_DEFAULT', 0);
|
58 |
-
}
|
59 |
-
if (!defined('IDNA_ALLOW_UNASSIGNED')) {
|
60 |
-
define('IDNA_ALLOW_UNASSIGNED', 1);
|
61 |
-
}
|
62 |
-
if (!defined('IDNA_USE_STD3_RULES')) {
|
63 |
-
define('IDNA_USE_STD3_RULES', 2);
|
64 |
-
}
|
65 |
-
if (!defined('IDNA_CHECK_BIDI')) {
|
66 |
-
define('IDNA_CHECK_BIDI', 4);
|
67 |
-
}
|
68 |
-
if (!defined('IDNA_CHECK_CONTEXTJ')) {
|
69 |
-
define('IDNA_CHECK_CONTEXTJ', 8);
|
70 |
-
}
|
71 |
-
if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) {
|
72 |
-
define('IDNA_NONTRANSITIONAL_TO_ASCII', 16);
|
73 |
-
}
|
74 |
-
if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) {
|
75 |
-
define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32);
|
76 |
-
}
|
77 |
-
if (!defined('INTL_IDNA_VARIANT_UTS46')) {
|
78 |
-
define('INTL_IDNA_VARIANT_UTS46', 1);
|
79 |
-
}
|
80 |
-
if (!defined('IDNA_ERROR_EMPTY_LABEL')) {
|
81 |
-
define('IDNA_ERROR_EMPTY_LABEL', 1);
|
82 |
-
}
|
83 |
-
if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) {
|
84 |
-
define('IDNA_ERROR_LABEL_TOO_LONG', 2);
|
85 |
-
}
|
86 |
-
if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) {
|
87 |
-
define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4);
|
88 |
-
}
|
89 |
-
if (!defined('IDNA_ERROR_LEADING_HYPHEN')) {
|
90 |
-
define('IDNA_ERROR_LEADING_HYPHEN', 8);
|
91 |
-
}
|
92 |
-
if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) {
|
93 |
-
define('IDNA_ERROR_TRAILING_HYPHEN', 16);
|
94 |
-
}
|
95 |
-
if (!defined('IDNA_ERROR_HYPHEN_3_4')) {
|
96 |
-
define('IDNA_ERROR_HYPHEN_3_4', 32);
|
97 |
-
}
|
98 |
-
if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) {
|
99 |
-
define('IDNA_ERROR_LEADING_COMBINING_MARK', 64);
|
100 |
-
}
|
101 |
-
if (!defined('IDNA_ERROR_DISALLOWED')) {
|
102 |
-
define('IDNA_ERROR_DISALLOWED', 128);
|
103 |
-
}
|
104 |
-
if (!defined('IDNA_ERROR_PUNYCODE')) {
|
105 |
-
define('IDNA_ERROR_PUNYCODE', 256);
|
106 |
-
}
|
107 |
-
if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) {
|
108 |
-
define('IDNA_ERROR_LABEL_HAS_DOT', 512);
|
109 |
-
}
|
110 |
-
if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) {
|
111 |
-
define('IDNA_ERROR_INVALID_ACE_LABEL', 1024);
|
112 |
-
}
|
113 |
-
if (!defined('IDNA_ERROR_BIDI')) {
|
114 |
-
define('IDNA_ERROR_BIDI', 2048);
|
115 |
-
}
|
116 |
-
if (!defined('IDNA_ERROR_CONTEXTJ')) {
|
117 |
-
define('IDNA_ERROR_CONTEXTJ', 4096);
|
118 |
-
}
|
119 |
-
|
120 |
-
if (!function_exists('idn_to_ascii')) {
|
121 |
-
function idn_to_ascii(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_ascii((string) $domain, (int) $flags, (int) $variant, $idna_info); }
|
122 |
-
}
|
123 |
-
if (!function_exists('idn_to_utf8')) {
|
124 |
-
function idn_to_utf8(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_utf8((string) $domain, (int) $flags, (int) $variant, $idna_info); }
|
125 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Normalizer.php
DELETED
@@ -1,310 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Polyfill\Intl\Normalizer;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Normalizer is a PHP fallback implementation of the Normalizer class provided by the intl extension.
|
16 |
-
*
|
17 |
-
* It has been validated with Unicode 6.3 Normalization Conformance Test.
|
18 |
-
* See http://www.unicode.org/reports/tr15/ for detailed info about Unicode normalizations.
|
19 |
-
*
|
20 |
-
* @author Nicolas Grekas <p@tchwork.com>
|
21 |
-
*
|
22 |
-
* @internal
|
23 |
-
*/
|
24 |
-
class Normalizer
|
25 |
-
{
|
26 |
-
public const FORM_D = \Normalizer::FORM_D;
|
27 |
-
public const FORM_KD = \Normalizer::FORM_KD;
|
28 |
-
public const FORM_C = \Normalizer::FORM_C;
|
29 |
-
public const FORM_KC = \Normalizer::FORM_KC;
|
30 |
-
public const NFD = \Normalizer::NFD;
|
31 |
-
public const NFKD = \Normalizer::NFKD;
|
32 |
-
public const NFC = \Normalizer::NFC;
|
33 |
-
public const NFKC = \Normalizer::NFKC;
|
34 |
-
|
35 |
-
private static $C;
|
36 |
-
private static $D;
|
37 |
-
private static $KD;
|
38 |
-
private static $cC;
|
39 |
-
private static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
|
40 |
-
private static $ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
|
41 |
-
|
42 |
-
public static function isNormalized(string $s, int $form = self::FORM_C)
|
43 |
-
{
|
44 |
-
if (!\in_array($form, [self::NFD, self::NFKD, self::NFC, self::NFKC])) {
|
45 |
-
return false;
|
46 |
-
}
|
47 |
-
if (!isset($s[strspn($s, self::$ASCII)])) {
|
48 |
-
return true;
|
49 |
-
}
|
50 |
-
if (self::NFC == $form && preg_match('//u', $s) && !preg_match('/[^\x00-\x{2FF}]/u', $s)) {
|
51 |
-
return true;
|
52 |
-
}
|
53 |
-
|
54 |
-
return self::normalize($s, $form) === $s;
|
55 |
-
}
|
56 |
-
|
57 |
-
public static function normalize(string $s, int $form = self::FORM_C)
|
58 |
-
{
|
59 |
-
if (!preg_match('//u', $s)) {
|
60 |
-
return false;
|
61 |
-
}
|
62 |
-
|
63 |
-
switch ($form) {
|
64 |
-
case self::NFC: $C = true; $K = false; break;
|
65 |
-
case self::NFD: $C = false; $K = false; break;
|
66 |
-
case self::NFKC: $C = true; $K = true; break;
|
67 |
-
case self::NFKD: $C = false; $K = true; break;
|
68 |
-
default:
|
69 |
-
if (\defined('Normalizer::NONE') && \Normalizer::NONE == $form) {
|
70 |
-
return $s;
|
71 |
-
}
|
72 |
-
|
73 |
-
if (80000 > \PHP_VERSION_ID) {
|
74 |
-
return false;
|
75 |
-
}
|
76 |
-
|
77 |
-
throw new \ValueError('normalizer_normalize(): Argument #2 ($form) must be a a valid normalization form');
|
78 |
-
}
|
79 |
-
|
80 |
-
if ('' === $s) {
|
81 |
-
return '';
|
82 |
-
}
|
83 |
-
|
84 |
-
if ($K && null === self::$KD) {
|
85 |
-
self::$KD = self::getData('compatibilityDecomposition');
|
86 |
-
}
|
87 |
-
|
88 |
-
if (null === self::$D) {
|
89 |
-
self::$D = self::getData('canonicalDecomposition');
|
90 |
-
self::$cC = self::getData('combiningClass');
|
91 |
-
}
|
92 |
-
|
93 |
-
if (null !== $mbEncoding = (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) ? mb_internal_encoding() : null) {
|
94 |
-
mb_internal_encoding('8bit');
|
95 |
-
}
|
96 |
-
|
97 |
-
$r = self::decompose($s, $K);
|
98 |
-
|
99 |
-
if ($C) {
|
100 |
-
if (null === self::$C) {
|
101 |
-
self::$C = self::getData('canonicalComposition');
|
102 |
-
}
|
103 |
-
|
104 |
-
$r = self::recompose($r);
|
105 |
-
}
|
106 |
-
if (null !== $mbEncoding) {
|
107 |
-
mb_internal_encoding($mbEncoding);
|
108 |
-
}
|
109 |
-
|
110 |
-
return $r;
|
111 |
-
}
|
112 |
-
|
113 |
-
private static function recompose($s)
|
114 |
-
{
|
115 |
-
$ASCII = self::$ASCII;
|
116 |
-
$compMap = self::$C;
|
117 |
-
$combClass = self::$cC;
|
118 |
-
$ulenMask = self::$ulenMask;
|
119 |
-
|
120 |
-
$result = $tail = '';
|
121 |
-
|
122 |
-
$i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xF0"];
|
123 |
-
$len = \strlen($s);
|
124 |
-
|
125 |
-
$lastUchr = substr($s, 0, $i);
|
126 |
-
$lastUcls = isset($combClass[$lastUchr]) ? 256 : 0;
|
127 |
-
|
128 |
-
while ($i < $len) {
|
129 |
-
if ($s[$i] < "\x80") {
|
130 |
-
// ASCII chars
|
131 |
-
|
132 |
-
if ($tail) {
|
133 |
-
$lastUchr .= $tail;
|
134 |
-
$tail = '';
|
135 |
-
}
|
136 |
-
|
137 |
-
if ($j = strspn($s, $ASCII, $i + 1)) {
|
138 |
-
$lastUchr .= substr($s, $i, $j);
|
139 |
-
$i += $j;
|
140 |
-
}
|
141 |
-
|
142 |
-
$result .= $lastUchr;
|
143 |
-
$lastUchr = $s[$i];
|
144 |
-
$lastUcls = 0;
|
145 |
-
++$i;
|
146 |
-
continue;
|
147 |
-
}
|
148 |
-
|
149 |
-
$ulen = $ulenMask[$s[$i] & "\xF0"];
|
150 |
-
$uchr = substr($s, $i, $ulen);
|
151 |
-
|
152 |
-
if ($lastUchr < "\xE1\x84\x80" || "\xE1\x84\x92" < $lastUchr
|
153 |
-
|| $uchr < "\xE1\x85\xA1" || "\xE1\x85\xB5" < $uchr
|
154 |
-
|| $lastUcls) {
|
155 |
-
// Table lookup and combining chars composition
|
156 |
-
|
157 |
-
$ucls = $combClass[$uchr] ?? 0;
|
158 |
-
|
159 |
-
if (isset($compMap[$lastUchr.$uchr]) && (!$lastUcls || $lastUcls < $ucls)) {
|
160 |
-
$lastUchr = $compMap[$lastUchr.$uchr];
|
161 |
-
} elseif ($lastUcls = $ucls) {
|
162 |
-
$tail .= $uchr;
|
163 |
-
} else {
|
164 |
-
if ($tail) {
|
165 |
-
$lastUchr .= $tail;
|
166 |
-
$tail = '';
|
167 |
-
}
|
168 |
-
|
169 |
-
$result .= $lastUchr;
|
170 |
-
$lastUchr = $uchr;
|
171 |
-
}
|
172 |
-
} else {
|
173 |
-
// Hangul chars
|
174 |
-
|
175 |
-
$L = \ord($lastUchr[2]) - 0x80;
|
176 |
-
$V = \ord($uchr[2]) - 0xA1;
|
177 |
-
$T = 0;
|
178 |
-
|
179 |
-
$uchr = substr($s, $i + $ulen, 3);
|
180 |
-
|
181 |
-
if ("\xE1\x86\xA7" <= $uchr && $uchr <= "\xE1\x87\x82") {
|
182 |
-
$T = \ord($uchr[2]) - 0xA7;
|
183 |
-
0 > $T && $T += 0x40;
|
184 |
-
$ulen += 3;
|
185 |
-
}
|
186 |
-
|
187 |
-
$L = 0xAC00 + ($L * 21 + $V) * 28 + $T;
|
188 |
-
$lastUchr = \chr(0xE0 | $L >> 12).\chr(0x80 | $L >> 6 & 0x3F).\chr(0x80 | $L & 0x3F);
|
189 |
-
}
|
190 |
-
|
191 |
-
$i += $ulen;
|
192 |
-
}
|
193 |
-
|
194 |
-
return $result.$lastUchr.$tail;
|
195 |
-
}
|
196 |
-
|
197 |
-
private static function decompose($s, $c)
|
198 |
-
{
|
199 |
-
$result = '';
|
200 |
-
|
201 |
-
$ASCII = self::$ASCII;
|
202 |
-
$decompMap = self::$D;
|
203 |
-
$combClass = self::$cC;
|
204 |
-
$ulenMask = self::$ulenMask;
|
205 |
-
if ($c) {
|
206 |
-
$compatMap = self::$KD;
|
207 |
-
}
|
208 |
-
|
209 |
-
$c = [];
|
210 |
-
$i = 0;
|
211 |
-
$len = \strlen($s);
|
212 |
-
|
213 |
-
while ($i < $len) {
|
214 |
-
if ($s[$i] < "\x80") {
|
215 |
-
// ASCII chars
|
216 |
-
|
217 |
-
if ($c) {
|
218 |
-
ksort($c);
|
219 |
-
$result .= implode('', $c);
|
220 |
-
$c = [];
|
221 |
-
}
|
222 |
-
|
223 |
-
$j = 1 + strspn($s, $ASCII, $i + 1);
|
224 |
-
$result .= substr($s, $i, $j);
|
225 |
-
$i += $j;
|
226 |
-
continue;
|
227 |
-
}
|
228 |
-
|
229 |
-
$ulen = $ulenMask[$s[$i] & "\xF0"];
|
230 |
-
$uchr = substr($s, $i, $ulen);
|
231 |
-
$i += $ulen;
|
232 |
-
|
233 |
-
if ($uchr < "\xEA\xB0\x80" || "\xED\x9E\xA3" < $uchr) {
|
234 |
-
// Table lookup
|
235 |
-
|
236 |
-
if ($uchr !== $j = $compatMap[$uchr] ?? ($decompMap[$uchr] ?? $uchr)) {
|
237 |
-
$uchr = $j;
|
238 |
-
|
239 |
-
$j = \strlen($uchr);
|
240 |
-
$ulen = $uchr[0] < "\x80" ? 1 : $ulenMask[$uchr[0] & "\xF0"];
|
241 |
-
|
242 |
-
if ($ulen != $j) {
|
243 |
-
// Put trailing chars in $s
|
244 |
-
|
245 |
-
$j -= $ulen;
|
246 |
-
$i -= $j;
|
247 |
-
|
248 |
-
if (0 > $i) {
|
249 |
-
$s = str_repeat(' ', -$i).$s;
|
250 |
-
$len -= $i;
|
251 |
-
$i = 0;
|
252 |
-
}
|
253 |
-
|
254 |
-
while ($j--) {
|
255 |
-
$s[$i + $j] = $uchr[$ulen + $j];
|
256 |
-
}
|
257 |
-
|
258 |
-
$uchr = substr($uchr, 0, $ulen);
|
259 |
-
}
|
260 |
-
}
|
261 |
-
if (isset($combClass[$uchr])) {
|
262 |
-
// Combining chars, for sorting
|
263 |
-
|
264 |
-
if (!isset($c[$combClass[$uchr]])) {
|
265 |
-
$c[$combClass[$uchr]] = '';
|
266 |
-
}
|
267 |
-
$c[$combClass[$uchr]] .= $uchr;
|
268 |
-
continue;
|
269 |
-
}
|
270 |
-
} else {
|
271 |
-
// Hangul chars
|
272 |
-
|
273 |
-
$uchr = unpack('C*', $uchr);
|
274 |
-
$j = (($uchr[1] - 224) << 12) + (($uchr[2] - 128) << 6) + $uchr[3] - 0xAC80;
|
275 |
-
|
276 |
-
$uchr = "\xE1\x84".\chr(0x80 + (int) ($j / 588))
|
277 |
-
."\xE1\x85".\chr(0xA1 + (int) (($j % 588) / 28));
|
278 |
-
|
279 |
-
if ($j %= 28) {
|
280 |
-
$uchr .= $j < 25
|
281 |
-
? ("\xE1\x86".\chr(0xA7 + $j))
|
282 |
-
: ("\xE1\x87".\chr(0x67 + $j));
|
283 |
-
}
|
284 |
-
}
|
285 |
-
if ($c) {
|
286 |
-
ksort($c);
|
287 |
-
$result .= implode('', $c);
|
288 |
-
$c = [];
|
289 |
-
}
|
290 |
-
|
291 |
-
$result .= $uchr;
|
292 |
-
}
|
293 |
-
|
294 |
-
if ($c) {
|
295 |
-
ksort($c);
|
296 |
-
$result .= implode('', $c);
|
297 |
-
}
|
298 |
-
|
299 |
-
return $result;
|
300 |
-
}
|
301 |
-
|
302 |
-
private static function getData($file)
|
303 |
-
{
|
304 |
-
if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) {
|
305 |
-
return require $file;
|
306 |
-
}
|
307 |
-
|
308 |
-
return false;
|
309 |
-
}
|
310 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Normalizer extends Symfony\Polyfill\Intl\Normalizer\Normalizer
|
4 |
-
{
|
5 |
-
/**
|
6 |
-
* @deprecated since ICU 56 and removed in PHP 8
|
7 |
-
*/
|
8 |
-
public const NONE = 2;
|
9 |
-
public const FORM_D = 4;
|
10 |
-
public const FORM_KD = 8;
|
11 |
-
public const FORM_C = 16;
|
12 |
-
public const FORM_KC = 32;
|
13 |
-
public const NFD = 4;
|
14 |
-
public const NFKD = 8;
|
15 |
-
public const NFC = 16;
|
16 |
-
public const NFKC = 32;
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php
DELETED
@@ -1,945 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
'À' => 'À',
|
5 |
-
'Á' => 'Á',
|
6 |
-
'Â' => 'Â',
|
7 |
-
'Ã' => 'Ã',
|
8 |
-
'Ä' => 'Ä',
|
9 |
-
'Å' => 'Å',
|
10 |
-
'Ç' => 'Ç',
|
11 |
-
'È' => 'È',
|
12 |
-
'É' => 'É',
|
13 |
-
'Ê' => 'Ê',
|
14 |
-
'Ë' => 'Ë',
|
15 |
-
'Ì' => 'Ì',
|
16 |
-
'Í' => 'Í',
|
17 |
-
'Î' => 'Î',
|
18 |
-
'Ï' => 'Ï',
|
19 |
-
'Ñ' => 'Ñ',
|
20 |
-
'Ò' => 'Ò',
|
21 |
-
'Ó' => 'Ó',
|
22 |
-
'Ô' => 'Ô',
|
23 |
-
'Õ' => 'Õ',
|
24 |
-
'Ö' => 'Ö',
|
25 |
-
'Ù' => 'Ù',
|
26 |
-
'Ú' => 'Ú',
|
27 |
-
'Û' => 'Û',
|
28 |
-
'Ü' => 'Ü',
|
29 |
-
'Ý' => 'Ý',
|
30 |
-
'à' => 'à',
|
31 |
-
'á' => 'á',
|
32 |
-
'â' => 'â',
|
33 |
-
'ã' => 'ã',
|
34 |
-
'ä' => 'ä',
|
35 |
-
'å' => 'å',
|
36 |
-
'ç' => 'ç',
|
37 |
-
'è' => 'è',
|
38 |
-
'é' => 'é',
|
39 |
-
'ê' => 'ê',
|
40 |
-
'ë' => 'ë',
|
41 |
-
'ì' => 'ì',
|
42 |
-
'í' => 'í',
|
43 |
-
'î' => 'î',
|
44 |
-
'ï' => 'ï',
|
45 |
-
'ñ' => 'ñ',
|
46 |
-
'ò' => 'ò',
|
47 |
-
'ó' => 'ó',
|
48 |
-
'ô' => 'ô',
|
49 |
-
'õ' => 'õ',
|
50 |
-
'ö' => 'ö',
|
51 |
-
'ù' => 'ù',
|
52 |
-
'ú' => 'ú',
|
53 |
-
'û' => 'û',
|
54 |
-
'ü' => 'ü',
|
55 |
-
'ý' => 'ý',
|
56 |
-
'ÿ' => 'ÿ',
|
57 |
-
'Ā' => 'Ā',
|
58 |
-
'ā' => 'ā',
|
59 |
-
'Ă' => 'Ă',
|
60 |
-
'ă' => 'ă',
|
61 |
-
'Ą' => 'Ą',
|
62 |
-
'ą' => 'ą',
|
63 |
-
'Ć' => 'Ć',
|
64 |
-
'ć' => 'ć',
|
65 |
-
'Ĉ' => 'Ĉ',
|
66 |
-
'ĉ' => 'ĉ',
|
67 |
-
'Ċ' => 'Ċ',
|
68 |
-
'ċ' => 'ċ',
|
69 |
-
'Č' => 'Č',
|
70 |
-
'č' => 'č',
|
71 |
-
'Ď' => 'Ď',
|
72 |
-
'ď' => 'ď',
|
73 |
-
'Ē' => 'Ē',
|
74 |
-
'ē' => 'ē',
|
75 |
-
'Ĕ' => 'Ĕ',
|
76 |
-
'ĕ' => 'ĕ',
|
77 |
-
'Ė' => 'Ė',
|
78 |
-
'ė' => 'ė',
|
79 |
-
'Ę' => 'Ę',
|
80 |
-
'ę' => 'ę',
|
81 |
-
'Ě' => 'Ě',
|
82 |
-
'ě' => 'ě',
|
83 |
-
'Ĝ' => 'Ĝ',
|
84 |
-
'ĝ' => 'ĝ',
|
85 |
-
'Ğ' => 'Ğ',
|
86 |
-
'ğ' => 'ğ',
|
87 |
-
'Ġ' => 'Ġ',
|
88 |
-
'ġ' => 'ġ',
|
89 |
-
'Ģ' => 'Ģ',
|
90 |
-
'ģ' => 'ģ',
|
91 |
-
'Ĥ' => 'Ĥ',
|
92 |
-
'ĥ' => 'ĥ',
|
93 |
-
'Ĩ' => 'Ĩ',
|
94 |
-
'ĩ' => 'ĩ',
|
95 |
-
'Ī' => 'Ī',
|
96 |
-
'ī' => 'ī',
|
97 |
-
'Ĭ' => 'Ĭ',
|
98 |
-
'ĭ' => 'ĭ',
|
99 |
-
'Į' => 'Į',
|
100 |
-
'į' => 'į',
|
101 |
-
'İ' => 'İ',
|
102 |
-
'Ĵ' => 'Ĵ',
|
103 |
-
'ĵ' => 'ĵ',
|
104 |
-
'Ķ' => 'Ķ',
|
105 |
-
'ķ' => 'ķ',
|
106 |
-
'Ĺ' => 'Ĺ',
|
107 |
-
'ĺ' => 'ĺ',
|
108 |
-
'Ļ' => 'Ļ',
|
109 |
-
'ļ' => 'ļ',
|
110 |
-
'Ľ' => 'Ľ',
|
111 |
-
'ľ' => 'ľ',
|
112 |
-
'Ń' => 'Ń',
|
113 |
-
'ń' => 'ń',
|
114 |
-
'Ņ' => 'Ņ',
|
115 |
-
'ņ' => 'ņ',
|
116 |
-
'Ň' => 'Ň',
|
117 |
-
'ň' => 'ň',
|
118 |
-
'Ō' => 'Ō',
|
119 |
-
'ō' => 'ō',
|
120 |
-
'Ŏ' => 'Ŏ',
|
121 |
-
'ŏ' => 'ŏ',
|
122 |
-
'Ő' => 'Ő',
|
123 |
-
'ő' => 'ő',
|
124 |
-
'Ŕ' => 'Ŕ',
|
125 |
-
'ŕ' => 'ŕ',
|
126 |
-
'Ŗ' => 'Ŗ',
|
127 |
-
'ŗ' => 'ŗ',
|
128 |
-
'Ř' => 'Ř',
|
129 |
-
'ř' => 'ř',
|
130 |
-
'Ś' => 'Ś',
|
131 |
-
'ś' => 'ś',
|
132 |
-
'Ŝ' => 'Ŝ',
|
133 |
-
'ŝ' => 'ŝ',
|
134 |
-
'Ş' => 'Ş',
|
135 |
-
'ş' => 'ş',
|
136 |
-
'Š' => 'Š',
|
137 |
-
'š' => 'š',
|
138 |
-
'Ţ' => 'Ţ',
|
139 |
-
'ţ' => 'ţ',
|
140 |
-
'Ť' => 'Ť',
|
141 |
-
'ť' => 'ť',
|
142 |
-
'Ũ' => 'Ũ',
|
143 |
-
'ũ' => 'ũ',
|
144 |
-
'Ū' => 'Ū',
|
145 |
-
'ū' => 'ū',
|
146 |
-
'Ŭ' => 'Ŭ',
|
147 |
-
'ŭ' => 'ŭ',
|
148 |
-
'Ů' => 'Ů',
|
149 |
-
'ů' => 'ů',
|
150 |
-
'Ű' => 'Ű',
|
151 |
-
'ű' => 'ű',
|
152 |
-
'Ų' => 'Ų',
|
153 |
-
'ų' => 'ų',
|
154 |
-
'Ŵ' => 'Ŵ',
|
155 |
-
'ŵ' => 'ŵ',
|
156 |
-
'Ŷ' => 'Ŷ',
|
157 |
-
'ŷ' => 'ŷ',
|
158 |
-
'Ÿ' => 'Ÿ',
|
159 |
-
'Ź' => 'Ź',
|
160 |
-
'ź' => 'ź',
|
161 |
-
'Ż' => 'Ż',
|
162 |
-
'ż' => 'ż',
|
163 |
-
'Ž' => 'Ž',
|
164 |
-
'ž' => 'ž',
|
165 |
-
'Ơ' => 'Ơ',
|
166 |
-
'ơ' => 'ơ',
|
167 |
-
'Ư' => 'Ư',
|
168 |
-
'ư' => 'ư',
|
169 |
-
'Ǎ' => 'Ǎ',
|
170 |
-
'ǎ' => 'ǎ',
|
171 |
-
'Ǐ' => 'Ǐ',
|
172 |
-
'ǐ' => 'ǐ',
|
173 |
-
'Ǒ' => 'Ǒ',
|
174 |
-
'ǒ' => 'ǒ',
|
175 |
-
'Ǔ' => 'Ǔ',
|
176 |
-
'ǔ' => 'ǔ',
|
177 |
-
'Ǖ' => 'Ǖ',
|
178 |
-
'ǖ' => 'ǖ',
|
179 |
-
'Ǘ' => 'Ǘ',
|
180 |
-
'ǘ' => 'ǘ',
|
181 |
-
'Ǚ' => 'Ǚ',
|
182 |
-
'ǚ' => 'ǚ',
|
183 |
-
'Ǜ' => 'Ǜ',
|
184 |
-
'ǜ' => 'ǜ',
|
185 |
-
'Ǟ' => 'Ǟ',
|
186 |
-
'ǟ' => 'ǟ',
|
187 |
-
'Ǡ' => 'Ǡ',
|
188 |
-
'ǡ' => 'ǡ',
|
189 |
-
'Ǣ' => 'Ǣ',
|
190 |
-
'ǣ' => 'ǣ',
|
191 |
-
'Ǧ' => 'Ǧ',
|
192 |
-
'ǧ' => 'ǧ',
|
193 |
-
'Ǩ' => 'Ǩ',
|
194 |
-
'ǩ' => 'ǩ',
|
195 |
-
'Ǫ' => 'Ǫ',
|
196 |
-
'ǫ' => 'ǫ',
|
197 |
-
'Ǭ' => 'Ǭ',
|
198 |
-
'ǭ' => 'ǭ',
|
199 |
-
'Ǯ' => 'Ǯ',
|
200 |
-
'ǯ' => 'ǯ',
|
201 |
-
'ǰ' => 'ǰ',
|
202 |
-
'Ǵ' => 'Ǵ',
|
203 |
-
'ǵ' => 'ǵ',
|
204 |
-
'Ǹ' => 'Ǹ',
|
205 |
-
'ǹ' => 'ǹ',
|
206 |
-
'Ǻ' => 'Ǻ',
|
207 |
-
'ǻ' => 'ǻ',
|
208 |
-
'Ǽ' => 'Ǽ',
|
209 |
-
'ǽ' => 'ǽ',
|
210 |
-
'Ǿ' => 'Ǿ',
|
211 |
-
'ǿ' => 'ǿ',
|
212 |
-
'Ȁ' => 'Ȁ',
|
213 |
-
'ȁ' => 'ȁ',
|
214 |
-
'Ȃ' => 'Ȃ',
|
215 |
-
'ȃ' => 'ȃ',
|
216 |
-
'Ȅ' => 'Ȅ',
|
217 |
-
'ȅ' => 'ȅ',
|
218 |
-
'Ȇ' => 'Ȇ',
|
219 |
-
'ȇ' => 'ȇ',
|
220 |
-
'Ȉ' => 'Ȉ',
|
221 |
-
'ȉ' => 'ȉ',
|
222 |
-
'Ȋ' => 'Ȋ',
|
223 |
-
'ȋ' => 'ȋ',
|
224 |
-
'Ȍ' => 'Ȍ',
|
225 |
-
'ȍ' => 'ȍ',
|
226 |
-
'Ȏ' => 'Ȏ',
|
227 |
-
'ȏ' => 'ȏ',
|
228 |
-
'Ȑ' => 'Ȑ',
|
229 |
-
'ȑ' => 'ȑ',
|
230 |
-
'Ȓ' => 'Ȓ',
|
231 |
-
'ȓ' => 'ȓ',
|
232 |
-
'Ȕ' => 'Ȕ',
|
233 |
-
'ȕ' => 'ȕ',
|
234 |
-
'Ȗ' => 'Ȗ',
|
235 |
-
'ȗ' => 'ȗ',
|
236 |
-
'Ș' => 'Ș',
|
237 |
-
'ș' => 'ș',
|
238 |
-
'Ț' => 'Ț',
|
239 |
-
'ț' => 'ț',
|
240 |
-
'Ȟ' => 'Ȟ',
|
241 |
-
'ȟ' => 'ȟ',
|
242 |
-
'Ȧ' => 'Ȧ',
|
243 |
-
'ȧ' => 'ȧ',
|
244 |
-
'Ȩ' => 'Ȩ',
|
245 |
-
'ȩ' => 'ȩ',
|
246 |
-
'Ȫ' => 'Ȫ',
|
247 |
-
'ȫ' => 'ȫ',
|
248 |
-
'Ȭ' => 'Ȭ',
|
249 |
-
'ȭ' => 'ȭ',
|
250 |
-
'Ȯ' => 'Ȯ',
|
251 |
-
'ȯ' => 'ȯ',
|
252 |
-
'Ȱ' => 'Ȱ',
|
253 |
-
'ȱ' => 'ȱ',
|
254 |
-
'Ȳ' => 'Ȳ',
|
255 |
-
'ȳ' => 'ȳ',
|
256 |
-
'΅' => '΅',
|
257 |
-
'Ά' => 'Ά',
|
258 |
-
'Έ' => 'Έ',
|
259 |
-
'Ή' => 'Ή',
|
260 |
-
'Ί' => 'Ί',
|
261 |
-
'Ό' => 'Ό',
|
262 |
-
'Ύ' => 'Ύ',
|
263 |
-
'Ώ' => 'Ώ',
|
264 |
-
'ΐ' => 'ΐ',
|
265 |
-
'Ϊ' => 'Ϊ',
|
266 |
-
'Ϋ' => 'Ϋ',
|
267 |
-
'ά' => 'ά',
|
268 |
-
'έ' => 'έ',
|
269 |
-
'ή' => 'ή',
|
270 |
-
'ί' => 'ί',
|
271 |
-
'ΰ' => 'ΰ',
|
272 |
-
'ϊ' => 'ϊ',
|
273 |
-
'ϋ' => 'ϋ',
|
274 |
-
'ό' => 'ό',
|
275 |
-
'ύ' => 'ύ',
|
276 |
-
'ώ' => 'ώ',
|
277 |
-
'ϓ' => 'ϓ',
|
278 |
-
'ϔ' => 'ϔ',
|
279 |
-
'Ѐ' => 'Ѐ',
|
280 |
-
'Ё' => 'Ё',
|
281 |
-
'Ѓ' => 'Ѓ',
|
282 |
-
'Ї' => 'Ї',
|
283 |
-
'Ќ' => 'Ќ',
|
284 |
-
'Ѝ' => 'Ѝ',
|
285 |
-
'Ў' => 'Ў',
|
286 |
-
'Й' => 'Й',
|
287 |
-
'й' => 'й',
|
288 |
-
'ѐ' => 'ѐ',
|
289 |
-
'ё' => 'ё',
|
290 |
-
'ѓ' => 'ѓ',
|
291 |
-
'ї' => 'ї',
|
292 |
-
'ќ' => 'ќ',
|
293 |
-
'ѝ' => 'ѝ',
|
294 |
-
'ў' => 'ў',
|
295 |
-
'Ѷ' => 'Ѷ',
|
296 |
-
'ѷ' => 'ѷ',
|
297 |
-
'Ӂ' => 'Ӂ',
|
298 |
-
'ӂ' => 'ӂ',
|
299 |
-
'Ӑ' => 'Ӑ',
|
300 |
-
'ӑ' => 'ӑ',
|
301 |
-
'Ӓ' => 'Ӓ',
|
302 |
-
'ӓ' => 'ӓ',
|
303 |
-
'Ӗ' => 'Ӗ',
|
304 |
-
'ӗ' => 'ӗ',
|
305 |
-
'Ӛ' => 'Ӛ',
|
306 |
-
'ӛ' => 'ӛ',
|
307 |
-
'Ӝ' => 'Ӝ',
|
308 |
-
'ӝ' => 'ӝ',
|
309 |
-
'Ӟ' => 'Ӟ',
|
310 |
-
'ӟ' => 'ӟ',
|
311 |
-
'Ӣ' => 'Ӣ',
|
312 |
-
'ӣ' => 'ӣ',
|
313 |
-
'Ӥ' => 'Ӥ',
|
314 |
-
'ӥ' => 'ӥ',
|
315 |
-
'Ӧ' => 'Ӧ',
|
316 |
-
'ӧ' => 'ӧ',
|
317 |
-
'Ӫ' => 'Ӫ',
|
318 |
-
'ӫ' => 'ӫ',
|
319 |
-
'Ӭ' => 'Ӭ',
|
320 |
-
'ӭ' => 'ӭ',
|
321 |
-
'Ӯ' => 'Ӯ',
|
322 |
-
'ӯ' => 'ӯ',
|
323 |
-
'Ӱ' => 'Ӱ',
|
324 |
-
'ӱ' => 'ӱ',
|
325 |
-
'Ӳ' => 'Ӳ',
|
326 |
-
'ӳ' => 'ӳ',
|
327 |
-
'Ӵ' => 'Ӵ',
|
328 |
-
'ӵ' => 'ӵ',
|
329 |
-
'Ӹ' => 'Ӹ',
|
330 |
-
'ӹ' => 'ӹ',
|
331 |
-
'آ' => 'آ',
|
332 |
-
'أ' => 'أ',
|
333 |
-
'ؤ' => 'ؤ',
|
334 |
-
'إ' => 'إ',
|
335 |
-
'ئ' => 'ئ',
|
336 |
-
'ۀ' => 'ۀ',
|
337 |
-
'ۂ' => 'ۂ',
|
338 |
-
'ۓ' => 'ۓ',
|
339 |
-
'ऩ' => 'ऩ',
|
340 |
-
'ऱ' => 'ऱ',
|
341 |
-
'ऴ' => 'ऴ',
|
342 |
-
'ো' => 'ো',
|
343 |
-
'ৌ' => 'ৌ',
|
344 |
-
'ୈ' => 'ୈ',
|
345 |
-
'ୋ' => 'ୋ',
|
346 |
-
'ୌ' => 'ୌ',
|
347 |
-
'ஔ' => 'ஔ',
|
348 |
-
'ொ' => 'ொ',
|
349 |
-
'ோ' => 'ோ',
|
350 |
-
'ௌ' => 'ௌ',
|
351 |
-
'ై' => 'ై',
|
352 |
-
'ೀ' => 'ೀ',
|
353 |
-
'ೇ' => 'ೇ',
|
354 |
-
'ೈ' => 'ೈ',
|
355 |
-
'ೊ' => 'ೊ',
|
356 |
-
'ೋ' => 'ೋ',
|
357 |
-
'ൊ' => 'ൊ',
|
358 |
-
'ോ' => 'ോ',
|
359 |
-
'ൌ' => 'ൌ',
|
360 |
-
'ේ' => 'ේ',
|
361 |
-
'ො' => 'ො',
|
362 |
-
'ෝ' => 'ෝ',
|
363 |
-
'ෞ' => 'ෞ',
|
364 |
-
'ဦ' => 'ဦ',
|
365 |
-
'ᬆ' => 'ᬆ',
|
366 |
-
'ᬈ' => 'ᬈ',
|
367 |
-
'ᬊ' => 'ᬊ',
|
368 |
-
'ᬌ' => 'ᬌ',
|
369 |
-
'ᬎ' => 'ᬎ',
|
370 |
-
'ᬒ' => 'ᬒ',
|
371 |
-
'ᬻ' => 'ᬻ',
|
372 |
-
'ᬽ' => 'ᬽ',
|
373 |
-
'ᭀ' => 'ᭀ',
|
374 |
-
'ᭁ' => 'ᭁ',
|
375 |
-
'ᭃ' => 'ᭃ',
|
376 |
-
'Ḁ' => 'Ḁ',
|
377 |
-
'ḁ' => 'ḁ',
|
378 |
-
'Ḃ' => 'Ḃ',
|
379 |
-
'ḃ' => 'ḃ',
|
380 |
-
'Ḅ' => 'Ḅ',
|
381 |
-
'ḅ' => 'ḅ',
|
382 |
-
'Ḇ' => 'Ḇ',
|
383 |
-
'ḇ' => 'ḇ',
|
384 |
-
'Ḉ' => 'Ḉ',
|
385 |
-
'ḉ' => 'ḉ',
|
386 |
-
'Ḋ' => 'Ḋ',
|
387 |
-
'ḋ' => 'ḋ',
|
388 |
-
'Ḍ' => 'Ḍ',
|
389 |
-
'ḍ' => 'ḍ',
|
390 |
-
'Ḏ' => 'Ḏ',
|
391 |
-
'ḏ' => 'ḏ',
|
392 |
-
'Ḑ' => 'Ḑ',
|
393 |
-
'ḑ' => 'ḑ',
|
394 |
-
'Ḓ' => 'Ḓ',
|
395 |
-
'ḓ' => 'ḓ',
|
396 |
-
'Ḕ' => 'Ḕ',
|
397 |
-
'ḕ' => 'ḕ',
|
398 |
-
'Ḗ' => 'Ḗ',
|
399 |
-
'ḗ' => 'ḗ',
|
400 |
-
'Ḙ' => 'Ḙ',
|
401 |
-
'ḙ' => 'ḙ',
|
402 |
-
'Ḛ' => 'Ḛ',
|
403 |
-
'ḛ' => 'ḛ',
|
404 |
-
'Ḝ' => 'Ḝ',
|
405 |
-
'ḝ' => 'ḝ',
|
406 |
-
'Ḟ' => 'Ḟ',
|
407 |
-
'ḟ' => 'ḟ',
|
408 |
-
'Ḡ' => 'Ḡ',
|
409 |
-
'ḡ' => 'ḡ',
|
410 |
-
'Ḣ' => 'Ḣ',
|
411 |
-
'ḣ' => 'ḣ',
|
412 |
-
'Ḥ' => 'Ḥ',
|
413 |
-
'ḥ' => 'ḥ',
|
414 |
-
'Ḧ' => 'Ḧ',
|
415 |
-
'ḧ' => 'ḧ',
|
416 |
-
'Ḩ' => 'Ḩ',
|
417 |
-
'ḩ' => 'ḩ',
|
418 |
-
'Ḫ' => 'Ḫ',
|
419 |
-
'ḫ' => 'ḫ',
|
420 |
-
'Ḭ' => 'Ḭ',
|
421 |
-
'ḭ' => 'ḭ',
|
422 |
-
'Ḯ' => 'Ḯ',
|
423 |
-
'ḯ' => 'ḯ',
|
424 |
-
'Ḱ' => 'Ḱ',
|
425 |
-
'ḱ' => 'ḱ',
|
426 |
-
'Ḳ' => 'Ḳ',
|
427 |
-
'ḳ' => 'ḳ',
|
428 |
-
'Ḵ' => 'Ḵ',
|
429 |
-
'ḵ' => 'ḵ',
|
430 |
-
'Ḷ' => 'Ḷ',
|
431 |
-
'ḷ' => 'ḷ',
|
432 |
-
'Ḹ' => 'Ḹ',
|
433 |
-
'ḹ' => 'ḹ',
|
434 |
-
'Ḻ' => 'Ḻ',
|
435 |
-
'ḻ' => 'ḻ',
|
436 |
-
'Ḽ' => 'Ḽ',
|
437 |
-
'ḽ' => 'ḽ',
|
438 |
-
'Ḿ' => 'Ḿ',
|
439 |
-
'ḿ' => 'ḿ',
|
440 |
-
'Ṁ' => 'Ṁ',
|
441 |
-
'ṁ' => 'ṁ',
|
442 |
-
'Ṃ' => 'Ṃ',
|
443 |
-
'ṃ' => 'ṃ',
|
444 |
-
'Ṅ' => 'Ṅ',
|
445 |
-
'ṅ' => 'ṅ',
|
446 |
-
'Ṇ' => 'Ṇ',
|
447 |
-
'ṇ' => 'ṇ',
|
448 |
-
'Ṉ' => 'Ṉ',
|
449 |
-
'ṉ' => 'ṉ',
|
450 |
-
'Ṋ' => 'Ṋ',
|
451 |
-
'ṋ' => 'ṋ',
|
452 |
-
'Ṍ' => 'Ṍ',
|
453 |
-
'ṍ' => 'ṍ',
|
454 |
-
'Ṏ' => 'Ṏ',
|
455 |
-
'ṏ' => 'ṏ',
|
456 |
-
'Ṑ' => 'Ṑ',
|
457 |
-
'ṑ' => 'ṑ',
|
458 |
-
'Ṓ' => 'Ṓ',
|
459 |
-
'ṓ' => 'ṓ',
|
460 |
-
'Ṕ' => 'Ṕ',
|
461 |
-
'ṕ' => 'ṕ',
|
462 |
-
'Ṗ' => 'Ṗ',
|
463 |
-
'ṗ' => 'ṗ',
|
464 |
-
'Ṙ' => 'Ṙ',
|
465 |
-
'ṙ' => 'ṙ',
|
466 |
-
'Ṛ' => 'Ṛ',
|
467 |
-
'ṛ' => 'ṛ',
|
468 |
-
'Ṝ' => 'Ṝ',
|
469 |
-
'ṝ' => 'ṝ',
|
470 |
-
'Ṟ' => 'Ṟ',
|
471 |
-
'ṟ' => 'ṟ',
|
472 |
-
'Ṡ' => 'Ṡ',
|
473 |
-
'ṡ' => 'ṡ',
|
474 |
-
'Ṣ' => 'Ṣ',
|
475 |
-
'ṣ' => 'ṣ',
|
476 |
-
'Ṥ' => 'Ṥ',
|
477 |
-
'ṥ' => 'ṥ',
|
478 |
-
'Ṧ' => 'Ṧ',
|
479 |
-
'ṧ' => 'ṧ',
|
480 |
-
'Ṩ' => 'Ṩ',
|
481 |
-
'ṩ' => 'ṩ',
|
482 |
-
'Ṫ' => 'Ṫ',
|
483 |
-
'ṫ' => 'ṫ',
|
484 |
-
'Ṭ' => 'Ṭ',
|
485 |
-
'ṭ' => 'ṭ',
|
486 |
-
'Ṯ' => 'Ṯ',
|
487 |
-
'ṯ' => 'ṯ',
|
488 |
-
'Ṱ' => 'Ṱ',
|
489 |
-
'ṱ' => 'ṱ',
|
490 |
-
'Ṳ' => 'Ṳ',
|
491 |
-
'ṳ' => 'ṳ',
|
492 |
-
'Ṵ' => 'Ṵ',
|
493 |
-
'ṵ' => 'ṵ',
|
494 |
-
'Ṷ' => 'Ṷ',
|
495 |
-
'ṷ' => 'ṷ',
|
496 |
-
'Ṹ' => 'Ṹ',
|
497 |
-
'ṹ' => 'ṹ',
|
498 |
-
'Ṻ' => 'Ṻ',
|
499 |
-
'ṻ' => 'ṻ',
|
500 |
-
'Ṽ' => 'Ṽ',
|
501 |
-
'ṽ' => 'ṽ',
|
502 |
-
'Ṿ' => 'Ṿ',
|
503 |
-
'ṿ' => 'ṿ',
|
504 |
-
'Ẁ' => 'Ẁ',
|
505 |
-
'ẁ' => 'ẁ',
|
506 |
-
'Ẃ' => 'Ẃ',
|
507 |
-
'ẃ' => 'ẃ',
|
508 |
-
'Ẅ' => 'Ẅ',
|
509 |
-
'ẅ' => 'ẅ',
|
510 |
-
'Ẇ' => 'Ẇ',
|
511 |
-
'ẇ' => 'ẇ',
|
512 |
-
'Ẉ' => 'Ẉ',
|
513 |
-
'ẉ' => 'ẉ',
|
514 |
-
'Ẋ' => 'Ẋ',
|
515 |
-
'ẋ' => 'ẋ',
|
516 |
-
'Ẍ' => 'Ẍ',
|
517 |
-
'ẍ' => 'ẍ',
|
518 |
-
'Ẏ' => 'Ẏ',
|
519 |
-
'ẏ' => 'ẏ',
|
520 |
-
'Ẑ' => 'Ẑ',
|
521 |
-
'ẑ' => 'ẑ',
|
522 |
-
'Ẓ' => 'Ẓ',
|
523 |
-
'ẓ' => 'ẓ',
|
524 |
-
'Ẕ' => 'Ẕ',
|
525 |
-
'ẕ' => 'ẕ',
|
526 |
-
'ẖ' => 'ẖ',
|
527 |
-
'ẗ' => 'ẗ',
|
528 |
-
'ẘ' => 'ẘ',
|
529 |
-
'ẙ' => 'ẙ',
|
530 |
-
'ẛ' => 'ẛ',
|
531 |
-
'Ạ' => 'Ạ',
|
532 |
-
'ạ' => 'ạ',
|
533 |
-
'Ả' => 'Ả',
|
534 |
-
'ả' => 'ả',
|
535 |
-
'Ấ' => 'Ấ',
|
536 |
-
'ấ' => 'ấ',
|
537 |
-
'Ầ' => 'Ầ',
|
538 |
-
'ầ' => 'ầ',
|
539 |
-
'Ẩ' => 'Ẩ',
|
540 |
-
'ẩ' => 'ẩ',
|
541 |
-
'Ẫ' => 'Ẫ',
|
542 |
-
'ẫ' => 'ẫ',
|
543 |
-
'Ậ' => 'Ậ',
|
544 |
-
'ậ' => 'ậ',
|
545 |
-
'Ắ' => 'Ắ',
|
546 |
-
'ắ' => 'ắ',
|
547 |
-
'Ằ' => 'Ằ',
|
548 |
-
'ằ' => 'ằ',
|
549 |
-
'Ẳ' => 'Ẳ',
|
550 |
-
'ẳ' => 'ẳ',
|
551 |
-
'Ẵ' => 'Ẵ',
|
552 |
-
'ẵ' => 'ẵ',
|
553 |
-
'Ặ' => 'Ặ',
|
554 |
-
'ặ' => 'ặ',
|
555 |
-
'Ẹ' => 'Ẹ',
|
556 |
-
'ẹ' => 'ẹ',
|
557 |
-
'Ẻ' => 'Ẻ',
|
558 |
-
'ẻ' => 'ẻ',
|
559 |
-
'Ẽ' => 'Ẽ',
|
560 |
-
'ẽ' => 'ẽ',
|
561 |
-
'Ế' => 'Ế',
|
562 |
-
'ế' => 'ế',
|
563 |
-
'Ề' => 'Ề',
|
564 |
-
'ề' => 'ề',
|
565 |
-
'Ể' => 'Ể',
|
566 |
-
'ể' => 'ể',
|
567 |
-
'Ễ' => 'Ễ',
|
568 |
-
'ễ' => 'ễ',
|
569 |
-
'Ệ' => 'Ệ',
|
570 |
-
'ệ' => 'ệ',
|
571 |
-
'Ỉ' => 'Ỉ',
|
572 |
-
'ỉ' => 'ỉ',
|
573 |
-
'Ị' => 'Ị',
|
574 |
-
'ị' => 'ị',
|
575 |
-
'Ọ' => 'Ọ',
|
576 |
-
'ọ' => 'ọ',
|
577 |
-
'Ỏ' => 'Ỏ',
|
578 |
-
'ỏ' => 'ỏ',
|
579 |
-
'Ố' => 'Ố',
|
580 |
-
'ố' => 'ố',
|
581 |
-
'Ồ' => 'Ồ',
|
582 |
-
'ồ' => 'ồ',
|
583 |
-
'Ổ' => 'Ổ',
|
584 |
-
'ổ' => 'ổ',
|
585 |
-
'Ỗ' => 'Ỗ',
|
586 |
-
'ỗ' => 'ỗ',
|
587 |
-
'Ộ' => 'Ộ',
|
588 |
-
'ộ' => 'ộ',
|
589 |
-
'Ớ' => 'Ớ',
|
590 |
-
'ớ' => 'ớ',
|
591 |
-
'Ờ' => 'Ờ',
|
592 |
-
'ờ' => 'ờ',
|
593 |
-
'Ở' => 'Ở',
|
594 |
-
'ở' => 'ở',
|
595 |
-
'Ỡ' => 'Ỡ',
|
596 |
-
'ỡ' => 'ỡ',
|
597 |
-
'Ợ' => 'Ợ',
|
598 |
-
'ợ' => 'ợ',
|
599 |
-
'Ụ' => 'Ụ',
|
600 |
-
'ụ' => 'ụ',
|
601 |
-
'Ủ' => 'Ủ',
|
602 |
-
'ủ' => 'ủ',
|
603 |
-
'Ứ' => 'Ứ',
|
604 |
-
'ứ' => 'ứ',
|
605 |
-
'Ừ' => 'Ừ',
|
606 |
-
'ừ' => 'ừ',
|
607 |
-
'Ử' => 'Ử',
|
608 |
-
'ử' => 'ử',
|
609 |
-
'Ữ' => 'Ữ',
|
610 |
-
'ữ' => 'ữ',
|
611 |
-
'Ự' => 'Ự',
|
612 |
-
'ự' => 'ự',
|
613 |
-
'Ỳ' => 'Ỳ',
|
614 |
-
'ỳ' => 'ỳ',
|
615 |
-
'Ỵ' => 'Ỵ',
|
616 |
-
'ỵ' => 'ỵ',
|
617 |
-
'Ỷ' => 'Ỷ',
|
618 |
-
'ỷ' => 'ỷ',
|
619 |
-
'Ỹ' => 'Ỹ',
|
620 |
-
'ỹ' => 'ỹ',
|
621 |
-
'ἀ' => 'ἀ',
|
622 |
-
'ἁ' => 'ἁ',
|
623 |
-
'ἂ' => 'ἂ',
|
624 |
-
'ἃ' => 'ἃ',
|
625 |
-
'ἄ' => 'ἄ',
|
626 |
-
'ἅ' => 'ἅ',
|
627 |
-
'ἆ' => 'ἆ',
|
628 |
-
'ἇ' => 'ἇ',
|
629 |
-
'Ἀ' => 'Ἀ',
|
630 |
-
'Ἁ' => 'Ἁ',
|
631 |
-
'Ἂ' => 'Ἂ',
|
632 |
-
'Ἃ' => 'Ἃ',
|
633 |
-
'Ἄ' => 'Ἄ',
|
634 |
-
'Ἅ' => 'Ἅ',
|
635 |
-
'Ἆ' => 'Ἆ',
|
636 |
-
'Ἇ' => 'Ἇ',
|
637 |
-
'ἐ' => 'ἐ',
|
638 |
-
'ἑ' => 'ἑ',
|
639 |
-
'ἒ' => 'ἒ',
|
640 |
-
'ἓ' => 'ἓ',
|
641 |
-
'ἔ' => 'ἔ',
|
642 |
-
'ἕ' => 'ἕ',
|
643 |
-
'Ἐ' => 'Ἐ',
|
644 |
-
'Ἑ' => 'Ἑ',
|
645 |
-
'Ἒ' => 'Ἒ',
|
646 |
-
'Ἓ' => 'Ἓ',
|
647 |
-
'Ἔ' => 'Ἔ',
|
648 |
-
'Ἕ' => 'Ἕ',
|
649 |
-
'ἠ' => 'ἠ',
|
650 |
-
'ἡ' => 'ἡ',
|
651 |
-
'ἢ' => 'ἢ',
|
652 |
-
'ἣ' => 'ἣ',
|
653 |
-
'ἤ' => 'ἤ',
|
654 |
-
'ἥ' => 'ἥ',
|
655 |
-
'ἦ' => 'ἦ',
|
656 |
-
'ἧ' => 'ἧ',
|
657 |
-
'Ἠ' => 'Ἠ',
|
658 |
-
'Ἡ' => 'Ἡ',
|
659 |
-
'Ἢ' => 'Ἢ',
|
660 |
-
'Ἣ' => 'Ἣ',
|
661 |
-
'Ἤ' => 'Ἤ',
|
662 |
-
'Ἥ' => 'Ἥ',
|
663 |
-
'Ἦ' => 'Ἦ',
|
664 |
-
'Ἧ' => 'Ἧ',
|
665 |
-
'ἰ' => 'ἰ',
|
666 |
-
'ἱ' => 'ἱ',
|
667 |
-
'ἲ' => 'ἲ',
|
668 |
-
'ἳ' => 'ἳ',
|
669 |
-
'ἴ' => 'ἴ',
|
670 |
-
'ἵ' => 'ἵ',
|
671 |
-
'ἶ' => 'ἶ',
|
672 |
-
'ἷ' => 'ἷ',
|
673 |
-
'Ἰ' => 'Ἰ',
|
674 |
-
'Ἱ' => 'Ἱ',
|
675 |
-
'Ἲ' => 'Ἲ',
|
676 |
-
'Ἳ' => 'Ἳ',
|
677 |
-
'Ἴ' => 'Ἴ',
|
678 |
-
'Ἵ' => 'Ἵ',
|
679 |
-
'Ἶ' => 'Ἶ',
|
680 |
-
'Ἷ' => 'Ἷ',
|
681 |
-
'ὀ' => 'ὀ',
|
682 |
-
'ὁ' => 'ὁ',
|
683 |
-
'ὂ' => 'ὂ',
|
684 |
-
'ὃ' => 'ὃ',
|
685 |
-
'ὄ' => 'ὄ',
|
686 |
-
'ὅ' => 'ὅ',
|
687 |
-
'Ὀ' => 'Ὀ',
|
688 |
-
'Ὁ' => 'Ὁ',
|
689 |
-
'Ὂ' => 'Ὂ',
|
690 |
-
'Ὃ' => 'Ὃ',
|
691 |
-
'Ὄ' => 'Ὄ',
|
692 |
-
'Ὅ' => 'Ὅ',
|
693 |
-
'ὐ' => 'ὐ',
|
694 |
-
'ὑ' => 'ὑ',
|
695 |
-
'ὒ' => 'ὒ',
|
696 |
-
'ὓ' => 'ὓ',
|
697 |
-
'ὔ' => 'ὔ',
|
698 |
-
'ὕ' => 'ὕ',
|
699 |
-
'ὖ' => 'ὖ',
|
700 |
-
'ὗ' => 'ὗ',
|
701 |
-
'Ὑ' => 'Ὑ',
|
702 |
-
'Ὓ' => 'Ὓ',
|
703 |
-
'Ὕ' => 'Ὕ',
|
704 |
-
'Ὗ' => 'Ὗ',
|
705 |
-
'ὠ' => 'ὠ',
|
706 |
-
'ὡ' => 'ὡ',
|
707 |
-
'ὢ' => 'ὢ',
|
708 |
-
'ὣ' => 'ὣ',
|
709 |
-
'ὤ' => 'ὤ',
|
710 |
-
'ὥ' => 'ὥ',
|
711 |
-
'ὦ' => 'ὦ',
|
712 |
-
'ὧ' => 'ὧ',
|
713 |
-
'Ὠ' => 'Ὠ',
|
714 |
-
'Ὡ' => 'Ὡ',
|
715 |
-
'Ὢ' => 'Ὢ',
|
716 |
-
'Ὣ' => 'Ὣ',
|
717 |
-
'Ὤ' => 'Ὤ',
|
718 |
-
'Ὥ' => 'Ὥ',
|
719 |
-
'Ὦ' => 'Ὦ',
|
720 |
-
'Ὧ' => 'Ὧ',
|
721 |
-
'ὰ' => 'ὰ',
|
722 |
-
'ὲ' => 'ὲ',
|
723 |
-
'ὴ' => 'ὴ',
|
724 |
-
'ὶ' => 'ὶ',
|
725 |
-
'ὸ' => 'ὸ',
|
726 |
-
'ὺ' => 'ὺ',
|
727 |
-
'ὼ' => 'ὼ',
|
728 |
-
'ᾀ' => 'ᾀ',
|
729 |
-
'ᾁ' => 'ᾁ',
|
730 |
-
'ᾂ' => 'ᾂ',
|
731 |
-
'ᾃ' => 'ᾃ',
|
732 |
-
'ᾄ' => 'ᾄ',
|
733 |
-
'ᾅ' => 'ᾅ',
|
734 |
-
'ᾆ' => 'ᾆ',
|
735 |
-
'ᾇ' => 'ᾇ',
|
736 |
-
'ᾈ' => 'ᾈ',
|
737 |
-
'ᾉ' => 'ᾉ',
|
738 |
-
'ᾊ' => 'ᾊ',
|
739 |
-
'ᾋ' => 'ᾋ',
|
740 |
-
'ᾌ' => 'ᾌ',
|
741 |
-
'ᾍ' => 'ᾍ',
|
742 |
-
'ᾎ' => 'ᾎ',
|
743 |
-
'ᾏ' => 'ᾏ',
|
744 |
-
'ᾐ' => 'ᾐ',
|
745 |
-
'ᾑ' => 'ᾑ',
|
746 |
-
'ᾒ' => 'ᾒ',
|
747 |
-
'ᾓ' => 'ᾓ',
|
748 |
-
'ᾔ' => 'ᾔ',
|
749 |
-
'ᾕ' => 'ᾕ',
|
750 |
-
'ᾖ' => 'ᾖ',
|
751 |
-
'ᾗ' => 'ᾗ',
|
752 |
-
'ᾘ' => 'ᾘ',
|
753 |
-
'ᾙ' => 'ᾙ',
|
754 |
-
'ᾚ' => 'ᾚ',
|
755 |
-
'ᾛ' => 'ᾛ',
|
756 |
-
'ᾜ' => 'ᾜ',
|
757 |
-
'ᾝ' => 'ᾝ',
|
758 |
-
'ᾞ' => 'ᾞ',
|
759 |
-
'ᾟ' => 'ᾟ',
|
760 |
-
'ᾠ' => 'ᾠ',
|
761 |
-
'ᾡ' => 'ᾡ',
|
762 |
-
'ᾢ' => 'ᾢ',
|
763 |
-
'ᾣ' => 'ᾣ',
|
764 |
-
'ᾤ' => 'ᾤ',
|
765 |
-
'ᾥ' => 'ᾥ',
|
766 |
-
'ᾦ' => 'ᾦ',
|
767 |
-
'ᾧ' => 'ᾧ',
|
768 |
-
'ᾨ' => 'ᾨ',
|
769 |
-
'ᾩ' => 'ᾩ',
|
770 |
-
'ᾪ' => 'ᾪ',
|
771 |
-
'ᾫ' => 'ᾫ',
|
772 |
-
'ᾬ' => 'ᾬ',
|
773 |
-
'ᾭ' => 'ᾭ',
|
774 |
-
'ᾮ' => 'ᾮ',
|
775 |
-
'ᾯ' => 'ᾯ',
|
776 |
-
'ᾰ' => 'ᾰ',
|
777 |
-
'ᾱ' => 'ᾱ',
|
778 |
-
'ᾲ' => 'ᾲ',
|
779 |
-
'ᾳ' => 'ᾳ',
|
780 |
-
'ᾴ' => 'ᾴ',
|
781 |
-
'ᾶ' => 'ᾶ',
|
782 |
-
'ᾷ' => 'ᾷ',
|
783 |
-
'Ᾰ' => 'Ᾰ',
|
784 |
-
'Ᾱ' => 'Ᾱ',
|
785 |
-
'Ὰ' => 'Ὰ',
|
786 |
-
'ᾼ' => 'ᾼ',
|
787 |
-
'῁' => '῁',
|
788 |
-
'ῂ' => 'ῂ',
|
789 |
-
'ῃ' => 'ῃ',
|
790 |
-
'ῄ' => 'ῄ',
|
791 |
-
'ῆ' => 'ῆ',
|
792 |
-
'ῇ' => 'ῇ',
|
793 |
-
'Ὲ' => 'Ὲ',
|
794 |
-
'Ὴ' => 'Ὴ',
|
795 |
-
'ῌ' => 'ῌ',
|
796 |
-
'῍' => '῍',
|
797 |
-
'῎' => '῎',
|
798 |
-
'῏' => '῏',
|
799 |
-
'ῐ' => 'ῐ',
|
800 |
-
'ῑ' => 'ῑ',
|
801 |
-
'ῒ' => 'ῒ',
|
802 |
-
'ῖ' => 'ῖ',
|
803 |
-
'ῗ' => 'ῗ',
|
804 |
-
'Ῐ' => 'Ῐ',
|
805 |
-
'Ῑ' => 'Ῑ',
|
806 |
-
'Ὶ' => 'Ὶ',
|
807 |
-
'῝' => '῝',
|
808 |
-
'῞' => '῞',
|
809 |
-
'῟' => '῟',
|
810 |
-
'ῠ' => 'ῠ',
|
811 |
-
'ῡ' => 'ῡ',
|
812 |
-
'ῢ' => 'ῢ',
|
813 |
-
'ῤ' => 'ῤ',
|
814 |
-
'ῥ' => 'ῥ',
|
815 |
-
'ῦ' => 'ῦ',
|
816 |
-
'ῧ' => 'ῧ',
|
817 |
-
'Ῠ' => 'Ῠ',
|
818 |
-
'Ῡ' => 'Ῡ',
|
819 |
-
'Ὺ' => 'Ὺ',
|
820 |
-
'Ῥ' => 'Ῥ',
|
821 |
-
'῭' => '῭',
|
822 |
-
'ῲ' => 'ῲ',
|
823 |
-
'ῳ' => 'ῳ',
|
824 |
-
'ῴ' => 'ῴ',
|
825 |
-
'ῶ' => 'ῶ',
|
826 |
-
'ῷ' => 'ῷ',
|
827 |
-
'Ὸ' => 'Ὸ',
|
828 |
-
'Ὼ' => 'Ὼ',
|
829 |
-
'ῼ' => 'ῼ',
|
830 |
-
'↚' => '↚',
|
831 |
-
'↛' => '↛',
|
832 |
-
'↮' => '↮',
|
833 |
-
'⇍' => '⇍',
|
834 |
-
'⇎' => '⇎',
|
835 |
-
'⇏' => '⇏',
|
836 |
-
'∄' => '∄',
|
837 |
-
'∉' => '∉',
|
838 |
-
'∌' => '∌',
|
839 |
-
'∤' => '∤',
|
840 |
-
'∦' => '∦',
|
841 |
-
'≁' => '≁',
|
842 |
-
'≄' => '≄',
|
843 |
-
'≇' => '≇',
|
844 |
-
'≉' => '≉',
|
845 |
-
'≠' => '≠',
|
846 |
-
'≢' => '≢',
|
847 |
-
'≭' => '≭',
|
848 |
-
'≮' => '≮',
|
849 |
-
'≯' => '≯',
|
850 |
-
'≰' => '≰',
|
851 |
-
'≱' => '≱',
|
852 |
-
'≴' => '≴',
|
853 |
-
'≵' => '≵',
|
854 |
-
'≸' => '≸',
|
855 |
-
'≹' => '≹',
|
856 |
-
'⊀' => '⊀',
|
857 |
-
'⊁' => '⊁',
|
858 |
-
'⊄' => '⊄',
|
859 |
-
'⊅' => '⊅',
|
860 |
-
'⊈' => '⊈',
|
861 |
-
'⊉' => '⊉',
|
862 |
-
'⊬' => '⊬',
|
863 |
-
'⊭' => '⊭',
|
864 |
-
'⊮' => '⊮',
|
865 |
-
'⊯' => '⊯',
|
866 |
-
'⋠' => '⋠',
|
867 |
-
'⋡' => '⋡',
|
868 |
-
'⋢' => '⋢',
|
869 |
-
'⋣' => '⋣',
|
870 |
-
'⋪' => '⋪',
|
871 |
-
'⋫' => '⋫',
|
872 |
-
'⋬' => '⋬',
|
873 |
-
'⋭' => '⋭',
|
874 |
-
'が' => 'が',
|
875 |
-
'ぎ' => 'ぎ',
|
876 |
-
'ぐ' => 'ぐ',
|
877 |
-
'げ' => 'げ',
|
878 |
-
'ご' => 'ご',
|
879 |
-
'ざ' => 'ざ',
|
880 |
-
'じ' => 'じ',
|
881 |
-
'ず' => 'ず',
|
882 |
-
'ぜ' => 'ぜ',
|
883 |
-
'ぞ' => 'ぞ',
|
884 |
-
'だ' => 'だ',
|
885 |
-
'ぢ' => 'ぢ',
|
886 |
-
'づ' => 'づ',
|
887 |
-
'で' => 'で',
|
888 |
-
'ど' => 'ど',
|
889 |
-
'ば' => 'ば',
|
890 |
-
'ぱ' => 'ぱ',
|
891 |
-
'び' => 'び',
|
892 |
-
'ぴ' => 'ぴ',
|
893 |
-
'ぶ' => 'ぶ',
|
894 |
-
'ぷ' => 'ぷ',
|
895 |
-
'べ' => 'べ',
|
896 |
-
'ぺ' => 'ぺ',
|
897 |
-
'ぼ' => 'ぼ',
|
898 |
-
'ぽ' => 'ぽ',
|
899 |
-
'ゔ' => 'ゔ',
|
900 |
-
'ゞ' => 'ゞ',
|
901 |
-
'ガ' => 'ガ',
|
902 |
-
'ギ' => 'ギ',
|
903 |
-
'グ' => 'グ',
|
904 |
-
'ゲ' => 'ゲ',
|
905 |
-
'ゴ' => 'ゴ',
|
906 |
-
'ザ' => 'ザ',
|
907 |
-
'ジ' => 'ジ',
|
908 |
-
'ズ' => 'ズ',
|
909 |
-
'ゼ' => 'ゼ',
|
910 |
-
'ゾ' => 'ゾ',
|
911 |
-
'ダ' => 'ダ',
|
912 |
-
'ヂ' => 'ヂ',
|
913 |
-
'ヅ' => 'ヅ',
|
914 |
-
'デ' => 'デ',
|
915 |
-
'ド' => 'ド',
|
916 |
-
'バ' => 'バ',
|
917 |
-
'パ' => 'パ',
|
918 |
-
'ビ' => 'ビ',
|
919 |
-
'ピ' => 'ピ',
|
920 |
-
'ブ' => 'ブ',
|
921 |
-
'プ' => 'プ',
|
922 |
-
'ベ' => 'ベ',
|
923 |
-
'ペ' => 'ペ',
|
924 |
-
'ボ' => 'ボ',
|
925 |
-
'ポ' => 'ポ',
|
926 |
-
'ヴ' => 'ヴ',
|
927 |
-
'ヷ' => 'ヷ',
|
928 |
-
'ヸ' => 'ヸ',
|
929 |
-
'ヹ' => 'ヹ',
|
930 |
-
'ヺ' => 'ヺ',
|
931 |
-
'ヾ' => 'ヾ',
|
932 |
-
'𑂚' => '𑂚',
|
933 |
-
'𑂜' => '𑂜',
|
934 |
-
'𑂫' => '𑂫',
|
935 |
-
'𑄮' => '𑄮',
|
936 |
-
'𑄯' => '𑄯',
|
937 |
-
'𑍋' => '𑍋',
|
938 |
-
'𑍌' => '𑍌',
|
939 |
-
'𑒻' => '𑒻',
|
940 |
-
'𑒼' => '𑒼',
|
941 |
-
'𑒾' => '𑒾',
|
942 |
-
'𑖺' => '𑖺',
|
943 |
-
'𑖻' => '𑖻',
|
944 |
-
'𑤸' => '𑤸',
|
945 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php
DELETED
@@ -1,2065 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
'À' => 'À',
|
5 |
-
'Á' => 'Á',
|
6 |
-
'Â' => 'Â',
|
7 |
-
'Ã' => 'Ã',
|
8 |
-
'Ä' => 'Ä',
|
9 |
-
'Å' => 'Å',
|
10 |
-
'Ç' => 'Ç',
|
11 |
-
'È' => 'È',
|
12 |
-
'É' => 'É',
|
13 |
-
'Ê' => 'Ê',
|
14 |
-
'Ë' => 'Ë',
|
15 |
-
'Ì' => 'Ì',
|
16 |
-
'Í' => 'Í',
|
17 |
-
'Î' => 'Î',
|
18 |
-
'Ï' => 'Ï',
|
19 |
-
'Ñ' => 'Ñ',
|
20 |
-
'Ò' => 'Ò',
|
21 |
-
'Ó' => 'Ó',
|
22 |
-
'Ô' => 'Ô',
|
23 |
-
'Õ' => 'Õ',
|
24 |
-
'Ö' => 'Ö',
|
25 |
-
'Ù' => 'Ù',
|
26 |
-
'Ú' => 'Ú',
|
27 |
-
'Û' => 'Û',
|
28 |
-
'Ü' => 'Ü',
|
29 |
-
'Ý' => 'Ý',
|
30 |
-
'à' => 'à',
|
31 |
-
'á' => 'á',
|
32 |
-
'â' => 'â',
|
33 |
-
'ã' => 'ã',
|
34 |
-
'ä' => 'ä',
|
35 |
-
'å' => 'å',
|
36 |
-
'ç' => 'ç',
|
37 |
-
'è' => 'è',
|
38 |
-
'é' => 'é',
|
39 |
-
'ê' => 'ê',
|
40 |
-
'ë' => 'ë',
|
41 |
-
'ì' => 'ì',
|
42 |
-
'í' => 'í',
|
43 |
-
'î' => 'î',
|
44 |
-
'ï' => 'ï',
|
45 |
-
'ñ' => 'ñ',
|
46 |
-
'ò' => 'ò',
|
47 |
-
'ó' => 'ó',
|
48 |
-
'ô' => 'ô',
|
49 |
-
'õ' => 'õ',
|
50 |
-
'ö' => 'ö',
|
51 |
-
'ù' => 'ù',
|
52 |
-
'ú' => 'ú',
|
53 |
-
'û' => 'û',
|
54 |
-
'ü' => 'ü',
|
55 |
-
'ý' => 'ý',
|
56 |
-
'ÿ' => 'ÿ',
|
57 |
-
'Ā' => 'Ā',
|
58 |
-
'ā' => 'ā',
|
59 |
-
'Ă' => 'Ă',
|
60 |
-
'ă' => 'ă',
|
61 |
-
'Ą' => 'Ą',
|
62 |
-
'ą' => 'ą',
|
63 |
-
'Ć' => 'Ć',
|
64 |
-
'ć' => 'ć',
|
65 |
-
'Ĉ' => 'Ĉ',
|
66 |
-
'ĉ' => 'ĉ',
|
67 |
-
'Ċ' => 'Ċ',
|
68 |
-
'ċ' => 'ċ',
|
69 |
-
'Č' => 'Č',
|
70 |
-
'č' => 'č',
|
71 |
-
'Ď' => 'Ď',
|
72 |
-
'ď' => 'ď',
|
73 |
-
'Ē' => 'Ē',
|
74 |
-
'ē' => 'ē',
|
75 |
-
'Ĕ' => 'Ĕ',
|
76 |
-
'ĕ' => 'ĕ',
|
77 |
-
'Ė' => 'Ė',
|
78 |
-
'ė' => 'ė',
|
79 |
-
'Ę' => 'Ę',
|
80 |
-
'ę' => 'ę',
|
81 |
-
'Ě' => 'Ě',
|
82 |
-
'ě' => 'ě',
|
83 |
-
'Ĝ' => 'Ĝ',
|
84 |
-
'ĝ' => 'ĝ',
|
85 |
-
'Ğ' => 'Ğ',
|
86 |
-
'ğ' => 'ğ',
|
87 |
-
'Ġ' => 'Ġ',
|
88 |
-
'ġ' => 'ġ',
|
89 |
-
'Ģ' => 'Ģ',
|
90 |
-
'ģ' => 'ģ',
|
91 |
-
'Ĥ' => 'Ĥ',
|
92 |
-
'ĥ' => 'ĥ',
|
93 |
-
'Ĩ' => 'Ĩ',
|
94 |
-
'ĩ' => 'ĩ',
|
95 |
-
'Ī' => 'Ī',
|
96 |
-
'ī' => 'ī',
|
97 |
-
'Ĭ' => 'Ĭ',
|
98 |
-
'ĭ' => 'ĭ',
|
99 |
-
'Į' => 'Į',
|
100 |
-
'į' => 'į',
|
101 |
-
'İ' => 'İ',
|
102 |
-
'Ĵ' => 'Ĵ',
|
103 |
-
'ĵ' => 'ĵ',
|
104 |
-
'Ķ' => 'Ķ',
|
105 |
-
'ķ' => 'ķ',
|
106 |
-
'Ĺ' => 'Ĺ',
|
107 |
-
'ĺ' => 'ĺ',
|
108 |
-
'Ļ' => 'Ļ',
|
109 |
-
'ļ' => 'ļ',
|
110 |
-
'Ľ' => 'Ľ',
|
111 |
-
'ľ' => 'ľ',
|
112 |
-
'Ń' => 'Ń',
|
113 |
-
'ń' => 'ń',
|
114 |
-
'Ņ' => 'Ņ',
|
115 |
-
'ņ' => 'ņ',
|
116 |
-
'Ň' => 'Ň',
|
117 |
-
'ň' => 'ň',
|
118 |
-
'Ō' => 'Ō',
|
119 |
-
'ō' => 'ō',
|
120 |
-
'Ŏ' => 'Ŏ',
|
121 |
-
'ŏ' => 'ŏ',
|
122 |
-
'Ő' => 'Ő',
|
123 |
-
'ő' => 'ő',
|
124 |
-
'Ŕ' => 'Ŕ',
|
125 |
-
'ŕ' => 'ŕ',
|
126 |
-
'Ŗ' => 'Ŗ',
|
127 |
-
'ŗ' => 'ŗ',
|
128 |
-
'Ř' => 'Ř',
|
129 |
-
'ř' => 'ř',
|
130 |
-
'Ś' => 'Ś',
|
131 |
-
'ś' => 'ś',
|
132 |
-
'Ŝ' => 'Ŝ',
|
133 |
-
'ŝ' => 'ŝ',
|
134 |
-
'Ş' => 'Ş',
|
135 |
-
'ş' => 'ş',
|
136 |
-
'Š' => 'Š',
|
137 |
-
'š' => 'š',
|
138 |
-
'Ţ' => 'Ţ',
|
139 |
-
'ţ' => 'ţ',
|
140 |
-
'Ť' => 'Ť',
|
141 |
-
'ť' => 'ť',
|
142 |
-
'Ũ' => 'Ũ',
|
143 |
-
'ũ' => 'ũ',
|
144 |
-
'Ū' => 'Ū',
|
145 |
-
'ū' => 'ū',
|
146 |
-
'Ŭ' => 'Ŭ',
|
147 |
-
'ŭ' => 'ŭ',
|
148 |
-
'Ů' => 'Ů',
|
149 |
-
'ů' => 'ů',
|
150 |
-
'Ű' => 'Ű',
|
151 |
-
'ű' => 'ű',
|
152 |
-
'Ų' => 'Ų',
|
153 |
-
'ų' => 'ų',
|
154 |
-
'Ŵ' => 'Ŵ',
|
155 |
-
'ŵ' => 'ŵ',
|
156 |
-
'Ŷ' => 'Ŷ',
|
157 |
-
'ŷ' => 'ŷ',
|
158 |
-
'Ÿ' => 'Ÿ',
|
159 |
-
'Ź' => 'Ź',
|
160 |
-
'ź' => 'ź',
|
161 |
-
'Ż' => 'Ż',
|
162 |
-
'ż' => 'ż',
|
163 |
-
'Ž' => 'Ž',
|
164 |
-
'ž' => 'ž',
|
165 |
-
'Ơ' => 'Ơ',
|
166 |
-
'ơ' => 'ơ',
|
167 |
-
'Ư' => 'Ư',
|
168 |
-
'ư' => 'ư',
|
169 |
-
'Ǎ' => 'Ǎ',
|
170 |
-
'ǎ' => 'ǎ',
|
171 |
-
'Ǐ' => 'Ǐ',
|
172 |
-
'ǐ' => 'ǐ',
|
173 |
-
'Ǒ' => 'Ǒ',
|
174 |
-
'ǒ' => 'ǒ',
|
175 |
-
'Ǔ' => 'Ǔ',
|
176 |
-
'ǔ' => 'ǔ',
|
177 |
-
'Ǖ' => 'Ǖ',
|
178 |
-
'ǖ' => 'ǖ',
|
179 |
-
'Ǘ' => 'Ǘ',
|
180 |
-
'ǘ' => 'ǘ',
|
181 |
-
'Ǚ' => 'Ǚ',
|
182 |
-
'ǚ' => 'ǚ',
|
183 |
-
'Ǜ' => 'Ǜ',
|
184 |
-
'ǜ' => 'ǜ',
|
185 |
-
'Ǟ' => 'Ǟ',
|
186 |
-
'ǟ' => 'ǟ',
|
187 |
-
'Ǡ' => 'Ǡ',
|
188 |
-
'ǡ' => 'ǡ',
|
189 |
-
'Ǣ' => 'Ǣ',
|
190 |
-
'ǣ' => 'ǣ',
|
191 |
-
'Ǧ' => 'Ǧ',
|
192 |
-
'ǧ' => 'ǧ',
|
193 |
-
'Ǩ' => 'Ǩ',
|
194 |
-
'ǩ' => 'ǩ',
|
195 |
-
'Ǫ' => 'Ǫ',
|
196 |
-
'ǫ' => 'ǫ',
|
197 |
-
'Ǭ' => 'Ǭ',
|
198 |
-
'ǭ' => 'ǭ',
|
199 |
-
'Ǯ' => 'Ǯ',
|
200 |
-
'ǯ' => 'ǯ',
|
201 |
-
'ǰ' => 'ǰ',
|
202 |
-
'Ǵ' => 'Ǵ',
|
203 |
-
'ǵ' => 'ǵ',
|
204 |
-
'Ǹ' => 'Ǹ',
|
205 |
-
'ǹ' => 'ǹ',
|
206 |
-
'Ǻ' => 'Ǻ',
|
207 |
-
'ǻ' => 'ǻ',
|
208 |
-
'Ǽ' => 'Ǽ',
|
209 |
-
'ǽ' => 'ǽ',
|
210 |
-
'Ǿ' => 'Ǿ',
|
211 |
-
'ǿ' => 'ǿ',
|
212 |
-
'Ȁ' => 'Ȁ',
|
213 |
-
'ȁ' => 'ȁ',
|
214 |
-
'Ȃ' => 'Ȃ',
|
215 |
-
'ȃ' => 'ȃ',
|
216 |
-
'Ȅ' => 'Ȅ',
|
217 |
-
'ȅ' => 'ȅ',
|
218 |
-
'Ȇ' => 'Ȇ',
|
219 |
-
'ȇ' => 'ȇ',
|
220 |
-
'Ȉ' => 'Ȉ',
|
221 |
-
'ȉ' => 'ȉ',
|
222 |
-
'Ȋ' => 'Ȋ',
|
223 |
-
'ȋ' => 'ȋ',
|
224 |
-
'Ȍ' => 'Ȍ',
|
225 |
-
'ȍ' => 'ȍ',
|
226 |
-
'Ȏ' => 'Ȏ',
|
227 |
-
'ȏ' => 'ȏ',
|
228 |
-
'Ȑ' => 'Ȑ',
|
229 |
-
'ȑ' => 'ȑ',
|
230 |
-
'Ȓ' => 'Ȓ',
|
231 |
-
'ȓ' => 'ȓ',
|
232 |
-
'Ȕ' => 'Ȕ',
|
233 |
-
'ȕ' => 'ȕ',
|
234 |
-
'Ȗ' => 'Ȗ',
|
235 |
-
'ȗ' => 'ȗ',
|
236 |
-
'Ș' => 'Ș',
|
237 |
-
'ș' => 'ș',
|
238 |
-
'Ț' => 'Ț',
|
239 |
-
'ț' => 'ț',
|
240 |
-
'Ȟ' => 'Ȟ',
|
241 |
-
'ȟ' => 'ȟ',
|
242 |
-
'Ȧ' => 'Ȧ',
|
243 |
-
'ȧ' => 'ȧ',
|
244 |
-
'Ȩ' => 'Ȩ',
|
245 |
-
'ȩ' => 'ȩ',
|
246 |
-
'Ȫ' => 'Ȫ',
|
247 |
-
'ȫ' => 'ȫ',
|
248 |
-
'Ȭ' => 'Ȭ',
|
249 |
-
'ȭ' => 'ȭ',
|
250 |
-
'Ȯ' => 'Ȯ',
|
251 |
-
'ȯ' => 'ȯ',
|
252 |
-
'Ȱ' => 'Ȱ',
|
253 |
-
'ȱ' => 'ȱ',
|
254 |
-
'Ȳ' => 'Ȳ',
|
255 |
-
'ȳ' => 'ȳ',
|
256 |
-
'̀' => '̀',
|
257 |
-
'́' => '́',
|
258 |
-
'̓' => '̓',
|
259 |
-
'̈́' => '̈́',
|
260 |
-
'ʹ' => 'ʹ',
|
261 |
-
';' => ';',
|
262 |
-
'΅' => '΅',
|
263 |
-
'Ά' => 'Ά',
|
264 |
-
'·' => '·',
|
265 |
-
'Έ' => 'Έ',
|
266 |
-
'Ή' => 'Ή',
|
267 |
-
'Ί' => 'Ί',
|
268 |
-
'Ό' => 'Ό',
|
269 |
-
'Ύ' => 'Ύ',
|
270 |
-
'Ώ' => 'Ώ',
|
271 |
-
'ΐ' => 'ΐ',
|
272 |
-
'Ϊ' => 'Ϊ',
|
273 |
-
'Ϋ' => 'Ϋ',
|
274 |
-
'ά' => 'ά',
|
275 |
-
'έ' => 'έ',
|
276 |
-
'ή' => 'ή',
|
277 |
-
'ί' => 'ί',
|
278 |
-
'ΰ' => 'ΰ',
|
279 |
-
'ϊ' => 'ϊ',
|
280 |
-
'ϋ' => 'ϋ',
|
281 |
-
'ό' => 'ό',
|
282 |
-
'ύ' => 'ύ',
|
283 |
-
'ώ' => 'ώ',
|
284 |
-
'ϓ' => 'ϓ',
|
285 |
-
'ϔ' => 'ϔ',
|
286 |
-
'Ѐ' => 'Ѐ',
|
287 |
-
'Ё' => 'Ё',
|
288 |
-
'Ѓ' => 'Ѓ',
|
289 |
-
'Ї' => 'Ї',
|
290 |
-
'Ќ' => 'Ќ',
|
291 |
-
'Ѝ' => 'Ѝ',
|
292 |
-
'Ў' => 'Ў',
|
293 |
-
'Й' => 'Й',
|
294 |
-
'й' => 'й',
|
295 |
-
'ѐ' => 'ѐ',
|
296 |
-
'ё' => 'ё',
|
297 |
-
'ѓ' => 'ѓ',
|
298 |
-
'ї' => 'ї',
|
299 |
-
'ќ' => 'ќ',
|
300 |
-
'ѝ' => 'ѝ',
|
301 |
-
'ў' => 'ў',
|
302 |
-
'Ѷ' => 'Ѷ',
|
303 |
-
'ѷ' => 'ѷ',
|
304 |
-
'Ӂ' => 'Ӂ',
|
305 |
-
'ӂ' => 'ӂ',
|
306 |
-
'Ӑ' => 'Ӑ',
|
307 |
-
'ӑ' => 'ӑ',
|
308 |
-
'Ӓ' => 'Ӓ',
|
309 |
-
'ӓ' => 'ӓ',
|
310 |
-
'Ӗ' => 'Ӗ',
|
311 |
-
'ӗ' => 'ӗ',
|
312 |
-
'Ӛ' => 'Ӛ',
|
313 |
-
'ӛ' => 'ӛ',
|
314 |
-
'Ӝ' => 'Ӝ',
|
315 |
-
'ӝ' => 'ӝ',
|
316 |
-
'Ӟ' => 'Ӟ',
|
317 |
-
'ӟ' => 'ӟ',
|
318 |
-
'Ӣ' => 'Ӣ',
|
319 |
-
'ӣ' => 'ӣ',
|
320 |
-
'Ӥ' => 'Ӥ',
|
321 |
-
'ӥ' => 'ӥ',
|
322 |
-
'Ӧ' => 'Ӧ',
|
323 |
-
'ӧ' => 'ӧ',
|
324 |
-
'Ӫ' => 'Ӫ',
|
325 |
-
'ӫ' => 'ӫ',
|
326 |
-
'Ӭ' => 'Ӭ',
|
327 |
-
'ӭ' => 'ӭ',
|
328 |
-
'Ӯ' => 'Ӯ',
|
329 |
-
'ӯ' => 'ӯ',
|
330 |
-
'Ӱ' => 'Ӱ',
|
331 |
-
'ӱ' => 'ӱ',
|
332 |
-
'Ӳ' => 'Ӳ',
|
333 |
-
'ӳ' => 'ӳ',
|
334 |
-
'Ӵ' => 'Ӵ',
|
335 |
-
'ӵ' => 'ӵ',
|
336 |
-
'Ӹ' => 'Ӹ',
|
337 |
-
'ӹ' => 'ӹ',
|
338 |
-
'آ' => 'آ',
|
339 |
-
'أ' => 'أ',
|
340 |
-
'ؤ' => 'ؤ',
|
341 |
-
'إ' => 'إ',
|
342 |
-
'ئ' => 'ئ',
|
343 |
-
'ۀ' => 'ۀ',
|
344 |
-
'ۂ' => 'ۂ',
|
345 |
-
'ۓ' => 'ۓ',
|
346 |
-
'ऩ' => 'ऩ',
|
347 |
-
'ऱ' => 'ऱ',
|
348 |
-
'ऴ' => 'ऴ',
|
349 |
-
'क़' => 'क़',
|
350 |
-
'ख़' => 'ख़',
|
351 |
-
'ग़' => 'ग़',
|
352 |
-
'ज़' => 'ज़',
|
353 |
-
'ड़' => 'ड़',
|
354 |
-
'ढ़' => 'ढ़',
|
355 |
-
'फ़' => 'फ़',
|
356 |
-
'य़' => 'य़',
|
357 |
-
'ো' => 'ো',
|
358 |
-
'ৌ' => 'ৌ',
|
359 |
-
'ড়' => 'ড়',
|
360 |
-
'ঢ়' => 'ঢ়',
|
361 |
-
'য়' => 'য়',
|
362 |
-
'ਲ਼' => 'ਲ਼',
|
363 |
-
'ਸ਼' => 'ਸ਼',
|
364 |
-
'ਖ਼' => 'ਖ਼',
|
365 |
-
'ਗ਼' => 'ਗ਼',
|
366 |
-
'ਜ਼' => 'ਜ਼',
|
367 |
-
'ਫ਼' => 'ਫ਼',
|
368 |
-
'ୈ' => 'ୈ',
|
369 |
-
'ୋ' => 'ୋ',
|
370 |
-
'ୌ' => 'ୌ',
|
371 |
-
'ଡ଼' => 'ଡ଼',
|
372 |
-
'ଢ଼' => 'ଢ଼',
|
373 |
-
'ஔ' => 'ஔ',
|
374 |
-
'ொ' => 'ொ',
|
375 |
-
'ோ' => 'ோ',
|
376 |
-
'ௌ' => 'ௌ',
|
377 |
-
'ై' => 'ై',
|
378 |
-
'ೀ' => 'ೀ',
|
379 |
-
'ೇ' => 'ೇ',
|
380 |
-
'ೈ' => 'ೈ',
|
381 |
-
'ೊ' => 'ೊ',
|
382 |
-
'ೋ' => 'ೋ',
|
383 |
-
'ൊ' => 'ൊ',
|
384 |
-
'ോ' => 'ോ',
|
385 |
-
'ൌ' => 'ൌ',
|
386 |
-
'ේ' => 'ේ',
|
387 |
-
'ො' => 'ො',
|
388 |
-
'ෝ' => 'ෝ',
|
389 |
-
'ෞ' => 'ෞ',
|
390 |
-
'གྷ' => 'གྷ',
|
391 |
-
'ཌྷ' => 'ཌྷ',
|
392 |
-
'དྷ' => 'དྷ',
|
393 |
-
'བྷ' => 'བྷ',
|
394 |
-
'ཛྷ' => 'ཛྷ',
|
395 |
-
'ཀྵ' => 'ཀྵ',
|
396 |
-
'ཱི' => 'ཱི',
|
397 |
-
'ཱུ' => 'ཱུ',
|
398 |
-
'ྲྀ' => 'ྲྀ',
|
399 |
-
'ླྀ' => 'ླྀ',
|
400 |
-
'ཱྀ' => 'ཱྀ',
|
401 |
-
'ྒྷ' => 'ྒྷ',
|
402 |
-
'ྜྷ' => 'ྜྷ',
|
403 |
-
'ྡྷ' => 'ྡྷ',
|
404 |
-
'ྦྷ' => 'ྦྷ',
|
405 |
-
'ྫྷ' => 'ྫྷ',
|
406 |
-
'ྐྵ' => 'ྐྵ',
|
407 |
-
'ဦ' => 'ဦ',
|
408 |
-
'ᬆ' => 'ᬆ',
|
409 |
-
'ᬈ' => 'ᬈ',
|
410 |
-
'ᬊ' => 'ᬊ',
|
411 |
-
'ᬌ' => 'ᬌ',
|
412 |
-
'ᬎ' => 'ᬎ',
|
413 |
-
'ᬒ' => 'ᬒ',
|
414 |
-
'ᬻ' => 'ᬻ',
|
415 |
-
'ᬽ' => 'ᬽ',
|
416 |
-
'ᭀ' => 'ᭀ',
|
417 |
-
'ᭁ' => 'ᭁ',
|
418 |
-
'ᭃ' => 'ᭃ',
|
419 |
-
'Ḁ' => 'Ḁ',
|
420 |
-
'ḁ' => 'ḁ',
|
421 |
-
'Ḃ' => 'Ḃ',
|
422 |
-
'ḃ' => 'ḃ',
|
423 |
-
'Ḅ' => 'Ḅ',
|
424 |
-
'ḅ' => 'ḅ',
|
425 |
-
'Ḇ' => 'Ḇ',
|
426 |
-
'ḇ' => 'ḇ',
|
427 |
-
'Ḉ' => 'Ḉ',
|
428 |
-
'ḉ' => 'ḉ',
|
429 |
-
'Ḋ' => 'Ḋ',
|
430 |
-
'ḋ' => 'ḋ',
|
431 |
-
'Ḍ' => 'Ḍ',
|
432 |
-
'ḍ' => 'ḍ',
|
433 |
-
'Ḏ' => 'Ḏ',
|
434 |
-
'ḏ' => 'ḏ',
|
435 |
-
'Ḑ' => 'Ḑ',
|
436 |
-
'ḑ' => 'ḑ',
|
437 |
-
'Ḓ' => 'Ḓ',
|
438 |
-
'ḓ' => 'ḓ',
|
439 |
-
'Ḕ' => 'Ḕ',
|
440 |
-
'ḕ' => 'ḕ',
|
441 |
-
'Ḗ' => 'Ḗ',
|
442 |
-
'ḗ' => 'ḗ',
|
443 |
-
'Ḙ' => 'Ḙ',
|
444 |
-
'ḙ' => 'ḙ',
|
445 |
-
'Ḛ' => 'Ḛ',
|
446 |
-
'ḛ' => 'ḛ',
|
447 |
-
'Ḝ' => 'Ḝ',
|
448 |
-
'ḝ' => 'ḝ',
|
449 |
-
'Ḟ' => 'Ḟ',
|
450 |
-
'ḟ' => 'ḟ',
|
451 |
-
'Ḡ' => 'Ḡ',
|
452 |
-
'ḡ' => 'ḡ',
|
453 |
-
'Ḣ' => 'Ḣ',
|
454 |
-
'ḣ' => 'ḣ',
|
455 |
-
'Ḥ' => 'Ḥ',
|
456 |
-
'ḥ' => 'ḥ',
|
457 |
-
'Ḧ' => 'Ḧ',
|
458 |
-
'ḧ' => 'ḧ',
|
459 |
-
'Ḩ' => 'Ḩ',
|
460 |
-
'ḩ' => 'ḩ',
|
461 |
-
'Ḫ' => 'Ḫ',
|
462 |
-
'ḫ' => 'ḫ',
|
463 |
-
'Ḭ' => 'Ḭ',
|
464 |
-
'ḭ' => 'ḭ',
|
465 |
-
'Ḯ' => 'Ḯ',
|
466 |
-
'ḯ' => 'ḯ',
|
467 |
-
'Ḱ' => 'Ḱ',
|
468 |
-
'ḱ' => 'ḱ',
|
469 |
-
'Ḳ' => 'Ḳ',
|
470 |
-
'ḳ' => 'ḳ',
|
471 |
-
'Ḵ' => 'Ḵ',
|
472 |
-
'ḵ' => 'ḵ',
|
473 |
-
'Ḷ' => 'Ḷ',
|
474 |
-
'ḷ' => 'ḷ',
|
475 |
-
'Ḹ' => 'Ḹ',
|
476 |
-
'ḹ' => 'ḹ',
|
477 |
-
'Ḻ' => 'Ḻ',
|
478 |
-
'ḻ' => 'ḻ',
|
479 |
-
'Ḽ' => 'Ḽ',
|
480 |
-
'ḽ' => 'ḽ',
|
481 |
-
'Ḿ' => 'Ḿ',
|
482 |
-
'ḿ' => 'ḿ',
|
483 |
-
'Ṁ' => 'Ṁ',
|
484 |
-
'ṁ' => 'ṁ',
|
485 |
-
'Ṃ' => 'Ṃ',
|
486 |
-
'ṃ' => 'ṃ',
|
487 |
-
'Ṅ' => 'Ṅ',
|
488 |
-
'ṅ' => 'ṅ',
|
489 |
-
'Ṇ' => 'Ṇ',
|
490 |
-
'ṇ' => 'ṇ',
|
491 |
-
'Ṉ' => 'Ṉ',
|
492 |
-
'ṉ' => 'ṉ',
|
493 |
-
'Ṋ' => 'Ṋ',
|
494 |
-
'ṋ' => 'ṋ',
|
495 |
-
'Ṍ' => 'Ṍ',
|
496 |
-
'ṍ' => 'ṍ',
|
497 |
-
'Ṏ' => 'Ṏ',
|
498 |
-
'ṏ' => 'ṏ',
|
499 |
-
'Ṑ' => 'Ṑ',
|
500 |
-
'ṑ' => 'ṑ',
|
501 |
-
'Ṓ' => 'Ṓ',
|
502 |
-
'ṓ' => 'ṓ',
|
503 |
-
'Ṕ' => 'Ṕ',
|
504 |
-
'ṕ' => 'ṕ',
|
505 |
-
'Ṗ' => 'Ṗ',
|
506 |
-
'ṗ' => 'ṗ',
|
507 |
-
'Ṙ' => 'Ṙ',
|
508 |
-
'ṙ' => 'ṙ',
|
509 |
-
'Ṛ' => 'Ṛ',
|
510 |
-
'ṛ' => 'ṛ',
|
511 |
-
'Ṝ' => 'Ṝ',
|
512 |
-
'ṝ' => 'ṝ',
|
513 |
-
'Ṟ' => 'Ṟ',
|
514 |
-
'ṟ' => 'ṟ',
|
515 |
-
'Ṡ' => 'Ṡ',
|
516 |
-
'ṡ' => 'ṡ',
|
517 |
-
'Ṣ' => 'Ṣ',
|
518 |
-
'ṣ' => 'ṣ',
|
519 |
-
'Ṥ' => 'Ṥ',
|
520 |
-
'ṥ' => 'ṥ',
|
521 |
-
'Ṧ' => 'Ṧ',
|
522 |
-
'ṧ' => 'ṧ',
|
523 |
-
'Ṩ' => 'Ṩ',
|
524 |
-
'ṩ' => 'ṩ',
|
525 |
-
'Ṫ' => 'Ṫ',
|
526 |
-
'ṫ' => 'ṫ',
|
527 |
-
'Ṭ' => 'Ṭ',
|
528 |
-
'ṭ' => 'ṭ',
|
529 |
-
'Ṯ' => 'Ṯ',
|
530 |
-
'ṯ' => 'ṯ',
|
531 |
-
'Ṱ' => 'Ṱ',
|
532 |
-
'ṱ' => 'ṱ',
|
533 |
-
'Ṳ' => 'Ṳ',
|
534 |
-
'ṳ' => 'ṳ',
|
535 |
-
'Ṵ' => 'Ṵ',
|
536 |
-
'ṵ' => 'ṵ',
|
537 |
-
'Ṷ' => 'Ṷ',
|
538 |
-
'ṷ' => 'ṷ',
|
539 |
-
'Ṹ' => 'Ṹ',
|
540 |
-
'ṹ' => 'ṹ',
|
541 |
-
'Ṻ' => 'Ṻ',
|
542 |
-
'ṻ' => 'ṻ',
|
543 |
-
'Ṽ' => 'Ṽ',
|
544 |
-
'ṽ' => 'ṽ',
|
545 |
-
'Ṿ' => 'Ṿ',
|
546 |
-
'ṿ' => 'ṿ',
|
547 |
-
'Ẁ' => 'Ẁ',
|
548 |
-
'ẁ' => 'ẁ',
|
549 |
-
'Ẃ' => 'Ẃ',
|
550 |
-
'ẃ' => 'ẃ',
|
551 |
-
'Ẅ' => 'Ẅ',
|
552 |
-
'ẅ' => 'ẅ',
|
553 |
-
'Ẇ' => 'Ẇ',
|
554 |
-
'ẇ' => 'ẇ',
|
555 |
-
'Ẉ' => 'Ẉ',
|
556 |
-
'ẉ' => 'ẉ',
|
557 |
-
'Ẋ' => 'Ẋ',
|
558 |
-
'ẋ' => 'ẋ',
|
559 |
-
'Ẍ' => 'Ẍ',
|
560 |
-
'ẍ' => 'ẍ',
|
561 |
-
'Ẏ' => 'Ẏ',
|
562 |
-
'ẏ' => 'ẏ',
|
563 |
-
'Ẑ' => 'Ẑ',
|
564 |
-
'ẑ' => 'ẑ',
|
565 |
-
'Ẓ' => 'Ẓ',
|
566 |
-
'ẓ' => 'ẓ',
|
567 |
-
'Ẕ' => 'Ẕ',
|
568 |
-
'ẕ' => 'ẕ',
|
569 |
-
'ẖ' => 'ẖ',
|
570 |
-
'ẗ' => 'ẗ',
|
571 |
-
'ẘ' => 'ẘ',
|
572 |
-
'ẙ' => 'ẙ',
|
573 |
-
'ẛ' => 'ẛ',
|
574 |
-
'Ạ' => 'Ạ',
|
575 |
-
'ạ' => 'ạ',
|
576 |
-
'Ả' => 'Ả',
|
577 |
-
'ả' => 'ả',
|
578 |
-
'Ấ' => 'Ấ',
|
579 |
-
'ấ' => 'ấ',
|
580 |
-
'Ầ' => 'Ầ',
|
581 |
-
'ầ' => 'ầ',
|
582 |
-
'Ẩ' => 'Ẩ',
|
583 |
-
'ẩ' => 'ẩ',
|
584 |
-
'Ẫ' => 'Ẫ',
|
585 |
-
'ẫ' => 'ẫ',
|
586 |
-
'Ậ' => 'Ậ',
|
587 |
-
'ậ' => 'ậ',
|
588 |
-
'Ắ' => 'Ắ',
|
589 |
-
'ắ' => 'ắ',
|
590 |
-
'Ằ' => 'Ằ',
|
591 |
-
'ằ' => 'ằ',
|
592 |
-
'Ẳ' => 'Ẳ',
|
593 |
-
'ẳ' => 'ẳ',
|
594 |
-
'Ẵ' => 'Ẵ',
|
595 |
-
'ẵ' => 'ẵ',
|
596 |
-
'Ặ' => 'Ặ',
|
597 |
-
'ặ' => 'ặ',
|
598 |
-
'Ẹ' => 'Ẹ',
|
599 |
-
'ẹ' => 'ẹ',
|
600 |
-
'Ẻ' => 'Ẻ',
|
601 |
-
'ẻ' => 'ẻ',
|
602 |
-
'Ẽ' => 'Ẽ',
|
603 |
-
'ẽ' => 'ẽ',
|
604 |
-
'Ế' => 'Ế',
|
605 |
-
'ế' => 'ế',
|
606 |
-
'Ề' => 'Ề',
|
607 |
-
'ề' => 'ề',
|
608 |
-
'Ể' => 'Ể',
|
609 |
-
'ể' => 'ể',
|
610 |
-
'Ễ' => 'Ễ',
|
611 |
-
'ễ' => 'ễ',
|
612 |
-
'Ệ' => 'Ệ',
|
613 |
-
'ệ' => 'ệ',
|
614 |
-
'Ỉ' => 'Ỉ',
|
615 |
-
'ỉ' => 'ỉ',
|
616 |
-
'Ị' => 'Ị',
|
617 |
-
'ị' => 'ị',
|
618 |
-
'Ọ' => 'Ọ',
|
619 |
-
'ọ' => 'ọ',
|
620 |
-
'Ỏ' => 'Ỏ',
|
621 |
-
'ỏ' => 'ỏ',
|
622 |
-
'Ố' => 'Ố',
|
623 |
-
'ố' => 'ố',
|
624 |
-
'Ồ' => 'Ồ',
|
625 |
-
'ồ' => 'ồ',
|
626 |
-
'Ổ' => 'Ổ',
|
627 |
-
'ổ' => 'ổ',
|
628 |
-
'Ỗ' => 'Ỗ',
|
629 |
-
'ỗ' => 'ỗ',
|
630 |
-
'Ộ' => 'Ộ',
|
631 |
-
'ộ' => 'ộ',
|
632 |
-
'Ớ' => 'Ớ',
|
633 |
-
'ớ' => 'ớ',
|
634 |
-
'Ờ' => 'Ờ',
|
635 |
-
'ờ' => 'ờ',
|
636 |
-
'Ở' => 'Ở',
|
637 |
-
'ở' => 'ở',
|
638 |
-
'Ỡ' => 'Ỡ',
|
639 |
-
'ỡ' => 'ỡ',
|
640 |
-
'Ợ' => 'Ợ',
|
641 |
-
'ợ' => 'ợ',
|
642 |
-
'Ụ' => 'Ụ',
|
643 |
-
'ụ' => 'ụ',
|
644 |
-
'Ủ' => 'Ủ',
|
645 |
-
'ủ' => 'ủ',
|
646 |
-
'Ứ' => 'Ứ',
|
647 |
-
'ứ' => 'ứ',
|
648 |
-
'Ừ' => 'Ừ',
|
649 |
-
'ừ' => 'ừ',
|
650 |
-
'Ử' => 'Ử',
|
651 |
-
'ử' => 'ử',
|
652 |
-
'Ữ' => 'Ữ',
|
653 |
-
'ữ' => 'ữ',
|
654 |
-
'Ự' => 'Ự',
|
655 |
-
'ự' => 'ự',
|
656 |
-
'Ỳ' => 'Ỳ',
|
657 |
-
'ỳ' => 'ỳ',
|
658 |
-
'Ỵ' => 'Ỵ',
|
659 |
-
'ỵ' => 'ỵ',
|
660 |
-
'Ỷ' => 'Ỷ',
|
661 |
-
'ỷ' => 'ỷ',
|
662 |
-
'Ỹ' => 'Ỹ',
|
663 |
-
'ỹ' => 'ỹ',
|
664 |
-
'ἀ' => 'ἀ',
|
665 |
-
'ἁ' => 'ἁ',
|
666 |
-
'ἂ' => 'ἂ',
|
667 |
-
'ἃ' => 'ἃ',
|
668 |
-
'ἄ' => 'ἄ',
|
669 |
-
'ἅ' => 'ἅ',
|
670 |
-
'ἆ' => 'ἆ',
|
671 |
-
'ἇ' => 'ἇ',
|
672 |
-
'Ἀ' => 'Ἀ',
|
673 |
-
'Ἁ' => 'Ἁ',
|
674 |
-
'Ἂ' => 'Ἂ',
|
675 |
-
'Ἃ' => 'Ἃ',
|
676 |
-
'Ἄ' => 'Ἄ',
|
677 |
-
'Ἅ' => 'Ἅ',
|
678 |
-
'Ἆ' => 'Ἆ',
|
679 |
-
'Ἇ' => 'Ἇ',
|
680 |
-
'ἐ' => 'ἐ',
|
681 |
-
'ἑ' => 'ἑ',
|
682 |
-
'ἒ' => 'ἒ',
|
683 |
-
'ἓ' => 'ἓ',
|
684 |
-
'ἔ' => 'ἔ',
|
685 |
-
'ἕ' => 'ἕ',
|
686 |
-
'Ἐ' => 'Ἐ',
|
687 |
-
'Ἑ' => 'Ἑ',
|
688 |
-
'Ἒ' => 'Ἒ',
|
689 |
-
'Ἓ' => 'Ἓ',
|
690 |
-
'Ἔ' => 'Ἔ',
|
691 |
-
'Ἕ' => 'Ἕ',
|
692 |
-
'ἠ' => 'ἠ',
|
693 |
-
'ἡ' => 'ἡ',
|
694 |
-
'ἢ' => 'ἢ',
|
695 |
-
'ἣ' => 'ἣ',
|
696 |
-
'ἤ' => 'ἤ',
|
697 |
-
'ἥ' => 'ἥ',
|
698 |
-
'ἦ' => 'ἦ',
|
699 |
-
'ἧ' => 'ἧ',
|
700 |
-
'Ἠ' => 'Ἠ',
|
701 |
-
'Ἡ' => 'Ἡ',
|
702 |
-
'Ἢ' => 'Ἢ',
|
703 |
-
'Ἣ' => 'Ἣ',
|
704 |
-
'Ἤ' => 'Ἤ',
|
705 |
-
'Ἥ' => 'Ἥ',
|
706 |
-
'Ἦ' => 'Ἦ',
|
707 |
-
'Ἧ' => 'Ἧ',
|
708 |
-
'ἰ' => 'ἰ',
|
709 |
-
'ἱ' => 'ἱ',
|
710 |
-
'ἲ' => 'ἲ',
|
711 |
-
'ἳ' => 'ἳ',
|
712 |
-
'ἴ' => 'ἴ',
|
713 |
-
'ἵ' => 'ἵ',
|
714 |
-
'ἶ' => 'ἶ',
|
715 |
-
'ἷ' => 'ἷ',
|
716 |
-
'Ἰ' => 'Ἰ',
|
717 |
-
'Ἱ' => 'Ἱ',
|
718 |
-
'Ἲ' => 'Ἲ',
|
719 |
-
'Ἳ' => 'Ἳ',
|
720 |
-
'Ἴ' => 'Ἴ',
|
721 |
-
'Ἵ' => 'Ἵ',
|
722 |
-
'Ἶ' => 'Ἶ',
|
723 |
-
'Ἷ' => 'Ἷ',
|
724 |
-
'ὀ' => 'ὀ',
|
725 |
-
'ὁ' => 'ὁ',
|
726 |
-
'ὂ' => 'ὂ',
|
727 |
-
'ὃ' => 'ὃ',
|
728 |
-
'ὄ' => 'ὄ',
|
729 |
-
'ὅ' => 'ὅ',
|
730 |
-
'Ὀ' => 'Ὀ',
|
731 |
-
'Ὁ' => 'Ὁ',
|
732 |
-
'Ὂ' => 'Ὂ',
|
733 |
-
'Ὃ' => 'Ὃ',
|
734 |
-
'Ὄ' => 'Ὄ',
|
735 |
-
'Ὅ' => 'Ὅ',
|
736 |
-
'ὐ' => 'ὐ',
|
737 |
-
'ὑ' => 'ὑ',
|
738 |
-
'ὒ' => 'ὒ',
|
739 |
-
'ὓ' => 'ὓ',
|
740 |
-
'ὔ' => 'ὔ',
|
741 |
-
'ὕ' => 'ὕ',
|
742 |
-
'ὖ' => 'ὖ',
|
743 |
-
'ὗ' => 'ὗ',
|
744 |
-
'Ὑ' => 'Ὑ',
|
745 |
-
'Ὓ' => 'Ὓ',
|
746 |
-
'Ὕ' => 'Ὕ',
|
747 |
-
'Ὗ' => 'Ὗ',
|
748 |
-
'ὠ' => 'ὠ',
|
749 |
-
'ὡ' => 'ὡ',
|
750 |
-
'ὢ' => 'ὢ',
|
751 |
-
'ὣ' => 'ὣ',
|
752 |
-
'ὤ' => 'ὤ',
|
753 |
-
'ὥ' => 'ὥ',
|
754 |
-
'ὦ' => 'ὦ',
|
755 |
-
'ὧ' => 'ὧ',
|
756 |
-
'Ὠ' => 'Ὠ',
|
757 |
-
'Ὡ' => 'Ὡ',
|
758 |
-
'Ὢ' => 'Ὢ',
|
759 |
-
'Ὣ' => 'Ὣ',
|
760 |
-
'Ὤ' => 'Ὤ',
|
761 |
-
'Ὥ' => 'Ὥ',
|
762 |
-
'Ὦ' => 'Ὦ',
|
763 |
-
'Ὧ' => 'Ὧ',
|
764 |
-
'ὰ' => 'ὰ',
|
765 |
-
'ά' => 'ά',
|
766 |
-
'ὲ' => 'ὲ',
|
767 |
-
'έ' => 'έ',
|
768 |
-
'ὴ' => 'ὴ',
|
769 |
-
'ή' => 'ή',
|
770 |
-
'ὶ' => 'ὶ',
|
771 |
-
'ί' => 'ί',
|
772 |
-
'ὸ' => 'ὸ',
|
773 |
-
'ό' => 'ό',
|
774 |
-
'ὺ' => 'ὺ',
|
775 |
-
'ύ' => 'ύ',
|
776 |
-
'ὼ' => 'ὼ',
|
777 |
-
'ώ' => 'ώ',
|
778 |
-
'ᾀ' => 'ᾀ',
|
779 |
-
'ᾁ' => 'ᾁ',
|
780 |
-
'ᾂ' => 'ᾂ',
|
781 |
-
'ᾃ' => 'ᾃ',
|
782 |
-
'ᾄ' => 'ᾄ',
|
783 |
-
'ᾅ' => 'ᾅ',
|
784 |
-
'ᾆ' => 'ᾆ',
|
785 |
-
'ᾇ' => 'ᾇ',
|
786 |
-
'ᾈ' => 'ᾈ',
|
787 |
-
'ᾉ' => 'ᾉ',
|
788 |
-
'ᾊ' => 'ᾊ',
|
789 |
-
'ᾋ' => 'ᾋ',
|
790 |
-
'ᾌ' => 'ᾌ',
|
791 |
-
'ᾍ' => 'ᾍ',
|
792 |
-
'ᾎ' => 'ᾎ',
|
793 |
-
'ᾏ' => 'ᾏ',
|
794 |
-
'ᾐ' => 'ᾐ',
|
795 |
-
'ᾑ' => 'ᾑ',
|
796 |
-
'ᾒ' => 'ᾒ',
|
797 |
-
'ᾓ' => 'ᾓ',
|
798 |
-
'ᾔ' => 'ᾔ',
|
799 |
-
'ᾕ' => 'ᾕ',
|
800 |
-
'ᾖ' => 'ᾖ',
|
801 |
-
'ᾗ' => 'ᾗ',
|
802 |
-
'ᾘ' => 'ᾘ',
|
803 |
-
'ᾙ' => 'ᾙ',
|
804 |
-
'ᾚ' => 'ᾚ',
|
805 |
-
'ᾛ' => 'ᾛ',
|
806 |
-
'ᾜ' => 'ᾜ',
|
807 |
-
'ᾝ' => 'ᾝ',
|
808 |
-
'ᾞ' => 'ᾞ',
|
809 |
-
'ᾟ' => 'ᾟ',
|
810 |
-
'ᾠ' => 'ᾠ',
|
811 |
-
'ᾡ' => 'ᾡ',
|
812 |
-
'ᾢ' => 'ᾢ',
|
813 |
-
'ᾣ' => 'ᾣ',
|
814 |
-
'ᾤ' => 'ᾤ',
|
815 |
-
'ᾥ' => 'ᾥ',
|
816 |
-
'ᾦ' => 'ᾦ',
|
817 |
-
'ᾧ' => 'ᾧ',
|
818 |
-
'ᾨ' => 'ᾨ',
|
819 |
-
'ᾩ' => 'ᾩ',
|
820 |
-
'ᾪ' => 'ᾪ',
|
821 |
-
'ᾫ' => 'ᾫ',
|
822 |
-
'ᾬ' => 'ᾬ',
|
823 |
-
'ᾭ' => 'ᾭ',
|
824 |
-
'ᾮ' => 'ᾮ',
|
825 |
-
'ᾯ' => 'ᾯ',
|
826 |
-
'ᾰ' => 'ᾰ',
|
827 |
-
'ᾱ' => 'ᾱ',
|
828 |
-
'ᾲ' => 'ᾲ',
|
829 |
-
'ᾳ' => 'ᾳ',
|
830 |
-
'ᾴ' => 'ᾴ',
|
831 |
-
'ᾶ' => 'ᾶ',
|
832 |
-
'ᾷ' => 'ᾷ',
|
833 |
-
'Ᾰ' => 'Ᾰ',
|
834 |
-
'Ᾱ' => 'Ᾱ',
|
835 |
-
'Ὰ' => 'Ὰ',
|
836 |
-
'Ά' => 'Ά',
|
837 |
-
'ᾼ' => 'ᾼ',
|
838 |
-
'ι' => 'ι',
|
839 |
-
'῁' => '῁',
|
840 |
-
'ῂ' => 'ῂ',
|
841 |
-
'ῃ' => 'ῃ',
|
842 |
-
'ῄ' => 'ῄ',
|
843 |
-
'ῆ' => 'ῆ',
|
844 |
-
'ῇ' => 'ῇ',
|
845 |
-
'Ὲ' => 'Ὲ',
|
846 |
-
'Έ' => 'Έ',
|
847 |
-
'Ὴ' => 'Ὴ',
|
848 |
-
'Ή' => 'Ή',
|
849 |
-
'ῌ' => 'ῌ',
|
850 |
-
'῍' => '῍',
|
851 |
-
'῎' => '῎',
|
852 |
-
'῏' => '῏',
|
853 |
-
'ῐ' => 'ῐ',
|
854 |
-
'ῑ' => 'ῑ',
|
855 |
-
'ῒ' => 'ῒ',
|
856 |
-
'ΐ' => 'ΐ',
|
857 |
-
'ῖ' => 'ῖ',
|
858 |
-
'ῗ' => 'ῗ',
|
859 |
-
'Ῐ' => 'Ῐ',
|
860 |
-
'Ῑ' => 'Ῑ',
|
861 |
-
'Ὶ' => 'Ὶ',
|
862 |
-
'Ί' => 'Ί',
|
863 |
-
'῝' => '῝',
|
864 |
-
'῞' => '῞',
|
865 |
-
'῟' => '῟',
|
866 |
-
'ῠ' => 'ῠ',
|
867 |
-
'ῡ' => 'ῡ',
|
868 |
-
'ῢ' => 'ῢ',
|
869 |
-
'ΰ' => 'ΰ',
|
870 |
-
'ῤ' => 'ῤ',
|
871 |
-
'ῥ' => 'ῥ',
|
872 |
-
'ῦ' => 'ῦ',
|
873 |
-
'ῧ' => 'ῧ',
|
874 |
-
'Ῠ' => 'Ῠ',
|
875 |
-
'Ῡ' => 'Ῡ',
|
876 |
-
'Ὺ' => 'Ὺ',
|
877 |
-
'Ύ' => 'Ύ',
|
878 |
-
'Ῥ' => 'Ῥ',
|
879 |
-
'῭' => '῭',
|
880 |
-
'΅' => '΅',
|
881 |
-
'`' => '`',
|
882 |
-
'ῲ' => 'ῲ',
|
883 |
-
'ῳ' => 'ῳ',
|
884 |
-
'ῴ' => 'ῴ',
|
885 |
-
'ῶ' => 'ῶ',
|
886 |
-
'ῷ' => 'ῷ',
|
887 |
-
'Ὸ' => 'Ὸ',
|
888 |
-
'Ό' => 'Ό',
|
889 |
-
'Ὼ' => 'Ὼ',
|
890 |
-
'Ώ' => 'Ώ',
|
891 |
-
'ῼ' => 'ῼ',
|
892 |
-
'´' => '´',
|
893 |
-
' ' => ' ',
|
894 |
-
' ' => ' ',
|
895 |
-
'Ω' => 'Ω',
|
896 |
-
'K' => 'K',
|
897 |
-
'Å' => 'Å',
|
898 |
-
'↚' => '↚',
|
899 |
-
'↛' => '↛',
|
900 |
-
'↮' => '↮',
|
901 |
-
'⇍' => '⇍',
|
902 |
-
'⇎' => '⇎',
|
903 |
-
'⇏' => '⇏',
|
904 |
-
'∄' => '∄',
|
905 |
-
'∉' => '∉',
|
906 |
-
'∌' => '∌',
|
907 |
-
'∤' => '∤',
|
908 |
-
'∦' => '∦',
|
909 |
-
'≁' => '≁',
|
910 |
-
'≄' => '≄',
|
911 |
-
'≇' => '≇',
|
912 |
-
'≉' => '≉',
|
913 |
-
'≠' => '≠',
|
914 |
-
'≢' => '≢',
|
915 |
-
'≭' => '≭',
|
916 |
-
'≮' => '≮',
|
917 |
-
'≯' => '≯',
|
918 |
-
'≰' => '≰',
|
919 |
-
'≱' => '≱',
|
920 |
-
'≴' => '≴',
|
921 |
-
'≵' => '≵',
|
922 |
-
'≸' => '≸',
|
923 |
-
'≹' => '≹',
|
924 |
-
'⊀' => '⊀',
|
925 |
-
'⊁' => '⊁',
|
926 |
-
'⊄' => '⊄',
|
927 |
-
'⊅' => '⊅',
|
928 |
-
'⊈' => '⊈',
|
929 |
-
'⊉' => '⊉',
|
930 |
-
'⊬' => '⊬',
|
931 |
-
'⊭' => '⊭',
|
932 |
-
'⊮' => '⊮',
|
933 |
-
'⊯' => '⊯',
|
934 |
-
'⋠' => '⋠',
|
935 |
-
'⋡' => '⋡',
|
936 |
-
'⋢' => '⋢',
|
937 |
-
'⋣' => '⋣',
|
938 |
-
'⋪' => '⋪',
|
939 |
-
'⋫' => '⋫',
|
940 |
-
'⋬' => '⋬',
|
941 |
-
'⋭' => '⋭',
|
942 |
-
'〈' => '〈',
|
943 |
-
'〉' => '〉',
|
944 |
-
'⫝̸' => '⫝̸',
|
945 |
-
'が' => 'が',
|
946 |
-
'ぎ' => 'ぎ',
|
947 |
-
'ぐ' => 'ぐ',
|
948 |
-
'げ' => 'げ',
|
949 |
-
'ご' => 'ご',
|
950 |
-
'ざ' => 'ざ',
|
951 |
-
'じ' => 'じ',
|
952 |
-
'ず' => 'ず',
|
953 |
-
'ぜ' => 'ぜ',
|
954 |
-
'ぞ' => 'ぞ',
|
955 |
-
'だ' => 'だ',
|
956 |
-
'ぢ' => 'ぢ',
|
957 |
-
'づ' => 'づ',
|
958 |
-
'で' => 'で',
|
959 |
-
'ど' => 'ど',
|
960 |
-
'ば' => 'ば',
|
961 |
-
'ぱ' => 'ぱ',
|
962 |
-
'び' => 'び',
|
963 |
-
'ぴ' => 'ぴ',
|
964 |
-
'ぶ' => 'ぶ',
|
965 |
-
'ぷ' => 'ぷ',
|
966 |
-
'べ' => 'べ',
|
967 |
-
'ぺ' => 'ぺ',
|
968 |
-
'ぼ' => 'ぼ',
|
969 |
-
'ぽ' => 'ぽ',
|
970 |
-
'ゔ' => 'ゔ',
|
971 |
-
'ゞ' => 'ゞ',
|
972 |
-
'ガ' => 'ガ',
|
973 |
-
'ギ' => 'ギ',
|
974 |
-
'グ' => 'グ',
|
975 |
-
'ゲ' => 'ゲ',
|
976 |
-
'ゴ' => 'ゴ',
|
977 |
-
'ザ' => 'ザ',
|
978 |
-
'ジ' => 'ジ',
|
979 |
-
'ズ' => 'ズ',
|
980 |
-
'ゼ' => 'ゼ',
|
981 |
-
'ゾ' => 'ゾ',
|
982 |
-
'ダ' => 'ダ',
|
983 |
-
'ヂ' => 'ヂ',
|
984 |
-
'ヅ' => 'ヅ',
|
985 |
-
'デ' => 'デ',
|
986 |
-
'ド' => 'ド',
|
987 |
-
'バ' => 'バ',
|
988 |
-
'パ' => 'パ',
|
989 |
-
'ビ' => 'ビ',
|
990 |
-
'ピ' => 'ピ',
|
991 |
-
'ブ' => 'ブ',
|
992 |
-
'プ' => 'プ',
|
993 |
-
'ベ' => 'ベ',
|
994 |
-
'ペ' => 'ペ',
|
995 |
-
'ボ' => 'ボ',
|
996 |
-
'ポ' => 'ポ',
|
997 |
-
'ヴ' => 'ヴ',
|
998 |
-
'ヷ' => 'ヷ',
|
999 |
-
'ヸ' => 'ヸ',
|
1000 |
-
'ヹ' => 'ヹ',
|
1001 |
-
'ヺ' => 'ヺ',
|
1002 |
-
'ヾ' => 'ヾ',
|
1003 |
-
'豈' => '豈',
|
1004 |
-
'更' => '更',
|
1005 |
-
'車' => '車',
|
1006 |
-
'賈' => '賈',
|
1007 |
-
'滑' => '滑',
|
1008 |
-
'串' => '串',
|
1009 |
-
'句' => '句',
|
1010 |
-
'龜' => '龜',
|
1011 |
-
'龜' => '龜',
|
1012 |
-
'契' => '契',
|
1013 |
-
'金' => '金',
|
1014 |
-
'喇' => '喇',
|
1015 |
-
'奈' => '奈',
|
1016 |
-
'懶' => '懶',
|
1017 |
-
'癩' => '癩',
|
1018 |
-
'羅' => '羅',
|
1019 |
-
'蘿' => '蘿',
|
1020 |
-
'螺' => '螺',
|
1021 |
-
'裸' => '裸',
|
1022 |
-
'邏' => '邏',
|
1023 |
-
'樂' => '樂',
|
1024 |
-
'洛' => '洛',
|
1025 |
-
'烙' => '烙',
|
1026 |
-
'珞' => '珞',
|
1027 |
-
'落' => '落',
|
1028 |
-
'酪' => '酪',
|
1029 |
-
'駱' => '駱',
|
1030 |
-
'亂' => '亂',
|
1031 |
-
'卵' => '卵',
|
1032 |
-
'欄' => '欄',
|
1033 |
-
'爛' => '爛',
|
1034 |
-
'蘭' => '蘭',
|
1035 |
-
'鸞' => '鸞',
|
1036 |
-
'嵐' => '嵐',
|
1037 |
-
'濫' => '濫',
|
1038 |
-
'藍' => '藍',
|
1039 |
-
'襤' => '襤',
|
1040 |
-
'拉' => '拉',
|
1041 |
-
'臘' => '臘',
|
1042 |
-
'蠟' => '蠟',
|
1043 |
-
'廊' => '廊',
|
1044 |
-
'朗' => '朗',
|
1045 |
-
'浪' => '浪',
|
1046 |
-
'狼' => '狼',
|
1047 |
-
'郎' => '郎',
|
1048 |
-
'來' => '來',
|
1049 |
-
'冷' => '冷',
|
1050 |
-
'勞' => '勞',
|
1051 |
-
'擄' => '擄',
|
1052 |
-
'櫓' => '櫓',
|
1053 |
-
'爐' => '爐',
|
1054 |
-
'盧' => '盧',
|
1055 |
-
'老' => '老',
|
1056 |
-
'蘆' => '蘆',
|
1057 |
-
'虜' => '虜',
|
1058 |
-
'路' => '路',
|
1059 |
-
'露' => '露',
|
1060 |
-
'魯' => '魯',
|
1061 |
-
'鷺' => '鷺',
|
1062 |
-
'碌' => '碌',
|
1063 |
-
'祿' => '祿',
|
1064 |
-
'綠' => '綠',
|
1065 |
-
'菉' => '菉',
|
1066 |
-
'錄' => '錄',
|
1067 |
-
'鹿' => '鹿',
|
1068 |
-
'論' => '論',
|
1069 |
-
'壟' => '壟',
|
1070 |
-
'弄' => '弄',
|
1071 |
-
'籠' => '籠',
|
1072 |
-
'聾' => '聾',
|
1073 |
-
'牢' => '牢',
|
1074 |
-
'磊' => '磊',
|
1075 |
-
'賂' => '賂',
|
1076 |
-
'雷' => '雷',
|
1077 |
-
'壘' => '壘',
|
1078 |
-
'屢' => '屢',
|
1079 |
-
'樓' => '樓',
|
1080 |
-
'淚' => '淚',
|
1081 |
-
'漏' => '漏',
|
1082 |
-
'累' => '累',
|
1083 |
-
'縷' => '縷',
|
1084 |
-
'陋' => '陋',
|
1085 |
-
'勒' => '勒',
|
1086 |
-
'肋' => '肋',
|
1087 |
-
'凜' => '凜',
|
1088 |
-
'凌' => '凌',
|
1089 |
-
'稜' => '稜',
|
1090 |
-
'綾' => '綾',
|
1091 |
-
'菱' => '菱',
|
1092 |
-
'陵' => '陵',
|
1093 |
-
'讀' => '讀',
|
1094 |
-
'拏' => '拏',
|
1095 |
-
'樂' => '樂',
|
1096 |
-
'諾' => '諾',
|
1097 |
-
'丹' => '丹',
|
1098 |
-
'寧' => '寧',
|
1099 |
-
'怒' => '怒',
|
1100 |
-
'率' => '率',
|
1101 |
-
'異' => '異',
|
1102 |
-
'北' => '北',
|
1103 |
-
'磻' => '磻',
|
1104 |
-
'便' => '便',
|
1105 |
-
'復' => '復',
|
1106 |
-
'不' => '不',
|
1107 |
-
'泌' => '泌',
|
1108 |
-
'數' => '數',
|
1109 |
-
'索' => '索',
|
1110 |
-
'參' => '參',
|
1111 |
-
'塞' => '塞',
|
1112 |
-
'省' => '省',
|
1113 |
-
'葉' => '葉',
|
1114 |
-
'說' => '說',
|
1115 |
-
'殺' => '殺',
|
1116 |
-
'辰' => '辰',
|
1117 |
-
'沈' => '沈',
|
1118 |
-
'拾' => '拾',
|
1119 |
-
'若' => '若',
|
1120 |
-
'掠' => '掠',
|
1121 |
-
'略' => '略',
|
1122 |
-
'亮' => '亮',
|
1123 |
-
'兩' => '兩',
|
1124 |
-
'凉' => '凉',
|
1125 |
-
'梁' => '梁',
|
1126 |
-
'糧' => '糧',
|
1127 |
-
'良' => '良',
|
1128 |
-
'諒' => '諒',
|
1129 |
-
'量' => '量',
|
1130 |
-
'勵' => '勵',
|
1131 |
-
'呂' => '呂',
|
1132 |
-
'女' => '女',
|
1133 |
-
'廬' => '廬',
|
1134 |
-
'旅' => '旅',
|
1135 |
-
'濾' => '濾',
|
1136 |
-
'礪' => '礪',
|
1137 |
-
'閭' => '閭',
|
1138 |
-
'驪' => '驪',
|
1139 |
-
'麗' => '麗',
|
1140 |
-
'黎' => '黎',
|
1141 |
-
'力' => '力',
|
1142 |
-
'曆' => '曆',
|
1143 |
-
'歷' => '歷',
|
1144 |
-
'轢' => '轢',
|
1145 |
-
'年' => '年',
|
1146 |
-
'憐' => '憐',
|
1147 |
-
'戀' => '戀',
|
1148 |
-
'撚' => '撚',
|
1149 |
-
'漣' => '漣',
|
1150 |
-
'煉' => '煉',
|
1151 |
-
'璉' => '璉',
|
1152 |
-
'秊' => '秊',
|
1153 |
-
'練' => '練',
|
1154 |
-
'聯' => '聯',
|
1155 |
-
'輦' => '輦',
|
1156 |
-
'蓮' => '蓮',
|
1157 |
-
'連' => '連',
|
1158 |
-
'鍊' => '鍊',
|
1159 |
-
'列' => '列',
|
1160 |
-
'劣' => '劣',
|
1161 |
-
'咽' => '咽',
|
1162 |
-
'烈' => '烈',
|
1163 |
-
'裂' => '裂',
|
1164 |
-
'說' => '說',
|
1165 |
-
'廉' => '廉',
|
1166 |
-
'念' => '念',
|
1167 |
-
'捻' => '捻',
|
1168 |
-
'殮' => '殮',
|
1169 |
-
'簾' => '簾',
|
1170 |
-
'獵' => '獵',
|
1171 |
-
'令' => '令',
|
1172 |
-
'囹' => '囹',
|
1173 |
-
'寧' => '寧',
|
1174 |
-
'嶺' => '嶺',
|
1175 |
-
'怜' => '怜',
|
1176 |
-
'玲' => '玲',
|
1177 |
-
'瑩' => '瑩',
|
1178 |
-
'羚' => '羚',
|
1179 |
-
'聆' => '聆',
|
1180 |
-
'鈴' => '鈴',
|
1181 |
-
'零' => '零',
|
1182 |
-
'靈' => '靈',
|
1183 |
-
'領' => '領',
|
1184 |
-
'例' => '例',
|
1185 |
-
'禮' => '禮',
|
1186 |
-
'醴' => '醴',
|
1187 |
-
'隸' => '隸',
|
1188 |
-
'惡' => '惡',
|
1189 |
-
'了' => '了',
|
1190 |
-
'僚' => '僚',
|
1191 |
-
'寮' => '寮',
|
1192 |
-
'尿' => '尿',
|
1193 |
-
'料' => '料',
|
1194 |
-
'樂' => '樂',
|
1195 |
-
'燎' => '燎',
|
1196 |
-
'療' => '療',
|
1197 |
-
'蓼' => '蓼',
|
1198 |
-
'遼' => '遼',
|
1199 |
-
'龍' => '龍',
|
1200 |
-
'暈' => '暈',
|
1201 |
-
'阮' => '阮',
|
1202 |
-
'劉' => '劉',
|
1203 |
-
'杻' => '杻',
|
1204 |
-
'柳' => '柳',
|
1205 |
-
'流' => '流',
|
1206 |
-
'溜' => '溜',
|
1207 |
-
'琉' => '琉',
|
1208 |
-
'留' => '留',
|
1209 |
-
'硫' => '硫',
|
1210 |
-
'紐' => '紐',
|
1211 |
-
'類' => '類',
|
1212 |
-
'六' => '六',
|
1213 |
-
'戮' => '戮',
|
1214 |
-
'陸' => '陸',
|
1215 |
-
'倫' => '倫',
|
1216 |
-
'崙' => '崙',
|
1217 |
-
'淪' => '淪',
|
1218 |
-
'輪' => '輪',
|
1219 |
-
'律' => '律',
|
1220 |
-
'慄' => '慄',
|
1221 |
-
'栗' => '栗',
|
1222 |
-
'率' => '率',
|
1223 |
-
'隆' => '隆',
|
1224 |
-
'利' => '利',
|
1225 |
-
'吏' => '吏',
|
1226 |
-
'履' => '履',
|
1227 |
-
'易' => '易',
|
1228 |
-
'李' => '李',
|
1229 |
-
'梨' => '梨',
|
1230 |
-
'泥' => '泥',
|
1231 |
-
'理' => '理',
|
1232 |
-
'痢' => '痢',
|
1233 |
-
'罹' => '罹',
|
1234 |
-
'裏' => '裏',
|
1235 |
-
'裡' => '裡',
|
1236 |
-
'里' => '里',
|
1237 |
-
'離' => '離',
|
1238 |
-
'匿' => '匿',
|
1239 |
-
'溺' => '溺',
|
1240 |
-
'吝' => '吝',
|
1241 |
-
'燐' => '燐',
|
1242 |
-
'璘' => '璘',
|
1243 |
-
'藺' => '藺',
|
1244 |
-
'隣' => '隣',
|
1245 |
-
'鱗' => '鱗',
|
1246 |
-
'麟' => '麟',
|
1247 |
-
'林' => '林',
|
1248 |
-
'淋' => '淋',
|
1249 |
-
'臨' => '臨',
|
1250 |
-
'立' => '立',
|
1251 |
-
'笠' => '笠',
|
1252 |
-
'粒' => '粒',
|
1253 |
-
'狀' => '狀',
|
1254 |
-
'炙' => '炙',
|
1255 |
-
'識' => '識',
|
1256 |
-
'什' => '什',
|
1257 |
-
'茶' => '茶',
|
1258 |
-
'刺' => '刺',
|
1259 |
-
'切' => '切',
|
1260 |
-
'度' => '度',
|
1261 |
-
'拓' => '拓',
|
1262 |
-
'糖' => '糖',
|
1263 |
-
'宅' => '宅',
|
1264 |
-
'洞' => '洞',
|
1265 |
-
'暴' => '暴',
|
1266 |
-
'輻' => '輻',
|
1267 |
-
'行' => '行',
|
1268 |
-
'降' => '降',
|
1269 |
-
'見' => '見',
|
1270 |
-
'廓' => '廓',
|
1271 |
-
'兀' => '兀',
|
1272 |
-
'嗀' => '嗀',
|
1273 |
-
'塚' => '塚',
|
1274 |
-
'晴' => '晴',
|
1275 |
-
'凞' => '凞',
|
1276 |
-
'猪' => '猪',
|
1277 |
-
'益' => '益',
|
1278 |
-
'礼' => '礼',
|
1279 |
-
'神' => '神',
|
1280 |
-
'祥' => '祥',
|
1281 |
-
'福' => '福',
|
1282 |
-
'靖' => '靖',
|
1283 |
-
'精' => '精',
|
1284 |
-
'羽' => '羽',
|
1285 |
-
'蘒' => '蘒',
|
1286 |
-
'諸' => '諸',
|
1287 |
-
'逸' => '逸',
|
1288 |
-
'都' => '都',
|
1289 |
-
'飯' => '飯',
|
1290 |
-
'飼' => '飼',
|
1291 |
-
'館' => '館',
|
1292 |
-
'鶴' => '鶴',
|
1293 |
-
'郞' => '郞',
|
1294 |
-
'隷' => '隷',
|
1295 |
-
'侮' => '侮',
|
1296 |
-
'僧' => '僧',
|
1297 |
-
'免' => '免',
|
1298 |
-
'勉' => '勉',
|
1299 |
-
'勤' => '勤',
|
1300 |
-
'卑' => '卑',
|
1301 |
-
'喝' => '喝',
|
1302 |
-
'嘆' => '嘆',
|
1303 |
-
'器' => '器',
|
1304 |
-
'塀' => '塀',
|
1305 |
-
'墨' => '墨',
|
1306 |
-
'層' => '層',
|
1307 |
-
'屮' => '屮',
|
1308 |
-
'悔' => '悔',
|
1309 |
-
'慨' => '慨',
|
1310 |
-
'憎' => '憎',
|
1311 |
-
'懲' => '懲',
|
1312 |
-
'敏' => '敏',
|
1313 |
-
'既' => '既',
|
1314 |
-
'暑' => '暑',
|
1315 |
-
'梅' => '梅',
|
1316 |
-
'海' => '海',
|
1317 |
-
'渚' => '渚',
|
1318 |
-
'漢' => '漢',
|
1319 |
-
'煮' => '煮',
|
1320 |
-
'爫' => '爫',
|
1321 |
-
'琢' => '琢',
|
1322 |
-
'碑' => '碑',
|
1323 |
-
'社' => '社',
|
1324 |
-
'祉' => '祉',
|
1325 |
-
'祈' => '祈',
|
1326 |
-
'祐' => '祐',
|
1327 |
-
'祖' => '祖',
|
1328 |
-
'祝' => '祝',
|
1329 |
-
'禍' => '禍',
|
1330 |
-
'禎' => '禎',
|
1331 |
-
'穀' => '穀',
|
1332 |
-
'突' => '突',
|
1333 |
-
'節' => '節',
|
1334 |
-
'練' => '練',
|
1335 |
-
'縉' => '縉',
|
1336 |
-
'繁' => '繁',
|
1337 |
-
'署' => '署',
|
1338 |
-
'者' => '者',
|
1339 |
-
'臭' => '臭',
|
1340 |
-
'艹' => '艹',
|
1341 |
-
'艹' => '艹',
|
1342 |
-
'著' => '著',
|
1343 |
-
'褐' => '褐',
|
1344 |
-
'視' => '視',
|
1345 |
-
'謁' => '謁',
|
1346 |
-
'謹' => '謹',
|
1347 |
-
'賓' => '賓',
|
1348 |
-
'贈' => '贈',
|
1349 |
-
'辶' => '辶',
|
1350 |
-
'逸' => '逸',
|
1351 |
-
'難' => '難',
|
1352 |
-
'響' => '響',
|
1353 |
-
'頻' => '頻',
|
1354 |
-
'恵' => '恵',
|
1355 |
-
'𤋮' => '𤋮',
|
1356 |
-
'舘' => '舘',
|
1357 |
-
'並' => '並',
|
1358 |
-
'况' => '况',
|
1359 |
-
'全' => '全',
|
1360 |
-
'侀' => '侀',
|
1361 |
-
'充' => '充',
|
1362 |
-
'冀' => '冀',
|
1363 |
-
'勇' => '勇',
|
1364 |
-
'勺' => '勺',
|
1365 |
-
'喝' => '喝',
|
1366 |
-
'啕' => '啕',
|
1367 |
-
'喙' => '喙',
|
1368 |
-
'嗢' => '嗢',
|
1369 |
-
'塚' => '塚',
|
1370 |
-
'墳' => '墳',
|
1371 |
-
'奄' => '奄',
|
1372 |
-
'奔' => '奔',
|
1373 |
-
'婢' => '婢',
|
1374 |
-
'嬨' => '嬨',
|
1375 |
-
'廒' => '廒',
|
1376 |
-
'廙' => '廙',
|
1377 |
-
'彩' => '彩',
|
1378 |
-
'徭' => '徭',
|
1379 |
-
'惘' => '惘',
|
1380 |
-
'慎' => '慎',
|
1381 |
-
'愈' => '愈',
|
1382 |
-
'憎' => '憎',
|
1383 |
-
'慠' => '慠',
|
1384 |
-
'懲' => '懲',
|
1385 |
-
'戴' => '戴',
|
1386 |
-
'揄' => '揄',
|
1387 |
-
'搜' => '搜',
|
1388 |
-
'摒' => '摒',
|
1389 |
-
'敖' => '敖',
|
1390 |
-
'晴' => '晴',
|
1391 |
-
'朗' => '朗',
|
1392 |
-
'望' => '望',
|
1393 |
-
'杖' => '杖',
|
1394 |
-
'歹' => '歹',
|
1395 |
-
'殺' => '殺',
|
1396 |
-
'流' => '流',
|
1397 |
-
'滛' => '滛',
|
1398 |
-
'滋' => '滋',
|
1399 |
-
'漢' => '漢',
|
1400 |
-
'瀞' => '瀞',
|
1401 |
-
'煮' => '煮',
|
1402 |
-
'瞧' => '瞧',
|
1403 |
-
'爵' => '爵',
|
1404 |
-
'犯' => '犯',
|
1405 |
-
'猪' => '猪',
|
1406 |
-
'瑱' => '瑱',
|
1407 |
-
'甆' => '甆',
|
1408 |
-
'画' => '画',
|
1409 |
-
'瘝' => '瘝',
|
1410 |
-
'瘟' => '瘟',
|
1411 |
-
'益' => '益',
|
1412 |
-
'盛' => '盛',
|
1413 |
-
'直' => '直',
|
1414 |
-
'睊' => '睊',
|
1415 |
-
'着' => '着',
|
1416 |
-
'磌' => '磌',
|
1417 |
-
'窱' => '窱',
|
1418 |
-
'節' => '節',
|
1419 |
-
'类' => '类',
|
1420 |
-
'絛' => '絛',
|
1421 |
-
'練' => '練',
|
1422 |
-
'缾' => '缾',
|
1423 |
-
'者' => '者',
|
1424 |
-
'荒' => '荒',
|
1425 |
-
'華' => '華',
|
1426 |
-
'蝹' => '蝹',
|
1427 |
-
'襁' => '襁',
|
1428 |
-
'覆' => '覆',
|
1429 |
-
'視' => '視',
|
1430 |
-
'調' => '調',
|
1431 |
-
'諸' => '諸',
|
1432 |
-
'請' => '請',
|
1433 |
-
'謁' => '謁',
|
1434 |
-
'諾' => '諾',
|
1435 |
-
'諭' => '諭',
|
1436 |
-
'謹' => '謹',
|
1437 |
-
'變' => '變',
|
1438 |
-
'贈' => '贈',
|
1439 |
-
'輸' => '輸',
|
1440 |
-
'遲' => '遲',
|
1441 |
-
'醙' => '醙',
|
1442 |
-
'鉶' => '鉶',
|
1443 |
-
'陼' => '陼',
|
1444 |
-
'難' => '難',
|
1445 |
-
'靖' => '靖',
|
1446 |
-
'韛' => '韛',
|
1447 |
-
'響' => '響',
|
1448 |
-
'頋' => '頋',
|
1449 |
-
'頻' => '頻',
|
1450 |
-
'鬒' => '鬒',
|
1451 |
-
'龜' => '龜',
|
1452 |
-
'𢡊' => '𢡊',
|
1453 |
-
'𢡄' => '𢡄',
|
1454 |
-
'𣏕' => '𣏕',
|
1455 |
-
'㮝' => '㮝',
|
1456 |
-
'䀘' => '䀘',
|
1457 |
-
'䀹' => '䀹',
|
1458 |
-
'𥉉' => '𥉉',
|
1459 |
-
'𥳐' => '𥳐',
|
1460 |
-
'𧻓' => '𧻓',
|
1461 |
-
'齃' => '齃',
|
1462 |
-
'龎' => '龎',
|
1463 |
-
'יִ' => 'יִ',
|
1464 |
-
'ײַ' => 'ײַ',
|
1465 |
-
'שׁ' => 'שׁ',
|
1466 |
-
'שׂ' => 'שׂ',
|
1467 |
-
'שּׁ' => 'שּׁ',
|
1468 |
-
'שּׂ' => 'שּׂ',
|
1469 |
-
'אַ' => 'אַ',
|
1470 |
-
'אָ' => 'אָ',
|
1471 |
-
'אּ' => 'אּ',
|
1472 |
-
'בּ' => 'בּ',
|
1473 |
-
'גּ' => 'גּ',
|
1474 |
-
'דּ' => 'דּ',
|
1475 |
-
'הּ' => 'הּ',
|
1476 |
-
'וּ' => 'וּ',
|
1477 |
-
'זּ' => 'זּ',
|
1478 |
-
'טּ' => 'טּ',
|
1479 |
-
'יּ' => 'יּ',
|
1480 |
-
'ךּ' => 'ךּ',
|
1481 |
-
'כּ' => 'כּ',
|
1482 |
-
'לּ' => 'לּ',
|
1483 |
-
'מּ' => 'מּ',
|
1484 |
-
'נּ' => 'נּ',
|
1485 |
-
'סּ' => 'סּ',
|
1486 |
-
'ףּ' => 'ףּ',
|
1487 |
-
'פּ' => 'פּ',
|
1488 |
-
'צּ' => 'צּ',
|
1489 |
-
'קּ' => 'קּ',
|
1490 |
-
'רּ' => 'רּ',
|
1491 |
-
'שּ' => 'שּ',
|
1492 |
-
'תּ' => 'תּ',
|
1493 |
-
'וֹ' => 'וֹ',
|
1494 |
-
'בֿ' => 'בֿ',
|
1495 |
-
'כֿ' => 'כֿ',
|
1496 |
-
'פֿ' => 'פֿ',
|
1497 |
-
'𑂚' => '𑂚',
|
1498 |
-
'𑂜' => '𑂜',
|
1499 |
-
'𑂫' => '𑂫',
|
1500 |
-
'𑄮' => '𑄮',
|
1501 |
-
'𑄯' => '𑄯',
|
1502 |
-
'𑍋' => '𑍋',
|
1503 |
-
'𑍌' => '𑍌',
|
1504 |
-
'𑒻' => '𑒻',
|
1505 |
-
'𑒼' => '𑒼',
|
1506 |
-
'𑒾' => '𑒾',
|
1507 |
-
'𑖺' => '𑖺',
|
1508 |
-
'𑖻' => '𑖻',
|
1509 |
-
'𑤸' => '𑤸',
|
1510 |
-
'𝅗𝅥' => '𝅗𝅥',
|
1511 |
-
'𝅘𝅥' => '𝅘𝅥',
|
1512 |
-
'𝅘𝅥𝅮' => '𝅘𝅥𝅮',
|
1513 |
-
'𝅘𝅥𝅯' => '𝅘𝅥𝅯',
|
1514 |
-
'𝅘𝅥𝅰' => '𝅘𝅥𝅰',
|
1515 |
-
'𝅘𝅥𝅱' => '𝅘𝅥𝅱',
|
1516 |
-
'𝅘𝅥𝅲' => '𝅘𝅥𝅲',
|
1517 |
-
'𝆹𝅥' => '𝆹𝅥',
|
1518 |
-
'𝆺𝅥' => '𝆺𝅥',
|
1519 |
-
'𝆹𝅥𝅮' => '𝆹𝅥𝅮',
|
1520 |
-
'𝆺𝅥𝅮' => '𝆺𝅥𝅮',
|
1521 |
-
'𝆹𝅥𝅯' => '𝆹𝅥𝅯',
|
1522 |
-
'𝆺𝅥𝅯' => '𝆺𝅥𝅯',
|
1523 |
-
'丽' => '丽',
|
1524 |
-
'丸' => '丸',
|
1525 |
-
'乁' => '乁',
|
1526 |
-
'𠄢' => '𠄢',
|
1527 |
-
'你' => '你',
|
1528 |
-
'侮' => '侮',
|
1529 |
-
'侻' => '侻',
|
1530 |
-
'倂' => '倂',
|
1531 |
-
'偺' => '偺',
|
1532 |
-
'備' => '備',
|
1533 |
-
'僧' => '僧',
|
1534 |
-
'像' => '像',
|
1535 |
-
'㒞' => '㒞',
|
1536 |
-
'𠘺' => '𠘺',
|
1537 |
-
'免' => '免',
|
1538 |
-
'兔' => '兔',
|
1539 |
-
'兤' => '兤',
|
1540 |
-
'具' => '具',
|
1541 |
-
'𠔜' => '𠔜',
|
1542 |
-
'㒹' => '㒹',
|
1543 |
-
'內' => '內',
|
1544 |
-
'再' => '再',
|
1545 |
-
'𠕋' => '𠕋',
|
1546 |
-
'冗' => '冗',
|
1547 |
-
'冤' => '冤',
|
1548 |
-
'仌' => '仌',
|
1549 |
-
'冬' => '冬',
|
1550 |
-
'况' => '况',
|
1551 |
-
'𩇟' => '𩇟',
|
1552 |
-
'凵' => '凵',
|
1553 |
-
'刃' => '刃',
|
1554 |
-
'㓟' => '㓟',
|
1555 |
-
'刻' => '刻',
|
1556 |
-
'剆' => '剆',
|
1557 |
-
'割' => '割',
|
1558 |
-
'剷' => '剷',
|
1559 |
-
'㔕' => '㔕',
|
1560 |
-
'勇' => '勇',
|
1561 |
-
'勉' => '勉',
|
1562 |
-
'勤' => '勤',
|
1563 |
-
'勺' => '勺',
|
1564 |
-
'包' => '包',
|
1565 |
-
'匆' => '匆',
|
1566 |
-
'北' => '北',
|
1567 |
-
'卉' => '卉',
|
1568 |
-
'卑' => '卑',
|
1569 |
-
'博' => '博',
|
1570 |
-
'即' => '即',
|
1571 |
-
'卽' => '卽',
|
1572 |
-
'卿' => '卿',
|
1573 |
-
'卿' => '卿',
|
1574 |
-
'卿' => '卿',
|
1575 |
-
'𠨬' => '𠨬',
|
1576 |
-
'灰' => '灰',
|
1577 |
-
'及' => '及',
|
1578 |
-
'叟' => '叟',
|
1579 |
-
'𠭣' => '𠭣',
|
1580 |
-
'叫' => '叫',
|
1581 |
-
'叱' => '叱',
|
1582 |
-
'吆' => '吆',
|
1583 |
-
'咞' => '咞',
|
1584 |
-
'吸' => '吸',
|
1585 |
-
'呈' => '呈',
|
1586 |
-
'周' => '周',
|
1587 |
-
'咢' => '咢',
|
1588 |
-
'哶' => '哶',
|
1589 |
-
'唐' => '唐',
|
1590 |
-
'啓' => '啓',
|
1591 |
-
'啣' => '啣',
|
1592 |
-
'善' => '善',
|
1593 |
-
'善' => '善',
|
1594 |
-
'喙' => '喙',
|
1595 |
-
'喫' => '喫',
|
1596 |
-
'喳' => '喳',
|
1597 |
-
'嗂' => '嗂',
|
1598 |
-
'圖' => '圖',
|
1599 |
-
'嘆' => '嘆',
|
1600 |
-
'圗' => '圗',
|
1601 |
-
'噑' => '噑',
|
1602 |
-
'噴' => '噴',
|
1603 |
-
'切' => '切',
|
1604 |
-
'壮' => '壮',
|
1605 |
-
'城' => '城',
|
1606 |
-
'埴' => '埴',
|
1607 |
-
'堍' => '堍',
|
1608 |
-
'型' => '型',
|
1609 |
-
'堲' => '堲',
|
1610 |
-
'報' => '報',
|
1611 |
-
'墬' => '墬',
|
1612 |
-
'𡓤' => '𡓤',
|
1613 |
-
'売' => '売',
|
1614 |
-
'壷' => '壷',
|
1615 |
-
'夆' => '夆',
|
1616 |
-
'多' => '多',
|
1617 |
-
'夢' => '夢',
|
1618 |
-
'奢' => '奢',
|
1619 |
-
'𡚨' => '𡚨',
|
1620 |
-
'𡛪' => '𡛪',
|
1621 |
-
'姬' => '姬',
|
1622 |
-
'娛' => '娛',
|
1623 |
-
'娧' => '娧',
|
1624 |
-
'姘' => '姘',
|
1625 |
-
'婦' => '婦',
|
1626 |
-
'㛮' => '㛮',
|
1627 |
-
'㛼' => '㛼',
|
1628 |
-
'嬈' => '嬈',
|
1629 |
-
'嬾' => '嬾',
|
1630 |
-
'嬾' => '嬾',
|
1631 |
-
'𡧈' => '𡧈',
|
1632 |
-
'寃' => '寃',
|
1633 |
-
'寘' => '寘',
|
1634 |
-
'寧' => '寧',
|
1635 |
-
'寳' => '寳',
|
1636 |
-
'𡬘' => '𡬘',
|
1637 |
-
'寿' => '寿',
|
1638 |
-
'将' => '将',
|
1639 |
-
'当' => '当',
|
1640 |
-
'尢' => '尢',
|
1641 |
-
'㞁' => '㞁',
|
1642 |
-
'屠' => '屠',
|
1643 |
-
'屮' => '屮',
|
1644 |
-
'峀' => '峀',
|
1645 |
-
'岍' => '岍',
|
1646 |
-
'𡷤' => '𡷤',
|
1647 |
-
'嵃' => '嵃',
|
1648 |
-
'𡷦' => '𡷦',
|
1649 |
-
'嵮' => '嵮',
|
1650 |
-
'嵫' => '嵫',
|
1651 |
-
'嵼' => '嵼',
|
1652 |
-
'巡' => '巡',
|
1653 |
-
'巢' => '巢',
|
1654 |
-
'㠯' => '㠯',
|
1655 |
-
'巽' => '巽',
|
1656 |
-
'帨' => '帨',
|
1657 |
-
'帽' => '帽',
|
1658 |
-
'幩' => '幩',
|
1659 |
-
'㡢' => '㡢',
|
1660 |
-
'𢆃' => '𢆃',
|
1661 |
-
'㡼' => '㡼',
|
1662 |
-
'庰' => '庰',
|
1663 |
-
'庳' => '庳',
|
1664 |
-
'庶' => '庶',
|
1665 |
-
'廊' => '廊',
|
1666 |
-
'𪎒' => '𪎒',
|
1667 |
-
'廾' => '廾',
|
1668 |
-
'𢌱' => '𢌱',
|
1669 |
-
'𢌱' => '𢌱',
|
1670 |
-
'舁' => '舁',
|
1671 |
-
'弢' => '弢',
|
1672 |
-
'弢' => '弢',
|
1673 |
-
'㣇' => '㣇',
|
1674 |
-
'𣊸' => '𣊸',
|
1675 |
-
'𦇚' => '𦇚',
|
1676 |
-
'形' => '形',
|
1677 |
-
'彫' => '彫',
|
1678 |
-
'㣣' => '㣣',
|
1679 |
-
'徚' => '徚',
|
1680 |
-
'忍' => '忍',
|
1681 |
-
'志' => '志',
|
1682 |
-
'忹' => '忹',
|
1683 |
-
'悁' => '悁',
|
1684 |
-
'㤺' => '㤺',
|
1685 |
-
'㤜' => '㤜',
|
1686 |
-
'悔' => '悔',
|
1687 |
-
'𢛔' => '𢛔',
|
1688 |
-
'惇' => '惇',
|
1689 |
-
'慈' => '慈',
|
1690 |
-
'慌' => '慌',
|
1691 |
-
'慎' => '慎',
|
1692 |
-
'慌' => '慌',
|
1693 |
-
'慺' => '慺',
|
1694 |
-
'憎' => '憎',
|
1695 |
-
'憲' => '憲',
|
1696 |
-
'憤' => '憤',
|
1697 |
-
'憯' => '憯',
|
1698 |
-
'懞' => '懞',
|
1699 |
-
'懲' => '懲',
|
1700 |
-
'懶' => '懶',
|
1701 |
-
'成' => '成',
|
1702 |
-
'戛' => '戛',
|
1703 |
-
'扝' => '扝',
|
1704 |
-
'抱' => '抱',
|
1705 |
-
'拔' => '拔',
|
1706 |
-
'捐' => '捐',
|
1707 |
-
'𢬌' => '𢬌',
|
1708 |
-
'挽' => '挽',
|
1709 |
-
'拼' => '拼',
|
1710 |
-
'捨' => '捨',
|
1711 |
-
'掃' => '掃',
|
1712 |
-
'揤' => '揤',
|
1713 |
-
'𢯱' => '𢯱',
|
1714 |
-
'搢' => '搢',
|
1715 |
-
'揅' => '揅',
|
1716 |
-
'掩' => '掩',
|
1717 |
-
'㨮' => '㨮',
|
1718 |
-
'摩' => '摩',
|
1719 |
-
'摾' => '摾',
|
1720 |
-
'撝' => '撝',
|
1721 |
-
'摷' => '摷',
|
1722 |
-
'㩬' => '㩬',
|
1723 |
-
'敏' => '敏',
|
1724 |
-
'敬' => '敬',
|
1725 |
-
'𣀊' => '𣀊',
|
1726 |
-
'旣' => '旣',
|
1727 |
-
'書' => '書',
|
1728 |
-
'晉' => '晉',
|
1729 |
-
'㬙' => '㬙',
|
1730 |
-
'暑' => '暑',
|
1731 |
-
'㬈' => '㬈',
|
1732 |
-
'㫤' => '㫤',
|
1733 |
-
'冒' => '冒',
|
1734 |
-
'冕' => '冕',
|
1735 |
-
'最' => '最',
|
1736 |
-
'暜' => '暜',
|
1737 |
-
'肭' => '肭',
|
1738 |
-
'䏙' => '䏙',
|
1739 |
-
'朗' => '朗',
|
1740 |
-
'望' => '望',
|
1741 |
-
'朡' => '朡',
|
1742 |
-
'杞' => '杞',
|
1743 |
-
'杓' => '杓',
|
1744 |
-
'𣏃' => '𣏃',
|
1745 |
-
'㭉' => '㭉',
|
1746 |
-
'柺' => '柺',
|
1747 |
-
'枅' => '枅',
|
1748 |
-
'桒' => '桒',
|
1749 |
-
'梅' => '梅',
|
1750 |
-
'𣑭' => '𣑭',
|
1751 |
-
'梎' => '梎',
|
1752 |
-
'栟' => '栟',
|
1753 |
-
'椔' => '椔',
|
1754 |
-
'㮝' => '㮝',
|
1755 |
-
'楂' => '楂',
|
1756 |
-
'榣' => '榣',
|
1757 |
-
'槪' => '槪',
|
1758 |
-
'檨' => '檨',
|
1759 |
-
'𣚣' => '𣚣',
|
1760 |
-
'櫛' => '櫛',
|
1761 |
-
'㰘' => '㰘',
|
1762 |
-
'次' => '次',
|
1763 |
-
'𣢧' => '𣢧',
|
1764 |
-
'歔' => '歔',
|
1765 |
-
'㱎' => '㱎',
|
1766 |
-
'歲' => '歲',
|
1767 |
-
'殟' => '殟',
|
1768 |
-
'殺' => '殺',
|
1769 |
-
'殻' => '殻',
|
1770 |
-
'𣪍' => '𣪍',
|
1771 |
-
'𡴋' => '𡴋',
|
1772 |
-
'𣫺' => '𣫺',
|
1773 |
-
'汎' => '汎',
|
1774 |
-
'𣲼' => '𣲼',
|
1775 |
-
'沿' => '沿',
|
1776 |
-
'泍' => '泍',
|
1777 |
-
'汧' => '汧',
|
1778 |
-
'洖' => '洖',
|
1779 |
-
'派' => '派',
|
1780 |
-
'海' => '海',
|
1781 |
-
'流' => '流',
|
1782 |
-
'浩' => '浩',
|
1783 |
-
'浸' => '浸',
|
1784 |
-
'涅' => '涅',
|
1785 |
-
'𣴞' => '𣴞',
|
1786 |
-
'洴' => '洴',
|
1787 |
-
'港' => '港',
|
1788 |
-
'湮' => '湮',
|
1789 |
-
'㴳' => '㴳',
|
1790 |
-
'滋' => '滋',
|
1791 |
-
'滇' => '滇',
|
1792 |
-
'𣻑' => '𣻑',
|
1793 |
-
'淹' => '淹',
|
1794 |
-
'潮' => '潮',
|
1795 |
-
'𣽞' => '𣽞',
|
1796 |
-
'𣾎' => '𣾎',
|
1797 |
-
'濆' => '濆',
|
1798 |
-
'瀹' => '瀹',
|
1799 |
-
'瀞' => '瀞',
|
1800 |
-
'瀛' => '瀛',
|
1801 |
-
'㶖' => '㶖',
|
1802 |
-
'灊' => '灊',
|
1803 |
-
'災' => '災',
|
1804 |
-
'灷' => '灷',
|
1805 |
-
'炭' => '炭',
|
1806 |
-
'𠔥' => '𠔥',
|
1807 |
-
'煅' => '煅',
|
1808 |
-
'𤉣' => '𤉣',
|
1809 |
-
'熜' => '熜',
|
1810 |
-
'𤎫' => '𤎫',
|
1811 |
-
'爨' => '爨',
|
1812 |
-
'爵' => '爵',
|
1813 |
-
'牐' => '牐',
|
1814 |
-
'𤘈' => '𤘈',
|
1815 |
-
'犀' => '犀',
|
1816 |
-
'犕' => '犕',
|
1817 |
-
'𤜵' => '𤜵',
|
1818 |
-
'𤠔' => '𤠔',
|
1819 |
-
'獺' => '獺',
|
1820 |
-
'王' => '王',
|
1821 |
-
'㺬' => '㺬',
|
1822 |
-
'玥' => '玥',
|
1823 |
-
'㺸' => '㺸',
|
1824 |
-
'㺸' => '㺸',
|
1825 |
-
'瑇' => '瑇',
|
1826 |
-
'瑜' => '瑜',
|
1827 |
-
'瑱' => '瑱',
|
1828 |
-
'璅' => '璅',
|
1829 |
-
'瓊' => '瓊',
|
1830 |
-
'㼛' => '㼛',
|
1831 |
-
'甤' => '甤',
|
1832 |
-
'𤰶' => '𤰶',
|
1833 |
-
'甾' => '甾',
|
1834 |
-
'𤲒' => '𤲒',
|
1835 |
-
'異' => '異',
|
1836 |
-
'𢆟' => '𢆟',
|
1837 |
-
'瘐' => '瘐',
|
1838 |
-
'𤾡' => '𤾡',
|
1839 |
-
'𤾸' => '𤾸',
|
1840 |
-
'𥁄' => '𥁄',
|
1841 |
-
'㿼' => '㿼',
|
1842 |
-
'䀈' => '䀈',
|
1843 |
-
'直' => '直',
|
1844 |
-
'𥃳' => '𥃳',
|
1845 |
-
'𥃲' => '𥃲',
|
1846 |
-
'𥄙' => '𥄙',
|
1847 |
-
'𥄳' => '𥄳',
|
1848 |
-
'眞' => '眞',
|
1849 |
-
'真' => '真',
|
1850 |
-
'真' => '真',
|
1851 |
-
'睊' => '睊',
|
1852 |
-
'䀹' => '䀹',
|
1853 |
-
'瞋' => '瞋',
|
1854 |
-
'䁆' => '䁆',
|
1855 |
-
'䂖' => '䂖',
|
1856 |
-
'𥐝' => '𥐝',
|
1857 |
-
'硎' => '硎',
|
1858 |
-
'碌' => '碌',
|
1859 |
-
'磌' => '磌',
|
1860 |
-
'䃣' => '䃣',
|
1861 |
-
'𥘦' => '𥘦',
|
1862 |
-
'祖' => '祖',
|
1863 |
-
'𥚚' => '𥚚',
|
1864 |
-
'𥛅' => '𥛅',
|
1865 |
-
'福' => '福',
|
1866 |
-
'秫' => '秫',
|
1867 |
-
'䄯' => '䄯',
|
1868 |
-
'穀' => '穀',
|
1869 |
-
'穊' => '穊',
|
1870 |
-
'穏' => '穏',
|
1871 |
-
'𥥼' => '𥥼',
|
1872 |
-
'𥪧' => '𥪧',
|
1873 |
-
'𥪧' => '𥪧',
|
1874 |
-
'竮' => '竮',
|
1875 |
-
'䈂' => '䈂',
|
1876 |
-
'𥮫' => '𥮫',
|
1877 |
-
'篆' => '篆',
|
1878 |
-
'築' => '築',
|
1879 |
-
'䈧' => '䈧',
|
1880 |
-
'𥲀' => '𥲀',
|
1881 |
-
'糒' => '糒',
|
1882 |
-
'䊠' => '䊠',
|
1883 |
-
'糨' => '糨',
|
1884 |
-
'糣' => '糣',
|
1885 |
-
'紀' => '紀',
|
1886 |
-
'𥾆' => '𥾆',
|
1887 |
-
'絣' => '絣',
|
1888 |
-
'䌁' => '䌁',
|
1889 |
-
'緇' => '緇',
|
1890 |
-
'縂' => '縂',
|
1891 |
-
'繅' => '繅',
|
1892 |
-
'䌴' => '䌴',
|
1893 |
-
'𦈨' => '𦈨',
|
1894 |
-
'𦉇' => '𦉇',
|
1895 |
-
'䍙' => '䍙',
|
1896 |
-
'𦋙' => '𦋙',
|
1897 |
-
'罺' => '罺',
|
1898 |
-
'𦌾' => '𦌾',
|
1899 |
-
'羕' => '羕',
|
1900 |
-
'翺' => '翺',
|
1901 |
-
'者' => '者',
|
1902 |
-
'𦓚' => '𦓚',
|
1903 |
-
'𦔣' => '𦔣',
|
1904 |
-
'聠' => '聠',
|
1905 |
-
'𦖨' => '𦖨',
|
1906 |
-
'聰' => '聰',
|
1907 |
-
'𣍟' => '𣍟',
|
1908 |
-
'䏕' => '䏕',
|
1909 |
-
'育' => '育',
|
1910 |
-
'脃' => '脃',
|
1911 |
-
'䐋' => '䐋',
|
1912 |
-
'脾' => '脾',
|
1913 |
-
'媵' => '媵',
|
1914 |
-
'𦞧' => '𦞧',
|
1915 |
-
'𦞵' => '𦞵',
|
1916 |
-
'𣎓' => '𣎓',
|
1917 |
-
'𣎜' => '𣎜',
|
1918 |
-
'舁' => '舁',
|
1919 |
-
'舄' => '舄',
|
1920 |
-
'辞' => '辞',
|
1921 |
-
'䑫' => '䑫',
|
1922 |
-
'芑' => '芑',
|
1923 |
-
'芋' => '芋',
|
1924 |
-
'芝' => '芝',
|
1925 |
-
'劳' => '劳',
|
1926 |
-
'花' => '花',
|
1927 |
-
'芳' => '芳',
|
1928 |
-
'芽' => '芽',
|
1929 |
-
'苦' => '苦',
|
1930 |
-
'𦬼' => '𦬼',
|
1931 |
-
'若' => '若',
|
1932 |
-
'茝' => '茝',
|
1933 |
-
'荣' => '荣',
|
1934 |
-
'莭' => '莭',
|
1935 |
-
'茣' => '茣',
|
1936 |
-
'莽' => '莽',
|
1937 |
-
'菧' => '菧',
|
1938 |
-
'著' => '著',
|
1939 |
-
'荓' => '荓',
|
1940 |
-
'菊' => '菊',
|
1941 |
-
'菌' => '菌',
|
1942 |
-
'菜' => '菜',
|
1943 |
-
'𦰶' => '𦰶',
|
1944 |
-
'𦵫' => '𦵫',
|
1945 |
-
'𦳕' => '𦳕',
|
1946 |
-
'䔫' => '䔫',
|
1947 |
-
'蓱' => '蓱',
|
1948 |
-
'蓳' => '蓳',
|
1949 |
-
'蔖' => '蔖',
|
1950 |
-
'𧏊' => '𧏊',
|
1951 |
-
'蕤' => '蕤',
|
1952 |
-
'𦼬' => '𦼬',
|
1953 |
-
'䕝' => '䕝',
|
1954 |
-
'䕡' => '䕡',
|
1955 |
-
'𦾱' => '𦾱',
|
1956 |
-
'𧃒' => '𧃒',
|
1957 |
-
'䕫' => '䕫',
|
1958 |
-
'虐' => '虐',
|
1959 |
-
'虜' => '虜',
|
1960 |
-
'虧' => '虧',
|
1961 |
-
'虩' => '虩',
|
1962 |
-
'蚩' => '蚩',
|
1963 |
-
'蚈' => '蚈',
|
1964 |
-
'蜎' => '蜎',
|
1965 |
-
'蛢' => '蛢',
|
1966 |
-
'蝹' => '蝹',
|
1967 |
-
'蜨' => '蜨',
|
1968 |
-
'蝫' => '蝫',
|
1969 |
-
'螆' => '螆',
|
1970 |
-
'䗗' => '䗗',
|
1971 |
-
'蟡' => '蟡',
|
1972 |
-
'蠁' => '蠁',
|
1973 |
-
'䗹' => '䗹',
|
1974 |
-
'衠' => '衠',
|
1975 |
-
'衣' => '衣',
|
1976 |
-
'𧙧' => '𧙧',
|
1977 |
-
'裗' => '裗',
|
1978 |
-
'裞' => '裞',
|
1979 |
-
'䘵' => '䘵',
|
1980 |
-
'裺' => '裺',
|
1981 |
-
'㒻' => '㒻',
|
1982 |
-
'𧢮' => '𧢮',
|
1983 |
-
'𧥦' => '𧥦',
|
1984 |
-
'䚾' => '䚾',
|
1985 |
-
'䛇' => '䛇',
|
1986 |
-
'誠' => '誠',
|
1987 |
-
'諭' => '諭',
|
1988 |
-
'變' => '變',
|
1989 |
-
'豕' => '豕',
|
1990 |
-
'𧲨' => '𧲨',
|
1991 |
-
'貫' => '貫',
|
1992 |
-
'賁' => '賁',
|
1993 |
-
'贛' => '贛',
|
1994 |
-
'起' => '起',
|
1995 |
-
'𧼯' => '𧼯',
|
1996 |
-
'𠠄' => '𠠄',
|
1997 |
-
'跋' => '跋',
|
1998 |
-
'趼' => '趼',
|
1999 |
-
'跰' => '跰',
|
2000 |
-
'𠣞' => '𠣞',
|
2001 |
-
'軔' => '軔',
|
2002 |
-
'輸' => '輸',
|
2003 |
-
'𨗒' => '𨗒',
|
2004 |
-
'𨗭' => '𨗭',
|
2005 |
-
'邔' => '邔',
|
2006 |
-
'郱' => '郱',
|
2007 |
-
'鄑' => '鄑',
|
2008 |
-
'𨜮' => '𨜮',
|
2009 |
-
'鄛' => '鄛',
|
2010 |
-
'鈸' => '鈸',
|
2011 |
-
'鋗' => '鋗',
|
2012 |
-
'鋘' => '鋘',
|
2013 |
-
'鉼' => '鉼',
|
2014 |
-
'鏹' => '鏹',
|
2015 |
-
'鐕' => '鐕',
|
2016 |
-
'𨯺' => '𨯺',
|
2017 |
-
'開' => '開',
|
2018 |
-
'䦕' => '䦕',
|
2019 |
-
'閷' => '閷',
|
2020 |
-
'𨵷' => '𨵷',
|
2021 |
-
'䧦' => '䧦',
|
2022 |
-
'雃' => '雃',
|
2023 |
-
'嶲' => '嶲',
|
2024 |
-
'霣' => '霣',
|
2025 |
-
'𩅅' => '𩅅',
|
2026 |
-
'𩈚' => '𩈚',
|
2027 |
-
'䩮' => '䩮',
|
2028 |
-
'䩶' => '䩶',
|
2029 |
-
'韠' => '韠',
|
2030 |
-
'𩐊' => '𩐊',
|
2031 |
-
'䪲' => '䪲',
|
2032 |
-
'𩒖' => '𩒖',
|
2033 |
-
'頋' => '頋',
|
2034 |
-
'頋' => '頋',
|
2035 |
-
'頩' => '頩',
|
2036 |
-
'𩖶' => '𩖶',
|
2037 |
-
'飢' => '飢',
|
2038 |
-
'䬳' => '䬳',
|
2039 |
-
'餩' => '餩',
|
2040 |
-
'馧' => '馧',
|
2041 |
-
'駂' => '駂',
|
2042 |
-
'駾' => '駾',
|
2043 |
-
'䯎' => '䯎',
|
2044 |
-
'𩬰' => '𩬰',
|
2045 |
-
'鬒' => '鬒',
|
2046 |
-
'鱀' => '鱀',
|
2047 |
-
'鳽' => '鳽',
|
2048 |
-
'䳎' => '䳎',
|
2049 |
-
'䳭' => '䳭',
|
2050 |
-
'鵧' => '鵧',
|
2051 |
-
'𪃎' => '𪃎',
|
2052 |
-
'䳸' => '䳸',
|
2053 |
-
'𪄅' => '𪄅',
|
2054 |
-
'𪈎' => '𪈎',
|
2055 |
-
'𪊑' => '𪊑',
|
2056 |
-
'麻' => '麻',
|
2057 |
-
'䵖' => '䵖',
|
2058 |
-
'黹' => '黹',
|
2059 |
-
'黾' => '黾',
|
2060 |
-
'鼅' => '鼅',
|
2061 |
-
'鼏' => '鼏',
|
2062 |
-
'鼖' => '鼖',
|
2063 |
-
'鼻' => '鼻',
|
2064 |
-
'𪘀' => '𪘀',
|
2065 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php
DELETED
@@ -1,876 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
'̀' => 230,
|
5 |
-
'́' => 230,
|
6 |
-
'̂' => 230,
|
7 |
-
'̃' => 230,
|
8 |
-
'̄' => 230,
|
9 |
-
'̅' => 230,
|
10 |
-
'̆' => 230,
|
11 |
-
'̇' => 230,
|
12 |
-
'̈' => 230,
|
13 |
-
'̉' => 230,
|
14 |
-
'̊' => 230,
|
15 |
-
'̋' => 230,
|
16 |
-
'̌' => 230,
|
17 |
-
'̍' => 230,
|
18 |
-
'̎' => 230,
|
19 |
-
'̏' => 230,
|
20 |
-
'̐' => 230,
|
21 |
-
'̑' => 230,
|
22 |
-
'̒' => 230,
|
23 |
-
'̓' => 230,
|
24 |
-
'̔' => 230,
|
25 |
-
'̕' => 232,
|
26 |
-
'̖' => 220,
|
27 |
-
'̗' => 220,
|
28 |
-
'̘' => 220,
|
29 |
-
'̙' => 220,
|
30 |
-
'̚' => 232,
|
31 |
-
'̛' => 216,
|
32 |
-
'̜' => 220,
|
33 |
-
'̝' => 220,
|
34 |
-
'̞' => 220,
|
35 |
-
'̟' => 220,
|
36 |
-
'̠' => 220,
|
37 |
-
'̡' => 202,
|
38 |
-
'̢' => 202,
|
39 |
-
'̣' => 220,
|
40 |
-
'̤' => 220,
|
41 |
-
'̥' => 220,
|
42 |
-
'̦' => 220,
|
43 |
-
'̧' => 202,
|
44 |
-
'̨' => 202,
|
45 |
-
'̩' => 220,
|
46 |
-
'̪' => 220,
|
47 |
-
'̫' => 220,
|
48 |
-
'̬' => 220,
|
49 |
-
'̭' => 220,
|
50 |
-
'̮' => 220,
|
51 |
-
'̯' => 220,
|
52 |
-
'̰' => 220,
|
53 |
-
'̱' => 220,
|
54 |
-
'̲' => 220,
|
55 |
-
'̳' => 220,
|
56 |
-
'̴' => 1,
|
57 |
-
'̵' => 1,
|
58 |
-
'̶' => 1,
|
59 |
-
'̷' => 1,
|
60 |
-
'̸' => 1,
|
61 |
-
'̹' => 220,
|
62 |
-
'̺' => 220,
|
63 |
-
'̻' => 220,
|
64 |
-
'̼' => 220,
|
65 |
-
'̽' => 230,
|
66 |
-
'̾' => 230,
|
67 |
-
'̿' => 230,
|
68 |
-
'̀' => 230,
|
69 |
-
'́' => 230,
|
70 |
-
'͂' => 230,
|
71 |
-
'̓' => 230,
|
72 |
-
'̈́' => 230,
|
73 |
-
'ͅ' => 240,
|
74 |
-
'͆' => 230,
|
75 |
-
'͇' => 220,
|
76 |
-
'͈' => 220,
|
77 |
-
'͉' => 220,
|
78 |
-
'͊' => 230,
|
79 |
-
'͋' => 230,
|
80 |
-
'͌' => 230,
|
81 |
-
'͍' => 220,
|
82 |
-
'͎' => 220,
|
83 |
-
'͐' => 230,
|
84 |
-
'͑' => 230,
|
85 |
-
'͒' => 230,
|
86 |
-
'͓' => 220,
|
87 |
-
'͔' => 220,
|
88 |
-
'͕' => 220,
|
89 |
-
'͖' => 220,
|
90 |
-
'͗' => 230,
|
91 |
-
'͘' => 232,
|
92 |
-
'͙' => 220,
|
93 |
-
'͚' => 220,
|
94 |
-
'͛' => 230,
|
95 |
-
'͜' => 233,
|
96 |
-
'͝' => 234,
|
97 |
-
'͞' => 234,
|
98 |
-
'͟' => 233,
|
99 |
-
'͠' => 234,
|
100 |
-
'͡' => 234,
|
101 |
-
'͢' => 233,
|
102 |
-
'ͣ' => 230,
|
103 |
-
'ͤ' => 230,
|
104 |
-
'ͥ' => 230,
|
105 |
-
'ͦ' => 230,
|
106 |
-
'ͧ' => 230,
|
107 |
-
'ͨ' => 230,
|
108 |
-
'ͩ' => 230,
|
109 |
-
'ͪ' => 230,
|
110 |
-
'ͫ' => 230,
|
111 |
-
'ͬ' => 230,
|
112 |
-
'ͭ' => 230,
|
113 |
-
'ͮ' => 230,
|
114 |
-
'ͯ' => 230,
|
115 |
-
'҃' => 230,
|
116 |
-
'҄' => 230,
|
117 |
-
'҅' => 230,
|
118 |
-
'҆' => 230,
|
119 |
-
'҇' => 230,
|
120 |
-
'֑' => 220,
|
121 |
-
'֒' => 230,
|
122 |
-
'֓' => 230,
|
123 |
-
'֔' => 230,
|
124 |
-
'֕' => 230,
|
125 |
-
'֖' => 220,
|
126 |
-
'֗' => 230,
|
127 |
-
'֘' => 230,
|
128 |
-
'֙' => 230,
|
129 |
-
'֚' => 222,
|
130 |
-
'֛' => 220,
|
131 |
-
'֜' => 230,
|
132 |
-
'֝' => 230,
|
133 |
-
'֞' => 230,
|
134 |
-
'֟' => 230,
|
135 |
-
'֠' => 230,
|
136 |
-
'֡' => 230,
|
137 |
-
'֢' => 220,
|
138 |
-
'֣' => 220,
|
139 |
-
'֤' => 220,
|
140 |
-
'֥' => 220,
|
141 |
-
'֦' => 220,
|
142 |
-
'֧' => 220,
|
143 |
-
'֨' => 230,
|
144 |
-
'֩' => 230,
|
145 |
-
'֪' => 220,
|
146 |
-
'֫' => 230,
|
147 |
-
'֬' => 230,
|
148 |
-
'֭' => 222,
|
149 |
-
'֮' => 228,
|
150 |
-
'֯' => 230,
|
151 |
-
'ְ' => 10,
|
152 |
-
'ֱ' => 11,
|
153 |
-
'ֲ' => 12,
|
154 |
-
'ֳ' => 13,
|
155 |
-
'ִ' => 14,
|
156 |
-
'ֵ' => 15,
|
157 |
-
'ֶ' => 16,
|
158 |
-
'ַ' => 17,
|
159 |
-
'ָ' => 18,
|
160 |
-
'ֹ' => 19,
|
161 |
-
'ֺ' => 19,
|
162 |
-
'ֻ' => 20,
|
163 |
-
'ּ' => 21,
|
164 |
-
'ֽ' => 22,
|
165 |
-
'ֿ' => 23,
|
166 |
-
'ׁ' => 24,
|
167 |
-
'ׂ' => 25,
|
168 |
-
'ׄ' => 230,
|
169 |
-
'ׅ' => 220,
|
170 |
-
'ׇ' => 18,
|
171 |
-
'ؐ' => 230,
|
172 |
-
'ؑ' => 230,
|
173 |
-
'ؒ' => 230,
|
174 |
-
'ؓ' => 230,
|
175 |
-
'ؔ' => 230,
|
176 |
-
'ؕ' => 230,
|
177 |
-
'ؖ' => 230,
|
178 |
-
'ؗ' => 230,
|
179 |
-
'ؘ' => 30,
|
180 |
-
'ؙ' => 31,
|
181 |
-
'ؚ' => 32,
|
182 |
-
'ً' => 27,
|
183 |
-
'ٌ' => 28,
|
184 |
-
'ٍ' => 29,
|
185 |
-
'َ' => 30,
|
186 |
-
'ُ' => 31,
|
187 |
-
'ِ' => 32,
|
188 |
-
'ّ' => 33,
|
189 |
-
'ْ' => 34,
|
190 |
-
'ٓ' => 230,
|
191 |
-
'ٔ' => 230,
|
192 |
-
'ٕ' => 220,
|
193 |
-
'ٖ' => 220,
|
194 |
-
'ٗ' => 230,
|
195 |
-
'٘' => 230,
|
196 |
-
'ٙ' => 230,
|
197 |
-
'ٚ' => 230,
|
198 |
-
'ٛ' => 230,
|
199 |
-
'ٜ' => 220,
|
200 |
-
'ٝ' => 230,
|
201 |
-
'ٞ' => 230,
|
202 |
-
'ٟ' => 220,
|
203 |
-
'ٰ' => 35,
|
204 |
-
'ۖ' => 230,
|
205 |
-
'ۗ' => 230,
|
206 |
-
'ۘ' => 230,
|
207 |
-
'ۙ' => 230,
|
208 |
-
'ۚ' => 230,
|
209 |
-
'ۛ' => 230,
|
210 |
-
'ۜ' => 230,
|
211 |
-
'۟' => 230,
|
212 |
-
'۠' => 230,
|
213 |
-
'ۡ' => 230,
|
214 |
-
'ۢ' => 230,
|
215 |
-
'ۣ' => 220,
|
216 |
-
'ۤ' => 230,
|
217 |
-
'ۧ' => 230,
|
218 |
-
'ۨ' => 230,
|
219 |
-
'۪' => 220,
|
220 |
-
'۫' => 230,
|
221 |
-
'۬' => 230,
|
222 |
-
'ۭ' => 220,
|
223 |
-
'ܑ' => 36,
|
224 |
-
'ܰ' => 230,
|
225 |
-
'ܱ' => 220,
|
226 |
-
'ܲ' => 230,
|
227 |
-
'ܳ' => 230,
|
228 |
-
'ܴ' => 220,
|
229 |
-
'ܵ' => 230,
|
230 |
-
'ܶ' => 230,
|
231 |
-
'ܷ' => 220,
|
232 |
-
'ܸ' => 220,
|
233 |
-
'ܹ' => 220,
|
234 |
-
'ܺ' => 230,
|
235 |
-
'ܻ' => 220,
|
236 |
-
'ܼ' => 220,
|
237 |
-
'ܽ' => 230,
|
238 |
-
'ܾ' => 220,
|
239 |
-
'ܿ' => 230,
|
240 |
-
'݀' => 230,
|
241 |
-
'݁' => 230,
|
242 |
-
'݂' => 220,
|
243 |
-
'݃' => 230,
|
244 |
-
'݄' => 220,
|
245 |
-
'݅' => 230,
|
246 |
-
'݆' => 220,
|
247 |
-
'݇' => 230,
|
248 |
-
'݈' => 220,
|
249 |
-
'݉' => 230,
|
250 |
-
'݊' => 230,
|
251 |
-
'߫' => 230,
|
252 |
-
'߬' => 230,
|
253 |
-
'߭' => 230,
|
254 |
-
'߮' => 230,
|
255 |
-
'߯' => 230,
|
256 |
-
'߰' => 230,
|
257 |
-
'߱' => 230,
|
258 |
-
'߲' => 220,
|
259 |
-
'߳' => 230,
|
260 |
-
'߽' => 220,
|
261 |
-
'ࠖ' => 230,
|
262 |
-
'ࠗ' => 230,
|
263 |
-
'࠘' => 230,
|
264 |
-
'࠙' => 230,
|
265 |
-
'ࠛ' => 230,
|
266 |
-
'ࠜ' => 230,
|
267 |
-
'ࠝ' => 230,
|
268 |
-
'ࠞ' => 230,
|
269 |
-
'ࠟ' => 230,
|
270 |
-
'ࠠ' => 230,
|
271 |
-
'ࠡ' => 230,
|
272 |
-
'ࠢ' => 230,
|
273 |
-
'ࠣ' => 230,
|
274 |
-
'ࠥ' => 230,
|
275 |
-
'ࠦ' => 230,
|
276 |
-
'ࠧ' => 230,
|
277 |
-
'ࠩ' => 230,
|
278 |
-
'ࠪ' => 230,
|
279 |
-
'ࠫ' => 230,
|
280 |
-
'ࠬ' => 230,
|
281 |
-
'࠭' => 230,
|
282 |
-
'࡙' => 220,
|
283 |
-
'࡚' => 220,
|
284 |
-
'࡛' => 220,
|
285 |
-
'࣓' => 220,
|
286 |
-
'ࣔ' => 230,
|
287 |
-
'ࣕ' => 230,
|
288 |
-
'ࣖ' => 230,
|
289 |
-
'ࣗ' => 230,
|
290 |
-
'ࣘ' => 230,
|
291 |
-
'ࣙ' => 230,
|
292 |
-
'ࣚ' => 230,
|
293 |
-
'ࣛ' => 230,
|
294 |
-
'ࣜ' => 230,
|
295 |
-
'ࣝ' => 230,
|
296 |
-
'ࣞ' => 230,
|
297 |
-
'ࣟ' => 230,
|
298 |
-
'࣠' => 230,
|
299 |
-
'࣡' => 230,
|
300 |
-
'ࣣ' => 220,
|
301 |
-
'ࣤ' => 230,
|
302 |
-
'ࣥ' => 230,
|
303 |
-
'ࣦ' => 220,
|
304 |
-
'ࣧ' => 230,
|
305 |
-
'ࣨ' => 230,
|
306 |
-
'ࣩ' => 220,
|
307 |
-
'࣪' => 230,
|
308 |
-
'࣫' => 230,
|
309 |
-
'࣬' => 230,
|
310 |
-
'࣭' => 220,
|
311 |
-
'࣮' => 220,
|
312 |
-
'࣯' => 220,
|
313 |
-
'ࣰ' => 27,
|
314 |
-
'ࣱ' => 28,
|
315 |
-
'ࣲ' => 29,
|
316 |
-
'ࣳ' => 230,
|
317 |
-
'ࣴ' => 230,
|
318 |
-
'ࣵ' => 230,
|
319 |
-
'ࣶ' => 220,
|
320 |
-
'ࣷ' => 230,
|
321 |
-
'ࣸ' => 230,
|
322 |
-
'ࣹ' => 220,
|
323 |
-
'ࣺ' => 220,
|
324 |
-
'ࣻ' => 230,
|
325 |
-
'ࣼ' => 230,
|
326 |
-
'ࣽ' => 230,
|
327 |
-
'ࣾ' => 230,
|
328 |
-
'ࣿ' => 230,
|
329 |
-
'़' => 7,
|
330 |
-
'्' => 9,
|
331 |
-
'॑' => 230,
|
332 |
-
'॒' => 220,
|
333 |
-
'॓' => 230,
|
334 |
-
'॔' => 230,
|
335 |
-
'়' => 7,
|
336 |
-
'্' => 9,
|
337 |
-
'৾' => 230,
|
338 |
-
'਼' => 7,
|
339 |
-
'੍' => 9,
|
340 |
-
'઼' => 7,
|
341 |
-
'્' => 9,
|
342 |
-
'଼' => 7,
|
343 |
-
'୍' => 9,
|
344 |
-
'்' => 9,
|
345 |
-
'్' => 9,
|
346 |
-
'ౕ' => 84,
|
347 |
-
'ౖ' => 91,
|
348 |
-
'಼' => 7,
|
349 |
-
'್' => 9,
|
350 |
-
'഻' => 9,
|
351 |
-
'഼' => 9,
|
352 |
-
'്' => 9,
|
353 |
-
'්' => 9,
|
354 |
-
'ุ' => 103,
|
355 |
-
'ู' => 103,
|
356 |
-
'ฺ' => 9,
|
357 |
-
'่' => 107,
|
358 |
-
'้' => 107,
|
359 |
-
'๊' => 107,
|
360 |
-
'๋' => 107,
|
361 |
-
'ຸ' => 118,
|
362 |
-
'ູ' => 118,
|
363 |
-
'຺' => 9,
|
364 |
-
'່' => 122,
|
365 |
-
'້' => 122,
|
366 |
-
'໊' => 122,
|
367 |
-
'໋' => 122,
|
368 |
-
'༘' => 220,
|
369 |
-
'༙' => 220,
|
370 |
-
'༵' => 220,
|
371 |
-
'༷' => 220,
|
372 |
-
'༹' => 216,
|
373 |
-
'ཱ' => 129,
|
374 |
-
'ི' => 130,
|
375 |
-
'ུ' => 132,
|
376 |
-
'ེ' => 130,
|
377 |
-
'ཻ' => 130,
|
378 |
-
'ོ' => 130,
|
379 |
-
'ཽ' => 130,
|
380 |
-
'ྀ' => 130,
|
381 |
-
'ྂ' => 230,
|
382 |
-
'ྃ' => 230,
|
383 |
-
'྄' => 9,
|
384 |
-
'྆' => 230,
|
385 |
-
'྇' => 230,
|
386 |
-
'࿆' => 220,
|
387 |
-
'့' => 7,
|
388 |
-
'္' => 9,
|
389 |
-
'်' => 9,
|
390 |
-
'ႍ' => 220,
|
391 |
-
'፝' => 230,
|
392 |
-
'፞' => 230,
|
393 |
-
'፟' => 230,
|
394 |
-
'᜔' => 9,
|
395 |
-
'᜴' => 9,
|
396 |
-
'្' => 9,
|
397 |
-
'៝' => 230,
|
398 |
-
'ᢩ' => 228,
|
399 |
-
'᤹' => 222,
|
400 |
-
'᤺' => 230,
|
401 |
-
'᤻' => 220,
|
402 |
-
'ᨗ' => 230,
|
403 |
-
'ᨘ' => 220,
|
404 |
-
'᩠' => 9,
|
405 |
-
'᩵' => 230,
|
406 |
-
'᩶' => 230,
|
407 |
-
'᩷' => 230,
|
408 |
-
'᩸' => 230,
|
409 |
-
'᩹' => 230,
|
410 |
-
'᩺' => 230,
|
411 |
-
'᩻' => 230,
|
412 |
-
'᩼' => 230,
|
413 |
-
'᩿' => 220,
|
414 |
-
'᪰' => 230,
|
415 |
-
'᪱' => 230,
|
416 |
-
'᪲' => 230,
|
417 |
-
'᪳' => 230,
|
418 |
-
'᪴' => 230,
|
419 |
-
'᪵' => 220,
|
420 |
-
'᪶' => 220,
|
421 |
-
'᪷' => 220,
|
422 |
-
'᪸' => 220,
|
423 |
-
'᪹' => 220,
|
424 |
-
'᪺' => 220,
|
425 |
-
'᪻' => 230,
|
426 |
-
'᪼' => 230,
|
427 |
-
'᪽' => 220,
|
428 |
-
'ᪿ' => 220,
|
429 |
-
'ᫀ' => 220,
|
430 |
-
'᬴' => 7,
|
431 |
-
'᭄' => 9,
|
432 |
-
'᭫' => 230,
|
433 |
-
'᭬' => 220,
|
434 |
-
'᭭' => 230,
|
435 |
-
'᭮' => 230,
|
436 |
-
'᭯' => 230,
|
437 |
-
'᭰' => 230,
|
438 |
-
'᭱' => 230,
|
439 |
-
'᭲' => 230,
|
440 |
-
'᭳' => 230,
|
441 |
-
'᮪' => 9,
|
442 |
-
'᮫' => 9,
|
443 |
-
'᯦' => 7,
|
444 |
-
'᯲' => 9,
|
445 |
-
'᯳' => 9,
|
446 |
-
'᰷' => 7,
|
447 |
-
'᳐' => 230,
|
448 |
-
'᳑' => 230,
|
449 |
-
'᳒' => 230,
|
450 |
-
'᳔' => 1,
|
451 |
-
'᳕' => 220,
|
452 |
-
'᳖' => 220,
|
453 |
-
'᳗' => 220,
|
454 |
-
'᳘' => 220,
|
455 |
-
'᳙' => 220,
|
456 |
-
'᳚' => 230,
|
457 |
-
'᳛' => 230,
|
458 |
-
'᳜' => 220,
|
459 |
-
'᳝' => 220,
|
460 |
-
'᳞' => 220,
|
461 |
-
'᳟' => 220,
|
462 |
-
'᳠' => 230,
|
463 |
-
'᳢' => 1,
|
464 |
-
'᳣' => 1,
|
465 |
-
'᳤' => 1,
|
466 |
-
'᳥' => 1,
|
467 |
-
'᳦' => 1,
|
468 |
-
'᳧' => 1,
|
469 |
-
'᳨' => 1,
|
470 |
-
'᳭' => 220,
|
471 |
-
'᳴' => 230,
|
472 |
-
'᳸' => 230,
|
473 |
-
'᳹' => 230,
|
474 |
-
'᷀' => 230,
|
475 |
-
'᷁' => 230,
|
476 |
-
'᷂' => 220,
|
477 |
-
'᷃' => 230,
|
478 |
-
'᷄' => 230,
|
479 |
-
'᷅' => 230,
|
480 |
-
'᷆' => 230,
|
481 |
-
'᷇' => 230,
|
482 |
-
'᷈' => 230,
|
483 |
-
'᷉' => 230,
|
484 |
-
'᷊' => 220,
|
485 |
-
'᷋' => 230,
|
486 |
-
'᷌' => 230,
|
487 |
-
'᷍' => 234,
|
488 |
-
'᷎' => 214,
|
489 |
-
'᷏' => 220,
|
490 |
-
'᷐' => 202,
|
491 |
-
'᷑' => 230,
|
492 |
-
'᷒' => 230,
|
493 |
-
'ᷓ' => 230,
|
494 |
-
'ᷔ' => 230,
|
495 |
-
'ᷕ' => 230,
|
496 |
-
'ᷖ' => 230,
|
497 |
-
'ᷗ' => 230,
|
498 |
-
'ᷘ' => 230,
|
499 |
-
'ᷙ' => 230,
|
500 |
-
'ᷚ' => 230,
|
501 |
-
'ᷛ' => 230,
|
502 |
-
'ᷜ' => 230,
|
503 |
-
'ᷝ' => 230,
|
504 |
-
'ᷞ' => 230,
|
505 |
-
'ᷟ' => 230,
|
506 |
-
'ᷠ' => 230,
|
507 |
-
'ᷡ' => 230,
|
508 |
-
'ᷢ' => 230,
|
509 |
-
'ᷣ' => 230,
|
510 |
-
'ᷤ' => 230,
|
511 |
-
'ᷥ' => 230,
|
512 |
-
'ᷦ' => 230,
|
513 |
-
'ᷧ' => 230,
|
514 |
-
'ᷨ' => 230,
|
515 |
-
'ᷩ' => 230,
|
516 |
-
'ᷪ' => 230,
|
517 |
-
'ᷫ' => 230,
|
518 |
-
'ᷬ' => 230,
|
519 |
-
'ᷭ' => 230,
|
520 |
-
'ᷮ' => 230,
|
521 |
-
'ᷯ' => 230,
|
522 |
-
'ᷰ' => 230,
|
523 |
-
'ᷱ' => 230,
|
524 |
-
'ᷲ' => 230,
|
525 |
-
'ᷳ' => 230,
|
526 |
-
'ᷴ' => 230,
|
527 |
-
'᷵' => 230,
|
528 |
-
'᷶' => 232,
|
529 |
-
'᷷' => 228,
|
530 |
-
'᷸' => 228,
|
531 |
-
'᷹' => 220,
|
532 |
-
'᷻' => 230,
|
533 |
-
'᷼' => 233,
|
534 |
-
'᷽' => 220,
|
535 |
-
'᷾' => 230,
|
536 |
-
'᷿' => 220,
|
537 |
-
'⃐' => 230,
|
538 |
-
'⃑' => 230,
|
539 |
-
'⃒' => 1,
|
540 |
-
'⃓' => 1,
|
541 |
-
'⃔' => 230,
|
542 |
-
'⃕' => 230,
|
543 |
-
'⃖' => 230,
|
544 |
-
'⃗' => 230,
|
545 |
-
'⃘' => 1,
|
546 |
-
'⃙' => 1,
|
547 |
-
'⃚' => 1,
|
548 |
-
'⃛' => 230,
|
549 |
-
'⃜' => 230,
|
550 |
-
'⃡' => 230,
|
551 |
-
'⃥' => 1,
|
552 |
-
'⃦' => 1,
|
553 |
-
'⃧' => 230,
|
554 |
-
'⃨' => 220,
|
555 |
-
'⃩' => 230,
|
556 |
-
'⃪' => 1,
|
557 |
-
'⃫' => 1,
|
558 |
-
'⃬' => 220,
|
559 |
-
'⃭' => 220,
|
560 |
-
'⃮' => 220,
|
561 |
-
'⃯' => 220,
|
562 |
-
'⃰' => 230,
|
563 |
-
'⳯' => 230,
|
564 |
-
'⳰' => 230,
|
565 |
-
'⳱' => 230,
|
566 |
-
'⵿' => 9,
|
567 |
-
'ⷠ' => 230,
|
568 |
-
'ⷡ' => 230,
|
569 |
-
'ⷢ' => 230,
|
570 |
-
'ⷣ' => 230,
|
571 |
-
'ⷤ' => 230,
|
572 |
-
'ⷥ' => 230,
|
573 |
-
'ⷦ' => 230,
|
574 |
-
'ⷧ' => 230,
|
575 |
-
'ⷨ' => 230,
|
576 |
-
'ⷩ' => 230,
|
577 |
-
'ⷪ' => 230,
|
578 |
-
'ⷫ' => 230,
|
579 |
-
'ⷬ' => 230,
|
580 |
-
'ⷭ' => 230,
|
581 |
-
'ⷮ' => 230,
|
582 |
-
'ⷯ' => 230,
|
583 |
-
'ⷰ' => 230,
|
584 |
-
'ⷱ' => 230,
|
585 |
-
'ⷲ' => 230,
|
586 |
-
'ⷳ' => 230,
|
587 |
-
'ⷴ' => 230,
|
588 |
-
'ⷵ' => 230,
|
589 |
-
'ⷶ' => 230,
|
590 |
-
'ⷷ' => 230,
|
591 |
-
'ⷸ' => 230,
|
592 |
-
'ⷹ' => 230,
|
593 |
-
'ⷺ' => 230,
|
594 |
-
'ⷻ' => 230,
|
595 |
-
'ⷼ' => 230,
|
596 |
-
'ⷽ' => 230,
|
597 |
-
'ⷾ' => 230,
|
598 |
-
'ⷿ' => 230,
|
599 |
-
'〪' => 218,
|
600 |
-
'〫' => 228,
|
601 |
-
'〬' => 232,
|
602 |
-
'〭' => 222,
|
603 |
-
'〮' => 224,
|
604 |
-
'〯' => 224,
|
605 |
-
'゙' => 8,
|
606 |
-
'゚' => 8,
|
607 |
-
'꙯' => 230,
|
608 |
-
'ꙴ' => 230,
|
609 |
-
'ꙵ' => 230,
|
610 |
-
'ꙶ' => 230,
|
611 |
-
'ꙷ' => 230,
|
612 |
-
'ꙸ' => 230,
|
613 |
-
'ꙹ' => 230,
|
614 |
-
'ꙺ' => 230,
|
615 |
-
'ꙻ' => 230,
|
616 |
-
'꙼' => 230,
|
617 |
-
'꙽' => 230,
|
618 |
-
'ꚞ' => 230,
|
619 |
-
'ꚟ' => 230,
|
620 |
-
'꛰' => 230,
|
621 |
-
'꛱' => 230,
|
622 |
-
'꠆' => 9,
|
623 |
-
'꠬' => 9,
|
624 |
-
'꣄' => 9,
|
625 |
-
'꣠' => 230,
|
626 |
-
'꣡' => 230,
|
627 |
-
'꣢' => 230,
|
628 |
-
'꣣' => 230,
|
629 |
-
'꣤' => 230,
|
630 |
-
'꣥' => 230,
|
631 |
-
'꣦' => 230,
|
632 |
-
'꣧' => 230,
|
633 |
-
'꣨' => 230,
|
634 |
-
'꣩' => 230,
|
635 |
-
'꣪' => 230,
|
636 |
-
'꣫' => 230,
|
637 |
-
'꣬' => 230,
|
638 |
-
'꣭' => 230,
|
639 |
-
'꣮' => 230,
|
640 |
-
'꣯' => 230,
|
641 |
-
'꣰' => 230,
|
642 |
-
'꣱' => 230,
|
643 |
-
'꤫' => 220,
|
644 |
-
'꤬' => 220,
|
645 |
-
'꤭' => 220,
|
646 |
-
'꥓' => 9,
|
647 |
-
'꦳' => 7,
|
648 |
-
'꧀' => 9,
|
649 |
-
'ꪰ' => 230,
|
650 |
-
'ꪲ' => 230,
|
651 |
-
'ꪳ' => 230,
|
652 |
-
'ꪴ' => 220,
|
653 |
-
'ꪷ' => 230,
|
654 |
-
'ꪸ' => 230,
|
655 |
-
'ꪾ' => 230,
|
656 |
-
'꪿' => 230,
|
657 |
-
'꫁' => 230,
|
658 |
-
'꫶' => 9,
|
659 |
-
'꯭' => 9,
|
660 |
-
'ﬞ' => 26,
|
661 |
-
'︠' => 230,
|
662 |
-
'︡' => 230,
|
663 |
-
'︢' => 230,
|
664 |
-
'︣' => 230,
|
665 |
-
'︤' => 230,
|
666 |
-
'︥' => 230,
|
667 |
-
'︦' => 230,
|
668 |
-
'︧' => 220,
|
669 |
-
'︨' => 220,
|
670 |
-
'︩' => 220,
|
671 |
-
'︪' => 220,
|
672 |
-
'︫' => 220,
|
673 |
-
'︬' => 220,
|
674 |
-
'︭' => 220,
|
675 |
-
'︮' => 230,
|
676 |
-
'︯' => 230,
|
677 |
-
'𐇽' => 220,
|
678 |
-
'𐋠' => 220,
|
679 |
-
'𐍶' => 230,
|
680 |
-
'𐍷' => 230,
|
681 |
-
'𐍸' => 230,
|
682 |
-
'𐍹' => 230,
|
683 |
-
'𐍺' => 230,
|
684 |
-
'𐨍' => 220,
|
685 |
-
'𐨏' => 230,
|
686 |
-
'𐨸' => 230,
|
687 |
-
'𐨹' => 1,
|
688 |
-
'𐨺' => 220,
|
689 |
-
'𐨿' => 9,
|
690 |
-
'𐫥' => 230,
|
691 |
-
'𐫦' => 220,
|
692 |
-
'𐴤' => 230,
|
693 |
-
'𐴥' => 230,
|
694 |
-
'𐴦' => 230,
|
695 |
-
'𐴧' => 230,
|
696 |
-
'𐺫' => 230,
|
697 |
-
'𐺬' => 230,
|
698 |
-
'𐽆' => 220,
|
699 |
-
'𐽇' => 220,
|
700 |
-
'𐽈' => 230,
|
701 |
-
'𐽉' => 230,
|
702 |
-
'𐽊' => 230,
|
703 |
-
'𐽋' => 220,
|
704 |
-
'𐽌' => 230,
|
705 |
-
'𐽍' => 220,
|
706 |
-
'𐽎' => 220,
|
707 |
-
'𐽏' => 220,
|
708 |
-
'𐽐' => 220,
|
709 |
-
'𑁆' => 9,
|
710 |
-
'𑁿' => 9,
|
711 |
-
'𑂹' => 9,
|
712 |
-
'𑂺' => 7,
|
713 |
-
'𑄀' => 230,
|
714 |
-
'𑄁' => 230,
|
715 |
-
'𑄂' => 230,
|
716 |
-
'𑄳' => 9,
|
717 |
-
'𑄴' => 9,
|
718 |
-
'𑅳' => 7,
|
719 |
-
'𑇀' => 9,
|
720 |
-
'𑇊' => 7,
|
721 |
-
'𑈵' => 9,
|
722 |
-
'𑈶' => 7,
|
723 |
-
'𑋩' => 7,
|
724 |
-
'𑋪' => 9,
|
725 |
-
'𑌻' => 7,
|
726 |
-
'𑌼' => 7,
|
727 |
-
'𑍍' => 9,
|
728 |
-
'𑍦' => 230,
|
729 |
-
'𑍧' => 230,
|
730 |
-
'𑍨' => 230,
|
731 |
-
'𑍩' => 230,
|
732 |
-
'𑍪' => 230,
|
733 |
-
'𑍫' => 230,
|
734 |
-
'𑍬' => 230,
|
735 |
-
'𑍰' => 230,
|
736 |
-
'𑍱' => 230,
|
737 |
-
'𑍲' => 230,
|
738 |
-
'𑍳' => 230,
|
739 |
-
'𑍴' => 230,
|
740 |
-
'𑑂' => 9,
|
741 |
-
'𑑆' => 7,
|
742 |
-
'𑑞' => 230,
|
743 |
-
'𑓂' => 9,
|
744 |
-
'𑓃' => 7,
|
745 |
-
'𑖿' => 9,
|
746 |
-
'𑗀' => 7,
|
747 |
-
'𑘿' => 9,
|
748 |
-
'𑚶' => 9,
|
749 |
-
'𑚷' => 7,
|
750 |
-
'𑜫' => 9,
|
751 |
-
'𑠹' => 9,
|
752 |
-
'𑠺' => 7,
|
753 |
-
'𑤽' => 9,
|
754 |
-
'𑤾' => 9,
|
755 |
-
'𑥃' => 7,
|
756 |
-
'𑧠' => 9,
|
757 |
-
'𑨴' => 9,
|
758 |
-
'𑩇' => 9,
|
759 |
-
'𑪙' => 9,
|
760 |
-
'𑰿' => 9,
|
761 |
-
'𑵂' => 7,
|
762 |
-
'𑵄' => 9,
|
763 |
-
'𑵅' => 9,
|
764 |
-
'𑶗' => 9,
|
765 |
-
'𖫰' => 1,
|
766 |
-
'𖫱' => 1,
|
767 |
-
'𖫲' => 1,
|
768 |
-
'𖫳' => 1,
|
769 |
-
'𖫴' => 1,
|
770 |
-
'𖬰' => 230,
|
771 |
-
'𖬱' => 230,
|
772 |
-
'𖬲' => 230,
|
773 |
-
'𖬳' => 230,
|
774 |
-
'𖬴' => 230,
|
775 |
-
'𖬵' => 230,
|
776 |
-
'𖬶' => 230,
|
777 |
-
'𖿰' => 6,
|
778 |
-
'𖿱' => 6,
|
779 |
-
'𛲞' => 1,
|
780 |
-
'𝅥' => 216,
|
781 |
-
'𝅦' => 216,
|
782 |
-
'𝅧' => 1,
|
783 |
-
'𝅨' => 1,
|
784 |
-
'𝅩' => 1,
|
785 |
-
'𝅭' => 226,
|
786 |
-
'𝅮' => 216,
|
787 |
-
'𝅯' => 216,
|
788 |
-
'𝅰' => 216,
|
789 |
-
'𝅱' => 216,
|
790 |
-
'𝅲' => 216,
|
791 |
-
'𝅻' => 220,
|
792 |
-
'𝅼' => 220,
|
793 |
-
'𝅽' => 220,
|
794 |
-
'𝅾' => 220,
|
795 |
-
'𝅿' => 220,
|
796 |
-
'𝆀' => 220,
|
797 |
-
'𝆁' => 220,
|
798 |
-
'𝆂' => 220,
|
799 |
-
'𝆅' => 230,
|
800 |
-
'𝆆' => 230,
|
801 |
-
'𝆇' => 230,
|
802 |
-
'𝆈' => 230,
|
803 |
-
'𝆉' => 230,
|
804 |
-
'𝆊' => 220,
|
805 |
-
'𝆋' => 220,
|
806 |
-
'𝆪' => 230,
|
807 |
-
'𝆫' => 230,
|
808 |
-
'𝆬' => 230,
|
809 |
-
'𝆭' => 230,
|
810 |
-
'𝉂' => 230,
|
811 |
-
'𝉃' => 230,
|
812 |
-
'𝉄' => 230,
|
813 |
-
'𞀀' => 230,
|
814 |
-
'𞀁' => 230,
|
815 |
-
'𞀂' => 230,
|
816 |
-
'𞀃' => 230,
|
817 |
-
'𞀄' => 230,
|
818 |
-
'𞀅' => 230,
|
819 |
-
'𞀆' => 230,
|
820 |
-
'𞀈' => 230,
|
821 |
-
'𞀉' => 230,
|
822 |
-
'𞀊' => 230,
|
823 |
-
'𞀋' => 230,
|
824 |
-
'𞀌' => 230,
|
825 |
-
'𞀍' => 230,
|
826 |
-
'𞀎' => 230,
|
827 |
-
'𞀏' => 230,
|
828 |
-
'𞀐' => 230,
|
829 |
-
'𞀑' => 230,
|
830 |
-
'𞀒' => 230,
|
831 |
-
'𞀓' => 230,
|
832 |
-
'𞀔' => 230,
|
833 |
-
'𞀕' => 230,
|
834 |
-
'𞀖' => 230,
|
835 |
-
'𞀗' => 230,
|
836 |
-
'𞀘' => 230,
|
837 |
-
'𞀛' => 230,
|
838 |
-
'𞀜' => 230,
|
839 |
-
'𞀝' => 230,
|
840 |
-
'𞀞' => 230,
|
841 |
-
'𞀟' => 230,
|
842 |
-
'𞀠' => 230,
|
843 |
-
'𞀡' => 230,
|
844 |
-
'𞀣' => 230,
|
845 |
-
'𞀤' => 230,
|
846 |
-
'𞀦' => 230,
|
847 |
-
'𞀧' => 230,
|
848 |
-
'𞀨' => 230,
|
849 |
-
'𞀩' => 230,
|
850 |
-
'𞀪' => 230,
|
851 |
-
'𞄰' => 230,
|
852 |
-
'𞄱' => 230,
|
853 |
-
'𞄲' => 230,
|
854 |
-
'𞄳' => 230,
|
855 |
-
'𞄴' => 230,
|
856 |
-
'𞄵' => 230,
|
857 |
-
'𞄶' => 230,
|
858 |
-
'𞋬' => 230,
|
859 |
-
'𞋭' => 230,
|
860 |
-
'𞋮' => 230,
|
861 |
-
'𞋯' => 230,
|
862 |
-
'𞣐' => 220,
|
863 |
-
'𞣑' => 220,
|
864 |
-
'𞣒' => 220,
|
865 |
-
'𞣓' => 220,
|
866 |
-
'𞣔' => 220,
|
867 |
-
'𞣕' => 220,
|
868 |
-
'𞣖' => 220,
|
869 |
-
'𞥄' => 230,
|
870 |
-
'𞥅' => 230,
|
871 |
-
'𞥆' => 230,
|
872 |
-
'𞥇' => 230,
|
873 |
-
'𞥈' => 230,
|
874 |
-
'𞥉' => 230,
|
875 |
-
'𞥊' => 7,
|
876 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php
DELETED
@@ -1,3695 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
return array (
|
4 |
-
' ' => ' ',
|
5 |
-
'¨' => ' ̈',
|
6 |
-
'ª' => 'a',
|
7 |
-
'¯' => ' ̄',
|
8 |
-
'²' => '2',
|
9 |
-
'³' => '3',
|
10 |
-
'´' => ' ́',
|
11 |
-
'µ' => 'μ',
|
12 |
-
'¸' => ' ̧',
|
13 |
-
'¹' => '1',
|
14 |
-
'º' => 'o',
|
15 |
-
'¼' => '1⁄4',
|
16 |
-
'½' => '1⁄2',
|
17 |
-
'¾' => '3⁄4',
|
18 |
-
'IJ' => 'IJ',
|
19 |
-
'ij' => 'ij',
|
20 |
-
'Ŀ' => 'L·',
|
21 |
-
'ŀ' => 'l·',
|
22 |
-
'ʼn' => 'ʼn',
|
23 |
-
'ſ' => 's',
|
24 |
-
'DŽ' => 'DŽ',
|
25 |
-
'Dž' => 'Dž',
|
26 |
-
'dž' => 'dž',
|
27 |
-
'LJ' => 'LJ',
|
28 |
-
'Lj' => 'Lj',
|
29 |
-
'lj' => 'lj',
|
30 |
-
'NJ' => 'NJ',
|
31 |
-
'Nj' => 'Nj',
|
32 |
-
'nj' => 'nj',
|
33 |
-
'DZ' => 'DZ',
|
34 |
-
'Dz' => 'Dz',
|
35 |
-
'dz' => 'dz',
|
36 |
-
'ʰ' => 'h',
|
37 |
-
'ʱ' => 'ɦ',
|
38 |
-
'ʲ' => 'j',
|
39 |
-
'ʳ' => 'r',
|
40 |
-
'ʴ' => 'ɹ',
|
41 |
-
'ʵ' => 'ɻ',
|
42 |
-
'ʶ' => 'ʁ',
|
43 |
-
'ʷ' => 'w',
|
44 |
-
'ʸ' => 'y',
|
45 |
-
'˘' => ' ̆',
|
46 |
-
'˙' => ' ̇',
|
47 |
-
'˚' => ' ̊',
|
48 |
-
'˛' => ' ̨',
|
49 |
-
'˜' => ' ̃',
|
50 |
-
'˝' => ' ̋',
|
51 |
-
'ˠ' => 'ɣ',
|
52 |
-
'ˡ' => 'l',
|
53 |
-
'ˢ' => 's',
|
54 |
-
'ˣ' => 'x',
|
55 |
-
'ˤ' => 'ʕ',
|
56 |
-
'ͺ' => ' ͅ',
|
57 |
-
'΄' => ' ́',
|
58 |
-
'΅' => ' ̈́',
|
59 |
-
'ϐ' => 'β',
|
60 |
-
'ϑ' => 'θ',
|
61 |
-
'ϒ' => 'Υ',
|
62 |
-
'ϓ' => 'Ύ',
|
63 |
-
'ϔ' => 'Ϋ',
|
64 |
-
'ϕ' => 'φ',
|
65 |
-
'ϖ' => 'π',
|
66 |
-
'ϰ' => 'κ',
|
67 |
-
'ϱ' => 'ρ',
|
68 |
-
'ϲ' => 'ς',
|
69 |
-
'ϴ' => 'Θ',
|
70 |
-
'ϵ' => 'ε',
|
71 |
-
'Ϲ' => 'Σ',
|
72 |
-
'և' => 'եւ',
|
73 |
-
'ٵ' => 'اٴ',
|
74 |
-
'ٶ' => 'وٴ',
|
75 |
-
'ٷ' => 'ۇٴ',
|
76 |
-
'ٸ' => 'يٴ',
|
77 |
-
'ำ' => 'ํา',
|
78 |
-
'ຳ' => 'ໍາ',
|
79 |
-
'ໜ' => 'ຫນ',
|
80 |
-
'ໝ' => 'ຫມ',
|
81 |
-
'༌' => '་',
|
82 |
-
'ཷ' => 'ྲཱྀ',
|
83 |
-
'ཹ' => 'ླཱྀ',
|
84 |
-
'ჼ' => 'ნ',
|
85 |
-
'ᴬ' => 'A',
|
86 |
-
'ᴭ' => 'Æ',
|
87 |
-
'ᴮ' => 'B',
|
88 |
-
'ᴰ' => 'D',
|
89 |
-
'ᴱ' => 'E',
|
90 |
-
'ᴲ' => 'Ǝ',
|
91 |
-
'ᴳ' => 'G',
|
92 |
-
'ᴴ' => 'H',
|
93 |
-
'ᴵ' => 'I',
|
94 |
-
'ᴶ' => 'J',
|
95 |
-
'ᴷ' => 'K',
|
96 |
-
'ᴸ' => 'L',
|
97 |
-
'ᴹ' => 'M',
|
98 |
-
'ᴺ' => 'N',
|
99 |
-
'ᴼ' => 'O',
|
100 |
-
'ᴽ' => 'Ȣ',
|
101 |
-
'ᴾ' => 'P',
|
102 |
-
'ᴿ' => 'R',
|
103 |
-
'ᵀ' => 'T',
|
104 |
-
'ᵁ' => 'U',
|
105 |
-
'ᵂ' => 'W',
|
106 |
-
'ᵃ' => 'a',
|
107 |
-
'ᵄ' => 'ɐ',
|
108 |
-
'ᵅ' => 'ɑ',
|
109 |
-
'ᵆ' => 'ᴂ',
|
110 |
-
'ᵇ' => 'b',
|
111 |
-
'ᵈ' => 'd',
|
112 |
-
'ᵉ' => 'e',
|
113 |
-
'ᵊ' => 'ə',
|
114 |
-
'ᵋ' => 'ɛ',
|
115 |
-
'ᵌ' => 'ɜ',
|
116 |
-
'ᵍ' => 'g',
|
117 |
-
'ᵏ' => 'k',
|
118 |
-
'ᵐ' => 'm',
|
119 |
-
'ᵑ' => 'ŋ',
|
120 |
-
'ᵒ' => 'o',
|
121 |
-
'ᵓ' => 'ɔ',
|
122 |
-
'ᵔ' => 'ᴖ',
|
123 |
-
'ᵕ' => 'ᴗ',
|
124 |
-
'ᵖ' => 'p',
|
125 |
-
'ᵗ' => 't',
|
126 |
-
'ᵘ' => 'u',
|
127 |
-
'ᵙ' => 'ᴝ',
|
128 |
-
'ᵚ' => 'ɯ',
|
129 |
-
'ᵛ' => 'v',
|
130 |
-
'ᵜ' => 'ᴥ',
|
131 |
-
'ᵝ' => 'β',
|
132 |
-
'ᵞ' => 'γ',
|
133 |
-
'ᵟ' => 'δ',
|
134 |
-
'ᵠ' => 'φ',
|
135 |
-
'ᵡ' => 'χ',
|
136 |
-
'ᵢ' => 'i',
|
137 |
-
'ᵣ' => 'r',
|
138 |
-
'ᵤ' => 'u',
|
139 |
-
'ᵥ' => 'v',
|
140 |
-
'ᵦ' => 'β',
|
141 |
-
'ᵧ' => 'γ',
|
142 |
-
'ᵨ' => 'ρ',
|
143 |
-
'ᵩ' => 'φ',
|
144 |
-
'ᵪ' => 'χ',
|
145 |
-
'ᵸ' => 'н',
|
146 |
-
'ᶛ' => 'ɒ',
|
147 |
-
'ᶜ' => 'c',
|
148 |
-
'ᶝ' => 'ɕ',
|
149 |
-
'ᶞ' => 'ð',
|
150 |
-
'ᶟ' => 'ɜ',
|
151 |
-
'ᶠ' => 'f',
|
152 |
-
'ᶡ' => 'ɟ',
|
153 |
-
'ᶢ' => 'ɡ',
|
154 |
-
'ᶣ' => 'ɥ',
|
155 |
-
'ᶤ' => 'ɨ',
|
156 |
-
'ᶥ' => 'ɩ',
|
157 |
-
'ᶦ' => 'ɪ',
|
158 |
-
'ᶧ' => 'ᵻ',
|
159 |
-
'ᶨ' => 'ʝ',
|
160 |
-
'ᶩ' => 'ɭ',
|
161 |
-
'ᶪ' => 'ᶅ',
|
162 |
-
'ᶫ' => 'ʟ',
|
163 |
-
'ᶬ' => 'ɱ',
|
164 |
-
'ᶭ' => 'ɰ',
|
165 |
-
'ᶮ' => 'ɲ',
|
166 |
-
'ᶯ' => 'ɳ',
|
167 |
-
'ᶰ' => 'ɴ',
|
168 |
-
'ᶱ' => 'ɵ',
|
169 |
-
'ᶲ' => 'ɸ',
|
170 |
-
'ᶳ' => 'ʂ',
|
171 |
-
'ᶴ' => 'ʃ',
|
172 |
-
'ᶵ' => 'ƫ',
|
173 |
-
'ᶶ' => 'ʉ',
|
174 |
-
'ᶷ' => 'ʊ',
|
175 |
-
'ᶸ' => 'ᴜ',
|
176 |
-
'ᶹ' => 'ʋ',
|
177 |
-
'ᶺ' => 'ʌ',
|
178 |
-
'ᶻ' => 'z',
|
179 |
-
'ᶼ' => 'ʐ',
|
180 |
-
'ᶽ' => 'ʑ',
|
181 |
-
'ᶾ' => 'ʒ',
|
182 |
-
'ᶿ' => 'θ',
|
183 |
-
'ẚ' => 'aʾ',
|
184 |
-
'ẛ' => 'ṡ',
|
185 |
-
'᾽' => ' ̓',
|
186 |
-
'᾿' => ' ̓',
|
187 |
-
'῀' => ' ͂',
|
188 |
-
'῁' => ' ̈͂',
|
189 |
-
'῍' => ' ̓̀',
|
190 |
-
'῎' => ' ̓́',
|
191 |
-
'῏' => ' ̓͂',
|
192 |
-
'῝' => ' ̔̀',
|
193 |
-
'῞' => ' ̔́',
|
194 |
-
'῟' => ' ̔͂',
|
195 |
-
'῭' => ' ̈̀',
|
196 |
-
'΅' => ' ̈́',
|
197 |
-
'´' => ' ́',
|
198 |
-
'῾' => ' ̔',
|
199 |
-
' ' => ' ',
|
200 |
-
' ' => ' ',
|
201 |
-
' ' => ' ',
|
202 |
-
' ' => ' ',
|
203 |
-
' ' => ' ',
|
204 |
-
' ' => ' ',
|
205 |
-
' ' => ' ',
|
206 |
-
' ' => ' ',
|
207 |
-
' ' => ' ',
|
208 |
-
' ' => ' ',
|
209 |
-
' ' => ' ',
|
210 |
-
'‑' => '‐',
|
211 |
-
'‗' => ' ̳',
|
212 |
-
'․' => '.',
|
213 |
-
'‥' => '..',
|
214 |
-
'…' => '...',
|
215 |
-
' ' => ' ',
|
216 |
-
'″' => '′′',
|
217 |
-
'‴' => '′′′',
|
218 |
-
'‶' => '‵‵',
|
219 |
-
'‷' => '‵‵‵',
|
220 |
-
'‼' => '!!',
|
221 |
-
'‾' => ' ̅',
|
222 |
-
'⁇' => '??',
|
223 |
-
'⁈' => '?!',
|
224 |
-
'⁉' => '!?',
|
225 |
-
'⁗' => '′′′′',
|
226 |
-
' ' => ' ',
|
227 |
-
'⁰' => '0',
|
228 |
-
'ⁱ' => 'i',
|
229 |
-
'⁴' => '4',
|
230 |
-
'⁵' => '5',
|
231 |
-
'⁶' => '6',
|
232 |
-
'⁷' => '7',
|
233 |
-
'⁸' => '8',
|
234 |
-
'⁹' => '9',
|
235 |
-
'⁺' => '+',
|
236 |
-
'⁻' => '−',
|
237 |
-
'⁼' => '=',
|
238 |
-
'⁽' => '(',
|
239 |
-
'⁾' => ')',
|
240 |
-
'ⁿ' => 'n',
|
241 |
-
'₀' => '0',
|
242 |
-
'₁' => '1',
|
243 |
-
'₂' => '2',
|
244 |
-
'₃' => '3',
|
245 |
-
'₄' => '4',
|
246 |
-
'₅' => '5',
|
247 |
-
'₆' => '6',
|
248 |
-
'₇' => '7',
|
249 |
-
'₈' => '8',
|
250 |
-
'₉' => '9',
|
251 |
-
'₊' => '+',
|
252 |
-
'₋' => '−',
|
253 |
-
'₌' => '=',
|
254 |
-
'₍' => '(',
|
255 |
-
'₎' => ')',
|
256 |
-
'ₐ' => 'a',
|
257 |
-
'ₑ' => 'e',
|
258 |
-
'ₒ' => 'o',
|
259 |
-
'ₓ' => 'x',
|
260 |
-
'ₔ' => 'ə',
|
261 |
-
'ₕ' => 'h',
|
262 |
-
'ₖ' => 'k',
|
263 |
-
'ₗ' => 'l',
|
264 |
-
'ₘ' => 'm',
|
265 |
-
'ₙ' => 'n',
|
266 |
-
'ₚ' => 'p',
|
267 |
-
'ₛ' => 's',
|
268 |
-
'ₜ' => 't',
|
269 |
-
'₨' => 'Rs',
|
270 |
-
'℀' => 'a/c',
|
271 |
-
'℁' => 'a/s',
|
272 |
-
'ℂ' => 'C',
|
273 |
-
'℃' => '°C',
|
274 |
-
'℅' => 'c/o',
|
275 |
-
'℆' => 'c/u',
|
276 |
-
'ℇ' => 'Ɛ',
|
277 |
-
'℉' => '°F',
|
278 |
-
'ℊ' => 'g',
|
279 |
-
'ℋ' => 'H',
|
280 |
-
'ℌ' => 'H',
|
281 |
-
'ℍ' => 'H',
|
282 |
-
'ℎ' => 'h',
|
283 |
-
'ℏ' => 'ħ',
|
284 |
-
'ℐ' => 'I',
|
285 |
-
'ℑ' => 'I',
|
286 |
-
'ℒ' => 'L',
|
287 |
-
'ℓ' => 'l',
|
288 |
-
'ℕ' => 'N',
|
289 |
-
'№' => 'No',
|
290 |
-
'ℙ' => 'P',
|
291 |
-
'ℚ' => 'Q',
|
292 |
-
'ℛ' => 'R',
|
293 |
-
'ℜ' => 'R',
|
294 |
-
'ℝ' => 'R',
|
295 |
-
'℠' => 'SM',
|
296 |
-
'℡' => 'TEL',
|
297 |
-
'™' => 'TM',
|
298 |
-
'ℤ' => 'Z',
|
299 |
-
'ℨ' => 'Z',
|
300 |
-
'ℬ' => 'B',
|
301 |
-
'ℭ' => 'C',
|
302 |
-
'ℯ' => 'e',
|
303 |
-
'ℰ' => 'E',
|
304 |
-
'ℱ' => 'F',
|
305 |
-
'ℳ' => 'M',
|
306 |
-
'ℴ' => 'o',
|
307 |
-
'ℵ' => 'א',
|
308 |
-
'ℶ' => 'ב',
|
309 |
-
'ℷ' => 'ג',
|
310 |
-
'ℸ' => 'ד',
|
311 |
-
'ℹ' => 'i',
|
312 |
-
'℻' => 'FAX',
|
313 |
-
'ℼ' => 'π',
|
314 |
-
'ℽ' => 'γ',
|
315 |
-
'ℾ' => 'Γ',
|
316 |
-
'ℿ' => 'Π',
|
317 |
-
'⅀' => '∑',
|
318 |
-
'ⅅ' => 'D',
|
319 |
-
'ⅆ' => 'd',
|
320 |
-
'ⅇ' => 'e',
|
321 |
-
'ⅈ' => 'i',
|
322 |
-
'ⅉ' => 'j',
|
323 |
-
'⅐' => '1⁄7',
|
324 |
-
'⅑' => '1⁄9',
|
325 |
-
'⅒' => '1⁄10',
|
326 |
-
'⅓' => '1⁄3',
|
327 |
-
'⅔' => '2⁄3',
|
328 |
-
'⅕' => '1⁄5',
|
329 |
-
'⅖' => '2⁄5',
|
330 |
-
'⅗' => '3⁄5',
|
331 |
-
'⅘' => '4⁄5',
|
332 |
-
'⅙' => '1⁄6',
|
333 |
-
'⅚' => '5⁄6',
|
334 |
-
'⅛' => '1⁄8',
|
335 |
-
'⅜' => '3⁄8',
|
336 |
-
'⅝' => '5⁄8',
|
337 |
-
'⅞' => '7⁄8',
|
338 |
-
'⅟' => '1⁄',
|
339 |
-
'Ⅰ' => 'I',
|
340 |
-
'Ⅱ' => 'II',
|
341 |
-
'Ⅲ' => 'III',
|
342 |
-
'Ⅳ' => 'IV',
|
343 |
-
'Ⅴ' => 'V',
|
344 |
-
'Ⅵ' => 'VI',
|
345 |
-
'Ⅶ' => 'VII',
|
346 |
-
'Ⅷ' => 'VIII',
|
347 |
-
'Ⅸ' => 'IX',
|
348 |
-
'Ⅹ' => 'X',
|
349 |
-
'Ⅺ' => 'XI',
|
350 |
-
'Ⅻ' => 'XII',
|
351 |
-
'Ⅼ' => 'L',
|
352 |
-
'Ⅽ' => 'C',
|
353 |
-
'Ⅾ' => 'D',
|
354 |
-
'Ⅿ' => 'M',
|
355 |
-
'ⅰ' => 'i',
|
356 |
-
'ⅱ' => 'ii',
|
357 |
-
'ⅲ' => 'iii',
|
358 |
-
'ⅳ' => 'iv',
|
359 |
-
'ⅴ' => 'v',
|
360 |
-
'ⅵ' => 'vi',
|
361 |
-
'ⅶ' => 'vii',
|
362 |
-
'ⅷ' => 'viii',
|
363 |
-
'ⅸ' => 'ix',
|
364 |
-
'ⅹ' => 'x',
|
365 |
-
'ⅺ' => 'xi',
|
366 |
-
'ⅻ' => 'xii',
|
367 |
-
'ⅼ' => 'l',
|
368 |
-
'ⅽ' => 'c',
|
369 |
-
'ⅾ' => 'd',
|
370 |
-
'ⅿ' => 'm',
|
371 |
-
'↉' => '0⁄3',
|
372 |
-
'∬' => '∫∫',
|
373 |
-
'∭' => '∫∫∫',
|
374 |
-
'∯' => '∮∮',
|
375 |
-
'∰' => '∮∮∮',
|
376 |
-
'①' => '1',
|
377 |
-
'②' => '2',
|
378 |
-
'③' => '3',
|
379 |
-
'④' => '4',
|
380 |
-
'⑤' => '5',
|
381 |
-
'⑥' => '6',
|
382 |
-
'⑦' => '7',
|
383 |
-
'⑧' => '8',
|
384 |
-
'⑨' => '9',
|
385 |
-
'⑩' => '10',
|
386 |
-
'⑪' => '11',
|
387 |
-
'⑫' => '12',
|
388 |
-
'⑬' => '13',
|
389 |
-
'⑭' => '14',
|
390 |
-
'⑮' => '15',
|
391 |
-
'⑯' => '16',
|
392 |
-
'⑰' => '17',
|
393 |
-
'⑱' => '18',
|
394 |
-
'⑲' => '19',
|
395 |
-
'⑳' => '20',
|
396 |
-
'⑴' => '(1)',
|
397 |
-
'⑵' => '(2)',
|
398 |
-
'⑶' => '(3)',
|
399 |
-
'⑷' => '(4)',
|
400 |
-
'⑸' => '(5)',
|
401 |
-
'⑹' => '(6)',
|
402 |
-
'⑺' => '(7)',
|
403 |
-
'⑻' => '(8)',
|
404 |
-
'⑼' => '(9)',
|
405 |
-
'⑽' => '(10)',
|
406 |
-
'⑾' => '(11)',
|
407 |
-
'⑿' => '(12)',
|
408 |
-
'⒀' => '(13)',
|
409 |
-
'⒁' => '(14)',
|
410 |
-
'⒂' => '(15)',
|
411 |
-
'⒃' => '(16)',
|
412 |
-
'⒄' => '(17)',
|
413 |
-
'⒅' => '(18)',
|
414 |
-
'⒆' => '(19)',
|
415 |
-
'⒇' => '(20)',
|
416 |
-
'⒈' => '1.',
|
417 |
-
'⒉' => '2.',
|
418 |
-
'⒊' => '3.',
|
419 |
-
'⒋' => '4.',
|
420 |
-
'⒌' => '5.',
|
421 |
-
'⒍' => '6.',
|
422 |
-
'⒎' => '7.',
|
423 |
-
'⒏' => '8.',
|
424 |
-
'⒐' => '9.',
|
425 |
-
'⒑' => '10.',
|
426 |
-
'⒒' => '11.',
|
427 |
-
'⒓' => '12.',
|
428 |
-
'⒔' => '13.',
|
429 |
-
'⒕' => '14.',
|
430 |
-
'⒖' => '15.',
|
431 |
-
'⒗' => '16.',
|
432 |
-
'⒘' => '17.',
|
433 |
-
'⒙' => '18.',
|
434 |
-
'⒚' => '19.',
|
435 |
-
'⒛' => '20.',
|
436 |
-
'⒜' => '(a)',
|
437 |
-
'⒝' => '(b)',
|
438 |
-
'⒞' => '(c)',
|
439 |
-
'⒟' => '(d)',
|
440 |
-
'⒠' => '(e)',
|
441 |
-
'⒡' => '(f)',
|
442 |
-
'⒢' => '(g)',
|
443 |
-
'⒣' => '(h)',
|
444 |
-
'⒤' => '(i)',
|
445 |
-
'⒥' => '(j)',
|
446 |
-
'⒦' => '(k)',
|
447 |
-
'⒧' => '(l)',
|
448 |
-
'⒨' => '(m)',
|
449 |
-
'⒩' => '(n)',
|
450 |
-
'⒪' => '(o)',
|
451 |
-
'⒫' => '(p)',
|
452 |
-
'⒬' => '(q)',
|
453 |
-
'⒭' => '(r)',
|
454 |
-
'⒮' => '(s)',
|
455 |
-
'⒯' => '(t)',
|
456 |
-
'⒰' => '(u)',
|
457 |
-
'⒱' => '(v)',
|
458 |
-
'⒲' => '(w)',
|
459 |
-
'⒳' => '(x)',
|
460 |
-
'⒴' => '(y)',
|
461 |
-
'⒵' => '(z)',
|
462 |
-
'Ⓐ' => 'A',
|
463 |
-
'Ⓑ' => 'B',
|
464 |
-
'Ⓒ' => 'C',
|
465 |
-
'Ⓓ' => 'D',
|
466 |
-
'Ⓔ' => 'E',
|
467 |
-
'Ⓕ' => 'F',
|
468 |
-
'Ⓖ' => 'G',
|
469 |
-
'Ⓗ' => 'H',
|
470 |
-
'Ⓘ' => 'I',
|
471 |
-
'Ⓙ' => 'J',
|
472 |
-
'Ⓚ' => 'K',
|
473 |
-
'Ⓛ' => 'L',
|
474 |
-
'Ⓜ' => 'M',
|
475 |
-
'Ⓝ' => 'N',
|
476 |
-
'Ⓞ' => 'O',
|
477 |
-
'Ⓟ' => 'P',
|
478 |
-
'Ⓠ' => 'Q',
|
479 |
-
'Ⓡ' => 'R',
|
480 |
-
'Ⓢ' => 'S',
|
481 |
-
'Ⓣ' => 'T',
|
482 |
-
'Ⓤ' => 'U',
|
483 |
-
'Ⓥ' => 'V',
|
484 |
-
'Ⓦ' => 'W',
|
485 |
-
'Ⓧ' => 'X',
|
486 |
-
'Ⓨ' => 'Y',
|
487 |
-
'Ⓩ' => 'Z',
|
488 |
-
'ⓐ' => 'a',
|
489 |
-
'ⓑ' => 'b',
|
490 |
-
'ⓒ' => 'c',
|
491 |
-
'ⓓ' => 'd',
|
492 |
-
'ⓔ' => 'e',
|
493 |
-
'ⓕ' => 'f',
|
494 |
-
'ⓖ' => 'g',
|
495 |
-
'ⓗ' => 'h',
|
496 |
-
'ⓘ' => 'i',
|
497 |
-
'ⓙ' => 'j',
|
498 |
-
'ⓚ' => 'k',
|
499 |
-
'ⓛ' => 'l',
|
500 |
-
'ⓜ' => 'm',
|
501 |
-
'ⓝ' => 'n',
|
502 |
-
'ⓞ' => 'o',
|
503 |
-
'ⓟ' => 'p',
|
504 |
-
'ⓠ' => 'q',
|
505 |
-
'ⓡ' => 'r',
|
506 |
-
'ⓢ' => 's',
|
507 |
-
'ⓣ' => 't',
|
508 |
-
'ⓤ' => 'u',
|
509 |
-
'ⓥ' => 'v',
|
510 |
-
'ⓦ' => 'w',
|
511 |
-
'ⓧ' => 'x',
|
512 |
-
'ⓨ' => 'y',
|
513 |
-
'ⓩ' => 'z',
|
514 |
-
'⓪' => '0',
|
515 |
-
'⨌' => '∫∫∫∫',
|
516 |
-
'⩴' => '::=',
|
517 |
-
'⩵' => '==',
|
518 |
-
'⩶' => '===',
|
519 |
-
'ⱼ' => 'j',
|
520 |
-
'ⱽ' => 'V',
|
521 |
-
'ⵯ' => 'ⵡ',
|
522 |
-
'⺟' => '母',
|
523 |
-
'⻳' => '龟',
|
524 |
-
'⼀' => '一',
|
525 |
-
'⼁' => '丨',
|
526 |
-
'⼂' => '丶',
|
527 |
-
'⼃' => '丿',
|
528 |
-
'⼄' => '乙',
|
529 |
-
'⼅' => '亅',
|
530 |
-
'⼆' => '二',
|
531 |
-
'⼇' => '亠',
|
532 |
-
'⼈' => '人',
|
533 |
-
'⼉' => '儿',
|
534 |
-
'⼊' => '入',
|
535 |
-
'⼋' => '八',
|
536 |
-
'⼌' => '冂',
|
537 |
-
'⼍' => '冖',
|
538 |
-
'⼎' => '冫',
|
539 |
-
'⼏' => '几',
|
540 |
-
'⼐' => '凵',
|
541 |
-
'⼑' => '刀',
|
542 |
-
'⼒' => '力',
|
543 |
-
'⼓' => '勹',
|
544 |
-
'⼔' => '匕',
|
545 |
-
'⼕' => '匚',
|
546 |
-
'⼖' => '匸',
|
547 |
-
'⼗' => '十',
|
548 |
-
'⼘' => '卜',
|
549 |
-
'⼙' => '卩',
|
550 |
-
'⼚' => '厂',
|
551 |
-
'⼛' => '厶',
|
552 |
-
'⼜' => '又',
|
553 |
-
'⼝' => '口',
|
554 |
-
'⼞' => '囗',
|
555 |
-
'⼟' => '土',
|
556 |
-
'⼠' => '士',
|
557 |
-
'⼡' => '夂',
|
558 |
-
'⼢' => '夊',
|
559 |
-
'⼣' => '夕',
|
560 |
-
'⼤' => '大',
|
561 |
-
'⼥' => '女',
|
562 |
-
'⼦' => '子',
|
563 |
-
'⼧' => '宀',
|
564 |
-
'⼨' => '寸',
|
565 |
-
'⼩' => '小',
|
566 |
-
'⼪' => '尢',
|
567 |
-
'⼫' => '尸',
|
568 |
-
'⼬' => '屮',
|
569 |
-
'⼭' => '山',
|
570 |
-
'⼮' => '巛',
|
571 |
-
'⼯' => '工',
|
572 |
-
'⼰' => '己',
|
573 |
-
'⼱' => '巾',
|
574 |
-
'⼲' => '干',
|
575 |
-
'⼳' => '幺',
|
576 |
-
'⼴' => '广',
|
577 |
-
'⼵' => '廴',
|
578 |
-
'⼶' => '廾',
|
579 |
-
'⼷' => '弋',
|
580 |
-
'⼸' => '弓',
|
581 |
-
'⼹' => '彐',
|
582 |
-
'⼺' => '彡',
|
583 |
-
'⼻' => '彳',
|
584 |
-
'⼼' => '心',
|
585 |
-
'⼽' => '戈',
|
586 |
-
'⼾' => '戶',
|
587 |
-
'⼿' => '手',
|
588 |
-
'⽀' => '支',
|
589 |
-
'⽁' => '攴',
|
590 |
-
'⽂' => '文',
|
591 |
-
'⽃' => '斗',
|
592 |
-
'⽄' => '斤',
|
593 |
-
'⽅' => '方',
|
594 |
-
'⽆' => '无',
|
595 |
-
'⽇' => '日',
|
596 |
-
'⽈' => '曰',
|
597 |
-
'⽉' => '月',
|
598 |
-
'⽊' => '木',
|
599 |
-
'⽋' => '欠',
|
600 |
-
'⽌' => '止',
|
601 |
-
'⽍' => '歹',
|
602 |
-
'⽎' => '殳',
|
603 |
-
'⽏' => '毋',
|
604 |
-
'⽐' => '比',
|
605 |
-
'⽑' => '毛',
|
606 |
-
'⽒' => '氏',
|
607 |
-
'⽓' => '气',
|
608 |
-
'⽔' => '水',
|
609 |
-
'⽕' => '火',
|
610 |
-
'⽖' => '爪',
|
611 |
-
'⽗' => '父',
|
612 |
-
'⽘' => '爻',
|
613 |
-
'⽙' => '爿',
|
614 |
-
'⽚' => '片',
|
615 |
-
'⽛' => '牙',
|
616 |
-
'⽜' => '牛',
|
617 |
-
'⽝' => '犬',
|
618 |
-
'⽞' => '玄',
|
619 |
-
'⽟' => '玉',
|
620 |
-
'⽠' => '瓜',
|
621 |
-
'⽡' => '瓦',
|
622 |
-
'⽢' => '甘',
|
623 |
-
'⽣' => '生',
|
624 |
-
'⽤' => '用',
|
625 |
-
'⽥' => '田',
|
626 |
-
'⽦' => '疋',
|
627 |
-
'⽧' => '疒',
|
628 |
-
'⽨' => '癶',
|
629 |
-
'⽩' => '白',
|
630 |
-
'⽪' => '皮',
|
631 |
-
'⽫' => '皿',
|
632 |
-
'⽬' => '目',
|
633 |
-
'⽭' => '矛',
|
634 |
-
'⽮' => '矢',
|
635 |
-
'⽯' => '石',
|
636 |
-
'⽰' => '示',
|
637 |
-
'⽱' => '禸',
|
638 |
-
'⽲' => '禾',
|
639 |
-
'⽳' => '穴',
|
640 |
-
'⽴' => '立',
|
641 |
-
'⽵' => '竹',
|
642 |
-
'⽶' => '米',
|
643 |
-
'⽷' => '糸',
|
644 |
-
'⽸' => '缶',
|
645 |
-
'⽹' => '网',
|
646 |
-
'⽺' => '羊',
|
647 |
-
'⽻' => '羽',
|
648 |
-
'⽼' => '老',
|
649 |
-
'⽽' => '而',
|
650 |
-
'⽾' => '耒',
|
651 |
-
'⽿' => '耳',
|
652 |
-
'⾀' => '聿',
|
653 |
-
'⾁' => '肉',
|
654 |
-
'⾂' => '臣',
|
655 |
-
'⾃' => '自',
|
656 |
-
'⾄' => '至',
|
657 |
-
'⾅' => '臼',
|
658 |
-
'⾆' => '舌',
|
659 |
-
'⾇' => '舛',
|
660 |
-
'⾈' => '舟',
|
661 |
-
'⾉' => '艮',
|
662 |
-
'⾊' => '色',
|
663 |
-
'⾋' => '艸',
|
664 |
-
'⾌' => '虍',
|
665 |
-
'⾍' => '虫',
|
666 |
-
'⾎' => '血',
|
667 |
-
'⾏' => '行',
|
668 |
-
'⾐' => '衣',
|
669 |
-
'⾑' => '襾',
|
670 |
-
'⾒' => '見',
|
671 |
-
'⾓' => '角',
|
672 |
-
'⾔' => '言',
|
673 |
-
'⾕' => '谷',
|
674 |
-
'⾖' => '豆',
|
675 |
-
'⾗' => '豕',
|
676 |
-
'⾘' => '豸',
|
677 |
-
'⾙' => '貝',
|
678 |
-
'⾚' => '赤',
|
679 |
-
'⾛' => '走',
|
680 |
-
'⾜' => '足',
|
681 |
-
'⾝' => '身',
|
682 |
-
'⾞' => '車',
|
683 |
-
'⾟' => '辛',
|
684 |
-
'⾠' => '辰',
|
685 |
-
'⾡' => '辵',
|
686 |
-
'⾢' => '邑',
|
687 |
-
'⾣' => '酉',
|
688 |
-
'⾤' => '釆',
|
689 |
-
'⾥' => '里',
|
690 |
-
'⾦' => '金',
|
691 |
-
'⾧' => '長',
|
692 |
-
'⾨' => '門',
|
693 |
-
'⾩' => '阜',
|
694 |
-
'⾪' => '隶',
|
695 |
-
'⾫' => '隹',
|
696 |
-
'⾬' => '雨',
|
697 |
-
'⾭' => '靑',
|
698 |
-
'⾮' => '非',
|
699 |
-
'⾯' => '面',
|
700 |
-
'⾰' => '革',
|
701 |
-
'⾱' => '韋',
|
702 |
-
'⾲' => '韭',
|
703 |
-
'⾳' => '音',
|
704 |
-
'⾴' => '頁',
|
705 |
-
'⾵' => '風',
|
706 |
-
'⾶' => '飛',
|
707 |
-
'⾷' => '食',
|
708 |
-
'⾸' => '首',
|
709 |
-
'⾹' => '香',
|
710 |
-
'⾺' => '馬',
|
711 |
-
'⾻' => '骨',
|
712 |
-
'⾼' => '高',
|
713 |
-
'⾽' => '髟',
|
714 |
-
'⾾' => '鬥',
|
715 |
-
'⾿' => '鬯',
|
716 |
-
'⿀' => '鬲',
|
717 |
-
'⿁' => '鬼',
|
718 |
-
'⿂' => '魚',
|
719 |
-
'⿃' => '鳥',
|
720 |
-
'⿄' => '鹵',
|
721 |
-
'⿅' => '鹿',
|
722 |
-
'⿆' => '麥',
|
723 |
-
'⿇' => '麻',
|
724 |
-
'⿈' => '黃',
|
725 |
-
'⿉' => '黍',
|
726 |
-
'⿊' => '黑',
|
727 |
-
'⿋' => '黹',
|
728 |
-
'⿌' => '黽',
|
729 |
-
'⿍' => '鼎',
|
730 |
-
'⿎' => '鼓',
|
731 |
-
'⿏' => '鼠',
|
732 |
-
'⿐' => '鼻',
|
733 |
-
'⿑' => '齊',
|
734 |
-
'⿒' => '齒',
|
735 |
-
'⿓' => '龍',
|
736 |
-
'⿔' => '龜',
|
737 |
-
'⿕' => '龠',
|
738 |
-
' ' => ' ',
|
739 |
-
'〶' => '〒',
|
740 |
-
'〸' => '十',
|
741 |
-
'〹' => '卄',
|
742 |
-
'〺' => '卅',
|
743 |
-
'゛' => ' ゙',
|
744 |
-
'゜' => ' ゚',
|
745 |
-
'ゟ' => 'より',
|
746 |
-
'ヿ' => 'コト',
|
747 |
-
'ㄱ' => 'ᄀ',
|
748 |
-
'ㄲ' => 'ᄁ',
|
749 |
-
'ㄳ' => 'ᆪ',
|
750 |
-
'ㄴ' => 'ᄂ',
|
751 |
-
'ㄵ' => 'ᆬ',
|
752 |
-
'ㄶ' => 'ᆭ',
|
753 |
-
'ㄷ' => 'ᄃ',
|
754 |
-
'ㄸ' => 'ᄄ',
|
755 |
-
'ㄹ' => 'ᄅ',
|
756 |
-
'ㄺ' => 'ᆰ',
|
757 |
-
'ㄻ' => 'ᆱ',
|
758 |
-
'ㄼ' => 'ᆲ',
|
759 |
-
'ㄽ' => 'ᆳ',
|
760 |
-
'ㄾ' => 'ᆴ',
|
761 |
-
'ㄿ' => 'ᆵ',
|
762 |
-
'ㅀ' => 'ᄚ',
|
763 |
-
'ㅁ' => 'ᄆ',
|
764 |
-
'ㅂ' => 'ᄇ',
|
765 |
-
'ㅃ' => 'ᄈ',
|
766 |
-
'ㅄ' => 'ᄡ',
|
767 |
-
'ㅅ' => 'ᄉ',
|
768 |
-
'ㅆ' => 'ᄊ',
|
769 |
-
'ㅇ' => 'ᄋ',
|
770 |
-
'ㅈ' => 'ᄌ',
|
771 |
-
'ㅉ' => 'ᄍ',
|
772 |
-
'ㅊ' => 'ᄎ',
|
773 |
-
'ㅋ' => 'ᄏ',
|
774 |
-
'ㅌ' => 'ᄐ',
|
775 |
-
'ㅍ' => 'ᄑ',
|
776 |
-
'ㅎ' => 'ᄒ',
|
777 |
-
'ㅏ' => 'ᅡ',
|
778 |
-
'ㅐ' => 'ᅢ',
|
779 |
-
'ㅑ' => 'ᅣ',
|
780 |
-
'ㅒ' => 'ᅤ',
|
781 |
-
'ㅓ' => 'ᅥ',
|
782 |
-
'ㅔ' => 'ᅦ',
|
783 |
-
'ㅕ' => 'ᅧ',
|
784 |
-
'ㅖ' => 'ᅨ',
|
785 |
-
'ㅗ' => 'ᅩ',
|
786 |
-
'ㅘ' => 'ᅪ',
|
787 |
-
'ㅙ' => 'ᅫ',
|
788 |
-
'ㅚ' => 'ᅬ',
|
789 |
-
'ㅛ' => 'ᅭ',
|
790 |
-
'ㅜ' => 'ᅮ',
|
791 |
-
'ㅝ' => 'ᅯ',
|
792 |
-
'ㅞ' => 'ᅰ',
|
793 |
-
'ㅟ' => 'ᅱ',
|
794 |
-
'ㅠ' => 'ᅲ',
|
795 |
-
'ㅡ' => 'ᅳ',
|
796 |
-
'ㅢ' => 'ᅴ',
|
797 |
-
'ㅣ' => 'ᅵ',
|
798 |
-
'ㅤ' => 'ᅠ',
|
799 |
-
'ㅥ' => 'ᄔ',
|
800 |
-
'ㅦ' => 'ᄕ',
|
801 |
-
'ㅧ' => 'ᇇ',
|
802 |
-
'ㅨ' => 'ᇈ',
|
803 |
-
'ㅩ' => 'ᇌ',
|
804 |
-
'ㅪ' => 'ᇎ',
|
805 |
-
'ㅫ' => 'ᇓ',
|
806 |
-
'ㅬ' => 'ᇗ',
|
807 |
-
'ㅭ' => 'ᇙ',
|
808 |
-
'ㅮ' => 'ᄜ',
|
809 |
-
'ㅯ' => 'ᇝ',
|
810 |
-
'ㅰ' => 'ᇟ',
|
811 |
-
'ㅱ' => 'ᄝ',
|
812 |
-
'ㅲ' => 'ᄞ',
|
813 |
-
'ㅳ' => 'ᄠ',
|
814 |
-
'ㅴ' => 'ᄢ',
|
815 |
-
'ㅵ' => 'ᄣ',
|
816 |
-
'ㅶ' => 'ᄧ',
|
817 |
-
'ㅷ' => 'ᄩ',
|
818 |
-
'ㅸ' => 'ᄫ',
|
819 |
-
'ㅹ' => 'ᄬ',
|
820 |
-
'ㅺ' => 'ᄭ',
|
821 |
-
'ㅻ' => 'ᄮ',
|
822 |
-
'ㅼ' => 'ᄯ',
|
823 |
-
'ㅽ' => 'ᄲ',
|
824 |
-
'ㅾ' => 'ᄶ',
|
825 |
-
'ㅿ' => 'ᅀ',
|
826 |
-
'ㆀ' => 'ᅇ',
|
827 |
-
'ㆁ' => 'ᅌ',
|
828 |
-
'ㆂ' => 'ᇱ',
|
829 |
-
'ㆃ' => 'ᇲ',
|
830 |
-
'ㆄ' => 'ᅗ',
|
831 |
-
'ㆅ' => 'ᅘ',
|
832 |
-
'ㆆ' => 'ᅙ',
|
833 |
-
'ㆇ' => 'ᆄ',
|
834 |
-
'ㆈ' => 'ᆅ',
|
835 |
-
'ㆉ' => 'ᆈ',
|
836 |
-
'ㆊ' => 'ᆑ',
|
837 |
-
'ㆋ' => 'ᆒ',
|
838 |
-
'ㆌ' => 'ᆔ',
|
839 |
-
'ㆍ' => 'ᆞ',
|
840 |
-
'ㆎ' => 'ᆡ',
|
841 |
-
'㆒' => '一',
|
842 |
-
'㆓' => '二',
|
843 |
-
'㆔' => '三',
|
844 |
-
'㆕' => '四',
|
845 |
-
'㆖' => '上',
|
846 |
-
'㆗' => '中',
|
847 |
-
'㆘' => '下',
|
848 |
-
'㆙' => '甲',
|
849 |
-
'㆚' => '乙',
|
850 |
-
'㆛' => '丙',
|
851 |
-
'㆜' => '丁',
|
852 |
-
'㆝' => '天',
|
853 |
-
'㆞' => '地',
|
854 |
-
'㆟' => '人',
|
855 |
-
'㈀' => '(ᄀ)',
|
856 |
-
'㈁' => '(ᄂ)',
|
857 |
-
'㈂' => '(ᄃ)',
|
858 |
-
'㈃' => '(ᄅ)',
|
859 |
-
'㈄' => '(ᄆ)',
|
860 |
-
'㈅' => '(ᄇ)',
|
861 |
-
'㈆' => '(ᄉ)',
|
862 |
-
'㈇' => '(ᄋ)',
|
863 |
-
'㈈' => '(ᄌ)',
|
864 |
-
'㈉' => '(ᄎ)',
|
865 |
-
'㈊' => '(ᄏ)',
|
866 |
-
'㈋' => '(ᄐ)',
|
867 |
-
'㈌' => '(ᄑ)',
|
868 |
-
'㈍' => '(ᄒ)',
|
869 |
-
'㈎' => '(가)',
|
870 |
-
'㈏' => '(나)',
|
871 |
-
'㈐' => '(다)',
|
872 |
-
'㈑' => '(라)',
|
873 |
-
'㈒' => '(마)',
|
874 |
-
'㈓' => '(바)',
|
875 |
-
'㈔' => '(사)',
|
876 |
-
'㈕' => '(아)',
|
877 |
-
'㈖' => '(자)',
|
878 |
-
'㈗' => '(차)',
|
879 |
-
'㈘' => '(카)',
|
880 |
-
'㈙' => '(타)',
|
881 |
-
'㈚' => '(파)',
|
882 |
-
'㈛' => '(하)',
|
883 |
-
'㈜' => '(주)',
|
884 |
-
'㈝' => '(오전)',
|
885 |
-
'㈞' => '(오후)',
|
886 |
-
'㈠' => '(一)',
|
887 |
-
'㈡' => '(二)',
|
888 |
-
'㈢' => '(三)',
|
889 |
-
'㈣' => '(四)',
|
890 |
-
'㈤' => '(五)',
|
891 |
-
'㈥' => '(六)',
|
892 |
-
'㈦' => '(七)',
|
893 |
-
'㈧' => '(八)',
|
894 |
-
'㈨' => '(九)',
|
895 |
-
'㈩' => '(十)',
|
896 |
-
'㈪' => '(月)',
|
897 |
-
'㈫' => '(火)',
|
898 |
-
'㈬' => '(水)',
|
899 |
-
'㈭' => '(木)',
|
900 |
-
'㈮' => '(金)',
|
901 |
-
'㈯' => '(土)',
|
902 |
-
'㈰' => '(日)',
|
903 |
-
'㈱' => '(株)',
|
904 |
-
'㈲' => '(有)',
|
905 |
-
'㈳' => '(社)',
|
906 |
-
'㈴' => '(名)',
|
907 |
-
'㈵' => '(特)',
|
908 |
-
'㈶' => '(財)',
|
909 |
-
'㈷' => '(祝)',
|
910 |
-
'㈸' => '(労)',
|
911 |
-
'㈹' => '(代)',
|
912 |
-
'㈺' => '(呼)',
|
913 |
-
'㈻' => '(学)',
|
914 |
-
'㈼' => '(監)',
|
915 |
-
'㈽' => '(企)',
|
916 |
-
'㈾' => '(資)',
|
917 |
-
'㈿' => '(協)',
|
918 |
-
'㉀' => '(祭)',
|
919 |
-
'㉁' => '(休)',
|
920 |
-
'㉂' => '(自)',
|
921 |
-
'㉃' => '(至)',
|
922 |
-
'㉄' => '問',
|
923 |
-
'㉅' => '幼',
|
924 |
-
'㉆' => '文',
|
925 |
-
'㉇' => '箏',
|
926 |
-
'㉐' => 'PTE',
|
927 |
-
'㉑' => '21',
|
928 |
-
'㉒' => '22',
|
929 |
-
'㉓' => '23',
|
930 |
-
'㉔' => '24',
|
931 |
-
'㉕' => '25',
|
932 |
-
'㉖' => '26',
|
933 |
-
'㉗' => '27',
|
934 |
-
'㉘' => '28',
|
935 |
-
'㉙' => '29',
|
936 |
-
'㉚' => '30',
|
937 |
-
'㉛' => '31',
|
938 |
-
'㉜' => '32',
|
939 |
-
'㉝' => '33',
|
940 |
-
'㉞' => '34',
|
941 |
-
'㉟' => '35',
|
942 |
-
'㉠' => 'ᄀ',
|
943 |
-
'㉡' => 'ᄂ',
|
944 |
-
'㉢' => 'ᄃ',
|
945 |
-
'㉣' => 'ᄅ',
|
946 |
-
'㉤' => 'ᄆ',
|
947 |
-
'㉥' => 'ᄇ',
|
948 |
-
'㉦' => 'ᄉ',
|
949 |
-
'㉧' => 'ᄋ',
|
950 |
-
'㉨' => 'ᄌ',
|
951 |
-
'㉩' => 'ᄎ',
|
952 |
-
'㉪' => 'ᄏ',
|
953 |
-
'㉫' => 'ᄐ',
|
954 |
-
'㉬' => 'ᄑ',
|
955 |
-
'㉭' => 'ᄒ',
|
956 |
-
'㉮' => '가',
|
957 |
-
'㉯' => '나',
|
958 |
-
'㉰' => '다',
|
959 |
-
'㉱' => '라',
|
960 |
-
'㉲' => '마',
|
961 |
-
'㉳' => '바',
|
962 |
-
'㉴' => '사',
|
963 |
-
'㉵' => '아',
|
964 |
-
'㉶' => '자',
|
965 |
-
'㉷' => '차',
|
966 |
-
'㉸' => '카',
|
967 |
-
'㉹' => '타',
|
968 |
-
'㉺' => '파',
|
969 |
-
'㉻' => '하',
|
970 |
-
'㉼' => '참고',
|
971 |
-
'㉽' => '주의',
|
972 |
-
'㉾' => '우',
|
973 |
-
'㊀' => '一',
|
974 |
-
'㊁' => '二',
|
975 |
-
'㊂' => '三',
|
976 |
-
'㊃' => '四',
|
977 |
-
'㊄' => '五',
|
978 |
-
'㊅' => '六',
|
979 |
-
'㊆' => '七',
|
980 |
-
'㊇' => '八',
|
981 |
-
'㊈' => '九',
|
982 |
-
'㊉' => '十',
|
983 |
-
'㊊' => '月',
|
984 |
-
'㊋' => '火',
|
985 |
-
'㊌' => '水',
|
986 |
-
'㊍' => '木',
|
987 |
-
'㊎' => '金',
|
988 |
-
'㊏' => '土',
|
989 |
-
'㊐' => '日',
|
990 |
-
'㊑' => '株',
|
991 |
-
'㊒' => '有',
|
992 |
-
'㊓' => '社',
|
993 |
-
'㊔' => '名',
|
994 |
-
'㊕' => '特',
|
995 |
-
'㊖' => '財',
|
996 |
-
'㊗' => '祝',
|
997 |
-
'㊘' => '労',
|
998 |
-
'㊙' => '秘',
|
999 |
-
'㊚' => '男',
|
1000 |
-
'㊛' => '女',
|
1001 |
-
'㊜' => '適',
|
1002 |
-
'㊝' => '優',
|
1003 |
-
'㊞' => '印',
|
1004 |
-
'㊟' => '注',
|
1005 |
-
'㊠' => '項',
|
1006 |
-
'㊡' => '休',
|
1007 |
-
'㊢' => '写',
|
1008 |
-
'㊣' => '正',
|
1009 |
-
'㊤' => '上',
|
1010 |
-
'㊥' => '中',
|
1011 |
-
'㊦' => '下',
|
1012 |
-
'㊧' => '左',
|
1013 |
-
'㊨' => '右',
|
1014 |
-
'㊩' => '医',
|
1015 |
-
'㊪' => '宗',
|
1016 |
-
'㊫' => '学',
|
1017 |
-
'㊬' => '監',
|
1018 |
-
'㊭' => '企',
|
1019 |
-
'㊮' => '資',
|
1020 |
-
'㊯' => '協',
|
1021 |
-
'㊰' => '夜',
|
1022 |
-
'㊱' => '36',
|
1023 |
-
'㊲' => '37',
|
1024 |
-
'㊳' => '38',
|
1025 |
-
'㊴' => '39',
|
1026 |
-
'㊵' => '40',
|
1027 |
-
'㊶' => '41',
|
1028 |
-
'㊷' => '42',
|
1029 |
-
'㊸' => '43',
|
1030 |
-
'㊹' => '44',
|
1031 |
-
'㊺' => '45',
|
1032 |
-
'㊻' => '46',
|
1033 |
-
'㊼' => '47',
|
1034 |
-
'㊽' => '48',
|
1035 |
-
'㊾' => '49',
|
1036 |
-
'㊿' => '50',
|
1037 |
-
'㋀' => '1月',
|
1038 |
-
'㋁' => '2月',
|
1039 |
-
'㋂' => '3月',
|
1040 |
-
'㋃' => '4月',
|
1041 |
-
'㋄' => '5月',
|
1042 |
-
'㋅' => '6月',
|
1043 |
-
'㋆' => '7月',
|
1044 |
-
'㋇' => '8月',
|
1045 |
-
'㋈' => '9月',
|
1046 |
-
'㋉' => '10月',
|
1047 |
-
'㋊' => '11月',
|
1048 |
-
'㋋' => '12月',
|
1049 |
-
'㋌' => 'Hg',
|
1050 |
-
'㋍' => 'erg',
|
1051 |
-
'㋎' => 'eV',
|
1052 |
-
'㋏' => 'LTD',
|
1053 |
-
'㋐' => 'ア',
|
1054 |
-
'㋑' => 'イ',
|
1055 |
-
'㋒' => 'ウ',
|
1056 |
-
'㋓' => 'エ',
|
1057 |
-
'㋔' => 'オ',
|
1058 |
-
'㋕' => 'カ',
|
1059 |
-
'㋖' => 'キ',
|
1060 |
-
'㋗' => 'ク',
|
1061 |
-
'㋘' => 'ケ',
|
1062 |
-
'㋙' => 'コ',
|
1063 |
-
'㋚' => 'サ',
|
1064 |
-
'㋛' => 'シ',
|
1065 |
-
'㋜' => 'ス',
|
1066 |
-
'㋝' => 'セ',
|
1067 |
-
'㋞' => 'ソ',
|
1068 |
-
'㋟' => 'タ',
|
1069 |
-
'㋠' => 'チ',
|
1070 |
-
'㋡' => 'ツ',
|
1071 |
-
'㋢' => 'テ',
|
1072 |
-
'㋣' => 'ト',
|
1073 |
-
'㋤' => 'ナ',
|
1074 |
-
'㋥' => 'ニ',
|
1075 |
-
'㋦' => 'ヌ',
|
1076 |
-
'㋧' => 'ネ',
|
1077 |
-
'㋨' => 'ノ',
|
1078 |
-
'㋩' => 'ハ',
|
1079 |
-
'㋪' => 'ヒ',
|
1080 |
-
'㋫' => 'フ',
|
1081 |
-
'㋬' => 'ヘ',
|
1082 |
-
'㋭' => 'ホ',
|
1083 |
-
'㋮' => 'マ',
|
1084 |
-
'㋯' => 'ミ',
|
1085 |
-
'㋰' => 'ム',
|
1086 |
-
'㋱' => 'メ',
|
1087 |
-
'㋲' => 'モ',
|
1088 |
-
'㋳' => 'ヤ',
|
1089 |
-
'㋴' => 'ユ',
|
1090 |
-
'㋵' => 'ヨ',
|
1091 |
-
'㋶' => 'ラ',
|
1092 |
-
'㋷' => 'リ',
|
1093 |
-
'㋸' => 'ル',
|
1094 |
-
'㋹' => 'レ',
|
1095 |
-
'㋺' => 'ロ',
|
1096 |
-
'㋻' => 'ワ',
|
1097 |
-
'㋼' => 'ヰ',
|
1098 |
-
'㋽' => 'ヱ',
|
1099 |
-
'㋾' => 'ヲ',
|
1100 |
-
'㋿' => '令和',
|
1101 |
-
'㌀' => 'アパート',
|
1102 |
-
'㌁' => 'アルファ',
|
1103 |
-
'㌂' => 'アンペア',
|
1104 |
-
'㌃' => 'アール',
|
1105 |
-
'㌄' => 'イニング',
|
1106 |
-
'㌅' => 'インチ',
|
1107 |
-
'㌆' => 'ウォン',
|
1108 |
-
'㌇' => 'エスクード',
|
1109 |
-
'㌈' => 'エーカー',
|
1110 |
-
'㌉' => 'オンス',
|
1111 |
-
'㌊' => 'オーム',
|
1112 |
-
'㌋' => 'カイリ',
|
1113 |
-
'㌌' => 'カラット',
|
1114 |
-
'㌍' => 'カロリー',
|
1115 |
-
'㌎' => 'ガロン',
|
1116 |
-
'㌏' => 'ガンマ',
|
1117 |
-
'㌐' => 'ギガ',
|
1118 |
-
'㌑' => 'ギニー',
|
1119 |
-
'㌒' => 'キュリー',
|
1120 |
-
'㌓' => 'ギルダー',
|
1121 |
-
'㌔' => 'キロ',
|
1122 |
-
'㌕' => 'キログラム',
|
1123 |
-
'㌖' => 'キロメートル',
|
1124 |
-
'㌗' => 'キロワット',
|
1125 |
-
'㌘' => 'グラム',
|
1126 |
-
'㌙' => 'グラムトン',
|
1127 |
-
'㌚' => 'クルゼイロ',
|
1128 |
-
'㌛' => 'クローネ',
|
1129 |
-
'㌜' => 'ケース',
|
1130 |
-
'㌝' => 'コルナ',
|
1131 |
-
'㌞' => 'コーポ',
|
1132 |
-
'㌟' => 'サイクル',
|
1133 |
-
'㌠' => 'サンチーム',
|
1134 |
-
'㌡' => 'シリング',
|
1135 |
-
'㌢' => 'センチ',
|
1136 |
-
'㌣' => 'セント',
|
1137 |
-
'㌤' => 'ダース',
|
1138 |
-
'㌥' => 'デシ',
|
1139 |
-
'㌦' => 'ドル',
|
1140 |
-
'㌧' => 'トン',
|
1141 |
-
'㌨' => 'ナノ',
|
1142 |
-
'㌩' => 'ノット',
|
1143 |
-
'㌪' => 'ハイツ',
|
1144 |
-
'㌫' => 'パーセント',
|
1145 |
-
'㌬' => 'パーツ',
|
1146 |
-
'㌭' => 'バーレル',
|
1147 |
-
'㌮' => 'ピアストル',
|
1148 |
-
'㌯' => 'ピクル',
|
1149 |
-
'㌰' => 'ピコ',
|
1150 |
-
'㌱' => 'ビル',
|
1151 |
-
'㌲' => 'ファラッド',
|
1152 |
-
'㌳' => 'フィート',
|
1153 |
-
'㌴' => 'ブッシェル',
|
1154 |
-
'㌵' => 'フラン',
|
1155 |
-
'㌶' => 'ヘクタール',
|
1156 |
-
'㌷' => 'ペソ',
|
1157 |
-
'㌸' => 'ペニヒ',
|
1158 |
-
'㌹' => 'ヘルツ',
|
1159 |
-
'㌺' => 'ペンス',
|
1160 |
-
'㌻' => 'ページ',
|
1161 |
-
'㌼' => 'ベータ',
|
1162 |
-
'㌽' => 'ポイント',
|
1163 |
-
'㌾' => 'ボルト',
|
1164 |
-
'㌿' => 'ホン',
|
1165 |
-
'㍀' => 'ポンド',
|
1166 |
-
'㍁' => 'ホール',
|
1167 |
-
'㍂' => 'ホーン',
|
1168 |
-
'㍃' => 'マイクロ',
|
1169 |
-
'㍄' => 'マイル',
|
1170 |
-
'㍅' => 'マッハ',
|
1171 |
-
'㍆' => 'マルク',
|
1172 |
-
'㍇' => 'マンション',
|
1173 |
-
'㍈' => 'ミクロン',
|
1174 |
-
'㍉' => 'ミリ',
|
1175 |
-
'㍊' => 'ミリバール',
|
1176 |
-
'㍋' => 'メガ',
|
1177 |
-
'㍌' => 'メガトン',
|
1178 |
-
'㍍' => 'メートル',
|
1179 |
-
'㍎' => 'ヤード',
|
1180 |
-
'㍏' => 'ヤール',
|
1181 |
-
'㍐' => 'ユアン',
|
1182 |
-
'㍑' => 'リットル',
|
1183 |
-
'㍒' => 'リラ',
|
1184 |
-
'㍓' => 'ルピー',
|
1185 |
-
'㍔' => 'ルーブル',
|
1186 |
-
'㍕' => 'レム',
|
1187 |
-
'㍖' => 'レントゲン',
|
1188 |
-
'㍗' => 'ワット',
|
1189 |
-
'㍘' => '0点',
|
1190 |
-
'㍙' => '1点',
|
1191 |
-
'㍚' => '2点',
|
1192 |
-
'㍛' => '3点',
|
1193 |
-
'㍜' => '4点',
|
1194 |
-
'㍝' => '5点',
|
1195 |
-
'㍞' => '6点',
|
1196 |
-
'㍟' => '7点',
|
1197 |
-
'㍠' => '8点',
|
1198 |
-
'㍡' => '9点',
|
1199 |
-
'㍢' => '10点',
|
1200 |
-
'㍣' => '11点',
|
1201 |
-
'㍤' => '12点',
|
1202 |
-
'㍥' => '13点',
|
1203 |
-
'㍦' => '14点',
|
1204 |
-
'㍧' => '15点',
|
1205 |
-
'㍨' => '16点',
|
1206 |
-
'㍩' => '17点',
|
1207 |
-
'㍪' => '18点',
|
1208 |
-
'㍫' => '19点',
|
1209 |
-
'㍬' => '20点',
|
1210 |
-
'㍭' => '21点',
|
1211 |
-
'㍮' => '22点',
|
1212 |
-
'㍯' => '23点',
|
1213 |
-
'㍰' => '24点',
|
1214 |
-
'㍱' => 'hPa',
|
1215 |
-
'㍲' => 'da',
|
1216 |
-
'㍳' => 'AU',
|
1217 |
-
'㍴' => 'bar',
|
1218 |
-
'㍵' => 'oV',
|
1219 |
-
'㍶' => 'pc',
|
1220 |
-
'㍷' => 'dm',
|
1221 |
-
'㍸' => 'dm2',
|
1222 |
-
'㍹' => 'dm3',
|
1223 |
-
'㍺' => 'IU',
|
1224 |
-
'㍻' => '平成',
|
1225 |
-
'㍼' => '昭和',
|
1226 |
-
'㍽' => '大正',
|
1227 |
-
'㍾' => '明治',
|
1228 |
-
'㍿' => '株式会社',
|
1229 |
-
'㎀' => 'pA',
|
1230 |
-
'㎁' => 'nA',
|
1231 |
-
'㎂' => 'μA',
|
1232 |
-
'㎃' => 'mA',
|
1233 |
-
'㎄' => 'kA',
|
1234 |
-
'㎅' => 'KB',
|
1235 |
-
'㎆' => 'MB',
|
1236 |
-
'㎇' => 'GB',
|
1237 |
-
'㎈' => 'cal',
|
1238 |
-
'㎉' => 'kcal',
|
1239 |
-
'㎊' => 'pF',
|
1240 |
-
'㎋' => 'nF',
|
1241 |
-
'㎌' => 'μF',
|
1242 |
-
'㎍' => 'μg',
|
1243 |
-
'㎎' => 'mg',
|
1244 |
-
'㎏' => 'kg',
|
1245 |
-
'㎐' => 'Hz',
|
1246 |
-
'㎑' => 'kHz',
|
1247 |
-
'㎒' => 'MHz',
|
1248 |
-
'㎓' => 'GHz',
|
1249 |
-
'㎔' => 'THz',
|
1250 |
-
'㎕' => 'μl',
|
1251 |
-
'㎖' => 'ml',
|
1252 |
-
'㎗' => 'dl',
|
1253 |
-
'㎘' => 'kl',
|
1254 |
-
'㎙' => 'fm',
|
1255 |
-
'㎚' => 'nm',
|
1256 |
-
'㎛' => 'μm',
|
1257 |
-
'㎜' => 'mm',
|
1258 |
-
'㎝' => 'cm',
|
1259 |
-
'㎞' => 'km',
|
1260 |
-
'㎟' => 'mm2',
|
1261 |
-
'㎠' => 'cm2',
|
1262 |
-
'㎡' => 'm2',
|
1263 |
-
'㎢' => 'km2',
|
1264 |
-
'㎣' => 'mm3',
|
1265 |
-
'㎤' => 'cm3',
|
1266 |
-
'㎥' => 'm3',
|
1267 |
-
'㎦' => 'km3',
|
1268 |
-
'㎧' => 'm∕s',
|
1269 |
-
'㎨' => 'm∕s2',
|
1270 |
-
'㎩' => 'Pa',
|
1271 |
-
'㎪' => 'kPa',
|
1272 |
-
'㎫' => 'MPa',
|
1273 |
-
'㎬' => 'GPa',
|
1274 |
-
'㎭' => 'rad',
|
1275 |
-
'㎮' => 'rad∕s',
|
1276 |
-
'㎯' => 'rad∕s2',
|
1277 |
-
'㎰' => 'ps',
|
1278 |
-
'㎱' => 'ns',
|
1279 |
-
'㎲' => 'μs',
|
1280 |
-
'㎳' => 'ms',
|
1281 |
-
'㎴' => 'pV',
|
1282 |
-
'㎵' => 'nV',
|
1283 |
-
'㎶' => 'μV',
|
1284 |
-
'㎷' => 'mV',
|
1285 |
-
'㎸' => 'kV',
|
1286 |
-
'㎹' => 'MV',
|
1287 |
-
'㎺' => 'pW',
|
1288 |
-
'㎻' => 'nW',
|
1289 |
-
'㎼' => 'μW',
|
1290 |
-
'㎽' => 'mW',
|
1291 |
-
'㎾' => 'kW',
|
1292 |
-
'㎿' => 'MW',
|
1293 |
-
'㏀' => 'kΩ',
|
1294 |
-
'㏁' => 'MΩ',
|
1295 |
-
'㏂' => 'a.m.',
|
1296 |
-
'㏃' => 'Bq',
|
1297 |
-
'㏄' => 'cc',
|
1298 |
-
'㏅' => 'cd',
|
1299 |
-
'㏆' => 'C∕kg',
|
1300 |
-
'㏇' => 'Co.',
|
1301 |
-
'㏈' => 'dB',
|
1302 |
-
'㏉' => 'Gy',
|
1303 |
-
'㏊' => 'ha',
|
1304 |
-
'㏋' => 'HP',
|
1305 |
-
'㏌' => 'in',
|
1306 |
-
'㏍' => 'KK',
|
1307 |
-
'㏎' => 'KM',
|
1308 |
-
'㏏' => 'kt',
|
1309 |
-
'㏐' => 'lm',
|
1310 |
-
'㏑' => 'ln',
|
1311 |
-
'㏒' => 'log',
|
1312 |
-
'㏓' => 'lx',
|
1313 |
-
'㏔' => 'mb',
|
1314 |
-
'㏕' => 'mil',
|
1315 |
-
'㏖' => 'mol',
|
1316 |
-
'㏗' => 'PH',
|
1317 |
-
'㏘' => 'p.m.',
|
1318 |
-
'㏙' => 'PPM',
|
1319 |
-
'㏚' => 'PR',
|
1320 |
-
'㏛' => 'sr',
|
1321 |
-
'㏜' => 'Sv',
|
1322 |
-
'㏝' => 'Wb',
|
1323 |
-
'㏞' => 'V∕m',
|
1324 |
-
'㏟' => 'A∕m',
|
1325 |
-
'㏠' => '1日',
|
1326 |
-
'㏡' => '2日',
|
1327 |
-
'㏢' => '3日',
|
1328 |
-
'㏣' => '4日',
|
1329 |
-
'㏤' => '5日',
|
1330 |
-
'㏥' => '6日',
|
1331 |
-
'㏦' => '7日',
|
1332 |
-
'㏧' => '8日',
|
1333 |
-
'㏨' => '9日',
|
1334 |
-
'㏩' => '10日',
|
1335 |
-
'㏪' => '11日',
|
1336 |
-
'㏫' => '12日',
|
1337 |
-
'㏬' => '13日',
|
1338 |
-
'㏭' => '14日',
|
1339 |
-
'㏮' => '15日',
|
1340 |
-
'㏯' => '16日',
|
1341 |
-
'㏰' => '17日',
|
1342 |
-
'㏱' => '18日',
|
1343 |
-
'㏲' => '19日',
|
1344 |
-
'㏳' => '20日',
|
1345 |
-
'㏴' => '21日',
|
1346 |
-
'㏵' => '22日',
|
1347 |
-
'㏶' => '23日',
|
1348 |
-
'㏷' => '24日',
|
1349 |
-
'㏸' => '25日',
|
1350 |
-
'㏹' => '26日',
|
1351 |
-
'㏺' => '27日',
|
1352 |
-
'㏻' => '28日',
|
1353 |
-
'㏼' => '29日',
|
1354 |
-
'㏽' => '30日',
|
1355 |
-
'㏾' => '31日',
|
1356 |
-
'㏿' => 'gal',
|
1357 |
-
'ꚜ' => 'ъ',
|
1358 |
-
'ꚝ' => 'ь',
|
1359 |
-
'ꝰ' => 'ꝯ',
|
1360 |
-
'ꟸ' => 'Ħ',
|
1361 |
-
'ꟹ' => 'œ',
|
1362 |
-
'ꭜ' => 'ꜧ',
|
1363 |
-
'ꭝ' => 'ꬷ',
|
1364 |
-
'ꭞ' => 'ɫ',
|
1365 |
-
'ꭟ' => 'ꭒ',
|
1366 |
-
'ꭩ' => 'ʍ',
|
1367 |
-
'ff' => 'ff',
|
1368 |
-
'fi' => 'fi',
|
1369 |
-
'fl' => 'fl',
|
1370 |
-
'ffi' => 'ffi',
|
1371 |
-
'ffl' => 'ffl',
|
1372 |
-
'ſt' => 'st',
|
1373 |
-
'st' => 'st',
|
1374 |
-
'ﬓ' => 'մն',
|
1375 |
-
'ﬔ' => 'մե',
|
1376 |
-
'ﬕ' => 'մի',
|
1377 |
-
'ﬖ' => 'վն',
|
1378 |
-
'ﬗ' => 'մխ',
|
1379 |
-
'ﬠ' => 'ע',
|
1380 |
-
'ﬡ' => 'א',
|
1381 |
-
'ﬢ' => 'ד',
|
1382 |
-
'ﬣ' => 'ה',
|
1383 |
-
'ﬤ' => 'כ',
|
1384 |
-
'ﬥ' => 'ל',
|
1385 |
-
'ﬦ' => 'ם',
|
1386 |
-
'ﬧ' => 'ר',
|
1387 |
-
'ﬨ' => 'ת',
|
1388 |
-
'﬩' => '+',
|
1389 |
-
'ﭏ' => 'אל',
|
1390 |
-
'ﭐ' => 'ٱ',
|
1391 |
-
'ﭑ' => 'ٱ',
|
1392 |
-
'ﭒ' => 'ٻ',
|
1393 |
-
'ﭓ' => 'ٻ',
|
1394 |
-
'ﭔ' => 'ٻ',
|
1395 |
-
'ﭕ' => 'ٻ',
|
1396 |
-
'ﭖ' => 'پ',
|
1397 |
-
'ﭗ' => 'پ',
|
1398 |
-
'ﭘ' => 'پ',
|
1399 |
-
'ﭙ' => 'پ',
|
1400 |
-
'ﭚ' => 'ڀ',
|
1401 |
-
'ﭛ' => 'ڀ',
|
1402 |
-
'ﭜ' => 'ڀ',
|
1403 |
-
'ﭝ' => 'ڀ',
|
1404 |
-
'ﭞ' => 'ٺ',
|
1405 |
-
'ﭟ' => 'ٺ',
|
1406 |
-
'ﭠ' => 'ٺ',
|
1407 |
-
'ﭡ' => 'ٺ',
|
1408 |
-
'ﭢ' => 'ٿ',
|
1409 |
-
'ﭣ' => 'ٿ',
|
1410 |
-
'ﭤ' => 'ٿ',
|
1411 |
-
'ﭥ' => 'ٿ',
|
1412 |
-
'ﭦ' => 'ٹ',
|
1413 |
-
'ﭧ' => 'ٹ',
|
1414 |
-
'ﭨ' => 'ٹ',
|
1415 |
-
'ﭩ' => 'ٹ',
|
1416 |
-
'ﭪ' => 'ڤ',
|
1417 |
-
'ﭫ' => 'ڤ',
|
1418 |
-
'ﭬ' => 'ڤ',
|
1419 |
-
'ﭭ' => 'ڤ',
|
1420 |
-
'ﭮ' => 'ڦ',
|
1421 |
-
'ﭯ' => 'ڦ',
|
1422 |
-
'ﭰ' => 'ڦ',
|
1423 |
-
'ﭱ' => 'ڦ',
|
1424 |
-
'ﭲ' => 'ڄ',
|
1425 |
-
'ﭳ' => 'ڄ',
|
1426 |
-
'ﭴ' => 'ڄ',
|
1427 |
-
'ﭵ' => 'ڄ',
|
1428 |
-
'ﭶ' => 'ڃ',
|
1429 |
-
'ﭷ' => 'ڃ',
|
1430 |
-
'ﭸ' => 'ڃ',
|
1431 |
-
'ﭹ' => 'ڃ',
|
1432 |
-
'ﭺ' => 'چ',
|
1433 |
-
'ﭻ' => 'چ',
|
1434 |
-
'ﭼ' => 'چ',
|
1435 |
-
'ﭽ' => 'چ',
|
1436 |
-
'ﭾ' => 'ڇ',
|
1437 |
-
'ﭿ' => 'ڇ',
|
1438 |
-
'ﮀ' => 'ڇ',
|
1439 |
-
'ﮁ' => 'ڇ',
|
1440 |
-
'ﮂ' => 'ڍ',
|
1441 |
-
'ﮃ' => 'ڍ',
|
1442 |
-
'ﮄ' => 'ڌ',
|
1443 |
-
'ﮅ' => 'ڌ',
|
1444 |
-
'ﮆ' => 'ڎ',
|
1445 |
-
'ﮇ' => 'ڎ',
|
1446 |
-
'ﮈ' => 'ڈ',
|
1447 |
-
'ﮉ' => 'ڈ',
|
1448 |
-
'ﮊ' => 'ژ',
|
1449 |
-
'ﮋ' => 'ژ',
|
1450 |
-
'ﮌ' => 'ڑ',
|
1451 |
-
'ﮍ' => 'ڑ',
|
1452 |
-
'ﮎ' => 'ک',
|
1453 |
-
'ﮏ' => 'ک',
|
1454 |
-
'ﮐ' => 'ک',
|
1455 |
-
'ﮑ' => 'ک',
|
1456 |
-
'ﮒ' => 'گ',
|
1457 |
-
'ﮓ' => 'گ',
|
1458 |
-
'ﮔ' => 'گ',
|
1459 |
-
'ﮕ' => 'گ',
|
1460 |
-
'ﮖ' => 'ڳ',
|
1461 |
-
'ﮗ' => 'ڳ',
|
1462 |
-
'ﮘ' => 'ڳ',
|
1463 |
-
'ﮙ' => 'ڳ',
|
1464 |
-
'ﮚ' => 'ڱ',
|
1465 |
-
'ﮛ' => 'ڱ',
|
1466 |
-
'ﮜ' => 'ڱ',
|
1467 |
-
'ﮝ' => 'ڱ',
|
1468 |
-
'ﮞ' => 'ں',
|
1469 |
-
'ﮟ' => 'ں',
|
1470 |
-
'ﮠ' => 'ڻ',
|
1471 |
-
'ﮡ' => 'ڻ',
|
1472 |
-
'ﮢ' => 'ڻ',
|
1473 |
-
'ﮣ' => 'ڻ',
|
1474 |
-
'ﮤ' => 'ۀ',
|
1475 |
-
'ﮥ' => 'ۀ',
|
1476 |
-
'ﮦ' => 'ہ',
|
1477 |
-
'ﮧ' => 'ہ',
|
1478 |
-
'ﮨ' => 'ہ',
|
1479 |
-
'ﮩ' => 'ہ',
|
1480 |
-
'ﮪ' => 'ھ',
|
1481 |
-
'ﮫ' => 'ھ',
|
1482 |
-
'ﮬ' => 'ھ',
|
1483 |
-
'ﮭ' => 'ھ',
|
1484 |
-
'ﮮ' => 'ے',
|
1485 |
-
'ﮯ' => 'ے',
|
1486 |
-
'ﮰ' => 'ۓ',
|
1487 |
-
'ﮱ' => 'ۓ',
|
1488 |
-
'ﯓ' => 'ڭ',
|
1489 |
-
'ﯔ' => 'ڭ',
|
1490 |
-
'ﯕ' => 'ڭ',
|
1491 |
-
'ﯖ' => 'ڭ',
|
1492 |
-
'ﯗ' => 'ۇ',
|
1493 |
-
'ﯘ' => 'ۇ',
|
1494 |
-
'ﯙ' => 'ۆ',
|
1495 |
-
'ﯚ' => 'ۆ',
|
1496 |
-
'ﯛ' => 'ۈ',
|
1497 |
-
'ﯜ' => 'ۈ',
|
1498 |
-
'ﯝ' => 'ۇٴ',
|
1499 |
-
'ﯞ' => 'ۋ',
|
1500 |
-
'ﯟ' => 'ۋ',
|
1501 |
-
'ﯠ' => 'ۅ',
|
1502 |
-
'ﯡ' => 'ۅ',
|
1503 |
-
'ﯢ' => 'ۉ',
|
1504 |
-
'ﯣ' => 'ۉ',
|
1505 |
-
'ﯤ' => 'ې',
|
1506 |
-
'ﯥ' => 'ې',
|
1507 |
-
'ﯦ' => 'ې',
|
1508 |
-
'ﯧ' => 'ې',
|
1509 |
-
'ﯨ' => 'ى',
|
1510 |
-
'ﯩ' => 'ى',
|
1511 |
-
'ﯪ' => 'ئا',
|
1512 |
-
'ﯫ' => 'ئا',
|
1513 |
-
'ﯬ' => 'ئە',
|
1514 |
-
'ﯭ' => 'ئە',
|
1515 |
-
'ﯮ' => 'ئو',
|
1516 |
-
'ﯯ' => 'ئو',
|
1517 |
-
'ﯰ' => 'ئۇ',
|
1518 |
-
'ﯱ' => 'ئۇ',
|
1519 |
-
'ﯲ' => 'ئۆ',
|
1520 |
-
'ﯳ' => 'ئۆ',
|
1521 |
-
'ﯴ' => 'ئۈ',
|
1522 |
-
'ﯵ' => 'ئۈ',
|
1523 |
-
'ﯶ' => 'ئې',
|
1524 |
-
'ﯷ' => 'ئې',
|
1525 |
-
'ﯸ' => 'ئې',
|
1526 |
-
'ﯹ' => 'ئى',
|
1527 |
-
'ﯺ' => 'ئى',
|
1528 |
-
'ﯻ' => 'ئى',
|
1529 |
-
'ﯼ' => 'ی',
|
1530 |
-
'ﯽ' => 'ی',
|
1531 |
-
'ﯾ' => 'ی',
|
1532 |
-
'ﯿ' => 'ی',
|
1533 |
-
'ﰀ' => 'ئج',
|
1534 |
-
'ﰁ' => 'ئح',
|
1535 |
-
'ﰂ' => 'ئم',
|
1536 |
-
'ﰃ' => 'ئى',
|
1537 |
-
'ﰄ' => 'ئي',
|
1538 |
-
'ﰅ' => 'بج',
|
1539 |
-
'ﰆ' => 'بح',
|
1540 |
-
'ﰇ' => 'بخ',
|
1541 |
-
'ﰈ' => 'بم',
|
1542 |
-
'ﰉ' => 'بى',
|
1543 |
-
'ﰊ' => 'بي',
|
1544 |
-
'ﰋ' => 'تج',
|
1545 |
-
'ﰌ' => 'تح',
|
1546 |
-
'ﰍ' => 'تخ',
|
1547 |
-
'ﰎ' => 'تم',
|
1548 |
-
'ﰏ' => 'تى',
|
1549 |
-
'ﰐ' => 'تي',
|
1550 |
-
'ﰑ' => 'ثج',
|
1551 |
-
'ﰒ' => 'ثم',
|
1552 |
-
'ﰓ' => 'ثى',
|
1553 |
-
'ﰔ' => 'ثي',
|
1554 |
-
'ﰕ' => 'جح',
|
1555 |
-
'ﰖ' => 'جم',
|
1556 |
-
'ﰗ' => 'حج',
|
1557 |
-
'ﰘ' => 'حم',
|
1558 |
-
'ﰙ' => 'خج',
|
1559 |
-
'ﰚ' => 'خح',
|
1560 |
-
'ﰛ' => 'خم',
|
1561 |
-
'ﰜ' => 'سج',
|
1562 |
-
'ﰝ' => 'سح',
|
1563 |
-
'ﰞ' => 'سخ',
|
1564 |
-
'ﰟ' => 'سم',
|
1565 |
-
'ﰠ' => 'صح',
|
1566 |
-
'ﰡ' => 'صم',
|
1567 |
-
'ﰢ' => 'ضج',
|
1568 |
-
'ﰣ' => 'ضح',
|
1569 |
-
'ﰤ' => 'ضخ',
|
1570 |
-
'ﰥ' => 'ضم',
|
1571 |
-
'ﰦ' => 'طح',
|
1572 |
-
'ﰧ' => 'طم',
|
1573 |
-
'ﰨ' => 'ظم',
|
1574 |
-
'ﰩ' => 'عج',
|
1575 |
-
'ﰪ' => 'عم',
|
1576 |
-
'ﰫ' => 'غج',
|
1577 |
-
'ﰬ' => 'غم',
|
1578 |
-
'ﰭ' => 'فج',
|
1579 |
-
'ﰮ' => 'فح',
|
1580 |
-
'ﰯ' => 'فخ',
|
1581 |
-
'ﰰ' => 'فم',
|
1582 |
-
'ﰱ' => 'فى',
|
1583 |
-
'ﰲ' => 'في',
|
1584 |
-
'ﰳ' => 'قح',
|
1585 |
-
'ﰴ' => 'قم',
|
1586 |
-
'ﰵ' => 'قى',
|
1587 |
-
'ﰶ' => 'قي',
|
1588 |
-
'ﰷ' => 'كا',
|
1589 |
-
'ﰸ' => 'كج',
|
1590 |
-
'ﰹ' => 'كح',
|
1591 |
-
'ﰺ' => 'كخ',
|
1592 |
-
'ﰻ' => 'كل',
|
1593 |
-
'ﰼ' => 'كم',
|
1594 |
-
'ﰽ' => 'كى',
|
1595 |
-
'ﰾ' => 'كي',
|
1596 |
-
'ﰿ' => 'لج',
|
1597 |
-
'ﱀ' => 'لح',
|
1598 |
-
'ﱁ' => 'لخ',
|
1599 |
-
'ﱂ' => 'لم',
|
1600 |
-
'ﱃ' => 'لى',
|
1601 |
-
'ﱄ' => 'لي',
|
1602 |
-
'ﱅ' => 'مج',
|
1603 |
-
'ﱆ' => 'مح',
|
1604 |
-
'ﱇ' => 'مخ',
|
1605 |
-
'ﱈ' => 'مم',
|
1606 |
-
'ﱉ' => 'مى',
|
1607 |
-
'ﱊ' => 'مي',
|
1608 |
-
'ﱋ' => 'نج',
|
1609 |
-
'ﱌ' => 'نح',
|
1610 |
-
'ﱍ' => 'نخ',
|
1611 |
-
'ﱎ' => 'نم',
|
1612 |
-
'ﱏ' => 'نى',
|
1613 |
-
'ﱐ' => 'ني',
|
1614 |
-
'ﱑ' => 'هج',
|
1615 |
-
'ﱒ' => 'هم',
|
1616 |
-
'ﱓ' => 'هى',
|
1617 |
-
'ﱔ' => 'هي',
|
1618 |
-
'ﱕ' => 'يج',
|
1619 |
-
'ﱖ' => 'يح',
|
1620 |
-
'ﱗ' => 'يخ',
|
1621 |
-
'ﱘ' => 'يم',
|
1622 |
-
'ﱙ' => 'يى',
|
1623 |
-
'ﱚ' => 'يي',
|
1624 |
-
'ﱛ' => 'ذٰ',
|
1625 |
-
'ﱜ' => 'رٰ',
|
1626 |
-
'ﱝ' => 'ىٰ',
|
1627 |
-
'ﱞ' => ' ٌّ',
|
1628 |
-
'ﱟ' => ' ٍّ',
|
1629 |
-
'ﱠ' => ' َّ',
|
1630 |
-
'ﱡ' => ' ُّ',
|
1631 |
-
'ﱢ' => ' ِّ',
|
1632 |
-
'ﱣ' => ' ّٰ',
|
1633 |
-
'ﱤ' => 'ئر',
|
1634 |
-
'ﱥ' => 'ئز',
|
1635 |
-
'ﱦ' => 'ئم',
|
1636 |
-
'ﱧ' => 'ئن',
|
1637 |
-
'ﱨ' => 'ئى',
|
1638 |
-
'ﱩ' => 'ئي',
|
1639 |
-
'ﱪ' => 'بر',
|
1640 |
-
'ﱫ' => 'بز',
|
1641 |
-
'ﱬ' => 'بم',
|
1642 |
-
'ﱭ' => 'بن',
|
1643 |
-
'ﱮ' => 'بى',
|
1644 |
-
'ﱯ' => 'بي',
|
1645 |
-
'ﱰ' => 'تر',
|
1646 |
-
'ﱱ' => 'تز',
|
1647 |
-
'ﱲ' => 'تم',
|
1648 |
-
'ﱳ' => 'تن',
|
1649 |
-
'ﱴ' => 'تى',
|
1650 |
-
'ﱵ' => 'تي',
|
1651 |
-
'ﱶ' => 'ثر',
|
1652 |
-
'ﱷ' => 'ثز',
|
1653 |
-
'ﱸ' => 'ثم',
|
1654 |
-
'ﱹ' => 'ثن',
|
1655 |
-
'ﱺ' => 'ثى',
|
1656 |
-
'ﱻ' => 'ثي',
|
1657 |
-
'ﱼ' => 'فى',
|
1658 |
-
'ﱽ' => 'في',
|
1659 |
-
'ﱾ' => 'قى',
|
1660 |
-
'ﱿ' => 'قي',
|
1661 |
-
'ﲀ' => 'كا',
|
1662 |
-
'ﲁ' => 'كل',
|
1663 |
-
'ﲂ' => 'كم',
|
1664 |
-
'ﲃ' => 'كى',
|
1665 |
-
'ﲄ' => 'كي',
|
1666 |
-
'ﲅ' => 'لم',
|
1667 |
-
'ﲆ' => 'لى',
|
1668 |
-
'ﲇ' => 'لي',
|
1669 |
-
'ﲈ' => 'ما',
|
1670 |
-
'ﲉ' => 'مم',
|
1671 |
-
'ﲊ' => 'نر',
|
1672 |
-
'ﲋ' => 'نز',
|
1673 |
-
'ﲌ' => 'نم',
|
1674 |
-
'ﲍ' => 'نن',
|
1675 |
-
'ﲎ' => 'نى',
|
1676 |
-
'ﲏ' => 'ني',
|
1677 |
-
'ﲐ' => 'ىٰ',
|
1678 |
-
'ﲑ' => 'ير',
|
1679 |
-
'ﲒ' => 'يز',
|
1680 |
-
'ﲓ' => 'يم',
|
1681 |
-
'ﲔ' => 'ين',
|
1682 |
-
'ﲕ' => 'يى',
|
1683 |
-
'ﲖ' => 'يي',
|
1684 |
-
'ﲗ' => 'ئج',
|
1685 |
-
'ﲘ' => 'ئح',
|
1686 |
-
'ﲙ' => 'ئخ',
|
1687 |
-
'ﲚ' => 'ئم',
|
1688 |
-
'ﲛ' => 'ئه',
|
1689 |
-
'ﲜ' => 'بج',
|
1690 |
-
'ﲝ' => 'بح',
|
1691 |
-
'ﲞ' => 'بخ',
|
1692 |
-
'ﲟ' => 'بم',
|
1693 |
-
'ﲠ' => 'به',
|
1694 |
-
'ﲡ' => 'تج',
|
1695 |
-
'ﲢ' => 'تح',
|
1696 |
-
'ﲣ' => 'تخ',
|
1697 |
-
'ﲤ' => 'تم',
|
1698 |
-
'ﲥ' => 'ته',
|
1699 |
-
'ﲦ' => 'ثم',
|
1700 |
-
'ﲧ' => 'جح',
|
1701 |
-
'ﲨ' => 'جم',
|
1702 |
-
'ﲩ' => 'حج',
|
1703 |
-
'ﲪ' => 'حم',
|
1704 |
-
'ﲫ' => 'خج',
|
1705 |
-
'ﲬ' => 'خم',
|
1706 |
-
'ﲭ' => 'سج',
|
1707 |
-
'ﲮ' => 'سح',
|
1708 |
-
'ﲯ' => 'سخ',
|
1709 |
-
'ﲰ' => 'سم',
|
1710 |
-
'ﲱ' => 'صح',
|
1711 |
-
'ﲲ' => 'صخ',
|
1712 |
-
'ﲳ' => 'صم',
|
1713 |
-
'ﲴ' => 'ضج',
|
1714 |
-
'ﲵ' => 'ضح',
|
1715 |
-
'ﲶ' => 'ضخ',
|
1716 |
-
'ﲷ' => 'ضم',
|
1717 |
-
'ﲸ' => 'طح',
|
1718 |
-
'ﲹ' => 'ظم',
|
1719 |
-
'ﲺ' => 'عج',
|
1720 |
-
'ﲻ' => 'عم',
|
1721 |
-
'ﲼ' => 'غج',
|
1722 |
-
'ﲽ' => 'غم',
|
1723 |
-
'ﲾ' => 'فج',
|
1724 |
-
'ﲿ' => 'فح',
|
1725 |
-
'ﳀ' => 'فخ',
|
1726 |
-
'ﳁ' => 'فم',
|
1727 |
-
'ﳂ' => 'قح',
|
1728 |
-
'ﳃ' => 'قم',
|
1729 |
-
'ﳄ' => 'كج',
|
1730 |
-
'ﳅ' => 'كح',
|
1731 |
-
'ﳆ' => 'كخ',
|
1732 |
-
'ﳇ' => 'كل',
|
1733 |
-
'ﳈ' => 'كم',
|
1734 |
-
'ﳉ' => 'لج',
|
1735 |
-
'ﳊ' => 'لح',
|
1736 |
-
'ﳋ' => 'لخ',
|
1737 |
-
'ﳌ' => 'لم',
|
1738 |
-
'ﳍ' => 'له',
|
1739 |
-
'ﳎ' => 'مج',
|
1740 |
-
'ﳏ' => 'مح',
|
1741 |
-
'ﳐ' => 'مخ',
|
1742 |
-
'ﳑ' => 'مم',
|
1743 |
-
'ﳒ' => 'نج',
|
1744 |
-
'ﳓ' => 'نح',
|
1745 |
-
'ﳔ' => 'نخ',
|
1746 |
-
'ﳕ' => 'نم',
|
1747 |
-
'ﳖ' => 'نه',
|
1748 |
-
'ﳗ' => 'هج',
|
1749 |
-
'ﳘ' => 'هم',
|
1750 |
-
'ﳙ' => 'هٰ',
|
1751 |
-
'ﳚ' => 'يج',
|
1752 |
-
'ﳛ' => 'يح',
|
1753 |
-
'ﳜ' => 'يخ',
|
1754 |
-
'ﳝ' => 'يم',
|
1755 |
-
'ﳞ' => 'يه',
|
1756 |
-
'ﳟ' => 'ئم',
|
1757 |
-
'ﳠ' => 'ئه',
|
1758 |
-
'ﳡ' => 'بم',
|
1759 |
-
'ﳢ' => 'به',
|
1760 |
-
'ﳣ' => 'تم',
|
1761 |
-
'ﳤ' => 'ته',
|
1762 |
-
'ﳥ' => 'ثم',
|
1763 |
-
'ﳦ' => 'ثه',
|
1764 |
-
'ﳧ' => 'سم',
|
1765 |
-
'ﳨ' => 'سه',
|
1766 |
-
'ﳩ' => 'شم',
|
1767 |
-
'ﳪ' => 'شه',
|
1768 |
-
'ﳫ' => 'كل',
|
1769 |
-
'ﳬ' => 'كم',
|
1770 |
-
'ﳭ' => 'لم',
|
1771 |
-
'ﳮ' => 'نم',
|
1772 |
-
'ﳯ' => 'نه',
|
1773 |
-
'ﳰ' => 'يم',
|
1774 |
-
'ﳱ' => 'يه',
|
1775 |
-
'ﳲ' => 'ـَّ',
|
1776 |
-
'ﳳ' => 'ـُّ',
|
1777 |
-
'ﳴ' => 'ـِّ',
|
1778 |
-
'ﳵ' => 'طى',
|
1779 |
-
'ﳶ' => 'طي',
|
1780 |
-
'ﳷ' => 'عى',
|
1781 |
-
'ﳸ' => 'عي',
|
1782 |
-
'ﳹ' => 'غى',
|
1783 |
-
'ﳺ' => 'غي',
|
1784 |
-
'ﳻ' => 'سى',
|
1785 |
-
'ﳼ' => 'سي',
|
1786 |
-
'ﳽ' => 'شى',
|
1787 |
-
'ﳾ' => 'شي',
|
1788 |
-
'ﳿ' => 'حى',
|
1789 |
-
'ﴀ' => 'حي',
|
1790 |
-
'ﴁ' => 'جى',
|
1791 |
-
'ﴂ' => 'جي',
|
1792 |
-
'ﴃ' => 'خى',
|
1793 |
-
'ﴄ' => 'خي',
|
1794 |
-
'ﴅ' => 'صى',
|
1795 |
-
'ﴆ' => 'صي',
|
1796 |
-
'ﴇ' => 'ضى',
|
1797 |
-
'ﴈ' => 'ضي',
|
1798 |
-
'ﴉ' => 'شج',
|
1799 |
-
'ﴊ' => 'شح',
|
1800 |
-
'ﴋ' => 'شخ',
|
1801 |
-
'ﴌ' => 'شم',
|
1802 |
-
'ﴍ' => 'شر',
|
1803 |
-
'ﴎ' => 'سر',
|
1804 |
-
'ﴏ' => 'صر',
|
1805 |
-
'ﴐ' => 'ضر',
|
1806 |
-
'ﴑ' => 'طى',
|
1807 |
-
'ﴒ' => 'طي',
|
1808 |
-
'ﴓ' => 'عى',
|
1809 |
-
'ﴔ' => 'عي',
|
1810 |
-
'ﴕ' => 'غى',
|
1811 |
-
'ﴖ' => 'غي',
|
1812 |
-
'ﴗ' => 'سى',
|
1813 |
-
'ﴘ' => 'سي',
|
1814 |
-
'ﴙ' => 'شى',
|
1815 |
-
'ﴚ' => 'شي',
|
1816 |
-
'ﴛ' => 'حى',
|
1817 |
-
'ﴜ' => 'حي',
|
1818 |
-
'ﴝ' => 'جى',
|
1819 |
-
'ﴞ' => 'جي',
|
1820 |
-
'ﴟ' => 'خى',
|
1821 |
-
'ﴠ' => 'خي',
|
1822 |
-
'ﴡ' => 'صى',
|
1823 |
-
'ﴢ' => 'صي',
|
1824 |
-
'ﴣ' => 'ضى',
|
1825 |
-
'ﴤ' => 'ضي',
|
1826 |
-
'ﴥ' => 'شج',
|
1827 |
-
'ﴦ' => 'شح',
|
1828 |
-
'ﴧ' => 'شخ',
|
1829 |
-
'ﴨ' => 'شم',
|
1830 |
-
'ﴩ' => 'شر',
|
1831 |
-
'ﴪ' => 'سر',
|
1832 |
-
'ﴫ' => 'صر',
|
1833 |
-
'ﴬ' => 'ضر',
|
1834 |
-
'ﴭ' => 'شج',
|
1835 |
-
'ﴮ' => 'شح',
|
1836 |
-
'ﴯ' => 'شخ',
|
1837 |
-
'ﴰ' => 'شم',
|
1838 |
-
'ﴱ' => 'سه',
|
1839 |
-
'ﴲ' => 'شه',
|
1840 |
-
'ﴳ' => 'طم',
|
1841 |
-
'ﴴ' => 'سج',
|
1842 |
-
'ﴵ' => 'سح',
|
1843 |
-
'ﴶ' => 'سخ',
|
1844 |
-
'ﴷ' => 'شج',
|
1845 |
-
'ﴸ' => 'شح',
|
1846 |
-
'ﴹ' => 'شخ',
|
1847 |
-
'ﴺ' => 'طم',
|
1848 |
-
'ﴻ' => 'ظم',
|
1849 |
-
'ﴼ' => 'اً',
|
1850 |
-
'ﴽ' => 'اً',
|
1851 |
-
'ﵐ' => 'تجم',
|
1852 |
-
'ﵑ' => 'تحج',
|
1853 |
-
'ﵒ' => 'تحج',
|
1854 |
-
'ﵓ' => 'تحم',
|
1855 |
-
'ﵔ' => 'تخم',
|
1856 |
-
'ﵕ' => 'تمج',
|
1857 |
-
'ﵖ' => 'تمح',
|
1858 |
-
'ﵗ' => 'تمخ',
|
1859 |
-
'ﵘ' => 'جمح',
|
1860 |
-
'ﵙ' => 'جمح',
|
1861 |
-
'ﵚ' => 'حمي',
|
1862 |
-
'ﵛ' => 'حمى',
|
1863 |
-
'ﵜ' => 'سحج',
|
1864 |
-
'ﵝ' => 'سجح',
|
1865 |
-
'ﵞ' => 'سجى',
|
1866 |
-
'ﵟ' => 'سمح',
|
1867 |
-
'ﵠ' => 'سمح',
|
1868 |
-
'ﵡ' => 'سمج',
|
1869 |
-
'ﵢ' => 'سمم',
|
1870 |
-
'ﵣ' => 'سمم',
|
1871 |
-
'ﵤ' => 'صحح',
|
1872 |
-
'ﵥ' => 'صحح',
|
1873 |
-
'ﵦ' => 'صمم',
|
1874 |
-
'ﵧ' => 'شحم',
|
1875 |
-
'ﵨ' => 'شحم',
|
1876 |
-
'ﵩ' => 'شجي',
|
1877 |
-
'ﵪ' => 'شمخ',
|
1878 |
-
'ﵫ' => 'شمخ',
|
1879 |
-
'ﵬ' => 'شمم',
|
1880 |
-
'ﵭ' => 'شمم',
|
1881 |
-
'ﵮ' => 'ضحى',
|
1882 |
-
'ﵯ' => 'ضخم',
|
1883 |
-
'ﵰ' => 'ضخم',
|
1884 |
-
'ﵱ' => 'طمح',
|
1885 |
-
'ﵲ' => 'طمح',
|
1886 |
-
'ﵳ' => 'طمم',
|
1887 |
-
'ﵴ' => 'طمي',
|
1888 |
-
'ﵵ' => 'عجم',
|
1889 |
-
'ﵶ' => 'عمم',
|
1890 |
-
'ﵷ' => 'عمم',
|
1891 |
-
'ﵸ' => 'عمى',
|
1892 |
-
'ﵹ' => 'غمم',
|
1893 |
-
'ﵺ' => 'غمي',
|
1894 |
-
'ﵻ' => 'غمى',
|
1895 |
-
'ﵼ' => 'فخم',
|
1896 |
-
'ﵽ' => 'فخم',
|
1897 |
-
'ﵾ' => 'قمح',
|
1898 |
-
'ﵿ' => 'قمم',
|
1899 |
-
'ﶀ' => 'لحم',
|
1900 |
-
'ﶁ' => 'لحي',
|
1901 |
-
'ﶂ' => 'لحى',
|
1902 |
-
'ﶃ' => 'لجج',
|
1903 |
-
'ﶄ' => 'لجج',
|
1904 |
-
'ﶅ' => 'لخم',
|
1905 |
-
'ﶆ' => 'لخم',
|
1906 |
-
'ﶇ' => 'لمح',
|
1907 |
-
'ﶈ' => 'لمح',
|
1908 |
-
'ﶉ' => 'محج',
|
1909 |
-
'ﶊ' => 'محم',
|
1910 |
-
'ﶋ' => 'محي',
|
1911 |
-
'ﶌ' => 'مجح',
|
1912 |
-
'ﶍ' => 'مجم',
|
1913 |
-
'ﶎ' => 'مخج',
|
1914 |
-
'ﶏ' => 'مخم',
|
1915 |
-
'ﶒ' => 'مجخ',
|
1916 |
-
'ﶓ' => 'همج',
|
1917 |
-
'ﶔ' => 'همم',
|
1918 |
-
'ﶕ' => 'نحم',
|
1919 |
-
'ﶖ' => 'نحى',
|
1920 |
-
'ﶗ' => 'نجم',
|
1921 |
-
'ﶘ' => 'نجم',
|
1922 |
-
'ﶙ' => 'نجى',
|
1923 |
-
'ﶚ' => 'نمي',
|
1924 |
-
'ﶛ' => 'نمى',
|
1925 |
-
'ﶜ' => 'يمم',
|
1926 |
-
'ﶝ' => 'يمم',
|
1927 |
-
'ﶞ' => 'بخي',
|
1928 |
-
'ﶟ' => 'تجي',
|
1929 |
-
'ﶠ' => 'تجى',
|
1930 |
-
'ﶡ' => 'تخي',
|
1931 |
-
'ﶢ' => 'تخى',
|
1932 |
-
'ﶣ' => 'تمي',
|
1933 |
-
'ﶤ' => 'تمى',
|
1934 |
-
'ﶥ' => 'جمي',
|
1935 |
-
'ﶦ' => 'جحى',
|
1936 |
-
'ﶧ' => 'جمى',
|
1937 |
-
'ﶨ' => 'سخى',
|
1938 |
-
'ﶩ' => 'صحي',
|
1939 |
-
'ﶪ' => 'شحي',
|
1940 |
-
'ﶫ' => 'ضحي',
|
1941 |
-
'ﶬ' => 'لجي',
|
1942 |
-
'ﶭ' => 'لمي',
|
1943 |
-
'ﶮ' => 'يحي',
|
1944 |
-
'ﶯ' => 'يجي',
|
1945 |
-
'ﶰ' => 'يمي',
|
1946 |
-
'ﶱ' => 'ممي',
|
1947 |
-
'ﶲ' => 'قمي',
|
1948 |
-
'ﶳ' => 'نحي',
|
1949 |
-
'ﶴ' => 'قمح',
|
1950 |
-
'ﶵ' => 'لحم',
|
1951 |
-
'ﶶ' => 'عمي',
|
1952 |
-
'ﶷ' => 'كمي',
|
1953 |
-
'ﶸ' => 'نجح',
|
1954 |
-
'ﶹ' => 'مخي',
|
1955 |
-
'ﶺ' => 'لجم',
|
1956 |
-
'ﶻ' => 'كمم',
|
1957 |
-
'ﶼ' => 'لجم',
|
1958 |
-
'ﶽ' => 'نجح',
|
1959 |
-
'ﶾ' => 'جحي',
|
1960 |
-
'ﶿ' => 'حجي',
|
1961 |
-
'ﷀ' => 'مجي',
|
1962 |
-
'ﷁ' => 'فمي',
|
1963 |
-
'ﷂ' => 'بحي',
|
1964 |
-
'ﷃ' => 'كمم',
|
1965 |
-
'ﷄ' => 'عجم',
|
1966 |
-
'ﷅ' => 'صمم',
|
1967 |
-
'ﷆ' => 'سخي',
|
1968 |
-
'ﷇ' => 'نجي',
|
1969 |
-
'ﷰ' => 'صلے',
|
1970 |
-
'ﷱ' => 'قلے',
|
1971 |
-
'ﷲ' => 'الله',
|
1972 |
-
'ﷳ' => 'اكبر',
|
1973 |
-
'ﷴ' => 'محمد',
|
1974 |
-
'ﷵ' => 'صلعم',
|
1975 |
-
'ﷶ' => 'رسول',
|
1976 |
-
'ﷷ' => 'عليه',
|
1977 |
-
'ﷸ' => 'وسلم',
|
1978 |
-
'ﷹ' => 'صلى',
|
1979 |
-
'ﷺ' => 'صلى الله عليه وسلم',
|
1980 |
-
'ﷻ' => 'جل جلاله',
|
1981 |
-
'﷼' => 'ریال',
|
1982 |
-
'︐' => ',',
|
1983 |
-
'︑' => '、',
|
1984 |
-
'︒' => '。',
|
1985 |
-
'︓' => ':',
|
1986 |
-
'︔' => ';',
|
1987 |
-
'︕' => '!',
|
1988 |
-
'︖' => '?',
|
1989 |
-
'︗' => '〖',
|
1990 |
-
'︘' => '〗',
|
1991 |
-
'︙' => '...',
|
1992 |
-
'︰' => '..',
|
1993 |
-
'︱' => '—',
|
1994 |
-
'︲' => '–',
|
1995 |
-
'︳' => '_',
|
1996 |
-
'︴' => '_',
|
1997 |
-
'︵' => '(',
|
1998 |
-
'︶' => ')',
|
1999 |
-
'︷' => '{',
|
2000 |
-
'︸' => '}',
|
2001 |
-
'︹' => '〔',
|
2002 |
-
'︺' => '〕',
|
2003 |
-
'︻' => '【',
|
2004 |
-
'︼' => '】',
|
2005 |
-
'︽' => '《',
|
2006 |
-
'︾' => '》',
|
2007 |
-
'︿' => '〈',
|
2008 |
-
'﹀' => '〉',
|
2009 |
-
'﹁' => '「',
|
2010 |
-
'﹂' => '」',
|
2011 |
-
'﹃' => '『',
|
2012 |
-
'﹄' => '』',
|
2013 |
-
'﹇' => '[',
|
2014 |
-
'﹈' => ']',
|
2015 |
-
'﹉' => ' ̅',
|
2016 |
-
'﹊' => ' ̅',
|
2017 |
-
'﹋' => ' ̅',
|
2018 |
-
'﹌' => ' ̅',
|
2019 |
-
'﹍' => '_',
|
2020 |
-
'﹎' => '_',
|
2021 |
-
'﹏' => '_',
|
2022 |
-
'﹐' => ',',
|
2023 |
-
'﹑' => '、',
|
2024 |
-
'﹒' => '.',
|
2025 |
-
'﹔' => ';',
|
2026 |
-
'﹕' => ':',
|
2027 |
-
'﹖' => '?',
|
2028 |
-
'﹗' => '!',
|
2029 |
-
'﹘' => '—',
|
2030 |
-
'﹙' => '(',
|
2031 |
-
'﹚' => ')',
|
2032 |
-
'﹛' => '{',
|
2033 |
-
'﹜' => '}',
|
2034 |
-
'﹝' => '〔',
|
2035 |
-
'﹞' => '〕',
|
2036 |
-
'﹟' => '#',
|
2037 |
-
'﹠' => '&',
|
2038 |
-
'﹡' => '*',
|
2039 |
-
'﹢' => '+',
|
2040 |
-
'﹣' => '-',
|
2041 |
-
'﹤' => '<',
|
2042 |
-
'﹥' => '>',
|
2043 |
-
'﹦' => '=',
|
2044 |
-
'﹨' => '\\',
|
2045 |
-
'﹩' => '$',
|
2046 |
-
'﹪' => '%',
|
2047 |
-
'﹫' => '@',
|
2048 |
-
'ﹰ' => ' ً',
|
2049 |
-
'ﹱ' => 'ـً',
|
2050 |
-
'ﹲ' => ' ٌ',
|
2051 |
-
'ﹴ' => ' ٍ',
|
2052 |
-
'ﹶ' => ' َ',
|
2053 |
-
'ﹷ' => 'ـَ',
|
2054 |
-
'ﹸ' => ' ُ',
|
2055 |
-
'ﹹ' => 'ـُ',
|
2056 |
-
'ﹺ' => ' ِ',
|
2057 |
-
'ﹻ' => 'ـِ',
|
2058 |
-
'ﹼ' => ' ّ',
|
2059 |
-
'ﹽ' => 'ـّ',
|
2060 |
-
'ﹾ' => ' ْ',
|
2061 |
-
'ﹿ' => 'ـْ',
|
2062 |
-
'ﺀ' => 'ء',
|
2063 |
-
'ﺁ' => 'آ',
|
2064 |
-
'ﺂ' => 'آ',
|
2065 |
-
'ﺃ' => 'أ',
|
2066 |
-
'ﺄ' => 'أ',
|
2067 |
-
'ﺅ' => 'ؤ',
|
2068 |
-
'ﺆ' => 'ؤ',
|
2069 |
-
'ﺇ' => 'إ',
|
2070 |
-
'ﺈ' => 'إ',
|
2071 |
-
'ﺉ' => 'ئ',
|
2072 |
-
'ﺊ' => 'ئ',
|
2073 |
-
'ﺋ' => 'ئ',
|
2074 |
-
'ﺌ' => 'ئ',
|
2075 |
-
'ﺍ' => 'ا',
|
2076 |
-
'ﺎ' => 'ا',
|
2077 |
-
'ﺏ' => 'ب',
|
2078 |
-
'ﺐ' => 'ب',
|
2079 |
-
'ﺑ' => 'ب',
|
2080 |
-
'ﺒ' => 'ب',
|
2081 |
-
'ﺓ' => 'ة',
|
2082 |
-
'ﺔ' => 'ة',
|
2083 |
-
'ﺕ' => 'ت',
|
2084 |
-
'ﺖ' => 'ت',
|
2085 |
-
'ﺗ' => 'ت',
|
2086 |
-
'ﺘ' => 'ت',
|
2087 |
-
'ﺙ' => 'ث',
|
2088 |
-
'ﺚ' => 'ث',
|
2089 |
-
'ﺛ' => 'ث',
|
2090 |
-
'ﺜ' => 'ث',
|
2091 |
-
'ﺝ' => 'ج',
|
2092 |
-
'ﺞ' => 'ج',
|
2093 |
-
'ﺟ' => 'ج',
|
2094 |
-
'ﺠ' => 'ج',
|
2095 |
-
'ﺡ' => 'ح',
|
2096 |
-
'ﺢ' => 'ح',
|
2097 |
-
'ﺣ' => 'ح',
|
2098 |
-
'ﺤ' => 'ح',
|
2099 |
-
'ﺥ' => 'خ',
|
2100 |
-
'ﺦ' => 'خ',
|
2101 |
-
'ﺧ' => 'خ',
|
2102 |
-
'ﺨ' => 'خ',
|
2103 |
-
'ﺩ' => 'د',
|
2104 |
-
'ﺪ' => 'د',
|
2105 |
-
'ﺫ' => 'ذ',
|
2106 |
-
'ﺬ' => 'ذ',
|
2107 |
-
'ﺭ' => 'ر',
|
2108 |
-
'ﺮ' => 'ر',
|
2109 |
-
'ﺯ' => 'ز',
|
2110 |
-
'ﺰ' => 'ز',
|
2111 |
-
'ﺱ' => 'س',
|
2112 |
-
'ﺲ' => 'س',
|
2113 |
-
'ﺳ' => 'س',
|
2114 |
-
'ﺴ' => 'س',
|
2115 |
-
'ﺵ' => 'ش',
|
2116 |
-
'ﺶ' => 'ش',
|
2117 |
-
'ﺷ' => 'ش',
|
2118 |
-
'ﺸ' => 'ش',
|
2119 |
-
'ﺹ' => 'ص',
|
2120 |
-
'ﺺ' => 'ص',
|
2121 |
-
'ﺻ' => 'ص',
|
2122 |
-
'ﺼ' => 'ص',
|
2123 |
-
'ﺽ' => 'ض',
|
2124 |
-
'ﺾ' => 'ض',
|
2125 |
-
'ﺿ' => 'ض',
|
2126 |
-
'ﻀ' => 'ض',
|
2127 |
-
'ﻁ' => 'ط',
|
2128 |
-
'ﻂ' => 'ط',
|
2129 |
-
'ﻃ' => 'ط',
|
2130 |
-
'ﻄ' => 'ط',
|
2131 |
-
'ﻅ' => 'ظ',
|
2132 |
-
'ﻆ' => 'ظ',
|
2133 |
-
'ﻇ' => 'ظ',
|
2134 |
-
'ﻈ' => 'ظ',
|
2135 |
-
'ﻉ' => 'ع',
|
2136 |
-
'ﻊ' => 'ع',
|
2137 |
-
'ﻋ' => 'ع',
|
2138 |
-
'ﻌ' => 'ع',
|
2139 |
-
'ﻍ' => 'غ',
|
2140 |
-
'ﻎ' => 'غ',
|
2141 |
-
'ﻏ' => 'غ',
|
2142 |
-
'ﻐ' => 'غ',
|
2143 |
-
'ﻑ' => 'ف',
|
2144 |
-
'ﻒ' => 'ف',
|
2145 |
-
'ﻓ' => 'ف',
|
2146 |
-
'ﻔ' => 'ف',
|
2147 |
-
'ﻕ' => 'ق',
|
2148 |
-
'ﻖ' => 'ق',
|
2149 |
-
'ﻗ' => 'ق',
|
2150 |
-
'ﻘ' => 'ق',
|
2151 |
-
'ﻙ' => 'ك',
|
2152 |
-
'ﻚ' => 'ك',
|
2153 |
-
'ﻛ' => 'ك',
|
2154 |
-
'ﻜ' => 'ك',
|
2155 |
-
'ﻝ' => 'ل',
|
2156 |
-
'ﻞ' => 'ل',
|
2157 |
-
'ﻟ' => 'ل',
|
2158 |
-
'ﻠ' => 'ل',
|
2159 |
-
'ﻡ' => 'م',
|
2160 |
-
'ﻢ' => 'م',
|
2161 |
-
'ﻣ' => 'م',
|
2162 |
-
'ﻤ' => 'م',
|
2163 |
-
'ﻥ' => 'ن',
|
2164 |
-
'ﻦ' => 'ن',
|
2165 |
-
'ﻧ' => 'ن',
|
2166 |
-
'ﻨ' => 'ن',
|
2167 |
-
'ﻩ' => 'ه',
|
2168 |
-
'ﻪ' => 'ه',
|
2169 |
-
'ﻫ' => 'ه',
|
2170 |
-
'ﻬ' => 'ه',
|
2171 |
-
'ﻭ' => 'و',
|
2172 |
-
'ﻮ' => 'و',
|
2173 |
-
'ﻯ' => 'ى',
|
2174 |
-
'ﻰ' => 'ى',
|
2175 |
-
'ﻱ' => 'ي',
|
2176 |
-
'ﻲ' => 'ي',
|
2177 |
-
'ﻳ' => 'ي',
|
2178 |
-
'ﻴ' => 'ي',
|
2179 |
-
'ﻵ' => 'لآ',
|
2180 |
-
'ﻶ' => 'لآ',
|
2181 |
-
'ﻷ' => 'لأ',
|
2182 |
-
'ﻸ' => 'لأ',
|
2183 |
-
'ﻹ' => 'لإ',
|
2184 |
-
'ﻺ' => 'لإ',
|
2185 |
-
'ﻻ' => 'لا',
|
2186 |
-
'ﻼ' => 'لا',
|
2187 |
-
'!' => '!',
|
2188 |
-
'"' => '"',
|
2189 |
-
'#' => '#',
|
2190 |
-
'$' => '$',
|
2191 |
-
'%' => '%',
|
2192 |
-
'&' => '&',
|
2193 |
-
''' => '\'',
|
2194 |
-
'(' => '(',
|
2195 |
-
')' => ')',
|
2196 |
-
'*' => '*',
|
2197 |
-
'+' => '+',
|
2198 |
-
',' => ',',
|
2199 |
-
'-' => '-',
|
2200 |
-
'.' => '.',
|
2201 |
-
'/' => '/',
|
2202 |
-
'0' => '0',
|
2203 |
-
'1' => '1',
|
2204 |
-
'2' => '2',
|
2205 |
-
'3' => '3',
|
2206 |
-
'4' => '4',
|
2207 |
-
'5' => '5',
|
2208 |
-
'6' => '6',
|
2209 |
-
'7' => '7',
|
2210 |
-
'8' => '8',
|
2211 |
-
'9' => '9',
|
2212 |
-
':' => ':',
|
2213 |
-
';' => ';',
|
2214 |
-
'<' => '<',
|
2215 |
-
'=' => '=',
|
2216 |
-
'>' => '>',
|
2217 |
-
'?' => '?',
|
2218 |
-
'@' => '@',
|
2219 |
-
'A' => 'A',
|
2220 |
-
'B' => 'B',
|
2221 |
-
'C' => 'C',
|
2222 |
-
'D' => 'D',
|
2223 |
-
'E' => 'E',
|
2224 |
-
'F' => 'F',
|
2225 |
-
'G' => 'G',
|
2226 |
-
'H' => 'H',
|
2227 |
-
'I' => 'I',
|
2228 |
-
'J' => 'J',
|
2229 |
-
'K' => 'K',
|
2230 |
-
'L' => 'L',
|
2231 |
-
'M' => 'M',
|
2232 |
-
'N' => 'N',
|
2233 |
-
'O' => 'O',
|
2234 |
-
'P' => 'P',
|
2235 |
-
'Q' => 'Q',
|
2236 |
-
'R' => 'R',
|
2237 |
-
'S' => 'S',
|
2238 |
-
'T' => 'T',
|
2239 |
-
'U' => 'U',
|
2240 |
-
'V' => 'V',
|
2241 |
-
'W' => 'W',
|
2242 |
-
'X' => 'X',
|
2243 |
-
'Y' => 'Y',
|
2244 |
-
'Z' => 'Z',
|
2245 |
-
'[' => '[',
|
2246 |
-
'\' => '\\',
|
2247 |
-
']' => ']',
|
2248 |
-
'^' => '^',
|
2249 |
-
'_' => '_',
|
2250 |
-
'`' => '`',
|
2251 |
-
'a' => 'a',
|
2252 |
-
'b' => 'b',
|
2253 |
-
'c' => 'c',
|
2254 |
-
'd' => 'd',
|
2255 |
-
'e' => 'e',
|
2256 |
-
'f' => 'f',
|
2257 |
-
'g' => 'g',
|
2258 |
-
'h' => 'h',
|
2259 |
-
'i' => 'i',
|
2260 |
-
'j' => 'j',
|
2261 |
-
'k' => 'k',
|
2262 |
-
'l' => 'l',
|
2263 |
-
'm' => 'm',
|
2264 |
-
'n' => 'n',
|
2265 |
-
'o' => 'o',
|
2266 |
-
'p' => 'p',
|
2267 |
-
'q' => 'q',
|
2268 |
-
'r' => 'r',
|
2269 |
-
's' => 's',
|
2270 |
-
't' => 't',
|
2271 |
-
'u' => 'u',
|
2272 |
-
'v' => 'v',
|
2273 |
-
'w' => 'w',
|
2274 |
-
'x' => 'x',
|
2275 |
-
'y' => 'y',
|
2276 |
-
'z' => 'z',
|
2277 |
-
'{' => '{',
|
2278 |
-
'|' => '|',
|
2279 |
-
'}' => '}',
|
2280 |
-
'~' => '~',
|
2281 |
-
'⦅' => '⦅',
|
2282 |
-
'⦆' => '⦆',
|
2283 |
-
'。' => '。',
|
2284 |
-
'「' => '「',
|
2285 |
-
'」' => '」',
|
2286 |
-
'、' => '、',
|
2287 |
-
'・' => '・',
|
2288 |
-
'ヲ' => 'ヲ',
|
2289 |
-
'ァ' => 'ァ',
|
2290 |
-
'ィ' => 'ィ',
|
2291 |
-
'ゥ' => 'ゥ',
|
2292 |
-
'ェ' => 'ェ',
|
2293 |
-
'ォ' => 'ォ',
|
2294 |
-
'ャ' => 'ャ',
|
2295 |
-
'ュ' => 'ュ',
|
2296 |
-
'ョ' => 'ョ',
|
2297 |
-
'ッ' => 'ッ',
|
2298 |
-
'ー' => 'ー',
|
2299 |
-
'ア' => 'ア',
|
2300 |
-
'イ' => 'イ',
|
2301 |
-
'ウ' => 'ウ',
|
2302 |
-
'エ' => 'エ',
|
2303 |
-
'オ' => 'オ',
|
2304 |
-
'カ' => 'カ',
|
2305 |
-
'キ' => 'キ',
|
2306 |
-
'ク' => 'ク',
|
2307 |
-
'ケ' => 'ケ',
|
2308 |
-
'コ' => 'コ',
|
2309 |
-
'サ' => 'サ',
|
2310 |
-
'シ' => 'シ',
|
2311 |
-
'ス' => 'ス',
|
2312 |
-
'セ' => 'セ',
|
2313 |
-
'ソ' => 'ソ',
|
2314 |
-
'タ' => 'タ',
|
2315 |
-
'チ' => 'チ',
|
2316 |
-
'ツ' => 'ツ',
|
2317 |
-
'テ' => 'テ',
|
2318 |
-
'ト' => 'ト',
|
2319 |
-
'ナ' => 'ナ',
|
2320 |
-
'ニ' => 'ニ',
|
2321 |
-
'ヌ' => 'ヌ',
|
2322 |
-
'ネ' => 'ネ',
|
2323 |
-
'ノ' => 'ノ',
|
2324 |
-
'ハ' => 'ハ',
|
2325 |
-
'ヒ' => 'ヒ',
|
2326 |
-
'フ' => 'フ',
|
2327 |
-
'ヘ' => 'ヘ',
|
2328 |
-
'ホ' => 'ホ',
|
2329 |
-
'マ' => 'マ',
|
2330 |
-
'ミ' => 'ミ',
|
2331 |
-
'ム' => 'ム',
|
2332 |
-
'メ' => 'メ',
|
2333 |
-
'モ' => 'モ',
|
2334 |
-
'ヤ' => 'ヤ',
|
2335 |
-
'ユ' => 'ユ',
|
2336 |
-
'ヨ' => 'ヨ',
|
2337 |
-
'ラ' => 'ラ',
|
2338 |
-
'リ' => 'リ',
|
2339 |
-
'ル' => 'ル',
|
2340 |
-
'レ' => 'レ',
|
2341 |
-
'ロ' => 'ロ',
|
2342 |
-
'ワ' => 'ワ',
|
2343 |
-
'ン' => 'ン',
|
2344 |
-
'゙' => '゙',
|
2345 |
-
'゚' => '゚',
|
2346 |
-
'ᅠ' => 'ᅠ',
|
2347 |
-
'ᄀ' => 'ᄀ',
|
2348 |
-
'ᄁ' => 'ᄁ',
|
2349 |
-
'ᆪ' => 'ᆪ',
|
2350 |
-
'ᄂ' => 'ᄂ',
|
2351 |
-
'ᆬ' => 'ᆬ',
|
2352 |
-
'ᆭ' => 'ᆭ',
|
2353 |
-
'ᄃ' => 'ᄃ',
|
2354 |
-
'ᄄ' => 'ᄄ',
|
2355 |
-
'ᄅ' => 'ᄅ',
|
2356 |
-
'ᆰ' => 'ᆰ',
|
2357 |
-
'ᆱ' => 'ᆱ',
|
2358 |
-
'ᆲ' => 'ᆲ',
|
2359 |
-
'ᆳ' => 'ᆳ',
|
2360 |
-
'ᆴ' => 'ᆴ',
|
2361 |
-
'ᆵ' => 'ᆵ',
|
2362 |
-
'ᄚ' => 'ᄚ',
|
2363 |
-
'ᄆ' => 'ᄆ',
|
2364 |
-
'ᄇ' => 'ᄇ',
|
2365 |
-
'ᄈ' => 'ᄈ',
|
2366 |
-
'ᄡ' => 'ᄡ',
|
2367 |
-
'ᄉ' => 'ᄉ',
|
2368 |
-
'ᄊ' => 'ᄊ',
|
2369 |
-
'ᄋ' => 'ᄋ',
|
2370 |
-
'ᄌ' => 'ᄌ',
|
2371 |
-
'ᄍ' => 'ᄍ',
|
2372 |
-
'ᄎ' => 'ᄎ',
|
2373 |
-
'ᄏ' => 'ᄏ',
|
2374 |
-
'ᄐ' => 'ᄐ',
|
2375 |
-
'ᄑ' => 'ᄑ',
|
2376 |
-
'ᄒ' => 'ᄒ',
|
2377 |
-
'ᅡ' => 'ᅡ',
|
2378 |
-
'ᅢ' => 'ᅢ',
|
2379 |
-
'ᅣ' => 'ᅣ',
|
2380 |
-
'ᅤ' => 'ᅤ',
|
2381 |
-
'ᅥ' => 'ᅥ',
|
2382 |
-
'ᅦ' => 'ᅦ',
|
2383 |
-
'ᅧ' => 'ᅧ',
|
2384 |
-
'ᅨ' => 'ᅨ',
|
2385 |
-
'ᅩ' => 'ᅩ',
|
2386 |
-
'ᅪ' => 'ᅪ',
|
2387 |
-
'ᅫ' => 'ᅫ',
|
2388 |
-
'ᅬ' => 'ᅬ',
|
2389 |
-
'ᅭ' => 'ᅭ',
|
2390 |
-
'ᅮ' => 'ᅮ',
|
2391 |
-
'ᅯ' => 'ᅯ',
|
2392 |
-
'ᅰ' => 'ᅰ',
|
2393 |
-
'ᅱ' => 'ᅱ',
|
2394 |
-
'ᅲ' => 'ᅲ',
|
2395 |
-
'ᅳ' => 'ᅳ',
|
2396 |
-
'ᅴ' => 'ᅴ',
|
2397 |
-
'ᅵ' => 'ᅵ',
|
2398 |
-
'¢' => '¢',
|
2399 |
-
'£' => '£',
|
2400 |
-
'¬' => '¬',
|
2401 |
-
' ̄' => ' ̄',
|
2402 |
-
'¦' => '¦',
|
2403 |
-
'¥' => '¥',
|
2404 |
-
'₩' => '₩',
|
2405 |
-
'│' => '│',
|
2406 |
-
'←' => '←',
|
2407 |
-
'↑' => '↑',
|
2408 |
-
'→' => '→',
|
2409 |
-
'↓' => '↓',
|
2410 |
-
'■' => '■',
|
2411 |
-
'○' => '○',
|
2412 |
-
'𝐀' => 'A',
|
2413 |
-
'𝐁' => 'B',
|
2414 |
-
'𝐂' => 'C',
|
2415 |
-
'𝐃' => 'D',
|
2416 |
-
'𝐄' => 'E',
|
2417 |
-
'𝐅' => 'F',
|
2418 |
-
'𝐆' => 'G',
|
2419 |
-
'𝐇' => 'H',
|
2420 |
-
'𝐈' => 'I',
|
2421 |
-
'𝐉' => 'J',
|
2422 |
-
'𝐊' => 'K',
|
2423 |
-
'𝐋' => 'L',
|
2424 |
-
'𝐌' => 'M',
|
2425 |
-
'𝐍' => 'N',
|
2426 |
-
'𝐎' => 'O',
|
2427 |
-
'𝐏' => 'P',
|
2428 |
-
'𝐐' => 'Q',
|
2429 |
-
'𝐑' => 'R',
|
2430 |
-
'𝐒' => 'S',
|
2431 |
-
'𝐓' => 'T',
|
2432 |
-
'𝐔' => 'U',
|
2433 |
-
'𝐕' => 'V',
|
2434 |
-
'𝐖' => 'W',
|
2435 |
-
'𝐗' => 'X',
|
2436 |
-
'𝐘' => 'Y',
|
2437 |
-
'𝐙' => 'Z',
|
2438 |
-
'𝐚' => 'a',
|
2439 |
-
'𝐛' => 'b',
|
2440 |
-
'𝐜' => 'c',
|
2441 |
-
'𝐝' => 'd',
|
2442 |
-
'𝐞' => 'e',
|
2443 |
-
'𝐟' => 'f',
|
2444 |
-
'𝐠' => 'g',
|
2445 |
-
'𝐡' => 'h',
|
2446 |
-
'𝐢' => 'i',
|
2447 |
-
'𝐣' => 'j',
|
2448 |
-
'𝐤' => 'k',
|
2449 |
-
'𝐥' => 'l',
|
2450 |
-
'𝐦' => 'm',
|
2451 |
-
'𝐧' => 'n',
|
2452 |
-
'𝐨' => 'o',
|
2453 |
-
'𝐩' => 'p',
|
2454 |
-
'𝐪' => 'q',
|
2455 |
-
'𝐫' => 'r',
|
2456 |
-
'𝐬' => 's',
|
2457 |
-
'𝐭' => 't',
|
2458 |
-
'𝐮' => 'u',
|
2459 |
-
'𝐯' => 'v',
|
2460 |
-
'𝐰' => 'w',
|
2461 |
-
'𝐱' => 'x',
|
2462 |
-
'𝐲' => 'y',
|
2463 |
-
'𝐳' => 'z',
|
2464 |
-
'𝐴' => 'A',
|
2465 |
-
'𝐵' => 'B',
|
2466 |
-
'𝐶' => 'C',
|
2467 |
-
'𝐷' => 'D',
|
2468 |
-
'𝐸' => 'E',
|
2469 |
-
'𝐹' => 'F',
|
2470 |
-
'𝐺' => 'G',
|
2471 |
-
'𝐻' => 'H',
|
2472 |
-
'𝐼' => 'I',
|
2473 |
-
'𝐽' => 'J',
|
2474 |
-
'𝐾' => 'K',
|
2475 |
-
'𝐿' => 'L',
|
2476 |
-
'𝑀' => 'M',
|
2477 |
-
'𝑁' => 'N',
|
2478 |
-
'𝑂' => 'O',
|
2479 |
-
'𝑃' => 'P',
|
2480 |
-
'𝑄' => 'Q',
|
2481 |
-
'𝑅' => 'R',
|
2482 |
-
'𝑆' => 'S',
|
2483 |
-
'𝑇' => 'T',
|
2484 |
-
'𝑈' => 'U',
|
2485 |
-
'𝑉' => 'V',
|
2486 |
-
'𝑊' => 'W',
|
2487 |
-
'𝑋' => 'X',
|
2488 |
-
'𝑌' => 'Y',
|
2489 |
-
'𝑍' => 'Z',
|
2490 |
-
'𝑎' => 'a',
|
2491 |
-
'𝑏' => 'b',
|
2492 |
-
'𝑐' => 'c',
|
2493 |
-
'𝑑' => 'd',
|
2494 |
-
'𝑒' => 'e',
|
2495 |
-
'𝑓' => 'f',
|
2496 |
-
'𝑔' => 'g',
|
2497 |
-
'𝑖' => 'i',
|
2498 |
-
'𝑗' => 'j',
|
2499 |
-
'𝑘' => 'k',
|
2500 |
-
'𝑙' => 'l',
|
2501 |
-
'𝑚' => 'm',
|
2502 |
-
'𝑛' => 'n',
|
2503 |
-
'𝑜' => 'o',
|
2504 |
-
'𝑝' => 'p',
|
2505 |
-
'𝑞' => 'q',
|
2506 |
-
'𝑟' => 'r',
|
2507 |
-
'𝑠' => 's',
|
2508 |
-
'𝑡' => 't',
|
2509 |
-
'𝑢' => 'u',
|
2510 |
-
'𝑣' => 'v',
|
2511 |
-
'𝑤' => 'w',
|
2512 |
-
'𝑥' => 'x',
|
2513 |
-
'𝑦' => 'y',
|
2514 |
-
'𝑧' => 'z',
|
2515 |
-
'𝑨' => 'A',
|
2516 |
-
'𝑩' => 'B',
|
2517 |
-
'𝑪' => 'C',
|
2518 |
-
'𝑫' => 'D',
|
2519 |
-
'𝑬' => 'E',
|
2520 |
-
'𝑭' => 'F',
|
2521 |
-
'𝑮' => 'G',
|
2522 |
-
'𝑯' => 'H',
|
2523 |
-
'𝑰' => 'I',
|
2524 |
-
'𝑱' => 'J',
|
2525 |
-
'𝑲' => 'K',
|
2526 |
-
'𝑳' => 'L',
|
2527 |
-
'𝑴' => 'M',
|
2528 |
-
'𝑵' => 'N',
|
2529 |
-
'𝑶' => 'O',
|
2530 |
-
'𝑷' => 'P',
|
2531 |
-
'𝑸' => 'Q',
|
2532 |
-
'𝑹' => 'R',
|
2533 |
-
'𝑺' => 'S',
|
2534 |
-
'𝑻' => 'T',
|
2535 |
-
'𝑼' => 'U',
|
2536 |
-
'𝑽' => 'V',
|
2537 |
-
'𝑾' => 'W',
|
2538 |
-
'𝑿' => 'X',
|
2539 |
-
'𝒀' => 'Y',
|
2540 |
-
'𝒁' => 'Z',
|
2541 |
-
'𝒂' => 'a',
|
2542 |
-
'𝒃' => 'b',
|
2543 |
-
'𝒄' => 'c',
|
2544 |
-
'𝒅' => 'd',
|
2545 |
-
'𝒆' => 'e',
|
2546 |
-
'𝒇' => 'f',
|
2547 |
-
'𝒈' => 'g',
|
2548 |
-
'𝒉' => 'h',
|
2549 |
-
'𝒊' => 'i',
|
2550 |
-
'𝒋' => 'j',
|
2551 |
-
'𝒌' => 'k',
|
2552 |
-
'𝒍' => 'l',
|
2553 |
-
'𝒎' => 'm',
|
2554 |
-
'𝒏' => 'n',
|
2555 |
-
'𝒐' => 'o',
|
2556 |
-
'𝒑' => 'p',
|
2557 |
-
'𝒒' => 'q',
|
2558 |
-
'𝒓' => 'r',
|
2559 |
-
'𝒔' => 's',
|
2560 |
-
'𝒕' => 't',
|
2561 |
-
'𝒖' => 'u',
|
2562 |
-
'𝒗' => 'v',
|
2563 |
-
'𝒘' => 'w',
|
2564 |
-
'𝒙' => 'x',
|
2565 |
-
'𝒚' => 'y',
|
2566 |
-
'𝒛' => 'z',
|
2567 |
-
'𝒜' => 'A',
|
2568 |
-
'𝒞' => 'C',
|
2569 |
-
'𝒟' => 'D',
|
2570 |
-
'𝒢' => 'G',
|
2571 |
-
'𝒥' => 'J',
|
2572 |
-
'𝒦' => 'K',
|
2573 |
-
'𝒩' => 'N',
|
2574 |
-
'𝒪' => 'O',
|
2575 |
-
'𝒫' => 'P',
|
2576 |
-
'𝒬' => 'Q',
|
2577 |
-
'𝒮' => 'S',
|
2578 |
-
'𝒯' => 'T',
|
2579 |
-
'𝒰' => 'U',
|
2580 |
-
'𝒱' => 'V',
|
2581 |
-
'𝒲' => 'W',
|
2582 |
-
'𝒳' => 'X',
|
2583 |
-
'𝒴' => 'Y',
|
2584 |
-
'𝒵' => 'Z',
|
2585 |
-
'𝒶' => 'a',
|
2586 |
-
'𝒷' => 'b',
|
2587 |
-
'𝒸' => 'c',
|
2588 |
-
'𝒹' => 'd',
|
2589 |
-
'𝒻' => 'f',
|
2590 |
-
'𝒽' => 'h',
|
2591 |
-
'𝒾' => 'i',
|
2592 |
-
'𝒿' => 'j',
|
2593 |
-
'𝓀' => 'k',
|
2594 |
-
'𝓁' => 'l',
|
2595 |
-
'𝓂' => 'm',
|
2596 |
-
'𝓃' => 'n',
|
2597 |
-
'𝓅' => 'p',
|
2598 |
-
'𝓆' => 'q',
|
2599 |
-
'𝓇' => 'r',
|
2600 |
-
'𝓈' => 's',
|
2601 |
-
'𝓉' => 't',
|
2602 |
-
'𝓊' => 'u',
|
2603 |
-
'𝓋' => 'v',
|
2604 |
-
'𝓌' => 'w',
|
2605 |
-
'𝓍' => 'x',
|
2606 |
-
'𝓎' => 'y',
|
2607 |
-
'𝓏' => 'z',
|
2608 |
-
'𝓐' => 'A',
|
2609 |
-
'𝓑' => 'B',
|
2610 |
-
'𝓒' => 'C',
|
2611 |
-
'𝓓' => 'D',
|
2612 |
-
'𝓔' => 'E',
|
2613 |
-
'𝓕' => 'F',
|
2614 |
-
'𝓖' => 'G',
|
2615 |
-
'𝓗' => 'H',
|
2616 |
-
'𝓘' => 'I',
|
2617 |
-
'𝓙' => 'J',
|
2618 |
-
'𝓚' => 'K',
|
2619 |
-
'𝓛' => 'L',
|
2620 |
-
'𝓜' => 'M',
|
2621 |
-
'𝓝' => 'N',
|
2622 |
-
'𝓞' => 'O',
|
2623 |
-
'𝓟' => 'P',
|
2624 |
-
'𝓠' => 'Q',
|
2625 |
-
'𝓡' => 'R',
|
2626 |
-
'𝓢' => 'S',
|
2627 |
-
'𝓣' => 'T',
|
2628 |
-
'𝓤' => 'U',
|
2629 |
-
'𝓥' => 'V',
|
2630 |
-
'𝓦' => 'W',
|
2631 |
-
'𝓧' => 'X',
|
2632 |
-
'𝓨' => 'Y',
|
2633 |
-
'𝓩' => 'Z',
|
2634 |
-
'𝓪' => 'a',
|
2635 |
-
'𝓫' => 'b',
|
2636 |
-
'𝓬' => 'c',
|
2637 |
-
'𝓭' => 'd',
|
2638 |
-
'𝓮' => 'e',
|
2639 |
-
'𝓯' => 'f',
|
2640 |
-
'𝓰' => 'g',
|
2641 |
-
'𝓱' => 'h',
|
2642 |
-
'𝓲' => 'i',
|
2643 |
-
'𝓳' => 'j',
|
2644 |
-
'𝓴' => 'k',
|
2645 |
-
'𝓵' => 'l',
|
2646 |
-
'𝓶' => 'm',
|
2647 |
-
'𝓷' => 'n',
|
2648 |
-
'𝓸' => 'o',
|
2649 |
-
'𝓹' => 'p',
|
2650 |
-
'𝓺' => 'q',
|
2651 |
-
'𝓻' => 'r',
|
2652 |
-
'𝓼' => 's',
|
2653 |
-
'𝓽' => 't',
|
2654 |
-
'𝓾' => 'u',
|
2655 |
-
'𝓿' => 'v',
|
2656 |
-
'𝔀' => 'w',
|
2657 |
-
'𝔁' => 'x',
|
2658 |
-
'𝔂' => 'y',
|
2659 |
-
'𝔃' => 'z',
|
2660 |
-
'𝔄' => 'A',
|
2661 |
-
'𝔅' => 'B',
|
2662 |
-
'𝔇' => 'D',
|
2663 |
-
'𝔈' => 'E',
|
2664 |
-
'𝔉' => 'F',
|
2665 |
-
'𝔊' => 'G',
|
2666 |
-
'𝔍' => 'J',
|
2667 |
-
'𝔎' => 'K',
|
2668 |
-
'𝔏' => 'L',
|
2669 |
-
'𝔐' => 'M',
|
2670 |
-
'𝔑' => 'N',
|
2671 |
-
'𝔒' => 'O',
|
2672 |
-
'𝔓' => 'P',
|
2673 |
-
'𝔔' => 'Q',
|
2674 |
-
'𝔖' => 'S',
|
2675 |
-
'𝔗' => 'T',
|
2676 |
-
'𝔘' => 'U',
|
2677 |
-
'𝔙' => 'V',
|
2678 |
-
'𝔚' => 'W',
|
2679 |
-
'𝔛' => 'X',
|
2680 |
-
'𝔜' => 'Y',
|
2681 |
-
'𝔞' => 'a',
|
2682 |
-
'𝔟' => 'b',
|
2683 |
-
'𝔠' => 'c',
|
2684 |
-
'𝔡' => 'd',
|
2685 |
-
'𝔢' => 'e',
|
2686 |
-
'𝔣' => 'f',
|
2687 |
-
'𝔤' => 'g',
|
2688 |
-
'𝔥' => 'h',
|
2689 |
-
'𝔦' => 'i',
|
2690 |
-
'𝔧' => 'j',
|
2691 |
-
'𝔨' => 'k',
|
2692 |
-
'𝔩' => 'l',
|
2693 |
-
'𝔪' => 'm',
|
2694 |
-
'𝔫' => 'n',
|
2695 |
-
'𝔬' => 'o',
|
2696 |
-
'𝔭' => 'p',
|
2697 |
-
'𝔮' => 'q',
|
2698 |
-
'𝔯' => 'r',
|
2699 |
-
'𝔰' => 's',
|
2700 |
-
'𝔱' => 't',
|
2701 |
-
'𝔲' => 'u',
|
2702 |
-
'𝔳' => 'v',
|
2703 |
-
'𝔴' => 'w',
|
2704 |
-
'𝔵' => 'x',
|
2705 |
-
'𝔶' => 'y',
|
2706 |
-
'𝔷' => 'z',
|
2707 |
-
'𝔸' => 'A',
|
2708 |
-
'𝔹' => 'B',
|
2709 |
-
'𝔻' => 'D',
|
2710 |
-
'𝔼' => 'E',
|
2711 |
-
'𝔽' => 'F',
|
2712 |
-
'𝔾' => 'G',
|
2713 |
-
'𝕀' => 'I',
|
2714 |
-
'𝕁' => 'J',
|
2715 |
-
'𝕂' => 'K',
|
2716 |
-
'𝕃' => 'L',
|
2717 |
-
'𝕄' => 'M',
|
2718 |
-
'𝕆' => 'O',
|
2719 |
-
'𝕊' => 'S',
|
2720 |
-
'𝕋' => 'T',
|
2721 |
-
'𝕌' => 'U',
|
2722 |
-
'𝕍' => 'V',
|
2723 |
-
'𝕎' => 'W',
|
2724 |
-
'𝕏' => 'X',
|
2725 |
-
'𝕐' => 'Y',
|
2726 |
-
'𝕒' => 'a',
|
2727 |
-
'𝕓' => 'b',
|
2728 |
-
'𝕔' => 'c',
|
2729 |
-
'𝕕' => 'd',
|
2730 |
-
'𝕖' => 'e',
|
2731 |
-
'𝕗' => 'f',
|
2732 |
-
'𝕘' => 'g',
|
2733 |
-
'𝕙' => 'h',
|
2734 |
-
'𝕚' => 'i',
|
2735 |
-
'𝕛' => 'j',
|
2736 |
-
'𝕜' => 'k',
|
2737 |
-
'𝕝' => 'l',
|
2738 |
-
'𝕞' => 'm',
|
2739 |
-
'𝕟' => 'n',
|
2740 |
-
'𝕠' => 'o',
|
2741 |
-
'𝕡' => 'p',
|
2742 |
-
'𝕢' => 'q',
|
2743 |
-
'𝕣' => 'r',
|
2744 |
-
'𝕤' => 's',
|
2745 |
-
'𝕥' => 't',
|
2746 |
-
'𝕦' => 'u',
|
2747 |
-
'𝕧' => 'v',
|
2748 |
-
'𝕨' => 'w',
|
2749 |
-
'𝕩' => 'x',
|
2750 |
-
'𝕪' => 'y',
|
2751 |
-
'𝕫' => 'z',
|
2752 |
-
'𝕬' => 'A',
|
2753 |
-
'𝕭' => 'B',
|
2754 |
-
'𝕮' => 'C',
|
2755 |
-
'𝕯' => 'D',
|
2756 |
-
'𝕰' => 'E',
|
2757 |
-
'𝕱' => 'F',
|
2758 |
-
'𝕲' => 'G',
|
2759 |
-
'𝕳' => 'H',
|
2760 |
-
'𝕴' => 'I',
|
2761 |
-
'𝕵' => 'J',
|
2762 |
-
'𝕶' => 'K',
|
2763 |
-
'𝕷' => 'L',
|
2764 |
-
'𝕸' => 'M',
|
2765 |
-
'𝕹' => 'N',
|
2766 |
-
'𝕺' => 'O',
|
2767 |
-
'𝕻' => 'P',
|
2768 |
-
'𝕼' => 'Q',
|
2769 |
-
'𝕽' => 'R',
|
2770 |
-
'𝕾' => 'S',
|
2771 |
-
'𝕿' => 'T',
|
2772 |
-
'𝖀' => 'U',
|
2773 |
-
'𝖁' => 'V',
|
2774 |
-
'𝖂' => 'W',
|
2775 |
-
'𝖃' => 'X',
|
2776 |
-
'𝖄' => 'Y',
|
2777 |
-
'𝖅' => 'Z',
|
2778 |
-
'𝖆' => 'a',
|
2779 |
-
'𝖇' => 'b',
|
2780 |
-
'𝖈' => 'c',
|
2781 |
-
'𝖉' => 'd',
|
2782 |
-
'𝖊' => 'e',
|
2783 |
-
'𝖋' => 'f',
|
2784 |
-
'𝖌' => 'g',
|
2785 |
-
'𝖍' => 'h',
|
2786 |
-
'𝖎' => 'i',
|
2787 |
-
'𝖏' => 'j',
|
2788 |
-
'𝖐' => 'k',
|
2789 |
-
'𝖑' => 'l',
|
2790 |
-
'𝖒' => 'm',
|
2791 |
-
'𝖓' => 'n',
|
2792 |
-
'𝖔' => 'o',
|
2793 |
-
'𝖕' => 'p',
|
2794 |
-
'𝖖' => 'q',
|
2795 |
-
'𝖗' => 'r',
|
2796 |
-
'𝖘' => 's',
|
2797 |
-
'𝖙' => 't',
|
2798 |
-
'𝖚' => 'u',
|
2799 |
-
'𝖛' => 'v',
|
2800 |
-
'𝖜' => 'w',
|
2801 |
-
'𝖝' => 'x',
|
2802 |
-
'𝖞' => 'y',
|
2803 |
-
'𝖟' => 'z',
|
2804 |
-
'𝖠' => 'A',
|
2805 |
-
'𝖡' => 'B',
|
2806 |
-
'𝖢' => 'C',
|
2807 |
-
'𝖣' => 'D',
|
2808 |
-
'𝖤' => 'E',
|
2809 |
-
'𝖥' => 'F',
|
2810 |
-
'𝖦' => 'G',
|
2811 |
-
'𝖧' => 'H',
|
2812 |
-
'𝖨' => 'I',
|
2813 |
-
'𝖩' => 'J',
|
2814 |
-
'𝖪' => 'K',
|
2815 |
-
'𝖫' => 'L',
|
2816 |
-
'𝖬' => 'M',
|
2817 |
-
'𝖭' => 'N',
|
2818 |
-
'𝖮' => 'O',
|
2819 |
-
'𝖯' => 'P',
|
2820 |
-
'𝖰' => 'Q',
|
2821 |
-
'𝖱' => 'R',
|
2822 |
-
'𝖲' => 'S',
|
2823 |
-
'𝖳' => 'T',
|
2824 |
-
'𝖴' => 'U',
|
2825 |
-
'𝖵' => 'V',
|
2826 |
-
'𝖶' => 'W',
|
2827 |
-
'𝖷' => 'X',
|
2828 |
-
'𝖸' => 'Y',
|
2829 |
-
'𝖹' => 'Z',
|
2830 |
-
'𝖺' => 'a',
|
2831 |
-
'𝖻' => 'b',
|
2832 |
-
'𝖼' => 'c',
|
2833 |
-
'𝖽' => 'd',
|
2834 |
-
'𝖾' => 'e',
|
2835 |
-
'𝖿' => 'f',
|
2836 |
-
'𝗀' => 'g',
|
2837 |
-
'𝗁' => 'h',
|
2838 |
-
'𝗂' => 'i',
|
2839 |
-
'𝗃' => 'j',
|
2840 |
-
'𝗄' => 'k',
|
2841 |
-
'𝗅' => 'l',
|
2842 |
-
'𝗆' => 'm',
|
2843 |
-
'𝗇' => 'n',
|
2844 |
-
'𝗈' => 'o',
|
2845 |
-
'𝗉' => 'p',
|
2846 |
-
'𝗊' => 'q',
|
2847 |
-
'𝗋' => 'r',
|
2848 |
-
'𝗌' => 's',
|
2849 |
-
'𝗍' => 't',
|
2850 |
-
'𝗎' => 'u',
|
2851 |
-
'𝗏' => 'v',
|
2852 |
-
'𝗐' => 'w',
|
2853 |
-
'𝗑' => 'x',
|
2854 |
-
'𝗒' => 'y',
|
2855 |
-
'𝗓' => 'z',
|
2856 |
-
'𝗔' => 'A',
|
2857 |
-
'𝗕' => 'B',
|
2858 |
-
'𝗖' => 'C',
|
2859 |
-
'𝗗' => 'D',
|
2860 |
-
'𝗘' => 'E',
|
2861 |
-
'𝗙' => 'F',
|
2862 |
-
'𝗚' => 'G',
|
2863 |
-
'𝗛' => 'H',
|
2864 |
-
'𝗜' => 'I',
|
2865 |
-
'𝗝' => 'J',
|
2866 |
-
'𝗞' => 'K',
|
2867 |
-
'𝗟' => 'L',
|
2868 |
-
'𝗠' => 'M',
|
2869 |
-
'𝗡' => 'N',
|
2870 |
-
'𝗢' => 'O',
|
2871 |
-
'𝗣' => 'P',
|
2872 |
-
'𝗤' => 'Q',
|
2873 |
-
'𝗥' => 'R',
|
2874 |
-
'𝗦' => 'S',
|
2875 |
-
'𝗧' => 'T',
|
2876 |
-
'𝗨' => 'U',
|
2877 |
-
'𝗩' => 'V',
|
2878 |
-
'𝗪' => 'W',
|
2879 |
-
'𝗫' => 'X',
|
2880 |
-
'𝗬' => 'Y',
|
2881 |
-
'𝗭' => 'Z',
|
2882 |
-
'𝗮' => 'a',
|
2883 |
-
'𝗯' => 'b',
|
2884 |
-
'𝗰' => 'c',
|
2885 |
-
'𝗱' => 'd',
|
2886 |
-
'𝗲' => 'e',
|
2887 |
-
'𝗳' => 'f',
|
2888 |
-
'𝗴' => 'g',
|
2889 |
-
'𝗵' => 'h',
|
2890 |
-
'𝗶' => 'i',
|
2891 |
-
'𝗷' => 'j',
|
2892 |
-
'𝗸' => 'k',
|
2893 |
-
'𝗹' => 'l',
|
2894 |
-
'𝗺' => 'm',
|
2895 |
-
'𝗻' => 'n',
|
2896 |
-
'𝗼' => 'o',
|
2897 |
-
'𝗽' => 'p',
|
2898 |
-
'𝗾' => 'q',
|
2899 |
-
'𝗿' => 'r',
|
2900 |
-
'𝘀' => 's',
|
2901 |
-
'𝘁' => 't',
|
2902 |
-
'𝘂' => 'u',
|
2903 |
-
'𝘃' => 'v',
|
2904 |
-
'𝘄' => 'w',
|
2905 |
-
'𝘅' => 'x',
|
2906 |
-
'𝘆' => 'y',
|
2907 |
-
'𝘇' => 'z',
|
2908 |
-
'𝘈' => 'A',
|
2909 |
-
'𝘉' => 'B',
|
2910 |
-
'𝘊' => 'C',
|
2911 |
-
'𝘋' => 'D',
|
2912 |
-
'𝘌' => 'E',
|
2913 |
-
'𝘍' => 'F',
|
2914 |
-
'𝘎' => 'G',
|
2915 |
-
'𝘏' => 'H',
|
2916 |
-
'𝘐' => 'I',
|
2917 |
-
'𝘑' => 'J',
|
2918 |
-
'𝘒' => 'K',
|
2919 |
-
'𝘓' => 'L',
|
2920 |
-
'𝘔' => 'M',
|
2921 |
-
'𝘕' => 'N',
|
2922 |
-
'𝘖' => 'O',
|
2923 |
-
'𝘗' => 'P',
|
2924 |
-
'𝘘' => 'Q',
|
2925 |
-
'𝘙' => 'R',
|
2926 |
-
'𝘚' => 'S',
|
2927 |
-
'𝘛' => 'T',
|
2928 |
-
'𝘜' => 'U',
|
2929 |
-
'𝘝' => 'V',
|
2930 |
-
'𝘞' => 'W',
|
2931 |
-
'𝘟' => 'X',
|
2932 |
-
'𝘠' => 'Y',
|
2933 |
-
'𝘡' => 'Z',
|
2934 |
-
'𝘢' => 'a',
|
2935 |
-
'𝘣' => 'b',
|
2936 |
-
'𝘤' => 'c',
|
2937 |
-
'𝘥' => 'd',
|
2938 |
-
'𝘦' => 'e',
|
2939 |
-
'𝘧' => 'f',
|
2940 |
-
'𝘨' => 'g',
|
2941 |
-
'𝘩' => 'h',
|
2942 |
-
'𝘪' => 'i',
|
2943 |
-
'𝘫' => 'j',
|
2944 |
-
'𝘬' => 'k',
|
2945 |
-
'𝘭' => 'l',
|
2946 |
-
'𝘮' => 'm',
|
2947 |
-
'𝘯' => 'n',
|
2948 |
-
'𝘰' => 'o',
|
2949 |
-
'𝘱' => 'p',
|
2950 |
-
'𝘲' => 'q',
|
2951 |
-
'𝘳' => 'r',
|
2952 |
-
'𝘴' => 's',
|
2953 |
-
'𝘵' => 't',
|
2954 |
-
'𝘶' => 'u',
|
2955 |
-
'𝘷' => 'v',
|
2956 |
-
'𝘸' => 'w',
|
2957 |
-
'𝘹' => 'x',
|
2958 |
-
'𝘺' => 'y',
|
2959 |
-
'𝘻' => 'z',
|
2960 |
-
'𝘼' => 'A',
|
2961 |
-
'𝘽' => 'B',
|
2962 |
-
'𝘾' => 'C',
|
2963 |
-
'𝘿' => 'D',
|
2964 |
-
'𝙀' => 'E',
|
2965 |
-
'𝙁' => 'F',
|
2966 |
-
'𝙂' => 'G',
|
2967 |
-
'𝙃' => 'H',
|
2968 |
-
'𝙄' => 'I',
|
2969 |
-
'𝙅' => 'J',
|
2970 |
-
'𝙆' => 'K',
|
2971 |
-
'𝙇' => 'L',
|
2972 |
-
'𝙈' => 'M',
|
2973 |
-
'𝙉' => 'N',
|
2974 |
-
'𝙊' => 'O',
|
2975 |
-
'𝙋' => 'P',
|
2976 |
-
'𝙌' => 'Q',
|
2977 |
-
'𝙍' => 'R',
|
2978 |
-
'𝙎' => 'S',
|
2979 |
-
'𝙏' => 'T',
|
2980 |
-
'𝙐' => 'U',
|
2981 |
-
'𝙑' => 'V',
|
2982 |
-
'𝙒' => 'W',
|
2983 |
-
'𝙓' => 'X',
|
2984 |
-
'𝙔' => 'Y',
|
2985 |
-
'𝙕' => 'Z',
|
2986 |
-
'𝙖' => 'a',
|
2987 |
-
'𝙗' => 'b',
|
2988 |
-
'𝙘' => 'c',
|
2989 |
-
'𝙙' => 'd',
|
2990 |
-
'𝙚' => 'e',
|
2991 |
-
'𝙛' => 'f',
|
2992 |
-
'𝙜' => 'g',
|
2993 |
-
'𝙝' => 'h',
|
2994 |
-
'𝙞' => 'i',
|
2995 |
-
'𝙟' => 'j',
|
2996 |
-
'𝙠' => 'k',
|
2997 |
-
'𝙡' => 'l',
|
2998 |
-
'𝙢' => 'm',
|
2999 |
-
'𝙣' => 'n',
|
3000 |
-
'𝙤' => 'o',
|
3001 |
-
'𝙥' => 'p',
|
3002 |
-
'𝙦' => 'q',
|
3003 |
-
'𝙧' => 'r',
|
3004 |
-
'𝙨' => 's',
|
3005 |
-
'𝙩' => 't',
|
3006 |
-
'𝙪' => 'u',
|
3007 |
-
'𝙫' => 'v',
|
3008 |
-
'𝙬' => 'w',
|
3009 |
-
'𝙭' => 'x',
|
3010 |
-
'𝙮' => 'y',
|
3011 |
-
'𝙯' => 'z',
|
3012 |
-
'𝙰' => 'A',
|
3013 |
-
'𝙱' => 'B',
|
3014 |
-
'𝙲' => 'C',
|
3015 |
-
'𝙳' => 'D',
|
3016 |
-
'𝙴' => 'E',
|
3017 |
-
'𝙵' => 'F',
|
3018 |
-
'𝙶' => 'G',
|
3019 |
-
'𝙷' => 'H',
|
3020 |
-
'𝙸' => 'I',
|
3021 |
-
'𝙹' => 'J',
|
3022 |
-
'𝙺' => 'K',
|
3023 |
-
'𝙻' => 'L',
|
3024 |
-
'𝙼' => 'M',
|
3025 |
-
'𝙽' => 'N',
|
3026 |
-
'𝙾' => 'O',
|
3027 |
-
'𝙿' => 'P',
|
3028 |
-
'𝚀' => 'Q',
|
3029 |
-
'𝚁' => 'R',
|
3030 |
-
'𝚂' => 'S',
|
3031 |
-
'𝚃' => 'T',
|
3032 |
-
'𝚄' => 'U',
|
3033 |
-
'𝚅' => 'V',
|
3034 |
-
'𝚆' => 'W',
|
3035 |
-
'𝚇' => 'X',
|
3036 |
-
'𝚈' => 'Y',
|
3037 |
-
'𝚉' => 'Z',
|
3038 |
-
'𝚊' => 'a',
|
3039 |
-
'𝚋' => 'b',
|
3040 |
-
'𝚌' => 'c',
|
3041 |
-
'𝚍' => 'd',
|
3042 |
-
'𝚎' => 'e',
|
3043 |
-
'𝚏' => 'f',
|
3044 |
-
'𝚐' => 'g',
|
3045 |
-
'𝚑' => 'h',
|
3046 |
-
'𝚒' => 'i',
|
3047 |
-
'𝚓' => 'j',
|
3048 |
-
'𝚔' => 'k',
|
3049 |
-
'𝚕' => 'l',
|
3050 |
-
'𝚖' => 'm',
|
3051 |
-
'𝚗' => 'n',
|
3052 |
-
'𝚘' => 'o',
|
3053 |
-
'𝚙' => 'p',
|
3054 |
-
'𝚚' => 'q',
|
3055 |
-
'𝚛' => 'r',
|
3056 |
-
'𝚜' => 's',
|
3057 |
-
'𝚝' => 't',
|
3058 |
-
'𝚞' => 'u',
|
3059 |
-
'𝚟' => 'v',
|
3060 |
-
'𝚠' => 'w',
|
3061 |
-
'𝚡' => 'x',
|
3062 |
-
'𝚢' => 'y',
|
3063 |
-
'𝚣' => 'z',
|
3064 |
-
'𝚤' => 'ı',
|
3065 |
-
'𝚥' => 'ȷ',
|
3066 |
-
'𝚨' => 'Α',
|
3067 |
-
'𝚩' => 'Β',
|
3068 |
-
'𝚪' => 'Γ',
|
3069 |
-
'𝚫' => 'Δ',
|
3070 |
-
'𝚬' => 'Ε',
|
3071 |
-
'𝚭' => 'Ζ',
|
3072 |
-
'𝚮' => 'Η',
|
3073 |
-
'𝚯' => 'Θ',
|
3074 |
-
'𝚰' => 'Ι',
|
3075 |
-
'𝚱' => 'Κ',
|
3076 |
-
'𝚲' => 'Λ',
|
3077 |
-
'𝚳' => 'Μ',
|
3078 |
-
'𝚴' => 'Ν',
|
3079 |
-
'𝚵' => 'Ξ',
|
3080 |
-
'𝚶' => 'Ο',
|
3081 |
-
'𝚷' => 'Π',
|
3082 |
-
'𝚸' => 'Ρ',
|
3083 |
-
'𝚹' => 'Θ',
|
3084 |
-
'𝚺' => 'Σ',
|
3085 |
-
'𝚻' => 'Τ',
|
3086 |
-
'𝚼' => 'Υ',
|
3087 |
-
'𝚽' => 'Φ',
|
3088 |
-
'𝚾' => 'Χ',
|
3089 |
-
'𝚿' => 'Ψ',
|
3090 |
-
'𝛀' => 'Ω',
|
3091 |
-
'𝛁' => '∇',
|
3092 |
-
'𝛂' => 'α',
|
3093 |
-
'𝛃' => 'β',
|
3094 |
-
'𝛄' => 'γ',
|
3095 |
-
'𝛅' => 'δ',
|
3096 |
-
'𝛆' => 'ε',
|
3097 |
-
'𝛇' => 'ζ',
|
3098 |
-
'𝛈' => 'η',
|
3099 |
-
'𝛉' => 'θ',
|
3100 |
-
'𝛊' => 'ι',
|
3101 |
-
'𝛋' => 'κ',
|
3102 |
-
'𝛌' => 'λ',
|
3103 |
-
'𝛍' => 'μ',
|
3104 |
-
'𝛎' => 'ν',
|
3105 |
-
'𝛏' => 'ξ',
|
3106 |
-
'𝛐' => 'ο',
|
3107 |
-
'𝛑' => 'π',
|
3108 |
-
'𝛒' => 'ρ',
|
3109 |
-
'𝛓' => 'ς',
|
3110 |
-
'𝛔' => 'σ',
|
3111 |
-
'𝛕' => 'τ',
|
3112 |
-
'𝛖' => 'υ',
|
3113 |
-
'𝛗' => 'φ',
|
3114 |
-
'𝛘' => 'χ',
|
3115 |
-
'𝛙' => 'ψ',
|
3116 |
-
'𝛚' => 'ω',
|
3117 |
-
'𝛛' => '∂',
|
3118 |
-
'𝛜' => 'ε',
|
3119 |
-
'𝛝' => 'θ',
|
3120 |
-
'𝛞' => 'κ',
|
3121 |
-
'𝛟' => 'φ',
|
3122 |
-
'𝛠' => 'ρ',
|
3123 |
-
'𝛡' => 'π',
|
3124 |
-
'𝛢' => 'Α',
|
3125 |
-
'𝛣' => 'Β',
|
3126 |
-
'𝛤' => 'Γ',
|
3127 |
-
'𝛥' => 'Δ',
|
3128 |
-
'𝛦' => 'Ε',
|
3129 |
-
'𝛧' => 'Ζ',
|
3130 |
-
'𝛨' => 'Η',
|
3131 |
-
'𝛩' => 'Θ',
|
3132 |
-
'𝛪' => 'Ι',
|
3133 |
-
'𝛫' => 'Κ',
|
3134 |
-
'𝛬' => 'Λ',
|
3135 |
-
'𝛭' => 'Μ',
|
3136 |
-
'𝛮' => 'Ν',
|
3137 |
-
'𝛯' => 'Ξ',
|
3138 |
-
'𝛰' => 'Ο',
|
3139 |
-
'𝛱' => 'Π',
|
3140 |
-
'𝛲' => 'Ρ',
|
3141 |
-
'𝛳' => 'Θ',
|
3142 |
-
'𝛴' => 'Σ',
|
3143 |
-
'𝛵' => 'Τ',
|
3144 |
-
'𝛶' => 'Υ',
|
3145 |
-
'𝛷' => 'Φ',
|
3146 |
-
'𝛸' => 'Χ',
|
3147 |
-
'𝛹' => 'Ψ',
|
3148 |
-
'𝛺' => 'Ω',
|
3149 |
-
'𝛻' => '∇',
|
3150 |
-
'𝛼' => 'α',
|
3151 |
-
'𝛽' => 'β',
|
3152 |
-
'𝛾' => 'γ',
|
3153 |
-
'𝛿' => 'δ',
|
3154 |
-
'𝜀' => 'ε',
|
3155 |
-
'𝜁' => 'ζ',
|
3156 |
-
'𝜂' => 'η',
|
3157 |
-
'𝜃' => 'θ',
|
3158 |
-
'𝜄' => 'ι',
|
3159 |
-
'𝜅' => 'κ',
|
3160 |
-
'𝜆' => 'λ',
|
3161 |
-
'𝜇' => 'μ',
|
3162 |
-
'𝜈' => 'ν',
|
3163 |
-
'𝜉' => 'ξ',
|
3164 |
-
'𝜊' => 'ο',
|
3165 |
-
'𝜋' => 'π',
|
3166 |
-
'𝜌' => 'ρ',
|
3167 |
-
'𝜍' => 'ς',
|
3168 |
-
'𝜎' => 'σ',
|
3169 |
-
'𝜏' => 'τ',
|
3170 |
-
'𝜐' => 'υ',
|
3171 |
-
'𝜑' => 'φ',
|
3172 |
-
'𝜒' => 'χ',
|
3173 |
-
'𝜓' => 'ψ',
|
3174 |
-
'𝜔' => 'ω',
|
3175 |
-
'𝜕' => '∂',
|
3176 |
-
'𝜖' => 'ε',
|
3177 |
-
'𝜗' => 'θ',
|
3178 |
-
'𝜘' => 'κ',
|
3179 |
-
'𝜙' => 'φ',
|
3180 |
-
'𝜚' => 'ρ',
|
3181 |
-
'𝜛' => 'π',
|
3182 |
-
'𝜜' => 'Α',
|
3183 |
-
'𝜝' => 'Β',
|
3184 |
-
'𝜞' => 'Γ',
|
3185 |
-
'𝜟' => 'Δ',
|
3186 |
-
'𝜠' => 'Ε',
|
3187 |
-
'𝜡' => 'Ζ',
|
3188 |
-
'𝜢' => 'Η',
|
3189 |
-
'𝜣' => 'Θ',
|
3190 |
-
'𝜤' => 'Ι',
|
3191 |
-
'𝜥' => 'Κ',
|
3192 |
-
'𝜦' => 'Λ',
|
3193 |
-
'𝜧' => 'Μ',
|
3194 |
-
'𝜨' => 'Ν',
|
3195 |
-
'𝜩' => 'Ξ',
|
3196 |
-
'𝜪' => 'Ο',
|
3197 |
-
'𝜫' => 'Π',
|
3198 |
-
'𝜬' => 'Ρ',
|
3199 |
-
'𝜭' => 'Θ',
|
3200 |
-
'𝜮' => 'Σ',
|
3201 |
-
'𝜯' => 'Τ',
|
3202 |
-
'𝜰' => 'Υ',
|
3203 |
-
'𝜱' => 'Φ',
|
3204 |
-
'𝜲' => 'Χ',
|
3205 |
-
'𝜳' => 'Ψ',
|
3206 |
-
'𝜴' => 'Ω',
|
3207 |
-
'𝜵' => '∇',
|
3208 |
-
'𝜶' => 'α',
|
3209 |
-
'𝜷' => 'β',
|
3210 |
-
'𝜸' => 'γ',
|
3211 |
-
'𝜹' => 'δ',
|
3212 |
-
'𝜺' => 'ε',
|
3213 |
-
'𝜻' => 'ζ',
|
3214 |
-
'𝜼' => 'η',
|
3215 |
-
'𝜽' => 'θ',
|
3216 |
-
'𝜾' => 'ι',
|
3217 |
-
'𝜿' => 'κ',
|
3218 |
-
'𝝀' => 'λ',
|
3219 |
-
'𝝁' => 'μ',
|
3220 |
-
'𝝂' => 'ν',
|
3221 |
-
'𝝃' => 'ξ',
|
3222 |
-
'𝝄' => 'ο',
|
3223 |
-
'𝝅' => 'π',
|
3224 |
-
'𝝆' => 'ρ',
|
3225 |
-
'𝝇' => 'ς',
|
3226 |
-
'𝝈' => 'σ',
|
3227 |
-
'𝝉' => 'τ',
|
3228 |
-
'𝝊' => 'υ',
|
3229 |
-
'𝝋' => 'φ',
|
3230 |
-
'𝝌' => 'χ',
|
3231 |
-
'𝝍' => 'ψ',
|
3232 |
-
'𝝎' => 'ω',
|
3233 |
-
'𝝏' => '∂',
|
3234 |
-
'𝝐' => 'ε',
|
3235 |
-
'𝝑' => 'θ',
|
3236 |
-
'𝝒' => 'κ',
|
3237 |
-
'𝝓' => 'φ',
|
3238 |
-
'𝝔' => 'ρ',
|
3239 |
-
'𝝕' => 'π',
|
3240 |
-
'𝝖' => 'Α',
|
3241 |
-
'𝝗' => 'Β',
|
3242 |
-
'𝝘' => 'Γ',
|
3243 |
-
'𝝙' => 'Δ',
|
3244 |
-
'𝝚' => 'Ε',
|
3245 |
-
'𝝛' => 'Ζ',
|
3246 |
-
'𝝜' => 'Η',
|
3247 |
-
'𝝝' => 'Θ',
|
3248 |
-
'𝝞' => 'Ι',
|
3249 |
-
'𝝟' => 'Κ',
|
3250 |
-
'𝝠' => 'Λ',
|
3251 |
-
'𝝡' => 'Μ',
|
3252 |
-
'𝝢' => 'Ν',
|
3253 |
-
'𝝣' => 'Ξ',
|
3254 |
-
'𝝤' => 'Ο',
|
3255 |
-
'𝝥' => 'Π',
|
3256 |
-
'𝝦' => 'Ρ',
|
3257 |
-
'𝝧' => 'Θ',
|
3258 |
-
'𝝨' => 'Σ',
|
3259 |
-
'𝝩' => 'Τ',
|
3260 |
-
'𝝪' => 'Υ',
|
3261 |
-
'𝝫' => 'Φ',
|
3262 |
-
'𝝬' => 'Χ',
|
3263 |
-
'𝝭' => 'Ψ',
|
3264 |
-
'𝝮' => 'Ω',
|
3265 |
-
'𝝯' => '∇',
|
3266 |
-
'𝝰' => 'α',
|
3267 |
-
'𝝱' => 'β',
|
3268 |
-
'𝝲' => 'γ',
|
3269 |
-
'𝝳' => 'δ',
|
3270 |
-
'𝝴' => 'ε',
|
3271 |
-
'𝝵' => 'ζ',
|
3272 |
-
'𝝶' => 'η',
|
3273 |
-
'𝝷' => 'θ',
|
3274 |
-
'𝝸' => 'ι',
|
3275 |
-
'𝝹' => 'κ',
|
3276 |
-
'𝝺' => 'λ',
|
3277 |
-
'𝝻' => 'μ',
|
3278 |
-
'𝝼' => 'ν',
|
3279 |
-
'𝝽' => 'ξ',
|
3280 |
-
'𝝾' => 'ο',
|
3281 |
-
'𝝿' => 'π',
|
3282 |
-
'𝞀' => 'ρ',
|
3283 |
-
'𝞁' => 'ς',
|
3284 |
-
'𝞂' => 'σ',
|
3285 |
-
'𝞃' => 'τ',
|
3286 |
-
'𝞄' => 'υ',
|
3287 |
-
'𝞅' => 'φ',
|
3288 |
-
'𝞆' => 'χ',
|
3289 |
-
'𝞇' => 'ψ',
|
3290 |
-
'𝞈' => 'ω',
|
3291 |
-
'𝞉' => '∂',
|
3292 |
-
'𝞊' => 'ε',
|
3293 |
-
'𝞋' => 'θ',
|
3294 |
-
'𝞌' => 'κ',
|
3295 |
-
'𝞍' => 'φ',
|
3296 |
-
'𝞎' => 'ρ',
|
3297 |
-
'𝞏' => 'π',
|
3298 |
-
'𝞐' => 'Α',
|
3299 |
-
'𝞑' => 'Β',
|
3300 |
-
'𝞒' => 'Γ',
|
3301 |
-
'𝞓' => 'Δ',
|
3302 |
-
'𝞔' => 'Ε',
|
3303 |
-
'𝞕' => 'Ζ',
|
3304 |
-
'𝞖' => 'Η',
|
3305 |
-
'𝞗' => 'Θ',
|
3306 |
-
'𝞘' => 'Ι',
|
3307 |
-
'𝞙' => 'Κ',
|
3308 |
-
'𝞚' => 'Λ',
|
3309 |
-
'𝞛' => 'Μ',
|
3310 |
-
'𝞜' => 'Ν',
|
3311 |
-
'𝞝' => 'Ξ',
|
3312 |
-
'𝞞' => 'Ο',
|
3313 |
-
'𝞟' => 'Π',
|
3314 |
-
'𝞠' => 'Ρ',
|
3315 |
-
'𝞡' => 'Θ',
|
3316 |
-
'𝞢' => 'Σ',
|
3317 |
-
'𝞣' => 'Τ',
|
3318 |
-
'𝞤' => 'Υ',
|
3319 |
-
'𝞥' => 'Φ',
|
3320 |
-
'𝞦' => 'Χ',
|
3321 |
-
'𝞧' => 'Ψ',
|
3322 |
-
'𝞨' => 'Ω',
|
3323 |
-
'𝞩' => '∇',
|
3324 |
-
'𝞪' => 'α',
|
3325 |
-
'𝞫' => 'β',
|
3326 |
-
'𝞬' => 'γ',
|
3327 |
-
'𝞭' => 'δ',
|
3328 |
-
'𝞮' => 'ε',
|
3329 |
-
'𝞯' => 'ζ',
|
3330 |
-
'𝞰' => 'η',
|
3331 |
-
'𝞱' => 'θ',
|
3332 |
-
'𝞲' => 'ι',
|
3333 |
-
'𝞳' => 'κ',
|
3334 |
-
'𝞴' => 'λ',
|
3335 |
-
'𝞵' => 'μ',
|
3336 |
-
'𝞶' => 'ν',
|
3337 |
-
'𝞷' => 'ξ',
|
3338 |
-
'𝞸' => 'ο',
|
3339 |
-
'𝞹' => 'π',
|
3340 |
-
'𝞺' => 'ρ',
|
3341 |
-
'𝞻' => 'ς',
|
3342 |
-
'𝞼' => 'σ',
|
3343 |
-
'𝞽' => 'τ',
|
3344 |
-
'𝞾' => 'υ',
|
3345 |
-
'𝞿' => 'φ',
|
3346 |
-
'𝟀' => 'χ',
|
3347 |
-
'𝟁' => 'ψ',
|
3348 |
-
'𝟂' => 'ω',
|
3349 |
-
'𝟃' => '∂',
|
3350 |
-
'𝟄' => 'ε',
|
3351 |
-
'𝟅' => 'θ',
|
3352 |
-
'𝟆' => 'κ',
|
3353 |
-
'𝟇' => 'φ',
|
3354 |
-
'𝟈' => 'ρ',
|
3355 |
-
'𝟉' => 'π',
|
3356 |
-
'𝟊' => 'Ϝ',
|
3357 |
-
'𝟋' => 'ϝ',
|
3358 |
-
'𝟎' => '0',
|
3359 |
-
'𝟏' => '1',
|
3360 |
-
'𝟐' => '2',
|
3361 |
-
'𝟑' => '3',
|
3362 |
-
'𝟒' => '4',
|
3363 |
-
'𝟓' => '5',
|
3364 |
-
'𝟔' => '6',
|
3365 |
-
'𝟕' => '7',
|
3366 |
-
'𝟖' => '8',
|
3367 |
-
'𝟗' => '9',
|
3368 |
-
'𝟘' => '0',
|
3369 |
-
'𝟙' => '1',
|
3370 |
-
'𝟚' => '2',
|
3371 |
-
'𝟛' => '3',
|
3372 |
-
'𝟜' => '4',
|
3373 |
-
'𝟝' => '5',
|
3374 |
-
'𝟞' => '6',
|
3375 |
-
'𝟟' => '7',
|
3376 |
-
'𝟠' => '8',
|
3377 |
-
'𝟡' => '9',
|
3378 |
-
'𝟢' => '0',
|
3379 |
-
'𝟣' => '1',
|
3380 |
-
'𝟤' => '2',
|
3381 |
-
'𝟥' => '3',
|
3382 |
-
'𝟦' => '4',
|
3383 |
-
'𝟧' => '5',
|
3384 |
-
'𝟨' => '6',
|
3385 |
-
'𝟩' => '7',
|
3386 |
-
'𝟪' => '8',
|
3387 |
-
'𝟫' => '9',
|
3388 |
-
'𝟬' => '0',
|
3389 |
-
'𝟭' => '1',
|
3390 |
-
'𝟮' => '2',
|
3391 |
-
'𝟯' => '3',
|
3392 |
-
'𝟰' => '4',
|
3393 |
-
'𝟱' => '5',
|
3394 |
-
'𝟲' => '6',
|
3395 |
-
'𝟳' => '7',
|
3396 |
-
'𝟴' => '8',
|
3397 |
-
'𝟵' => '9',
|
3398 |
-
'𝟶' => '0',
|
3399 |
-
'𝟷' => '1',
|
3400 |
-
'𝟸' => '2',
|
3401 |
-
'𝟹' => '3',
|
3402 |
-
'𝟺' => '4',
|
3403 |
-
'𝟻' => '5',
|
3404 |
-
'𝟼' => '6',
|
3405 |
-
'𝟽' => '7',
|
3406 |
-
'𝟾' => '8',
|
3407 |
-
'𝟿' => '9',
|
3408 |
-
'𞸀' => 'ا',
|
3409 |
-
'𞸁' => 'ب',
|
3410 |
-
'𞸂' => 'ج',
|
3411 |
-
'𞸃' => 'د',
|
3412 |
-
'𞸅' => 'و',
|
3413 |
-
'𞸆' => 'ز',
|
3414 |
-
'𞸇' => 'ح',
|
3415 |
-
'𞸈' => 'ط',
|
3416 |
-
'𞸉' => 'ي',
|
3417 |
-
'𞸊' => 'ك',
|
3418 |
-
'𞸋' => 'ل',
|
3419 |
-
'𞸌' => 'م',
|
3420 |
-
'𞸍' => 'ن',
|
3421 |
-
'𞸎' => 'س',
|
3422 |
-
'𞸏' => 'ع',
|
3423 |
-
'𞸐' => 'ف',
|
3424 |
-
'𞸑' => 'ص',
|
3425 |
-
'𞸒' => 'ق',
|
3426 |
-
'𞸓' => 'ر',
|
3427 |
-
'𞸔' => 'ش',
|
3428 |
-
'𞸕' => 'ت',
|
3429 |
-
'𞸖' => 'ث',
|
3430 |
-
'𞸗' => 'خ',
|
3431 |
-
'𞸘' => 'ذ',
|
3432 |
-
'𞸙' => 'ض',
|
3433 |
-
'𞸚' => 'ظ',
|
3434 |
-
'𞸛' => 'غ',
|
3435 |
-
'𞸜' => 'ٮ',
|
3436 |
-
'𞸝' => 'ں',
|
3437 |
-
'𞸞' => 'ڡ',
|
3438 |
-
'𞸟' => 'ٯ',
|
3439 |
-
'𞸡' => 'ب',
|
3440 |
-
'𞸢' => 'ج',
|
3441 |
-
'𞸤' => 'ه',
|
3442 |
-
'𞸧' => 'ح',
|
3443 |
-
'𞸩' => 'ي',
|
3444 |
-
'𞸪' => 'ك',
|
3445 |
-
'𞸫' => 'ل',
|
3446 |
-
'𞸬' => 'م',
|
3447 |
-
'𞸭' => 'ن',
|
3448 |
-
'𞸮' => 'س',
|
3449 |
-
'𞸯' => 'ع',
|
3450 |
-
'𞸰' => 'ف',
|
3451 |
-
'𞸱' => 'ص',
|
3452 |
-
'𞸲' => 'ق',
|
3453 |
-
'𞸴' => 'ش',
|
3454 |
-
'𞸵' => 'ت',
|
3455 |
-
'𞸶' => 'ث',
|
3456 |
-
'𞸷' => 'خ',
|
3457 |
-
'𞸹' => 'ض',
|
3458 |
-
'𞸻' => 'غ',
|
3459 |
-
'𞹂' => 'ج',
|
3460 |
-
'𞹇' => 'ح',
|
3461 |
-
'𞹉' => 'ي',
|
3462 |
-
'𞹋' => 'ل',
|
3463 |
-
'𞹍' => 'ن',
|
3464 |
-
'𞹎' => 'س',
|
3465 |
-
'𞹏' => 'ع',
|
3466 |
-
'𞹑' => 'ص',
|
3467 |
-
'𞹒' => 'ق',
|
3468 |
-
'𞹔' => 'ش',
|
3469 |
-
'𞹗' => 'خ',
|
3470 |
-
'𞹙' => 'ض',
|
3471 |
-
'𞹛' => 'غ',
|
3472 |
-
'𞹝' => 'ں',
|
3473 |
-
'𞹟' => 'ٯ',
|
3474 |
-
'𞹡' => 'ب',
|
3475 |
-
'𞹢' => 'ج',
|
3476 |
-
'𞹤' => 'ه',
|
3477 |
-
'𞹧' => 'ح',
|
3478 |
-
'𞹨' => 'ط',
|
3479 |
-
'𞹩' => 'ي',
|
3480 |
-
'𞹪' => 'ك',
|
3481 |
-
'𞹬' => 'م',
|
3482 |
-
'𞹭' => 'ن',
|
3483 |
-
'𞹮' => 'س',
|
3484 |
-
'𞹯' => 'ع',
|
3485 |
-
'𞹰' => 'ف',
|
3486 |
-
'𞹱' => 'ص',
|
3487 |
-
'𞹲' => 'ق',
|
3488 |
-
'𞹴' => 'ش',
|
3489 |
-
'𞹵' => 'ت',
|
3490 |
-
'𞹶' => 'ث',
|
3491 |
-
'𞹷' => 'خ',
|
3492 |
-
'𞹹' => 'ض',
|
3493 |
-
'𞹺' => 'ظ',
|
3494 |
-
'𞹻' => 'غ',
|
3495 |
-
'𞹼' => 'ٮ',
|
3496 |
-
'𞹾' => 'ڡ',
|
3497 |
-
'𞺀' => 'ا',
|
3498 |
-
'𞺁' => 'ب',
|
3499 |
-
'𞺂' => 'ج',
|
3500 |
-
'𞺃' => 'د',
|
3501 |
-
'𞺄' => 'ه',
|
3502 |
-
'𞺅' => 'و',
|
3503 |
-
'𞺆' => 'ز',
|
3504 |
-
'𞺇' => 'ح',
|
3505 |
-
'𞺈' => 'ط',
|
3506 |
-
'𞺉' => 'ي',
|
3507 |
-
'𞺋' => 'ل',
|
3508 |
-
'𞺌' => 'م',
|
3509 |
-
'𞺍' => 'ن',
|
3510 |
-
'𞺎' => 'س',
|
3511 |
-
'𞺏' => 'ع',
|
3512 |
-
'𞺐' => 'ف',
|
3513 |
-
'𞺑' => 'ص',
|
3514 |
-
'𞺒' => 'ق',
|
3515 |
-
'𞺓' => 'ر',
|
3516 |
-
'𞺔' => 'ش',
|
3517 |
-
'𞺕' => 'ت',
|
3518 |
-
'𞺖' => 'ث',
|
3519 |
-
'𞺗' => 'خ',
|
3520 |
-
'𞺘' => 'ذ',
|
3521 |
-
'𞺙' => 'ض',
|
3522 |
-
'𞺚' => 'ظ',
|
3523 |
-
'𞺛' => 'غ',
|
3524 |
-
'𞺡' => 'ب',
|
3525 |
-
'𞺢' => 'ج',
|
3526 |
-
'𞺣' => 'د',
|
3527 |
-
'𞺥' => 'و',
|
3528 |
-
'𞺦' => 'ز',
|
3529 |
-
'𞺧' => 'ح',
|
3530 |
-
'𞺨' => 'ط',
|
3531 |
-
'𞺩' => 'ي',
|
3532 |
-
'𞺫' => 'ل',
|
3533 |
-
'𞺬' => 'م',
|
3534 |
-
'𞺭' => 'ن',
|
3535 |
-
'𞺮' => 'س',
|
3536 |
-
'𞺯' => 'ع',
|
3537 |
-
'𞺰' => 'ف',
|
3538 |
-
'𞺱' => 'ص',
|
3539 |
-
'𞺲' => 'ق',
|
3540 |
-
'𞺳' => 'ر',
|
3541 |
-
'𞺴' => 'ش',
|
3542 |
-
'𞺵' => 'ت',
|
3543 |
-
'𞺶' => 'ث',
|
3544 |
-
'𞺷' => 'خ',
|
3545 |
-
'𞺸' => 'ذ',
|
3546 |
-
'𞺹' => 'ض',
|
3547 |
-
'𞺺' => 'ظ',
|
3548 |
-
'𞺻' => 'غ',
|
3549 |
-
'🄀' => '0.',
|
3550 |
-
'🄁' => '0,',
|
3551 |
-
'🄂' => '1,',
|
3552 |
-
'🄃' => '2,',
|
3553 |
-
'🄄' => '3,',
|
3554 |
-
'🄅' => '4,',
|
3555 |
-
'🄆' => '5,',
|
3556 |
-
'🄇' => '6,',
|
3557 |
-
'🄈' => '7,',
|
3558 |
-
'🄉' => '8,',
|
3559 |
-
'🄊' => '9,',
|
3560 |
-
'🄐' => '(A)',
|
3561 |
-
'🄑' => '(B)',
|
3562 |
-
'🄒' => '(C)',
|
3563 |
-
'🄓' => '(D)',
|
3564 |
-
'🄔' => '(E)',
|
3565 |
-
'🄕' => '(F)',
|
3566 |
-
'🄖' => '(G)',
|
3567 |
-
'🄗' => '(H)',
|
3568 |
-
'🄘' => '(I)',
|
3569 |
-
'🄙' => '(J)',
|
3570 |
-
'🄚' => '(K)',
|
3571 |
-
'🄛' => '(L)',
|
3572 |
-
'🄜' => '(M)',
|
3573 |
-
'🄝' => '(N)',
|
3574 |
-
'🄞' => '(O)',
|
3575 |
-
'🄟' => '(P)',
|
3576 |
-
'🄠' => '(Q)',
|
3577 |
-
'🄡' => '(R)',
|
3578 |
-
'🄢' => '(S)',
|
3579 |
-
'🄣' => '(T)',
|
3580 |
-
'🄤' => '(U)',
|
3581 |
-
'🄥' => '(V)',
|
3582 |
-
'🄦' => '(W)',
|
3583 |
-
'🄧' => '(X)',
|
3584 |
-
'🄨' => '(Y)',
|
3585 |
-
'🄩' => '(Z)',
|
3586 |
-
'🄪' => '〔S〕',
|
3587 |
-
'🄫' => 'C',
|
3588 |
-
'🄬' => 'R',
|
3589 |
-
'🄭' => 'CD',
|
3590 |
-
'🄮' => 'WZ',
|
3591 |
-
'🄰' => 'A',
|
3592 |
-
'🄱' => 'B',
|
3593 |
-
'🄲' => 'C',
|
3594 |
-
'🄳' => 'D',
|
3595 |
-
'🄴' => 'E',
|
3596 |
-
'🄵' => 'F',
|
3597 |
-
'🄶' => 'G',
|
3598 |
-
'🄷' => 'H',
|
3599 |
-
'🄸' => 'I',
|
3600 |
-
'🄹' => 'J',
|
3601 |
-
'🄺' => 'K',
|
3602 |
-
'🄻' => 'L',
|
3603 |
-
'🄼' => 'M',
|
3604 |
-
'🄽' => 'N',
|
3605 |
-
'🄾' => 'O',
|
3606 |
-
'🄿' => 'P',
|
3607 |
-
'🅀' => 'Q',
|
3608 |
-
'🅁' => 'R',
|
3609 |
-
'🅂' => 'S',
|
3610 |
-
'🅃' => 'T',
|
3611 |
-
'🅄' => 'U',
|
3612 |
-
'🅅' => 'V',
|
3613 |
-
'🅆' => 'W',
|
3614 |
-
'🅇' => 'X',
|
3615 |
-
'🅈' => 'Y',
|
3616 |
-
'🅉' => 'Z',
|
3617 |
-
'🅊' => 'HV',
|
3618 |
-
'🅋' => 'MV',
|
3619 |
-
'🅌' => 'SD',
|
3620 |
-
'🅍' => 'SS',
|
3621 |
-
'🅎' => 'PPV',
|
3622 |
-
'🅏' => 'WC',
|
3623 |
-
'🅪' => 'MC',
|
3624 |
-
'🅫' => 'MD',
|
3625 |
-
'🅬' => 'MR',
|
3626 |
-
'🆐' => 'DJ',
|
3627 |
-
'🈀' => 'ほか',
|
3628 |
-
'🈁' => 'ココ',
|
3629 |
-
'🈂' => 'サ',
|
3630 |
-
'🈐' => '手',
|
3631 |
-
'🈑' => '字',
|
3632 |
-
'🈒' => '双',
|
3633 |
-
'🈓' => 'デ',
|
3634 |
-
'🈔' => '二',
|
3635 |
-
'🈕' => '多',
|
3636 |
-
'🈖' => '解',
|
3637 |
-
'🈗' => '天',
|
3638 |
-
'🈘' => '交',
|
3639 |
-
'🈙' => '映',
|
3640 |
-
'🈚' => '無',
|
3641 |
-
'🈛' => '料',
|
3642 |
-
'🈜' => '前',
|
3643 |
-
'🈝' => '後',
|
3644 |
-
'🈞' => '再',
|
3645 |
-
'🈟' => '新',
|
3646 |
-
'🈠' => '初',
|
3647 |
-
'🈡' => '終',
|
3648 |
-
'🈢' => '生',
|
3649 |
-
'🈣' => '販',
|
3650 |
-
'🈤' => '声',
|
3651 |
-
'🈥' => '吹',
|
3652 |
-
'🈦' => '演',
|
3653 |
-
'🈧' => '投',
|
3654 |
-
'🈨' => '捕',
|
3655 |
-
'🈩' => '一',
|
3656 |
-
'🈪' => '三',
|
3657 |
-
'🈫' => '遊',
|
3658 |
-
'🈬' => '左',
|
3659 |
-
'🈭' => '中',
|
3660 |
-
'🈮' => '右',
|
3661 |
-
'🈯' => '指',
|
3662 |
-
'🈰' => '走',
|
3663 |
-
'🈱' => '打',
|
3664 |
-
'🈲' => '禁',
|
3665 |
-
'🈳' => '空',
|
3666 |
-
'🈴' => '合',
|
3667 |
-
'🈵' => '満',
|
3668 |
-
'🈶' => '有',
|
3669 |
-
'🈷' => '月',
|
3670 |
-
'🈸' => '申',
|
3671 |
-
'🈹' => '割',
|
3672 |
-
'🈺' => '営',
|
3673 |
-
'🈻' => '配',
|
3674 |
-
'🉀' => '〔本〕',
|
3675 |
-
'🉁' => '〔三〕',
|
3676 |
-
'🉂' => '〔二〕',
|
3677 |
-
'🉃' => '〔安〕',
|
3678 |
-
'🉄' => '〔点〕',
|
3679 |
-
'🉅' => '〔打〕',
|
3680 |
-
'🉆' => '〔盗〕',
|
3681 |
-
'🉇' => '〔勝〕',
|
3682 |
-
'🉈' => '〔敗〕',
|
3683 |
-
'🉐' => '得',
|
3684 |
-
'🉑' => '可',
|
3685 |
-
'🯰' => '0',
|
3686 |
-
'🯱' => '1',
|
3687 |
-
'🯲' => '2',
|
3688 |
-
'🯳' => '3',
|
3689 |
-
'🯴' => '4',
|
3690 |
-
'🯵' => '5',
|
3691 |
-
'🯶' => '6',
|
3692 |
-
'🯷' => '7',
|
3693 |
-
'🯸' => '8',
|
3694 |
-
'🯹' => '9',
|
3695 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/bootstrap.php
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
use Symfony\Polyfill\Intl\Normalizer as p;
|
13 |
-
|
14 |
-
if (\PHP_VERSION_ID >= 80000) {
|
15 |
-
return require __DIR__.'/bootstrap80.php';
|
16 |
-
}
|
17 |
-
|
18 |
-
if (!function_exists('normalizer_is_normalized')) {
|
19 |
-
function normalizer_is_normalized($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::isNormalized($string, $form); }
|
20 |
-
}
|
21 |
-
if (!function_exists('normalizer_normalize')) {
|
22 |
-
function normalizer_normalize($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::normalize($string, $form); }
|
23 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-intl-normalizer/bootstrap80.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
use Symfony\Polyfill\Intl\Normalizer as p;
|
13 |
-
|
14 |
-
if (!function_exists('normalizer_is_normalized')) {
|
15 |
-
function normalizer_is_normalized(?string $string, ?int $form = p\Normalizer::FORM_C): bool { return p\Normalizer::isNormalized((string) $string, (int) $form); }
|
16 |
-
}
|
17 |
-
if (!function_exists('normalizer_normalize')) {
|
18 |
-
function normalizer_normalize(?string $string, ?int $form = p\Normalizer::FORM_C): string|false { return p\Normalizer::normalize((string) $string, (int) $form); }
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-php72/Php72.php
DELETED
@@ -1,217 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Polyfill\Php72;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* @author Nicolas Grekas <p@tchwork.com>
|
16 |
-
* @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
17 |
-
*
|
18 |
-
* @internal
|
19 |
-
*/
|
20 |
-
final class Php72
|
21 |
-
{
|
22 |
-
private static $hashMask;
|
23 |
-
|
24 |
-
public static function utf8_encode($s)
|
25 |
-
{
|
26 |
-
$s .= $s;
|
27 |
-
$len = \strlen($s);
|
28 |
-
|
29 |
-
for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) {
|
30 |
-
switch (true) {
|
31 |
-
case $s[$i] < "\x80": $s[$j] = $s[$i]; break;
|
32 |
-
case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break;
|
33 |
-
default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break;
|
34 |
-
}
|
35 |
-
}
|
36 |
-
|
37 |
-
return substr($s, 0, $j);
|
38 |
-
}
|
39 |
-
|
40 |
-
public static function utf8_decode($s)
|
41 |
-
{
|
42 |
-
$s = (string) $s;
|
43 |
-
$len = \strlen($s);
|
44 |
-
|
45 |
-
for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) {
|
46 |
-
switch ($s[$i] & "\xF0") {
|
47 |
-
case "\xC0":
|
48 |
-
case "\xD0":
|
49 |
-
$c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F");
|
50 |
-
$s[$j] = $c < 256 ? \chr($c) : '?';
|
51 |
-
break;
|
52 |
-
|
53 |
-
case "\xF0":
|
54 |
-
++$i;
|
55 |
-
// no break
|
56 |
-
|
57 |
-
case "\xE0":
|
58 |
-
$s[$j] = '?';
|
59 |
-
$i += 2;
|
60 |
-
break;
|
61 |
-
|
62 |
-
default:
|
63 |
-
$s[$j] = $s[$i];
|
64 |
-
}
|
65 |
-
}
|
66 |
-
|
67 |
-
return substr($s, 0, $j);
|
68 |
-
}
|
69 |
-
|
70 |
-
public static function php_os_family()
|
71 |
-
{
|
72 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
73 |
-
return 'Windows';
|
74 |
-
}
|
75 |
-
|
76 |
-
$map = [
|
77 |
-
'Darwin' => 'Darwin',
|
78 |
-
'DragonFly' => 'BSD',
|
79 |
-
'FreeBSD' => 'BSD',
|
80 |
-
'NetBSD' => 'BSD',
|
81 |
-
'OpenBSD' => 'BSD',
|
82 |
-
'Linux' => 'Linux',
|
83 |
-
'SunOS' => 'Solaris',
|
84 |
-
];
|
85 |
-
|
86 |
-
return isset($map[\PHP_OS]) ? $map[\PHP_OS] : 'Unknown';
|
87 |
-
}
|
88 |
-
|
89 |
-
public static function spl_object_id($object)
|
90 |
-
{
|
91 |
-
if (null === self::$hashMask) {
|
92 |
-
self::initHashMask();
|
93 |
-
}
|
94 |
-
if (null === $hash = spl_object_hash($object)) {
|
95 |
-
return;
|
96 |
-
}
|
97 |
-
|
98 |
-
// On 32-bit systems, PHP_INT_SIZE is 4,
|
99 |
-
return self::$hashMask ^ hexdec(substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1)));
|
100 |
-
}
|
101 |
-
|
102 |
-
public static function sapi_windows_vt100_support($stream, $enable = null)
|
103 |
-
{
|
104 |
-
if (!\is_resource($stream)) {
|
105 |
-
trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING);
|
106 |
-
|
107 |
-
return false;
|
108 |
-
}
|
109 |
-
|
110 |
-
$meta = stream_get_meta_data($stream);
|
111 |
-
|
112 |
-
if ('STDIO' !== $meta['stream_type']) {
|
113 |
-
trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', \E_USER_WARNING);
|
114 |
-
|
115 |
-
return false;
|
116 |
-
}
|
117 |
-
|
118 |
-
// We cannot actually disable vt100 support if it is set
|
119 |
-
if (false === $enable || !self::stream_isatty($stream)) {
|
120 |
-
return false;
|
121 |
-
}
|
122 |
-
|
123 |
-
// The native function does not apply to stdin
|
124 |
-
$meta = array_map('strtolower', $meta);
|
125 |
-
$stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri'];
|
126 |
-
|
127 |
-
return !$stdin
|
128 |
-
&& (false !== getenv('ANSICON')
|
129 |
-
|| 'ON' === getenv('ConEmuANSI')
|
130 |
-
|| 'xterm' === getenv('TERM')
|
131 |
-
|| 'Hyper' === getenv('TERM_PROGRAM'));
|
132 |
-
}
|
133 |
-
|
134 |
-
public static function stream_isatty($stream)
|
135 |
-
{
|
136 |
-
if (!\is_resource($stream)) {
|
137 |
-
trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING);
|
138 |
-
|
139 |
-
return false;
|
140 |
-
}
|
141 |
-
|
142 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
143 |
-
$stat = @fstat($stream);
|
144 |
-
// Check if formatted mode is S_IFCHR
|
145 |
-
return $stat ? 0020000 === ($stat['mode'] & 0170000) : false;
|
146 |
-
}
|
147 |
-
|
148 |
-
return \function_exists('posix_isatty') && @posix_isatty($stream);
|
149 |
-
}
|
150 |
-
|
151 |
-
private static function initHashMask()
|
152 |
-
{
|
153 |
-
$obj = (object) [];
|
154 |
-
self::$hashMask = -1;
|
155 |
-
|
156 |
-
// check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below
|
157 |
-
$obFuncs = ['ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush'];
|
158 |
-
foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? \DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) {
|
159 |
-
if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) {
|
160 |
-
$frame['line'] = 0;
|
161 |
-
break;
|
162 |
-
}
|
163 |
-
}
|
164 |
-
if (!empty($frame['line'])) {
|
165 |
-
ob_start();
|
166 |
-
debug_zval_dump($obj);
|
167 |
-
self::$hashMask = (int) substr(ob_get_clean(), 17);
|
168 |
-
}
|
169 |
-
|
170 |
-
self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1)));
|
171 |
-
}
|
172 |
-
|
173 |
-
public static function mb_chr($code, $encoding = null)
|
174 |
-
{
|
175 |
-
if (0x80 > $code %= 0x200000) {
|
176 |
-
$s = \chr($code);
|
177 |
-
} elseif (0x800 > $code) {
|
178 |
-
$s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F);
|
179 |
-
} elseif (0x10000 > $code) {
|
180 |
-
$s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
|
181 |
-
} else {
|
182 |
-
$s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
|
183 |
-
}
|
184 |
-
|
185 |
-
if ('UTF-8' !== $encoding = $encoding ?? mb_internal_encoding()) {
|
186 |
-
$s = mb_convert_encoding($s, $encoding, 'UTF-8');
|
187 |
-
}
|
188 |
-
|
189 |
-
return $s;
|
190 |
-
}
|
191 |
-
|
192 |
-
public static function mb_ord($s, $encoding = null)
|
193 |
-
{
|
194 |
-
if (null === $encoding) {
|
195 |
-
$s = mb_convert_encoding($s, 'UTF-8');
|
196 |
-
} elseif ('UTF-8' !== $encoding) {
|
197 |
-
$s = mb_convert_encoding($s, 'UTF-8', $encoding);
|
198 |
-
}
|
199 |
-
|
200 |
-
if (1 === \strlen($s)) {
|
201 |
-
return \ord($s);
|
202 |
-
}
|
203 |
-
|
204 |
-
$code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0;
|
205 |
-
if (0xF0 <= $code) {
|
206 |
-
return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80;
|
207 |
-
}
|
208 |
-
if (0xE0 <= $code) {
|
209 |
-
return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80;
|
210 |
-
}
|
211 |
-
if (0xC0 <= $code) {
|
212 |
-
return (($code - 0xC0) << 6) + $s[2] - 0x80;
|
213 |
-
}
|
214 |
-
|
215 |
-
return $code;
|
216 |
-
}
|
217 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/symfony/polyfill-php72/bootstrap.php
DELETED
@@ -1,57 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
use Symfony\Polyfill\Php72 as p;
|
13 |
-
|
14 |
-
if (\PHP_VERSION_ID >= 70200) {
|
15 |
-
return;
|
16 |
-
}
|
17 |
-
|
18 |
-
if (!defined('PHP_FLOAT_DIG')) {
|
19 |
-
define('PHP_FLOAT_DIG', 15);
|
20 |
-
}
|
21 |
-
if (!defined('PHP_FLOAT_EPSILON')) {
|
22 |
-
define('PHP_FLOAT_EPSILON', 2.2204460492503E-16);
|
23 |
-
}
|
24 |
-
if (!defined('PHP_FLOAT_MIN')) {
|
25 |
-
define('PHP_FLOAT_MIN', 2.2250738585072E-308);
|
26 |
-
}
|
27 |
-
if (!defined('PHP_FLOAT_MAX')) {
|
28 |
-
define('PHP_FLOAT_MAX', 1.7976931348623157E+308);
|
29 |
-
}
|
30 |
-
if (!defined('PHP_OS_FAMILY')) {
|
31 |
-
define('PHP_OS_FAMILY', p\Php72::php_os_family());
|
32 |
-
}
|
33 |
-
|
34 |
-
if ('\\' === \DIRECTORY_SEPARATOR && !function_exists('sapi_windows_vt100_support')) {
|
35 |
-
function sapi_windows_vt100_support($stream, $enable = null) { return p\Php72::sapi_windows_vt100_support($stream, $enable); }
|
36 |
-
}
|
37 |
-
if (!function_exists('stream_isatty')) {
|
38 |
-
function stream_isatty($stream) { return p\Php72::stream_isatty($stream); }
|
39 |
-
}
|
40 |
-
if (!function_exists('utf8_encode')) {
|
41 |
-
function utf8_encode($string) { return p\Php72::utf8_encode($string); }
|
42 |
-
}
|
43 |
-
if (!function_exists('utf8_decode')) {
|
44 |
-
function utf8_decode($string) { return p\Php72::utf8_decode($string); }
|
45 |
-
}
|
46 |
-
if (!function_exists('spl_object_id')) {
|
47 |
-
function spl_object_id($object) { return p\Php72::spl_object_id($object); }
|
48 |
-
}
|
49 |
-
if (!function_exists('mb_ord')) {
|
50 |
-
function mb_ord($string, $encoding = null) { return p\Php72::mb_ord($string, $encoding); }
|
51 |
-
}
|
52 |
-
if (!function_exists('mb_chr')) {
|
53 |
-
function mb_chr($codepoint, $encoding = null) { return p\Php72::mb_chr($codepoint, $encoding); }
|
54 |
-
}
|
55 |
-
if (!function_exists('mb_scrub')) {
|
56 |
-
function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); }
|
57 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|