From 9094792c6220801c43a3ed6dd614dea4b138af05 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Fri, 11 Oct 2013 11:05:19 -0300 Subject: Imported Upstream version 0.3.5 --- MANIFEST.in | 4 + PKG-INFO | 20 + README.rst | 144 ++ setup.cfg | 5 + setup.py | 99 + src/cchardet.egg-info/PKG-INFO | 20 + src/cchardet.egg-info/SOURCES.txt | 145 ++ src/cchardet.egg-info/dependency_links.txt | 1 + src/cchardet.egg-info/top_level.txt | 1 + src/cchardet/__init__.py | 19 + src/cchardet/_cchardet.cpp | 2604 ++++++++++++++++++++ src/cchardet/_cchardet.pyx | 52 + src/ext/libcharsetdetect.txt | 18 + src/ext/libcharsetdetect/.gitignore | 28 + src/ext/libcharsetdetect/CMakeLists.txt | 44 + src/ext/libcharsetdetect/Makefile.test | 6 + src/ext/libcharsetdetect/README.md | 152 ++ src/ext/libcharsetdetect/charsetdetect.cpp | 94 + src/ext/libcharsetdetect/charsetdetect.h | 32 + src/ext/libcharsetdetect/charsetdetectPriv.h | 19 + src/ext/libcharsetdetect/main.cpp | 49 + src/ext/libcharsetdetect/memory_leak.h | 8 + .../universalchardet/src/base/Big5Freq.tab | 943 +++++++ .../universalchardet/src/base/CharDistribution.cpp | 109 + .../universalchardet/src/base/CharDistribution.h | 242 ++ .../universalchardet/src/base/EUCKRFreq.tab | 614 +++++ .../universalchardet/src/base/EUCTWFreq.tab | 447 ++++ .../universalchardet/src/base/GB2312Freq.tab | 491 ++++ .../universalchardet/src/base/JISFreq.tab | 589 +++++ .../universalchardet/src/base/JpCntx.cpp | 230 ++ .../extensions/universalchardet/src/base/JpCntx.h | 140 ++ .../src/base/LangBulgarianModel.cpp | 247 ++ .../src/base/LangCyrillicModel.cpp | 361 +++ .../universalchardet/src/base/LangCzechModel.cpp | 200 ++ .../universalchardet/src/base/LangFinnishModel.cpp | 200 ++ .../universalchardet/src/base/LangFrenchModel.cpp | 200 ++ .../universalchardet/src/base/LangGermanModel.cpp | 200 ++ .../universalchardet/src/base/LangGreekModel.cpp | 230 ++ .../universalchardet/src/base/LangHebrewModel.cpp | 220 ++ .../src/base/LangHungarianModel.cpp | 244 ++ .../universalchardet/src/base/LangPolishModel.cpp | 200 ++ .../universalchardet/src/base/LangSpanishModel.cpp | 200 ++ .../universalchardet/src/base/LangSwedishModel.cpp | 200 ++ .../universalchardet/src/base/LangThaiModel.cpp | 222 ++ .../universalchardet/src/base/LangTurkishModel.cpp | 200 ++ .../universalchardet/src/base/Makefile.in | 84 + .../universalchardet/src/base/nsBig5Prober.cpp | 90 + .../universalchardet/src/base/nsBig5Prober.h | 74 + .../universalchardet/src/base/nsCharSetProber.cpp | 125 + .../universalchardet/src/base/nsCharSetProber.h | 78 + .../src/base/nsCodingStateMachine.h | 104 + .../universalchardet/src/base/nsEUCJPProber.cpp | 101 + .../universalchardet/src/base/nsEUCJPProber.h | 78 + .../universalchardet/src/base/nsEUCKRProber.cpp | 93 + .../universalchardet/src/base/nsEUCKRProber.h | 75 + .../universalchardet/src/base/nsEUCTWProber.cpp | 93 + .../universalchardet/src/base/nsEUCTWProber.h | 75 + .../src/base/nsEscCharsetProber.cpp | 101 + .../universalchardet/src/base/nsEscCharsetProber.h | 67 + .../universalchardet/src/base/nsEscSM.cpp | 263 ++ .../universalchardet/src/base/nsGB2312Prober.cpp | 98 + .../universalchardet/src/base/nsGB2312Prober.h | 76 + .../universalchardet/src/base/nsHebrewProber.cpp | 194 ++ .../universalchardet/src/base/nsHebrewProber.h | 176 ++ .../universalchardet/src/base/nsLatin1Prober.cpp | 182 ++ .../universalchardet/src/base/nsLatin1Prober.h | 70 + .../src/base/nsMBCSGroupProber.cpp | 230 ++ .../universalchardet/src/base/nsMBCSGroupProber.h | 80 + .../universalchardet/src/base/nsMBCSSM.cpp | 513 ++++ .../universalchardet/src/base/nsPkgInt.h | 89 + .../src/base/nsSBCSGroupProber.cpp | 240 ++ .../universalchardet/src/base/nsSBCSGroupProber.h | 70 + .../src/base/nsSBCharSetProber.cpp | 127 + .../universalchardet/src/base/nsSBCharSetProber.h | 129 + .../universalchardet/src/base/nsSJISProber.cpp | 100 + .../universalchardet/src/base/nsSJISProber.h | 80 + .../universalchardet/src/base/nsUTF8Prober.cpp | 96 + .../universalchardet/src/base/nsUTF8Prober.h | 64 + .../src/base/nsUniversalDetector.cpp | 336 +++ .../src/base/nsUniversalDetector.h | 91 + src/ext/libcharsetdetect/nscore.h | 6 + src/ext/libcharsetdetect/nspr-emu/README.md | 30 + src/ext/libcharsetdetect/nspr-emu/nsDebug.h | 0 .../libcharsetdetect/nspr-emu/obsolete/protypes.h | 231 ++ src/ext/libcharsetdetect/nspr-emu/prcpucfg.h | 49 + .../libcharsetdetect/nspr-emu/prcpucfg_freebsd.h | 337 +++ src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h | 707 ++++++ src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h | 145 ++ .../libcharsetdetect/nspr-emu/prcpucfg_openbsd.h | 337 +++ src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h | 256 ++ src/ext/libcharsetdetect/nspr-emu/prmem.h | 155 ++ src/ext/libcharsetdetect/nspr-emu/prtypes.h | 533 ++++ src/ext/libcharsetdetect/trchardet.c | 38 + .../bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt | 246 ++ test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt | 248 ++ .../bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt | 248 ++ .../cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt | 417 ++++ test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt | 415 ++++ test/testdata/de/UTF-8/wikitop_de_UTF-8.txt | 219 ++ .../de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt | 219 ++ test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt | 332 +++ .../dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt | 324 +++ .../el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt | 239 ++ .../el/ISO-8859-7/wikitop_el_ISO-8859-7.txt | 226 ++ test/testdata/el/UTF-8/wikitop_el_UTF-8.txt | 239 ++ test/testdata/en/UTF-8/wikitop_en_UTF-8.txt | 275 +++ .../en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt | 275 +++ test/testdata/es/UTF-8/wikitop_es_UTF-8.txt | 320 +++ .../es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt | 92 + test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt | 271 ++ .../fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt | 271 ++ test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt | 292 +++ .../fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt | 217 ++ test/testdata/he/UTF-8/wikitop_he_UTF-8.txt | 185 ++ .../he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt | 185 ++ .../hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt | 388 +++ .../hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt | 444 ++++ test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt | 388 +++ test/testdata/it/UTF-8/wikitop_it_UTF-8.txt | 352 +++ .../it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt | 335 +++ test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt | 440 ++++ .../nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt | 437 ++++ test/testdata/no/UTF-8/wikitop_no_UTF-8.txt | 251 ++ .../no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt | 253 ++ .../pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt | 272 ++ test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt | 271 ++ test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt | 309 +++ .../pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt | 309 +++ test/testdata/ru/IBM855/wikitop_ru_IBM855.txt | 312 +++ test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt | 312 +++ test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt | 312 +++ .../ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt | 312 +++ test/testdata/se/UTF-8/wikitop_se_UTF-8.txt | 158 ++ .../se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt | 16 + test/testdata/th/TIS-620/utffool_th_TIS-620.txt | 283 +++ test/testdata/th/TIS-620/wikitop_th_TIS-620.txt | 283 +++ test/testdata/th/UTF-8/wikitop_th_UTF-8.txt | 283 +++ .../tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt | 33 + test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt | 33 + test/testdata/wikipediaJa_Japan_SJIS.txt | 1266 ++++++++++ ...ikipediaJa_One_Thousand_and_One_Nights_SJIS.txt | 1522 ++++++++++++ test/testdata/wikipediaTw_Japan_GB2312.txt | 631 +++++ ...ipediaTw_One_Thousand_and_One_Nights_GB2312.txt | 105 + test/testdata/zh/GB18030/wikitop_zh_GB18030.txt | 251 ++ test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt | 251 ++ test/tests.py | 485 ++++ test/tests.pyc | Bin 0 -> 19482 bytes 147 files changed, 34911 insertions(+) create mode 100644 MANIFEST.in create mode 100644 PKG-INFO create mode 100644 README.rst create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 src/cchardet.egg-info/PKG-INFO create mode 100644 src/cchardet.egg-info/SOURCES.txt create mode 100644 src/cchardet.egg-info/dependency_links.txt create mode 100644 src/cchardet.egg-info/top_level.txt create mode 100644 src/cchardet/__init__.py create mode 100644 src/cchardet/_cchardet.cpp create mode 100644 src/cchardet/_cchardet.pyx create mode 100644 src/ext/libcharsetdetect.txt create mode 100644 src/ext/libcharsetdetect/.gitignore create mode 100644 src/ext/libcharsetdetect/CMakeLists.txt create mode 100644 src/ext/libcharsetdetect/Makefile.test create mode 100644 src/ext/libcharsetdetect/README.md create mode 100644 src/ext/libcharsetdetect/charsetdetect.cpp create mode 100644 src/ext/libcharsetdetect/charsetdetect.h create mode 100644 src/ext/libcharsetdetect/charsetdetectPriv.h create mode 100644 src/ext/libcharsetdetect/main.cpp create mode 100644 src/ext/libcharsetdetect/memory_leak.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Big5Freq.tab create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCKRFreq.tab create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCTWFreq.tab create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/GB2312Freq.tab create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JISFreq.tab create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangBulgarianModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCyrillicModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCzechModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFinnishModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFrenchModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGermanModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGreekModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHebrewModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHungarianModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangPolishModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSpanishModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSwedishModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangThaiModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangTurkishModel.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Makefile.in create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCodingStateMachine.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscSM.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSSM.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsPkgInt.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.h create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.cpp create mode 100644 src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.h create mode 100644 src/ext/libcharsetdetect/nscore.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/README.md create mode 100644 src/ext/libcharsetdetect/nspr-emu/nsDebug.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/obsolete/protypes.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg_freebsd.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg_openbsd.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prmem.h create mode 100644 src/ext/libcharsetdetect/nspr-emu/prtypes.h create mode 100644 src/ext/libcharsetdetect/trchardet.c create mode 100644 test/testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt create mode 100644 test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt create mode 100644 test/testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt create mode 100644 test/testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt create mode 100644 test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt create mode 100644 test/testdata/de/UTF-8/wikitop_de_UTF-8.txt create mode 100644 test/testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt create mode 100644 test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt create mode 100644 test/testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt create mode 100644 test/testdata/el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt create mode 100644 test/testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt create mode 100644 test/testdata/el/UTF-8/wikitop_el_UTF-8.txt create mode 100644 test/testdata/en/UTF-8/wikitop_en_UTF-8.txt create mode 100644 test/testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt create mode 100644 test/testdata/es/UTF-8/wikitop_es_UTF-8.txt create mode 100644 test/testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt create mode 100644 test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt create mode 100644 test/testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt create mode 100644 test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt create mode 100644 test/testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt create mode 100644 test/testdata/he/UTF-8/wikitop_he_UTF-8.txt create mode 100644 test/testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt create mode 100644 test/testdata/hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt create mode 100644 test/testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt create mode 100644 test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt create mode 100644 test/testdata/it/UTF-8/wikitop_it_UTF-8.txt create mode 100644 test/testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt create mode 100644 test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt create mode 100644 test/testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt create mode 100644 test/testdata/no/UTF-8/wikitop_no_UTF-8.txt create mode 100644 test/testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt create mode 100644 test/testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt create mode 100644 test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt create mode 100644 test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt create mode 100644 test/testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt create mode 100644 test/testdata/ru/IBM855/wikitop_ru_IBM855.txt create mode 100644 test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt create mode 100644 test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt create mode 100644 test/testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt create mode 100644 test/testdata/se/UTF-8/wikitop_se_UTF-8.txt create mode 100644 test/testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt create mode 100644 test/testdata/th/TIS-620/utffool_th_TIS-620.txt create mode 100644 test/testdata/th/TIS-620/wikitop_th_TIS-620.txt create mode 100644 test/testdata/th/UTF-8/wikitop_th_UTF-8.txt create mode 100644 test/testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt create mode 100644 test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt create mode 100644 test/testdata/wikipediaJa_Japan_SJIS.txt create mode 100644 test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt create mode 100644 test/testdata/wikipediaTw_Japan_GB2312.txt create mode 100644 test/testdata/wikipediaTw_One_Thousand_and_One_Nights_GB2312.txt create mode 100644 test/testdata/zh/GB18030/wikitop_zh_GB18030.txt create mode 100644 test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt create mode 100644 test/tests.py create mode 100644 test/tests.pyc diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..1792155 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +include ez_setup.py *.txt +recursive-include src *.pyx *.pxd *.pxi *.py *.cpp +recursive-include src/ext *.* +recursive-include test *.* \ No newline at end of file diff --git a/PKG-INFO b/PKG-INFO new file mode 100644 index 0000000..15537e3 --- /dev/null +++ b/PKG-INFO @@ -0,0 +1,20 @@ +Metadata-Version: 1.1 +Name: cchardet +Version: 0.3.5 +Summary: Universal encoding detector. This library is faster than chardet. +Home-page: https://github.com/PyYoshi/cChardet +Author: PyYoshi +Author-email: yohihiro_dot_m_at_gmail_dot_com +License: MIT License +Description: cChardet is high speed universal character encoding detector. - binding to charsetdetect. + This library is faster than chardet. + +Keywords: cython,chardet,charsetdetect +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Topic :: Software Development :: Libraries +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 3 diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..3b5ecb7 --- /dev/null +++ b/README.rst @@ -0,0 +1,144 @@ + +cChardet +======== + +cChardet is high speed universal character encoding detector. - binding +to +`charsetdetect `_. + +Support codecs +-------------- + +- Big5 +- EUC-JP +- EUC-KR +- GB18030 +- HZ-GB-2312 +- IBM855 +- IBM866 +- ISO-2022-CN +- ISO-2022-JP +- ISO-2022-KR +- ISO-8859-2 +- ISO-8859-5 +- ISO-8859-7 +- ISO-8859-8 +- KOI8-R +- Shift\_JIS +- TIS-620 +- UTF-8 +- UTF-16BE +- UTF-16LE +- UTF-32BE +- UTF-32LE +- WINDOWS-1250 +- WINDOWS-1251 +- WINDOWS-1252 +- WINDOWS-1253 +- WINDOWS-1255 +- EUC-TW +- X-ISO-10646-UCS-4-2143 +- X-ISO-10646-UCS-4-3412 +- x-mac-cyrillic + +Requires +-------- + +- Cython: `http://www.cython.org/ `_ + +e.g.) Ubuntu 12.04 + +:: + + $ sudo apt-get install build-essential python-dev cython + +Installation +------------ + +:: + + $ cd /tmp + $ git clone git://github.com/PyYoshi/cChardet.git + $ cd cChardet + $ python setup.py build + $ sudo python setup.py install + +or + +:: + + $ sudo easy_install cchardet + +Example +------- + +:: + + # -*- coding: utf-8 -*- + import cchardet as chardet + with open(r"test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt", "rb") as f: + msg = f.read() + result = chardet.detect(msg) + print(result) + +Test +---- + +:: + + $ sudo easy_install or pip install -U chardet nose + $ cd test + $ nosetests --nocapture tests.py + +Benchmark +--------- + +code: +`tests.TestCchardetSpeed `_ + +sample: +`test/testdata/wikipediaJa\_One\_Thousand\_and\_One\_Nights\_SJIS.txt `_ + +Performance: +~~~~~~~~~~~~ + +CPU: Intel Core i7 860 2.8GHz + +RAM: DDR3-1333 16GB + +Platform: Kubuntu 12.04 amd64, Python 2.7.3 64-bit + +Result: +~~~~~~~ + +:: + + chardet: 0.32 (call/s) + + cchardet: 975.32 (call/s) + +License +-------------- + +- The MIT License: + `src/cchardet `_ + +- Other Libraries License: Please, look at the + `src/ext `_ + directory. + +Thanks +-------------- + +- `uchardet-enhanced `_ + +- `Cython `_ + +Contact +-------------- + +`My blog `_ + +`Issues `_ + +Sorry for my poor English :) diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..861a9f5 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,5 @@ +[egg_info] +tag_build = +tag_date = 0 +tag_svn_revision = 0 + diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..a7c4c4d --- /dev/null +++ b/setup.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python +# coding: utf-8 + +# python setup.py sdist --formats=gztar + +import os +import sys +import platform + +try: + from setuptools import setup, Extension +except ImportError: + from distutils.core import setup, Extension + +import glob +try: + import Cython.Compiler.Main as cython_compiler + have_cython = True +except ImportError: + have_cython = False +from distutils.command.build_ext import build_ext + +try: + import pypissh +except ImportError: + # non-developer + pass +else: + pypissh.monkeypatch() + +DEBUG = False + +src_dir = 'src' +ext_dir = os.path.join(src_dir,'ext') +build_dir = 'build' +cchardet_dir = os.path.join(src_dir,'cchardet/') +charsetdetect_dir = os.path.join(ext_dir, 'libcharsetdetect/') +nspr_emu_dir = os.path.join(charsetdetect_dir,"nspr-emu/") +uchardet_dir = os.path.join(charsetdetect_dir,"mozilla/extensions/universalchardet/src/base/") + +if have_cython: + pyx_sources = glob.glob(cchardet_dir+'*.pyx') + sys.stderr.write("cythonize: %r\n" % (pyx_sources,)) + cython_compiler.compile(pyx_sources,options=cython_compiler.CompilationOptions(cplus=True)) +cchardet_sources = glob.glob(cchardet_dir+'*.cpp') +sources = cchardet_sources + [os.path.join(charsetdetect_dir,"charsetdetect.cpp")] + glob.glob(uchardet_dir+'*.cpp') + +macros = [] +extra_compile_args = [] +extra_link_args = [] + +if platform.system() == "Windows": + macros.append(("WIN32","1")) + +if DEBUG: + macros.append(("DEBUG_chardet","1")) + extra_compile_args.append("-g"), + extra_link_args.append("-g"), + +cchardet_module = Extension("cchardet._cchardet", + sources = sources, + include_dirs = [uchardet_dir,nspr_emu_dir,charsetdetect_dir], + language = "c++", + define_macros=macros, +) + +setup( + name = 'cchardet', + author = 'PyYoshi', + author_email = 'yohihiro_dot_m_at_gmail_dot_com', + url = r"https://github.com/PyYoshi/cChardet", + description = 'Universal encoding detector. This library is faster than chardet.', + long_description= """cChardet is high speed universal character encoding detector. - binding to charsetdetect. +This library is faster than chardet. +""", + version = '0.3.5', + license = 'MIT License', + classifiers = [ + # http://pypi.python.org/pypi?:action=list_classifiers + 'Development Status :: 4 - Beta', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Cython', + 'Programming Language :: Python', + 'Topic :: Software Development :: Libraries', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 3', + ], + keywords = [ + 'cython', + 'chardet', + 'charsetdetect' + ], + cmdclass = {'build_ext': build_ext}, + package_dir = {"":src_dir}, + packages = ['cchardet',], + ext_modules = [ + cchardet_module + ], +) diff --git a/src/cchardet.egg-info/PKG-INFO b/src/cchardet.egg-info/PKG-INFO new file mode 100644 index 0000000..15537e3 --- /dev/null +++ b/src/cchardet.egg-info/PKG-INFO @@ -0,0 +1,20 @@ +Metadata-Version: 1.1 +Name: cchardet +Version: 0.3.5 +Summary: Universal encoding detector. This library is faster than chardet. +Home-page: https://github.com/PyYoshi/cChardet +Author: PyYoshi +Author-email: yohihiro_dot_m_at_gmail_dot_com +License: MIT License +Description: cChardet is high speed universal character encoding detector. - binding to charsetdetect. + This library is faster than chardet. + +Keywords: cython,chardet,charsetdetect +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Topic :: Software Development :: Libraries +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 3 diff --git a/src/cchardet.egg-info/SOURCES.txt b/src/cchardet.egg-info/SOURCES.txt new file mode 100644 index 0000000..fbe7fd3 --- /dev/null +++ b/src/cchardet.egg-info/SOURCES.txt @@ -0,0 +1,145 @@ +MANIFEST.in +README.rst +setup.py +src/cchardet/__init__.py +src/cchardet/_cchardet.cpp +src/cchardet/_cchardet.pyx +src/cchardet.egg-info/PKG-INFO +src/cchardet.egg-info/SOURCES.txt +src/cchardet.egg-info/dependency_links.txt +src/cchardet.egg-info/top_level.txt +src/ext/libcharsetdetect.txt +src/ext/libcharsetdetect/.gitignore +src/ext/libcharsetdetect/CMakeLists.txt +src/ext/libcharsetdetect/Makefile.test +src/ext/libcharsetdetect/README.md +src/ext/libcharsetdetect/charsetdetect.cpp +src/ext/libcharsetdetect/charsetdetect.h +src/ext/libcharsetdetect/charsetdetectPriv.h +src/ext/libcharsetdetect/main.cpp +src/ext/libcharsetdetect/memory_leak.h +src/ext/libcharsetdetect/nscore.h +src/ext/libcharsetdetect/trchardet.c +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Big5Freq.tab +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCKRFreq.tab +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCTWFreq.tab +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/GB2312Freq.tab +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JISFreq.tab +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangBulgarianModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCyrillicModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCzechModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFinnishModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFrenchModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGermanModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGreekModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHebrewModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHungarianModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangPolishModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSpanishModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSwedishModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangThaiModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangTurkishModel.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Makefile.in +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCodingStateMachine.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscSM.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSSM.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsPkgInt.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.h +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.cpp +src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.h +src/ext/libcharsetdetect/nspr-emu/README.md +src/ext/libcharsetdetect/nspr-emu/nsDebug.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg_freebsd.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg_openbsd.h +src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h +src/ext/libcharsetdetect/nspr-emu/prmem.h +src/ext/libcharsetdetect/nspr-emu/prtypes.h +src/ext/libcharsetdetect/nspr-emu/obsolete/protypes.h +test/tests.py +test/tests.pyc +test/testdata/wikipediaJa_Japan_SJIS.txt +test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt +test/testdata/wikipediaTw_Japan_GB2312.txt +test/testdata/wikipediaTw_One_Thousand_and_One_Nights_GB2312.txt +test/testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt +test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt +test/testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt +test/testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt +test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt +test/testdata/de/UTF-8/wikitop_de_UTF-8.txt +test/testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt +test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt +test/testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt +test/testdata/el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt +test/testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt +test/testdata/el/UTF-8/wikitop_el_UTF-8.txt +test/testdata/en/UTF-8/wikitop_en_UTF-8.txt +test/testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt +test/testdata/es/UTF-8/wikitop_es_UTF-8.txt +test/testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt +test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt +test/testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt +test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt +test/testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt +test/testdata/he/UTF-8/wikitop_he_UTF-8.txt +test/testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt +test/testdata/hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt +test/testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt +test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt +test/testdata/it/UTF-8/wikitop_it_UTF-8.txt +test/testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt +test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt +test/testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt +test/testdata/no/UTF-8/wikitop_no_UTF-8.txt +test/testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt +test/testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt +test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt +test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt +test/testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt +test/testdata/ru/IBM855/wikitop_ru_IBM855.txt +test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt +test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt +test/testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt +test/testdata/se/UTF-8/wikitop_se_UTF-8.txt +test/testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt +test/testdata/th/TIS-620/utffool_th_TIS-620.txt +test/testdata/th/TIS-620/wikitop_th_TIS-620.txt +test/testdata/th/UTF-8/wikitop_th_UTF-8.txt +test/testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt +test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt +test/testdata/zh/GB18030/wikitop_zh_GB18030.txt +test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt \ No newline at end of file diff --git a/src/cchardet.egg-info/dependency_links.txt b/src/cchardet.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/cchardet.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/src/cchardet.egg-info/top_level.txt b/src/cchardet.egg-info/top_level.txt new file mode 100644 index 0000000..8ef3658 --- /dev/null +++ b/src/cchardet.egg-info/top_level.txt @@ -0,0 +1 @@ +cchardet diff --git a/src/cchardet/__init__.py b/src/cchardet/__init__.py new file mode 100644 index 0000000..de2a3db --- /dev/null +++ b/src/cchardet/__init__.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# coding: utf-8 + +from cchardet import _cchardet + +def detect(msg): + """ + Args: + msg: str + Returns: + { + "encoding": str, + "confidence": float + } + """ + encoding, confidence = _cchardet.detect_with_confidence(msg) + if isinstance(encoding, bytes): + encoding = encoding.decode() + return {"encoding": encoding, "confidence": confidence} diff --git a/src/cchardet/_cchardet.cpp b/src/cchardet/_cchardet.cpp new file mode 100644 index 0000000..95abdb1 --- /dev/null +++ b/src/cchardet/_cchardet.cpp @@ -0,0 +1,2604 @@ +/* Generated by Cython 0.19.1 on Sun Aug 4 14:19:52 2013 */ + +#define PY_SSIZE_T_CLEAN +#ifndef CYTHON_USE_PYLONG_INTERNALS +#ifdef PYLONG_BITS_IN_DIGIT +#define CYTHON_USE_PYLONG_INTERNALS 0 +#else +#include "pyconfig.h" +#ifdef PYLONG_BITS_IN_DIGIT +#define CYTHON_USE_PYLONG_INTERNALS 1 +#else +#define CYTHON_USE_PYLONG_INTERNALS 0 +#endif +#endif +#endif +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02040000 + #error Cython requires Python 2.4+. +#else +#include /* For offsetof */ +#ifndef offsetof +#define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION +#define CYTHON_COMPILING_IN_PYPY 1 +#define CYTHON_COMPILING_IN_CPYTHON 0 +#else +#define CYTHON_COMPILING_IN_PYPY 0 +#define CYTHON_COMPILING_IN_CPYTHON 1 +#endif +#if PY_VERSION_HEX < 0x02050000 + typedef int Py_ssize_t; + #define PY_SSIZE_T_MAX INT_MAX + #define PY_SSIZE_T_MIN INT_MIN + #define PY_FORMAT_SIZE_T "" + #define CYTHON_FORMAT_SSIZE_T "" + #define PyInt_FromSsize_t(z) PyInt_FromLong(z) + #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) + #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ + (PyErr_Format(PyExc_TypeError, \ + "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ + (PyObject*)0)) + #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ + !PyComplex_Check(o)) + #define PyIndex_Check __Pyx_PyIndex_Check + #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) + #define __PYX_BUILD_PY_SSIZE_T "i" +#else + #define __PYX_BUILD_PY_SSIZE_T "n" + #define CYTHON_FORMAT_SSIZE_T "z" + #define __Pyx_PyIndex_Check PyIndex_Check +#endif +#if PY_VERSION_HEX < 0x02060000 + #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) + #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) + #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) + #define PyVarObject_HEAD_INIT(type, size) \ + PyObject_HEAD_INIT(type) size, + #define PyType_Modified(t) + typedef struct { + void *buf; + PyObject *obj; + Py_ssize_t len; + Py_ssize_t itemsize; + int readonly; + int ndim; + char *format; + Py_ssize_t *shape; + Py_ssize_t *strides; + Py_ssize_t *suboffsets; + void *internal; + } Py_buffer; + #define PyBUF_SIMPLE 0 + #define PyBUF_WRITABLE 0x0001 + #define PyBUF_FORMAT 0x0004 + #define PyBUF_ND 0x0008 + #define PyBUF_STRIDES (0x0010 | PyBUF_ND) + #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) + #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) + #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) + #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) + #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) + #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) + typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); + typedef void (*releasebufferproc)(PyObject *, Py_buffer *); +#endif +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ + PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif +#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 + #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") +#endif +#if PY_MAJOR_VERSION >= 3 + #define Py_TPFLAGS_CHECKTYPES 0 + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#if PY_VERSION_HEX < 0x02060000 + #define Py_TPFLAGS_HAVE_VERSION_TAG 0 +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) +#else + #define CYTHON_PEP393_ENABLED 0 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#endif +#if PY_VERSION_HEX < 0x02060000 + #define PyBytesObject PyStringObject + #define PyBytes_Type PyString_Type + #define PyBytes_Check PyString_Check + #define PyBytes_CheckExact PyString_CheckExact + #define PyBytes_FromString PyString_FromString + #define PyBytes_FromStringAndSize PyString_FromStringAndSize + #define PyBytes_FromFormat PyString_FromFormat + #define PyBytes_DecodeEscape PyString_DecodeEscape + #define PyBytes_AsString PyString_AsString + #define PyBytes_AsStringAndSize PyString_AsStringAndSize + #define PyBytes_Size PyString_Size + #define PyBytes_AS_STRING PyString_AS_STRING + #define PyBytes_GET_SIZE PyString_GET_SIZE + #define PyBytes_Repr PyString_Repr + #define PyBytes_Concat PyString_Concat + #define PyBytes_ConcatAndDel PyString_ConcatAndDel +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj) || \ + PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (Py_TYPE(obj) == &PyBaseString_Type) +#endif +#if PY_VERSION_HEX < 0x02060000 + #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) + #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_VERSION_HEX < 0x03020000 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) + #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) + #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) + #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b) +#else + #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \ + (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \ + (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \ + (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0))) + #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \ + (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ + (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \ + (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1))) + #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \ + (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ + (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ + (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) +#endif +#if PY_VERSION_HEX < 0x02050000 + #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) + #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) + #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) +#else + #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) + #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) + #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) +#endif +#if PY_VERSION_HEX < 0x02050000 + #define __Pyx_NAMESTR(n) ((char *)(n)) + #define __Pyx_DOCSTR(n) ((char *)(n)) +#else + #define __Pyx_NAMESTR(n) (n) + #define __Pyx_DOCSTR(n) (n) +#endif +#ifndef CYTHON_INLINE + #if defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and + a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is + a quiet NaN. */ + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif + + +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) +#define _USE_MATH_DEFINES +#endif +#include +#define __PYX_HAVE__cchardet___cchardet +#define __PYX_HAVE_API__cchardet___cchardet +#include "string.h" +#include "stdlib.h" +#include "charsetdetect.h" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#ifdef PYREX_WITHOUT_ASSERTIONS +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromUString(s) __Pyx_PyObject_FromString((char*)s) +#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) +#define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((char*)s) +#define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((char*)s) +#if PY_MAJOR_VERSION < 3 +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) +{ + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return u_end - u - 1; +} +#else +#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen +#endif +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) +#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); +#if CYTHON_COMPILING_IN_CPYTHON +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params() { + PyObject* sys = NULL; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + sys = PyImport_ImportModule("sys"); + if (sys == NULL) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + if (default_encoding == NULL) goto bad; + if (strcmp(PyBytes_AsString(default_encoding), "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + const char* default_encoding_c = PyBytes_AS_STRING(default_encoding); + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (ascii_chars_u == NULL) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (ascii_chars_b == NULL || strncmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + } + Py_XDECREF(sys); + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return 0; +bad: + Py_XDECREF(sys); + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params() { + PyObject* sys = NULL; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (sys == NULL) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + if (default_encoding == NULL) goto bad; + default_encoding_c = PyBytes_AS_STRING(default_encoding); + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(sys); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(sys); + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +#ifdef __GNUC__ + /* Test for GCC > 2.95 */ + #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) + #else /* __GNUC__ > 2 ... */ + #define likely(x) (x) + #define unlikely(x) (x) + #endif /* __GNUC__ > 2 ... */ +#else /* __GNUC__ */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ + +static PyObject *__pyx_m; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "_cchardet.pyx", +}; + +/*--- Type declarations ---*/ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil) \ + if (acquire_gil) { \ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ + PyGILState_Release(__pyx_gilstate_save); \ + } else { \ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil) \ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext() \ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif /* CYTHON_REFNANNY */ +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*proto*/ + +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ + +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/ + +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/ + +static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); + +static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); + +static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); + +static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); + +static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); + +static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); + +static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); + +static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); + +static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); + +static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *); + +static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); + +static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); + +static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); + +static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); + +static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); + +static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); + +static int __Pyx_check_binary_version(void); + +typedef struct { + int code_line; + PyCodeObject* code_object; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); /*proto*/ + +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ + + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdlib' */ + +/* Module declarations from 'cchardet._cchardet' */ +#define __Pyx_MODULE_NAME "cchardet._cchardet" +int __pyx_module_is_main_cchardet___cchardet = 0; + +/* Implementation of 'cchardet._cchardet' */ +static PyObject *__pyx_builtin_Exception; +static PyObject *__pyx_builtin_UserWarning; +static PyObject *__pyx_pf_8cchardet_9_cchardet_detect(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_msg); /* proto */ +static PyObject *__pyx_pf_8cchardet_9_cchardet_2detect_with_confidence(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_msg); /* proto */ +static char __pyx_k_1[] = "Error, signal with a negative number"; +static char __pyx_k_3[] = "Need more data"; +static char __pyx_k_8[] = "/home/pyyoshi/src/cChardet/src/cchardet/_cchardet.pyx"; +static char __pyx_k_9[] = "cchardet._cchardet"; +static char __pyx_k_12[] = "detect_with_confidence"; +static char __pyx_k__csd[] = "csd"; +static char __pyx_k__msg[] = "msg"; +static char __pyx_k__ret[] = "ret"; +static char __pyx_k__warn[] = "warn"; +static char __pyx_k__detect[] = "detect"; +static char __pyx_k__length[] = "length"; +static char __pyx_k__result[] = "result"; +static char __pyx_k____main__[] = "__main__"; +static char __pyx_k____test__[] = "__test__"; +static char __pyx_k__warnings[] = "warnings"; +static char __pyx_k__Exception[] = "Exception"; +static char __pyx_k____import__[] = "__import__"; +static char __pyx_k__confidence[] = "confidence"; +static char __pyx_k__UserWarning[] = "UserWarning"; +static char __pyx_k__detected_charset[] = "detected_charset"; +static PyObject *__pyx_kp_s_1; +static PyObject *__pyx_n_s_12; +static PyObject *__pyx_kp_s_3; +static PyObject *__pyx_kp_s_8; +static PyObject *__pyx_n_s_9; +static PyObject *__pyx_n_s__Exception; +static PyObject *__pyx_n_s__UserWarning; +static PyObject *__pyx_n_s____import__; +static PyObject *__pyx_n_s____main__; +static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s__confidence; +static PyObject *__pyx_n_s__csd; +static PyObject *__pyx_n_s__detect; +static PyObject *__pyx_n_s__detected_charset; +static PyObject *__pyx_n_s__length; +static PyObject *__pyx_n_s__msg; +static PyObject *__pyx_n_s__result; +static PyObject *__pyx_n_s__ret; +static PyObject *__pyx_n_s__warn; +static PyObject *__pyx_n_s__warnings; +static PyObject *__pyx_k_tuple_2; +static PyObject *__pyx_k_tuple_4; +static PyObject *__pyx_k_tuple_5; +static PyObject *__pyx_k_tuple_6; +static PyObject *__pyx_k_tuple_10; +static PyObject *__pyx_k_codeobj_7; +static PyObject *__pyx_k_codeobj_11; + +/* Python wrapper */ +static PyObject *__pyx_pw_8cchardet_9_cchardet_1detect(PyObject *__pyx_self, PyObject *__pyx_arg_msg); /*proto*/ +static PyMethodDef __pyx_mdef_8cchardet_9_cchardet_1detect = {__Pyx_NAMESTR("detect"), (PyCFunction)__pyx_pw_8cchardet_9_cchardet_1detect, METH_O, __Pyx_DOCSTR(0)}; +static PyObject *__pyx_pw_8cchardet_9_cchardet_1detect(PyObject *__pyx_self, PyObject *__pyx_arg_msg) { + char *__pyx_v_msg; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("detect (wrapper)", 0); + assert(__pyx_arg_msg); { + __pyx_v_msg = __Pyx_PyObject_AsString(__pyx_arg_msg); if (unlikely((!__pyx_v_msg) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("cchardet._cchardet.detect", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_8cchardet_9_cchardet_detect(__pyx_self, ((char *)__pyx_v_msg)); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "cchardet/_cchardet.pyx":21 + * cdef const_char_ptr csd_close2(csd_t csd, float *confidence) + * + * def detect(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + +static PyObject *__pyx_pf_8cchardet_9_cchardet_detect(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_msg) { + csd_t __pyx_v_csd; + int __pyx_v_length; + int __pyx_v_result; + const char* __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("detect", 0); + + /* "cchardet/_cchardet.pyx":22 + * + * def detect(char *msg): + * cdef csd_t csd = csd_open() # <<<<<<<<<<<<<< + * cdef int length = strlen(msg) + * cdef int result = csd_consider(csd, msg, length) + */ + __pyx_v_csd = csd_open(); + + /* "cchardet/_cchardet.pyx":23 + * def detect(char *msg): + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) # <<<<<<<<<<<<<< + * cdef int result = csd_consider(csd, msg, length) + * # ref: charsetdetect.cpp + */ + __pyx_v_length = strlen(__pyx_v_msg); + + /* "cchardet/_cchardet.pyx":24 + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + * cdef int result = csd_consider(csd, msg, length) # <<<<<<<<<<<<<< + * # ref: charsetdetect.cpp + * if result == -1: # Error, signal with a negative number + */ + __pyx_v_result = csd_consider(__pyx_v_csd, __pyx_v_msg, __pyx_v_length); + + /* "cchardet/_cchardet.pyx":31 + * warnings.warn("Need more data",UserWarning) + * ret = csd_close(csd) + * elif result == 0: # Detected early # <<<<<<<<<<<<<< + * ret = csd_close(csd) + * if ret: + */ + switch (__pyx_v_result) { + + /* "cchardet/_cchardet.pyx":26 + * cdef int result = csd_consider(csd, msg, length) + * # ref: charsetdetect.cpp + * if result == -1: # Error, signal with a negative number # <<<<<<<<<<<<<< + * raise Exception("Error, signal with a negative number") + * elif result == 1: # Need more data + */ + case -1: + + /* "cchardet/_cchardet.pyx":27 + * # ref: charsetdetect.cpp + * if result == -1: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") # <<<<<<<<<<<<<< + * elif result == 1: # Need more data + * warnings.warn("Need more data",UserWarning) + */ + __pyx_t_1 = PyObject_Call(__pyx_builtin_Exception, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + break; + + /* "cchardet/_cchardet.pyx":28 + * if result == -1: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") + * elif result == 1: # Need more data # <<<<<<<<<<<<<< + * warnings.warn("Need more data",UserWarning) + * ret = csd_close(csd) + */ + case 1: + + /* "cchardet/_cchardet.pyx":29 + * raise Exception("Error, signal with a negative number") + * elif result == 1: # Need more data + * warnings.warn("Need more data",UserWarning) # <<<<<<<<<<<<<< + * ret = csd_close(csd) + * elif result == 0: # Detected early + */ + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__warnings); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s__warn); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_3)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3)); + __Pyx_INCREF(__pyx_builtin_UserWarning); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_builtin_UserWarning); + __Pyx_GIVEREF(__pyx_builtin_UserWarning); + __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "cchardet/_cchardet.pyx":30 + * elif result == 1: # Need more data + * warnings.warn("Need more data",UserWarning) + * ret = csd_close(csd) # <<<<<<<<<<<<<< + * elif result == 0: # Detected early + * ret = csd_close(csd) + */ + __pyx_v_ret = csd_close(__pyx_v_csd); + break; + + /* "cchardet/_cchardet.pyx":31 + * warnings.warn("Need more data",UserWarning) + * ret = csd_close(csd) + * elif result == 0: # Detected early # <<<<<<<<<<<<<< + * ret = csd_close(csd) + * if ret: + */ + case 0: + + /* "cchardet/_cchardet.pyx":32 + * ret = csd_close(csd) + * elif result == 0: # Detected early + * ret = csd_close(csd) # <<<<<<<<<<<<<< + * if ret: + * return ret + */ + __pyx_v_ret = csd_close(__pyx_v_csd); + break; + } + + /* "cchardet/_cchardet.pyx":33 + * elif result == 0: # Detected early + * ret = csd_close(csd) + * if ret: # <<<<<<<<<<<<<< + * return ret + * + */ + __pyx_t_4 = (__pyx_v_ret != 0); + if (__pyx_t_4) { + + /* "cchardet/_cchardet.pyx":34 + * ret = csd_close(csd) + * if ret: + * return ret # <<<<<<<<<<<<<< + * + * def detect_with_confidence(char *msg): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_ret); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __pyx_r = ((PyObject *)__pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L0; + goto __pyx_L3; + } + __pyx_L3:; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("cchardet._cchardet.detect", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_8cchardet_9_cchardet_3detect_with_confidence(PyObject *__pyx_self, PyObject *__pyx_arg_msg); /*proto*/ +static PyMethodDef __pyx_mdef_8cchardet_9_cchardet_3detect_with_confidence = {__Pyx_NAMESTR("detect_with_confidence"), (PyCFunction)__pyx_pw_8cchardet_9_cchardet_3detect_with_confidence, METH_O, __Pyx_DOCSTR(0)}; +static PyObject *__pyx_pw_8cchardet_9_cchardet_3detect_with_confidence(PyObject *__pyx_self, PyObject *__pyx_arg_msg) { + char *__pyx_v_msg; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("detect_with_confidence (wrapper)", 0); + assert(__pyx_arg_msg); { + __pyx_v_msg = __Pyx_PyObject_AsString(__pyx_arg_msg); if (unlikely((!__pyx_v_msg) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("cchardet._cchardet.detect_with_confidence", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_8cchardet_9_cchardet_2detect_with_confidence(__pyx_self, ((char *)__pyx_v_msg)); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "cchardet/_cchardet.pyx":36 + * return ret + * + * def detect_with_confidence(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + +static PyObject *__pyx_pf_8cchardet_9_cchardet_2detect_with_confidence(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_msg) { + csd_t __pyx_v_csd; + int __pyx_v_length; + int __pyx_v_result; + float __pyx_v_confidence; + const char* __pyx_v_detected_charset; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("detect_with_confidence", 0); + + /* "cchardet/_cchardet.pyx":37 + * + * def detect_with_confidence(char *msg): + * cdef csd_t csd = csd_open() # <<<<<<<<<<<<<< + * cdef int length = strlen(msg) + * cdef int result = csd_consider(csd, msg, length) + */ + __pyx_v_csd = csd_open(); + + /* "cchardet/_cchardet.pyx":38 + * def detect_with_confidence(char *msg): + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) # <<<<<<<<<<<<<< + * cdef int result = csd_consider(csd, msg, length) + * cdef float confidence = 0.0 + */ + __pyx_v_length = strlen(__pyx_v_msg); + + /* "cchardet/_cchardet.pyx":39 + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + * cdef int result = csd_consider(csd, msg, length) # <<<<<<<<<<<<<< + * cdef float confidence = 0.0 + * cdef const_char_ptr detected_charset + */ + __pyx_v_result = csd_consider(__pyx_v_csd, __pyx_v_msg, __pyx_v_length); + + /* "cchardet/_cchardet.pyx":40 + * cdef int length = strlen(msg) + * cdef int result = csd_consider(csd, msg, length) + * cdef float confidence = 0.0 # <<<<<<<<<<<<<< + * cdef const_char_ptr detected_charset + * # ref: charsetdetect.cpp + */ + __pyx_v_confidence = 0.0; + + /* "cchardet/_cchardet.pyx":45 + * if result == 1: # Need more data + * detected_charset = csd_close2(csd, &confidence) + * elif result == 0: # Detected early # <<<<<<<<<<<<<< + * detected_charset = csd_close2(csd, &confidence) + * else: # Error, signal with a negative number + */ + switch (__pyx_v_result) { + + /* "cchardet/_cchardet.pyx":43 + * cdef const_char_ptr detected_charset + * # ref: charsetdetect.cpp + * if result == 1: # Need more data # <<<<<<<<<<<<<< + * detected_charset = csd_close2(csd, &confidence) + * elif result == 0: # Detected early + */ + case 1: + + /* "cchardet/_cchardet.pyx":44 + * # ref: charsetdetect.cpp + * if result == 1: # Need more data + * detected_charset = csd_close2(csd, &confidence) # <<<<<<<<<<<<<< + * elif result == 0: # Detected early + * detected_charset = csd_close2(csd, &confidence) + */ + __pyx_v_detected_charset = csd_close2(__pyx_v_csd, (&__pyx_v_confidence)); + break; + + /* "cchardet/_cchardet.pyx":45 + * if result == 1: # Need more data + * detected_charset = csd_close2(csd, &confidence) + * elif result == 0: # Detected early # <<<<<<<<<<<<<< + * detected_charset = csd_close2(csd, &confidence) + * else: # Error, signal with a negative number + */ + case 0: + + /* "cchardet/_cchardet.pyx":46 + * detected_charset = csd_close2(csd, &confidence) + * elif result == 0: # Detected early + * detected_charset = csd_close2(csd, &confidence) # <<<<<<<<<<<<<< + * else: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") + */ + __pyx_v_detected_charset = csd_close2(__pyx_v_csd, (&__pyx_v_confidence)); + break; + default: + + /* "cchardet/_cchardet.pyx":48 + * detected_charset = csd_close2(csd, &confidence) + * else: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") # <<<<<<<<<<<<<< + * if detected_charset: + * return detected_charset, confidence + */ + __pyx_t_1 = PyObject_Call(__pyx_builtin_Exception, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + break; + } + + /* "cchardet/_cchardet.pyx":49 + * else: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") + * if detected_charset: # <<<<<<<<<<<<<< + * return detected_charset, confidence + * else: + */ + __pyx_t_2 = (__pyx_v_detected_charset != 0); + if (__pyx_t_2) { + + /* "cchardet/_cchardet.pyx":50 + * raise Exception("Error, signal with a negative number") + * if detected_charset: + * return detected_charset, confidence # <<<<<<<<<<<<<< + * else: + * return None, None + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_detected_charset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_confidence); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1)); + __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_1 = 0; + __pyx_t_3 = 0; + __pyx_r = ((PyObject *)__pyx_t_4); + __pyx_t_4 = 0; + goto __pyx_L0; + goto __pyx_L3; + } + /*else*/ { + + /* "cchardet/_cchardet.pyx":52 + * return detected_charset, confidence + * else: + * return None, None # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_k_tuple_5)); + __pyx_r = ((PyObject *)__pyx_k_tuple_5); + goto __pyx_L0; + } + __pyx_L3:; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("cchardet._cchardet.detect_with_confidence", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +static struct PyModuleDef __pyx_moduledef = { + #if PY_VERSION_HEX < 0x03020000 + { PyObject_HEAD_INIT(NULL) NULL, 0, NULL }, + #else + PyModuleDef_HEAD_INIT, + #endif + __Pyx_NAMESTR("_cchardet"), + 0, /* m_doc */ + -1, /* m_size */ + __pyx_methods /* m_methods */, + NULL, /* m_reload */ + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, + {&__pyx_n_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 1}, + {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, + {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, + {&__pyx_n_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 1}, + {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1}, + {&__pyx_n_s__UserWarning, __pyx_k__UserWarning, sizeof(__pyx_k__UserWarning), 0, 0, 1, 1}, + {&__pyx_n_s____import__, __pyx_k____import__, sizeof(__pyx_k____import__), 0, 0, 1, 1}, + {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, + {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, + {&__pyx_n_s__confidence, __pyx_k__confidence, sizeof(__pyx_k__confidence), 0, 0, 1, 1}, + {&__pyx_n_s__csd, __pyx_k__csd, sizeof(__pyx_k__csd), 0, 0, 1, 1}, + {&__pyx_n_s__detect, __pyx_k__detect, sizeof(__pyx_k__detect), 0, 0, 1, 1}, + {&__pyx_n_s__detected_charset, __pyx_k__detected_charset, sizeof(__pyx_k__detected_charset), 0, 0, 1, 1}, + {&__pyx_n_s__length, __pyx_k__length, sizeof(__pyx_k__length), 0, 0, 1, 1}, + {&__pyx_n_s__msg, __pyx_k__msg, sizeof(__pyx_k__msg), 0, 0, 1, 1}, + {&__pyx_n_s__result, __pyx_k__result, sizeof(__pyx_k__result), 0, 0, 1, 1}, + {&__pyx_n_s__ret, __pyx_k__ret, sizeof(__pyx_k__ret), 0, 0, 1, 1}, + {&__pyx_n_s__warn, __pyx_k__warn, sizeof(__pyx_k__warn), 0, 0, 1, 1}, + {&__pyx_n_s__warnings, __pyx_k__warnings, sizeof(__pyx_k__warnings), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_UserWarning = __Pyx_GetBuiltinName(__pyx_n_s__UserWarning); if (!__pyx_builtin_UserWarning) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + return 0; + __pyx_L1_error:; + return -1; +} + +static int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "cchardet/_cchardet.pyx":27 + * # ref: charsetdetect.cpp + * if result == -1: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") # <<<<<<<<<<<<<< + * elif result == 1: # Need more data + * warnings.warn("Need more data",UserWarning) + */ + __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_k_tuple_2); + __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2)); + + /* "cchardet/_cchardet.pyx":48 + * detected_charset = csd_close2(csd, &confidence) + * else: # Error, signal with a negative number + * raise Exception("Error, signal with a negative number") # <<<<<<<<<<<<<< + * if detected_charset: + * return detected_charset, confidence + */ + __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_k_tuple_4); + __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4)); + + /* "cchardet/_cchardet.pyx":52 + * return detected_charset, confidence + * else: + * return None, None # <<<<<<<<<<<<<< + */ + __pyx_k_tuple_5 = PyTuple_Pack(2, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_k_tuple_5); + __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5)); + + /* "cchardet/_cchardet.pyx":21 + * cdef const_char_ptr csd_close2(csd_t csd, float *confidence) + * + * def detect(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + __pyx_k_tuple_6 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__msg), ((PyObject *)__pyx_n_s__msg), ((PyObject *)__pyx_n_s__csd), ((PyObject *)__pyx_n_s__length), ((PyObject *)__pyx_n_s__result), ((PyObject *)__pyx_n_s__ret)); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_k_tuple_6); + __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6)); + __pyx_k_codeobj_7 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_8, __pyx_n_s__detect, 21, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + + /* "cchardet/_cchardet.pyx":36 + * return ret + * + * def detect_with_confidence(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + __pyx_k_tuple_10 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__msg), ((PyObject *)__pyx_n_s__msg), ((PyObject *)__pyx_n_s__csd), ((PyObject *)__pyx_n_s__length), ((PyObject *)__pyx_n_s__result), ((PyObject *)__pyx_n_s__confidence), ((PyObject *)__pyx_n_s__detected_charset)); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_k_tuple_10); + __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10)); + __pyx_k_codeobj_11 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_8, __pyx_n_s_12, 36, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + return 0; + __pyx_L1_error:; + return -1; +} + +#if PY_MAJOR_VERSION < 3 +PyMODINIT_FUNC init_cchardet(void); /*proto*/ +PyMODINIT_FUNC init_cchardet(void) +#else +PyMODINIT_FUNC PyInit__cchardet(void); /*proto*/ +PyMODINIT_FUNC PyInit__cchardet(void) +#endif +{ + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_REFNANNY + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); + if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); + } + #endif + __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit__cchardet(void)", 0); + if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #ifdef __Pyx_CyFunction_USED + if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_cchardet"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + Py_INCREF(__pyx_d); + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!PyDict_GetItemString(modules, "cchardet._cchardet")) { + if (unlikely(PyDict_SetItemString(modules, "cchardet._cchardet", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } + } + #endif + __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + /*--- Initialize various global constants etc. ---*/ + if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + #endif + if (__pyx_module_is_main_cchardet___cchardet) { + if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + } + /*--- Builtin init code ---*/ + if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*--- Constants init code ---*/ + if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + /*--- Global init code ---*/ + /*--- Variable export code ---*/ + /*--- Function export code ---*/ + /*--- Type init code ---*/ + /*--- Type import code ---*/ + /*--- Variable import code ---*/ + /*--- Function import code ---*/ + /*--- Execution code ---*/ + + /* "cchardet/_cchardet.pyx":2 + * from libc.stdlib cimport malloc, free + * import warnings # <<<<<<<<<<<<<< + * + * cdef extern from "Python.h": + */ + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__warnings), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s__warnings, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "cchardet/_cchardet.pyx":21 + * cdef const_char_ptr csd_close2(csd_t csd, float *confidence) + * + * def detect(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8cchardet_9_cchardet_1detect, NULL, __pyx_n_s_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s__detect, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "cchardet/_cchardet.pyx":36 + * return ret + * + * def detect_with_confidence(char *msg): # <<<<<<<<<<<<<< + * cdef csd_t csd = csd_open() + * cdef int length = strlen(msg) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8cchardet_9_cchardet_3detect_with_confidence, NULL, __pyx_n_s_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "cchardet/_cchardet.pyx":1 + * from libc.stdlib cimport malloc, free # <<<<<<<<<<<<<< + * import warnings + * + */ + __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + if (PyDict_SetItem(__pyx_d, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + __Pyx_AddTraceback("init cchardet._cchardet", __pyx_clineno, __pyx_lineno, __pyx_filename); + Py_DECREF(__pyx_m); __pyx_m = 0; + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init cchardet._cchardet"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if PY_MAJOR_VERSION < 3 + return; + #else + return __pyx_m; + #endif +} + +/* Runtime support code */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule((char *)modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif /* CYTHON_REFNANNY */ + +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { +#if CYTHON_COMPILING_IN_CPYTHON + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyThreadState *tstate = PyThreadState_GET(); + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_Restore(type, value, tb); +#endif +} +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { +#if CYTHON_COMPILING_IN_CPYTHON + PyThreadState *tstate = PyThreadState_GET(); + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(type, value, tb); +#endif +} + +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + #if PY_VERSION_HEX < 0x02050000 + if (PyClass_Check(type)) { + #else + if (PyType_Check(type)) { + #endif +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + #if PY_VERSION_HEX < 0x02050000 + if (PyInstance_Check(type)) { + type = (PyObject*) ((PyInstanceObject*)type)->in_class; + Py_INCREF(type); + } else { + type = 0; + PyErr_SetString(PyExc_TypeError, + "raise: exception must be an old-style class or instance"); + goto raise_error; + } + #else + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + #endif + } + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else /* Python 3+ */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyEval_CallObject(type, args); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } +#if PY_VERSION_HEX >= 0x03030000 + if (cause) { +#else + if (cause && cause != Py_None) { +#endif + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { + PyThreadState *tstate = PyThreadState_GET(); + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON + result = PyDict_GetItem(__pyx_d, name); + if (result) { + Py_INCREF(result); + } else { +#else + result = PyObject_GetItem(__pyx_d, name); + if (!result) { + PyErr_Clear(); +#endif + result = __Pyx_GetBuiltinName(name); + } + return result; +} + +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s____import__); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + #if PY_VERSION_HEX >= 0x02050000 + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_level = PyInt_FromLong(1); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + #endif + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; /* try absolute import on failure */ + } + #endif + if (!module) { + #if PY_VERSION_HEX < 0x03030000 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } + #else + if (level>0) { + PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); + goto bad; + } + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, NULL); + #endif +bad: + #if PY_VERSION_HEX < 0x03030000 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { + const unsigned char neg_one = (unsigned char)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(unsigned char) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(unsigned char)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned char" : + "value too large to convert to unsigned char"); + } + return (unsigned char)-1; + } + return (unsigned char)val; + } + return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); +} + +static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { + const unsigned short neg_one = (unsigned short)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(unsigned short) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(unsigned short)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned short" : + "value too large to convert to unsigned short"); + } + return (unsigned short)-1; + } + return (unsigned short)val; + } + return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); +} + +static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { + const unsigned int neg_one = (unsigned int)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(unsigned int) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(unsigned int)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned int" : + "value too large to convert to unsigned int"); + } + return (unsigned int)-1; + } + return (unsigned int)val; + } + return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); +} + +static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) { + const char neg_one = (char)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(char) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(char)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to char" : + "value too large to convert to char"); + } + return (char)-1; + } + return (char)val; + } + return (char)__Pyx_PyInt_AsLong(x); +} + +static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) { + const short neg_one = (short)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(short) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(short)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to short" : + "value too large to convert to short"); + } + return (short)-1; + } + return (short)val; + } + return (short)__Pyx_PyInt_AsLong(x); +} + +static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) { + const int neg_one = (int)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(int) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(int)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to int" : + "value too large to convert to int"); + } + return (int)-1; + } + return (int)val; + } + return (int)__Pyx_PyInt_AsLong(x); +} + +static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { + const signed char neg_one = (signed char)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(signed char) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(signed char)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to signed char" : + "value too large to convert to signed char"); + } + return (signed char)-1; + } + return (signed char)val; + } + return (signed char)__Pyx_PyInt_AsSignedLong(x); +} + +static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { + const signed short neg_one = (signed short)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(signed short) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(signed short)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to signed short" : + "value too large to convert to signed short"); + } + return (signed short)-1; + } + return (signed short)val; + } + return (signed short)__Pyx_PyInt_AsSignedLong(x); +} + +static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { + const signed int neg_one = (signed int)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(signed int) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(signed int)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to signed int" : + "value too large to convert to signed int"); + } + return (signed int)-1; + } + return (signed int)val; + } + return (signed int)__Pyx_PyInt_AsSignedLong(x); +} + +static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) { + const int neg_one = (int)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; + if (sizeof(int) < sizeof(long)) { + long val = __Pyx_PyInt_AsLong(x); + if (unlikely(val != (long)(int)val)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { + PyErr_SetString(PyExc_OverflowError, + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to int" : + "value too large to convert to int"); + } + return (int)-1; + } + return (int)val; + } + return (int)__Pyx_PyInt_AsLong(x); +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { + const unsigned long neg_one = (unsigned long)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned long"); + return (unsigned long)-1; + } + return (unsigned long)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(unsigned long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (unsigned long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned long"); + return (unsigned long)-1; + } + return (unsigned long)PyLong_AsUnsignedLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(unsigned long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(unsigned long) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(unsigned long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (unsigned long)PyLong_AsLong(x); + } + } else { + unsigned long val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (unsigned long)-1; + val = __Pyx_PyInt_AsUnsignedLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { + const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned PY_LONG_LONG"); + return (unsigned PY_LONG_LONG)-1; + } + return (unsigned PY_LONG_LONG)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(unsigned PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned PY_LONG_LONG"); + return (unsigned PY_LONG_LONG)-1; + } + return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(unsigned PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); + } + } else { + unsigned PY_LONG_LONG val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (unsigned PY_LONG_LONG)-1; + val = __Pyx_PyInt_AsUnsignedLongLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) { + const long neg_one = (long)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long)-1; + } + return (long)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long)-1; + } + return (long)PyLong_AsUnsignedLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(long) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (long)PyLong_AsLong(x); + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (long)-1; + val = __Pyx_PyInt_AsLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { + const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to PY_LONG_LONG"); + return (PY_LONG_LONG)-1; + } + return (PY_LONG_LONG)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to PY_LONG_LONG"); + return (PY_LONG_LONG)-1; + } + return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (PY_LONG_LONG)PyLong_AsLongLong(x); + } + } else { + PY_LONG_LONG val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (PY_LONG_LONG)-1; + val = __Pyx_PyInt_AsLongLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { + const signed long neg_one = (signed long)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to signed long"); + return (signed long)-1; + } + return (signed long)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(signed long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (signed long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to signed long"); + return (signed long)-1; + } + return (signed long)PyLong_AsUnsignedLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(signed long)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(signed long) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(signed long) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (signed long)PyLong_AsLong(x); + } + } else { + signed long val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (signed long)-1; + val = __Pyx_PyInt_AsSignedLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS +#include "longintrepr.h" +#endif +#endif +static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { + const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to signed PY_LONG_LONG"); + return (signed PY_LONG_LONG)-1; + } + return (signed PY_LONG_LONG)val; + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(signed PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return (signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + if (unlikely(Py_SIZE(x) < 0)) { + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to signed PY_LONG_LONG"); + return (signed PY_LONG_LONG)-1; + } + return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); + } else { +#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 +#if CYTHON_USE_PYLONG_INTERNALS + if (sizeof(digit) <= sizeof(signed PY_LONG_LONG)) { + switch (Py_SIZE(x)) { + case 0: return 0; + case 1: return +(signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + case -1: return -(signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0]; + } + } +#endif +#endif + return (signed PY_LONG_LONG)PyLong_AsLongLong(x); + } + } else { + signed PY_LONG_LONG val; + PyObject *tmp = __Pyx_PyNumber_Int(x); + if (!tmp) return (signed PY_LONG_LONG)-1; + val = __Pyx_PyInt_AsSignedLongLong(tmp); + Py_DECREF(tmp); + return val; + } +} + +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + #if PY_VERSION_HEX < 0x02050000 + return PyErr_Warn(NULL, message); + #else + return PyErr_WarnEx(NULL, message, 1); + #endif + } + return 0; +} + +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = (start + end) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, /*int argcount,*/ + 0, /*int kwonlyargcount,*/ + 0, /*int nlocals,*/ + 0, /*int stacksize,*/ + 0, /*int flags,*/ + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, /*int firstlineno,*/ + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_globals = 0; + PyFrameObject *py_frame = 0; + py_code = __pyx_find_code_object(c_line ? c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? c_line : py_line, py_code); + } + py_globals = PyModule_GetDict(__pyx_m); + if (!py_globals) goto bad; + py_frame = PyFrame_New( + PyThreadState_GET(), /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + py_globals, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + py_frame->f_lineno = py_line; + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else /* Python 3+ has unicode identifiers */ + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, strlen(c_str)); +} +static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { +#if PY_VERSION_HEX < 0x03030000 + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/ + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +#else /* PY_VERSION_HEX < 0x03030000 */ + if (PyUnicode_READY(o) == -1) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (PyUnicode_IS_ASCII(o)) { + *length = PyUnicode_GET_DATA_SIZE(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ + return PyUnicode_AsUTF8AndSize(o, length); +#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ +#endif /* PY_VERSION_HEX < 0x03030000 */ + } else +#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */ + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (r < 0) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { + PyNumberMethods *m; + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (PyInt_Check(x) || PyLong_Check(x)) +#else + if (PyLong_Check(x)) +#endif + return Py_INCREF(x), x; + m = Py_TYPE(x)->tp_as_number; +#if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = PyNumber_Int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = PyNumber_Long(x); + } +#else + if (m && m->nb_int) { + name = "int"; + res = PyNumber_Long(x); + } +#endif + if (res) { +#if PY_MAJOR_VERSION < 3 + if (!PyInt_Check(res) && !PyLong_Check(res)) { +#else + if (!PyLong_Check(res)) { +#endif + PyErr_Format(PyExc_TypeError, + "__%s__ returned non-%s (type %.200s)", + name, name, Py_TYPE(res)->tp_name); + Py_DECREF(res); + return NULL; + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject* x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { +#if PY_VERSION_HEX < 0x02050000 + if (ival <= LONG_MAX) + return PyInt_FromLong((long)ival); + else { + unsigned char *bytes = (unsigned char *) &ival; + int one = 1; int little = (int)*(unsigned char*)&one; + return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); + } +#else + return PyInt_FromSize_t(ival); +#endif +} +static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { + unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x); + if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) { + if ((val != (unsigned PY_LONG_LONG)-1) || !PyErr_Occurred()) + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to size_t"); + return (size_t)-1; + } + return (size_t)val; +} + + +#endif /* Py_PYTHON_H */ diff --git a/src/cchardet/_cchardet.pyx b/src/cchardet/_cchardet.pyx new file mode 100644 index 0000000..3dfc995 --- /dev/null +++ b/src/cchardet/_cchardet.pyx @@ -0,0 +1,52 @@ +from libc.stdlib cimport malloc, free +import warnings + +cdef extern from "Python.h": + void * PyMem_Malloc(size_t) + void PyMem_Free(void *) + +cdef extern from *: + ctypedef char* const_char_ptr "const char*" + +cdef extern from "string.h": + cdef int strlen(char *s) + +cdef extern from "charsetdetect.h": + ctypedef void* csd_t + cdef csd_t csd_open() + cdef int csd_consider(csd_t csd, char* data, int length) + cdef const_char_ptr csd_close(csd_t csd) + cdef const_char_ptr csd_close2(csd_t csd, float *confidence) + +def detect(char *msg): + cdef csd_t csd = csd_open() + cdef int length = strlen(msg) + cdef int result = csd_consider(csd, msg, length) + # ref: charsetdetect.cpp + if result == -1: # Error, signal with a negative number + raise Exception("Error, signal with a negative number") + elif result == 1: # Need more data + warnings.warn("Need more data",UserWarning) + ret = csd_close(csd) + elif result == 0: # Detected early + ret = csd_close(csd) + if ret: + return ret + +def detect_with_confidence(char *msg): + cdef csd_t csd = csd_open() + cdef int length = strlen(msg) + cdef int result = csd_consider(csd, msg, length) + cdef float confidence = 0.0 + cdef const_char_ptr detected_charset + # ref: charsetdetect.cpp + if result == 1: # Need more data + detected_charset = csd_close2(csd, &confidence) + elif result == 0: # Detected early + detected_charset = csd_close2(csd, &confidence) + else: # Error, signal with a negative number + raise Exception("Error, signal with a negative number") + if detected_charset: + return detected_charset, confidence + else: + return None, None diff --git a/src/ext/libcharsetdetect.txt b/src/ext/libcharsetdetect.txt new file mode 100644 index 0000000..bd921d8 --- /dev/null +++ b/src/ext/libcharsetdetect.txt @@ -0,0 +1,18 @@ +Overview: + +This package implements improvements forr the mozilla universalchardet +module described in: + http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html + +The interface uses the C wrapper described here: + https://github.com/batterseapower/libcharsetdetect + +Modifications / improvements affect the core universalchardet module, not +the C wrapper (which is useful and necessary anyway for integration and +testing) + +Directory contents: + +libcharsetdetect/ + - The C API from the reference above, with the modified mozilla code + inside libcharsetdetect/mozilla/extensions/universalchardet/src/base/ diff --git a/src/ext/libcharsetdetect/.gitignore b/src/ext/libcharsetdetect/.gitignore new file mode 100644 index 0000000..2a0df09 --- /dev/null +++ b/src/ext/libcharsetdetect/.gitignore @@ -0,0 +1,28 @@ +# OS junk +.DS_Store +Thumbs.db + +# XCode build artifacts +build/ + +# XCode user configuration +*.mode1v3 +*.pbxuser + +# XCode something or other.. not sure if it should be checked in +charsetdetectProj.xcconfig +charsetdetectTarget.xcconfig + +# CMake generated build system +Makefile + +# CMake build artifacts +lib/ + +# CMake junk +CMakeCache.txt +CMakeFiles/ +cmake_install.cmake +install_manifest.txt +*.o +*.def \ No newline at end of file diff --git a/src/ext/libcharsetdetect/CMakeLists.txt b/src/ext/libcharsetdetect/CMakeLists.txt new file mode 100644 index 0000000..0d3926f --- /dev/null +++ b/src/ext/libcharsetdetect/CMakeLists.txt @@ -0,0 +1,44 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +#IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -std=c++0x" ) +#ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + +# Add a distclean target to the generated makefile +IF (UNIX) + ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution) + SET(DISTCLEANED + cmake.depends + cmake.check_depends + CMakeCache.txt + cmake.check_cache + *.cmake + Makefile + core core.* + gmon.out + *~ + ) + + ADD_CUSTOM_COMMAND( + DEPENDS clean + COMMENT "distribution clean" + COMMAND rm + ARGS -Rf CMakeTmp ${DISTCLEANED} + TARGET distclean + ) +ENDIF(UNIX) + + +PROJECT(charsetdetect) + +INCLUDE_DIRECTORIES(. nspr-emu mozilla/extensions/universalchardet/src/base/) + +FILE(GLOB charsetdetect_lib_src mozilla/extensions/universalchardet/src/base/*.cpp) +SET(charsetdetect_lib_src ${charsetdetect_lib_src} charsetdetect.cpp) +ADD_LIBRARY(charsetdetect ${charsetdetect_lib_src}) + +# Do not output the shared library into the root +SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/build) + +INSTALL (TARGETS charsetdetect DESTINATION lib) +INSTALL (FILES charsetdetect.h DESTINATION include) diff --git a/src/ext/libcharsetdetect/Makefile.test b/src/ext/libcharsetdetect/Makefile.test new file mode 100644 index 0000000..80cae1c --- /dev/null +++ b/src/ext/libcharsetdetect/Makefile.test @@ -0,0 +1,6 @@ +trchardet: trchardet.o build/libcharsetdetect.a + $(CXX) -g -o trchardet trchardet.o build/libcharsetdetect.a + + +trchardet.o : trchardet.c charsetdetect.h + $(CC) -g $(CFLAGS) -c trchardet.c diff --git a/src/ext/libcharsetdetect/README.md b/src/ext/libcharsetdetect/README.md new file mode 100644 index 0000000..12e368e --- /dev/null +++ b/src/ext/libcharsetdetect/README.md @@ -0,0 +1,152 @@ +# Universal Character Set Detector (UCSD) + +A library exposing a C interface and dependency-free interface to the Mozilla C++ UCSD library. + +This library provides a highly accurate set of heuristics that attempt to determine the character set used to encode some input text. +This is extremely useful when your program has to handle an input file which is supplied without any encoding metadata. + +Pulls together: + + * A NSPR emulation library (see `nspr-emu/README.md`) + * Code written by Colin Snover to provide a command line interface to the library + * The UCSD library itself from the Mozilla seamonkey source tree + +The UCSD version provided is that present in the Mozilla public repo as of 31/10/2010. + +## Building + +We have a build system based on CMake, so you will need that installed. That done, simply do this incantation: + + ./configure + make + sudo make install + +This will install the header file `charsetdetect.h` and the UCSD shared library, which you should link against in your compiler. + +## API documentation + +The library provides an opaque type of character set detectors: + + typedef void* csd_t; + +The first thing a client should do is create one of these: + + csd_t csd_open(void); + +A `csd_t` created in this fashion must be freed by `csd_close`. If creation fails, `csd_open` returns `(csd_t)-1`. + +Now you need to feed some data to the detector: + + int csd_consider(csd_t csd, const char *data, int length); + +The meaning of the return code is as follows: + + * Returns 0 if more data is needed to come to a conclusion + * Returns a positive number if enough data has been received to detect the character set + * Returns a negative number if there is an error + +Finally, close the detector to find out what the character set is: + + const char *csd_close(csd_t csd); + +The detected character set name is returned as an ASCII string. This function returns `NULL` if detection failed because there was not +enough data. It is safe to call `csd_close` at any point from creation by `csd_open` to the first call of `csd_close` on that character +set detector. + +## Full example + +This is a complete C program that shows how the library can be used to build a simple command-line character set detector: + + #include "charsetdetect.h" + #include "stdio.h" + + #define BUFFER_SIZE 4096 + + int main(int argc, const char * argv[]) { + csd_t csd = csd_open(); + if (csd == (csd_t)-1) { + printf("csd_open failed\n"); + return 1; + } + + int size; + char buf[BUFFER_SIZE] = {0}; + + while ((size = fread(buf, 1, sizeof(buf), stdin)) != 0) { + int result = csd_consider(csd, buf, size); + if (result < 0) { + printf("csd_consider failed\n"); + return 3; + } else if (result > 0) { + // Already have enough data + break; + } + } + + const char *result = csd_close(csd); + if (result == NULL) { + printf("Unknown character set\n"); + return 2; + } else { + printf("%s\n", result); + return 0; + } + } + +You can compile it and try it (on platforms with GCC) as follows: + + gcc example.c -lcharsetdetect + ./a.out < my_test_file.txt + +## Known character sets + +The list of possible character sets that can be returned from the library as of the most recent update are: + + Big5 + EUC-JP + EUC-KR + GB18030 + gb18030 + HZ-GB-2312 + IBM855 + IBM866 + ISO-2022-CN + ISO-2022-JP + ISO-2022-KR + ISO-8859-2 + ISO-8859-5 + ISO-8859-7 + ISO-8859-8 + KOI8-R + Shift_JIS + TIS-620 + UTF-8 + UTF-16BE + UTF-16LE + UTF-32BE + UTF-32LE + windows-1250 + windows-1251 + windows-1252 + windows-1253 + windows-1255 + x-euc-tw + X-ISO-10646-UCS-4-2143 + X-ISO-10646-UCS-4-3412 + x-mac-cyrillic + +We believe this list to be exhaustive. Future updates to the UCSD library may add more alternatives, but we will endeavour to keep +this list current. + +Notice that you may get both capitalisations of `GB18030`. For this reason (and to be future-proof against any future behaviour +like this for newly-added character sets) we recommend that you compare character set names case insensitively. + +## Licensing + +The files `libcharsetdetect.{cpp,h}` are (c) 2010 Colin Snover and released under an MIT license. + +The UCSD is (c) mozilla.org and tri-licensed under MPL 1.1/GPL 2.0/LGPL 2.1. + +We incorporate header files from the NSPR emulation library, which is LGPL licensed. + +Thus the resulting artifact is LGPL licensed (I think). \ No newline at end of file diff --git a/src/ext/libcharsetdetect/charsetdetect.cpp b/src/ext/libcharsetdetect/charsetdetect.cpp new file mode 100644 index 0000000..01c13a8 --- /dev/null +++ b/src/ext/libcharsetdetect/charsetdetect.cpp @@ -0,0 +1,94 @@ +#include +#include "charsetdetect.h" +#include "charsetdetectPriv.h" + + +// +// C++ API to the character set detector (not exported) +// + +void Detector::Report(const char* aCharset) { + // mDone has to be set true here because the original code + // does not always set it, and I am trying to avoid modifying + // the original code. + mDone = PR_TRUE; + + mDetectedCharset = aCharset; +} + +int Detector::Consider(const char *data, int length) { + if (HandleData(data, length) == NS_ERROR_OUT_OF_MEMORY) { + // Error, signal with a negative number + return -1; + } + + if (mDone) { + // Detected early + return 0; + } + + // Need more data! + return 1; +} + +const char *Detector::Close(void) { + DataEnd(); + + if (!mDone) { + if (mInputState == eEscAscii) { + return "ibm850"; + } + else if (mInputState == ePureAscii) { + return "ASCII"; + } + + return NULL; + } + + return mDetectedCharset; +} + +// +// C API to the character set detector (we actually export this) +// + +csd_t csd_open(void) { + // TODO: capture exceptions thrown by "new" and return -1 in that case + // TODO: provide C-land with access to the language filter constructor argument + return new Detector(NS_FILTER_ALL); +} + +int csd_consider(csd_t csd, const char *data, int length) { + return ((Detector*)csd)->Consider(data, length); +} + +const char *csd_close(csd_t csd) { + const char *result = ((Detector*)csd)->Close(); + delete ((Detector*)csd); + return result; +} + +///* +const char *Detector::Close2(float *confidence) { + DataEnd2(confidence); + + if (!mDone) { + if (mInputState == eEscAscii) { + return "ibm850"; + } + else if (mInputState == ePureAscii) { + return "ASCII"; + } + + return NULL; + } + + return mDetectedCharset; +} + +const char *csd_close2(csd_t csd,float *confidence) { + const char *result = ((Detector*)csd)->Close2(confidence); + delete ((Detector*)csd); + return result; +} +//*/ \ No newline at end of file diff --git a/src/ext/libcharsetdetect/charsetdetect.h b/src/ext/libcharsetdetect/charsetdetect.h new file mode 100644 index 0000000..6cfd1d0 --- /dev/null +++ b/src/ext/libcharsetdetect/charsetdetect.h @@ -0,0 +1,32 @@ +#ifndef charsetdetect_ +#define charsetdetect_ + +/* The classes below are exported */ +#pragma GCC visibility push(default) + +#ifdef __cplusplus +extern "C" { +#endif + +// Opaque type of character set detectors +typedef void* csd_t; + +// Create a new character set detector. Must be freed by csd_close. +// If creation fails, returns (csd_t)-1. +csd_t csd_open(void); +// Feeds some more data to the character set detector. Returns 0 if it +// needs more data to come to a conclusion and a positive number if it has enough to say what +// the character set is. Returns a negative number if there is an error. +int csd_consider(csd_t csd, const char *data, int length); +// Closes the character set detector and returns the detected character set name as an ASCII string. +// Returns NULL if detection failed. +const char *csd_close(csd_t csd); + +const char *csd_close2(csd_t csd,float *confidence); + +#ifdef __cplusplus +} +#endif + +#pragma GCC visibility pop +#endif diff --git a/src/ext/libcharsetdetect/charsetdetectPriv.h b/src/ext/libcharsetdetect/charsetdetectPriv.h new file mode 100644 index 0000000..89c950b --- /dev/null +++ b/src/ext/libcharsetdetect/charsetdetectPriv.h @@ -0,0 +1,19 @@ +/* The classes below are not exported */ + +#include +#include +#include "nscore.h" +#include "nsUniversalDetector.h" + +class Detector : public nsUniversalDetector { +public: + Detector(PRUint32 aLanguageFilter) : nsUniversalDetector(aLanguageFilter) {}; + int Consider(const char *data, int length); + const char *Close(void); + + const char *Close2(float *confidence); +protected: + void Report(const char* aCharset); + const char *mDetectedCharset; +}; + diff --git a/src/ext/libcharsetdetect/main.cpp b/src/ext/libcharsetdetect/main.cpp new file mode 100644 index 0000000..c9411ec --- /dev/null +++ b/src/ext/libcharsetdetect/main.cpp @@ -0,0 +1,49 @@ +#include "memory_leak.h" +#include "charsetdetect.h" +#include +#include +#include +using namespace std; + + +#define BUFFER_SIZE 100*1024 + +void main(){ + ::_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); + csd_t csd = csd_open(); + if(csd == (csd_t)-1){ + std::cout << "csd_open faild\n"; + exit(1); + } + + //ifstream ifs("E:\\MySourcecode\\git\\cchardet\\test\\testdata\\bg\\ISO-8859-5\\wikitop_bg_ISO-8859-5.txt"); + //ifstream ifs("E:\\MySourcecode\\git\\cchardet\\test\\testdata\\bg\\UTF-8\\wikitop_bg_UTF-8.txt"); + ifstream ifs("E:\\MySourcecode\\git\\cchardet\\test\\testdata\\cz\\ISO-8859-2\\wikitop_cz_ISO-8859-2.txt"); + if(!ifs){ + std::cerr<<"Cant open the file\n"; + exit(1); + } + + int len; + ifs.seekg(0,std::ios::end); + len = ifs.tellg(); + ifs.seekg(0,std::ios::beg); + char* buf = new char[len]; + ifs.read(buf,len); + int result; + const char *result_; + std::cout<<"CLIENT SENDING More Data\n"; + result = csd_consider(csd, buf,len); + if(result < 0){ + std::cout<<"csd_consider failed\n"; + exit(1); + } + result_ = csd_close(csd); + if(result_ == NULL){ + std::cout<<"Unknown character set\n"; + }else{ + printf("%s\n", result_); + } + + delete buf; +} \ No newline at end of file diff --git a/src/ext/libcharsetdetect/memory_leak.h b/src/ext/libcharsetdetect/memory_leak.h new file mode 100644 index 0000000..05fd1c4 --- /dev/null +++ b/src/ext/libcharsetdetect/memory_leak.h @@ -0,0 +1,8 @@ +#ifndef MEMORY_LEAK_H +#define MEMORY_LEAK_H +#define _CRTDBG_MAP_ALLOC +#include +#ifdef _DEBUG +#define new new(_NORMAL_BLOCK,__FILE__,__LINE__) +#endif +#endif \ No newline at end of file diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Big5Freq.tab b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Big5Freq.tab new file mode 100644 index 0000000..fd6b0e0 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Big5Freq.tab @@ -0,0 +1,943 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// Big5 frequency table +// by Taiwan's Mandarin Promotion Council +// + +/****************************************************************************** + * 128 --> 0.42261 + * 256 --> 0.57851 + * 512 --> 0.74851 + * 1024 --> 0.89384 + * 2048 --> 0.97583 + * + * Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 + * Random Distribution Ration = 512/(5401-512)=0.105 + * + * Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + *****************************************************************************/ + +#define BIG5_TYPICAL_DISTRIBUTION_RATIO (float)0.75 + + +//Char to FreqOrder table , +#define BIG5_TABLE_SIZE 5376 + +static const PRInt16 Big5CharToFreqOrder[] = +{ + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, // 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, // 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, // 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, // 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, // 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, // 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, // 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, // 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, // 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, // 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, // 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, // 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, // 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, // 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, // 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, // 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, // 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, // 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, // 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, // 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, // 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, // 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, // 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, // 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, // 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, // 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, // 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, // 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, // 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, // 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, // 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, // 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, // 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, // 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, // 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, // 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, // 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, // 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, // 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, // 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, // 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, // 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, // 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, // 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, // 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, // 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, // 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, // 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, // 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, // 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, // 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, // 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, // 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, // 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, // 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, // 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, // 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, // 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, // 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, // 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, // 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, // 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, // 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, // 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, // 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, // 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, // 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, // 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, // 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, // 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, // 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, // 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, // 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, // 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, // 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, // 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, // 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, // 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, // 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, // 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, // 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, // 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, // 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, // 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, // 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, // 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, // 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, // 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, // 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, // 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, // 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, // 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, // 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, // 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, // 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, // 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, // 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, // 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, // 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, // 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, // 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, // 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, // 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, // 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, // 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, // 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, // 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, // 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, // 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, // 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, // 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, // 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, // 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, // 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, // 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, // 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, // 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, // 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, // 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, // 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, // 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, // 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, // 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, // 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, // 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, // 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, // 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, // 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, // 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, // 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, // 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, // 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, // 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, // 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, // 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, // 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, // 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, // 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, // 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, // 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, // 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, // 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, // 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, // 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, // 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, // 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, // 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, // 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, // 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, // 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, // 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, // 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, // 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, // 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, // 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, // 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, // 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, // 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, // 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, // 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, // 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, // 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, // 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, // 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, // 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, // 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, // 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, // 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, // 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, // 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, // 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, // 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, // 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, // 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, // 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, // 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, // 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, // 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, // 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, // 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, // 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, // 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, // 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, // 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, // 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, // 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, // 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, // 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, // 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, // 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, // 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, // 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, // 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, // 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, // 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, // 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, // 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, // 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, // 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, // 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, // 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, // 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, // 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, // 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, // 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, // 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, // 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, // 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, // 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, // 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, // 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, // 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, // 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, // 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, // 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, // 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, // 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, // 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, // 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, // 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, // 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, // 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, // 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, // 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, // 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, // 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, // 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, // 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, // 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, // 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, // 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, // 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, // 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, // 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, // 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, // 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, // 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, // 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, // 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, // 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, // 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, // 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, // 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, // 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, // 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, // 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, // 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, // 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, // 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, // 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, // 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, // 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, // 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, // 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, // 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, // 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, // 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, // 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, // 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, // 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, // 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, // 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, // 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, // 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, // 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, // 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, // 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, // 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, // 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, // 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, // 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, // 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, // 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, // 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, // 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, // 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, // 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, // 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, // 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, // 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, // 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, // 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, // 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, // 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, // 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, // 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, // 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, // 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, // 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, // 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, // 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, // 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, // 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, // 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, // 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, // 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, // 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, // 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, // 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, // 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, // 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, // 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, // 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, // 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, // 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, // 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, // 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, // 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, // 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, // 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, // 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, // 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, // 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, // 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, // 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, // 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, // 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, // 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, // 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, // 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, // 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, // 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, // 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, // 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, // 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, // 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, // 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, // 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, // 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, // 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, // 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, // 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, // 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, // 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, // 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, // 5376 //last 512 + +/*************************************************************************************** + *Everything below is of no interest for detection purpose * + *************************************************************************************** + +2522,1613,4812,5799,3345,3945,2523,5800,4162,5801,1637,4163,2471,4813,3946,5802, // 5392 +2500,3034,3800,5803,5804,2195,4814,5805,2163,5806,5807,5808,5809,5810,5811,5812, // 5408 +5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828, // 5424 +5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, // 5440 +5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, // 5456 +5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, // 5472 +5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, // 5488 +5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,5906,5907,5908, // 5504 +5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,5921,5922,5923,5924, // 5520 +5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940, // 5536 +5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956, // 5552 +5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972, // 5568 +5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988, // 5584 +5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004, // 5600 +6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020, // 5616 +6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036, // 5632 +6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052, // 5648 +6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068, // 5664 +6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084, // 5680 +6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100, // 5696 +6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116, // 5712 +6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, // 5728 +6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, // 5744 +6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164, // 5760 +6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,6180, // 5776 +6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196, // 5792 +6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212, // 5808 +6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,3670,6224,6225,6226,6227, // 5824 +6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243, // 5840 +6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259, // 5856 +6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275, // 5872 +6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,4815,6286,6287,6288,6289,6290, // 5888 +6291,6292,4816,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305, // 5904 +6306,6307,6308,6309,6310,6311,4817,4818,6312,6313,6314,6315,6316,6317,6318,4819, // 5920 +6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334, // 5936 +6335,6336,6337,4820,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349, // 5952 +6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365, // 5968 +6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381, // 5984 +6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,6396,6397, // 6000 +6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,3441,6411,6412, // 6016 +6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,4440,6426,6427, // 6032 +6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443, // 6048 +6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,4821,6455,6456,6457,6458, // 6064 +6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474, // 6080 +6475,6476,6477,3947,3948,6478,6479,6480,6481,3272,4441,6482,6483,6484,6485,4442, // 6096 +6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,4822,6497,6498,6499,6500, // 6112 +6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516, // 6128 +6517,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532, // 6144 +6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548, // 6160 +6549,6550,6551,6552,6553,6554,6555,6556,2784,6557,4823,6558,6559,6560,6561,6562, // 6176 +6563,6564,6565,6566,6567,6568,6569,3949,6570,6571,6572,4824,6573,6574,6575,6576, // 6192 +6577,6578,6579,6580,6581,6582,6583,4825,6584,6585,6586,3950,2785,6587,6588,6589, // 6208 +6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605, // 6224 +6606,6607,6608,6609,6610,6611,6612,4826,6613,6614,6615,4827,6616,6617,6618,6619, // 6240 +6620,6621,6622,6623,6624,6625,4164,6626,6627,6628,6629,6630,6631,6632,6633,6634, // 6256 +3547,6635,4828,6636,6637,6638,6639,6640,6641,6642,3951,2984,6643,6644,6645,6646, // 6272 +6647,6648,6649,4165,6650,4829,6651,6652,4830,6653,6654,6655,6656,6657,6658,6659, // 6288 +6660,6661,6662,4831,6663,6664,6665,6666,6667,6668,6669,6670,6671,4166,6672,4832, // 6304 +3952,6673,6674,6675,6676,4833,6677,6678,6679,4167,6680,6681,6682,3198,6683,6684, // 6320 +6685,6686,6687,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,4834,6698,6699, // 6336 +6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715, // 6352 +6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731, // 6368 +6732,6733,6734,4443,6735,6736,6737,6738,6739,6740,6741,6742,6743,6744,6745,4444, // 6384 +6746,6747,6748,6749,6750,6751,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761, // 6400 +6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777, // 6416 +6778,6779,6780,6781,4168,6782,6783,3442,6784,6785,6786,6787,6788,6789,6790,6791, // 6432 +4169,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806, // 6448 +6807,6808,6809,6810,6811,4835,6812,6813,6814,4445,6815,6816,4446,6817,6818,6819, // 6464 +6820,6821,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6834,6835, // 6480 +3548,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6846,4836,6847,6848,6849, // 6496 +6850,6851,6852,6853,6854,3953,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864, // 6512 +6865,6866,6867,6868,6869,6870,6871,6872,6873,6874,6875,6876,6877,3199,6878,6879, // 6528 +6880,6881,6882,4447,6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894, // 6544 +6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,4170,6905,6906,6907,6908,6909, // 6560 +6910,6911,6912,6913,6914,6915,6916,6917,6918,6919,6920,6921,6922,6923,6924,6925, // 6576 +6926,6927,4837,6928,6929,6930,6931,6932,6933,6934,6935,6936,3346,6937,6938,4838, // 6592 +6939,6940,6941,4448,6942,6943,6944,6945,6946,4449,6947,6948,6949,6950,6951,6952, // 6608 +6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968, // 6624 +6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984, // 6640 +6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,3671,6995,6996,6997,6998,4839, // 6656 +6999,7000,7001,7002,3549,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013, // 6672 +7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,7028,7029, // 6688 +7030,4840,7031,7032,7033,7034,7035,7036,7037,7038,4841,7039,7040,7041,7042,7043, // 6704 +7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059, // 6720 +7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,2985,7071,7072,7073,7074, // 6736 +7075,7076,7077,7078,7079,7080,4842,7081,7082,7083,7084,7085,7086,7087,7088,7089, // 6752 +7090,7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105, // 6768 +7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,4450,7119,7120, // 6784 +7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136, // 6800 +7137,7138,7139,7140,7141,7142,7143,4843,7144,7145,7146,7147,7148,7149,7150,7151, // 6816 +7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167, // 6832 +7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183, // 6848 +7184,7185,7186,7187,7188,4171,4172,7189,7190,7191,7192,7193,7194,7195,7196,7197, // 6864 +7198,7199,7200,7201,7202,7203,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213, // 6880 +7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229, // 6896 +7230,7231,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245, // 6912 +7246,7247,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261, // 6928 +7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277, // 6944 +7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293, // 6960 +7294,7295,7296,4844,7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308, // 6976 +7309,7310,7311,7312,7313,7314,7315,7316,4451,7317,7318,7319,7320,7321,7322,7323, // 6992 +7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339, // 7008 +7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,4173,7354, // 7024 +7355,4845,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365,7366,7367,7368,7369, // 7040 +7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381,7382,7383,7384,7385, // 7056 +7386,7387,7388,4846,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400, // 7072 +7401,7402,7403,7404,7405,3672,7406,7407,7408,7409,7410,7411,7412,7413,7414,7415, // 7088 +7416,7417,7418,7419,7420,7421,7422,7423,7424,7425,7426,7427,7428,7429,7430,7431, // 7104 +7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447, // 7120 +7448,7449,7450,7451,7452,7453,4452,7454,3200,7455,7456,7457,7458,7459,7460,7461, // 7136 +7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,4847,7475,7476, // 7152 +7477,3133,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491, // 7168 +7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,3347,7503,7504,7505,7506, // 7184 +7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,4848, // 7200 +7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, // 7216 +7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,3801,4849,7550,7551, // 7232 +7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, // 7248 +7568,7569,3035,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582, // 7264 +7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598, // 7280 +7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614, // 7296 +7615,7616,4850,7617,7618,3802,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628, // 7312 +7629,7630,7631,7632,4851,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643, // 7328 +7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, // 7344 +7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,4453,7671,7672,7673,7674, // 7360 +7675,7676,7677,7678,7679,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690, // 7376 +7691,7692,7693,7694,7695,7696,7697,3443,7698,7699,7700,7701,7702,4454,7703,7704, // 7392 +7705,7706,7707,7708,7709,7710,7711,7712,7713,2472,7714,7715,7716,7717,7718,7719, // 7408 +7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,3954,7732,7733,7734, // 7424 +7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750, // 7440 +3134,7751,7752,4852,7753,7754,7755,4853,7756,7757,7758,7759,7760,4174,7761,7762, // 7456 +7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778, // 7472 +7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, // 7488 +7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,4854,7806,7807,7808,7809, // 7504 +7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825, // 7520 +4855,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, // 7536 +7841,7842,7843,7844,7845,7846,7847,3955,7848,7849,7850,7851,7852,7853,7854,7855, // 7552 +7856,7857,7858,7859,7860,3444,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, // 7568 +7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886, // 7584 +7887,7888,7889,7890,7891,4175,7892,7893,7894,7895,7896,4856,4857,7897,7898,7899, // 7600 +7900,2598,7901,7902,7903,7904,7905,7906,7907,7908,4455,7909,7910,7911,7912,7913, // 7616 +7914,3201,7915,7916,7917,7918,7919,7920,7921,4858,7922,7923,7924,7925,7926,7927, // 7632 +7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943, // 7648 +7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7958,7959, // 7664 +7960,7961,7962,7963,7964,7965,7966,7967,7968,7969,7970,7971,7972,7973,7974,7975, // 7680 +7976,7977,7978,7979,7980,7981,4859,7982,7983,7984,7985,7986,7987,7988,7989,7990, // 7696 +7991,7992,7993,7994,7995,7996,4860,7997,7998,7999,8000,8001,8002,8003,8004,8005, // 7712 +8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,4176,8017,8018,8019,8020, // 7728 +8021,8022,8023,4861,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035, // 7744 +8036,4862,4456,8037,8038,8039,8040,4863,8041,8042,8043,8044,8045,8046,8047,8048, // 7760 +8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,8064, // 7776 +8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080, // 7792 +8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096, // 7808 +8097,8098,8099,4864,4177,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110, // 7824 +8111,8112,8113,8114,8115,8116,8117,8118,8119,8120,4178,8121,8122,8123,8124,8125, // 7840 +8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141, // 7856 +8142,8143,8144,8145,4865,4866,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155, // 7872 +8156,8157,8158,8159,8160,8161,8162,8163,8164,8165,4179,8166,8167,8168,8169,8170, // 7888 +8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181,4457,8182,8183,8184,8185, // 7904 +8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201, // 7920 +8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,8215,8216,8217, // 7936 +8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229,8230,8231,8232,8233, // 7952 +8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245,8246,8247,8248,8249, // 7968 +8250,8251,8252,8253,8254,8255,8256,3445,8257,8258,8259,8260,8261,8262,4458,8263, // 7984 +8264,8265,8266,8267,8268,8269,8270,8271,8272,4459,8273,8274,8275,8276,3550,8277, // 8000 +8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,4460,8290,8291,8292, // 8016 +8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,4867, // 8032 +8308,8309,8310,8311,8312,3551,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, // 8048 +8323,8324,8325,8326,4868,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337, // 8064 +8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353, // 8080 +8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,4869,4461,8364,8365,8366,8367, // 8096 +8368,8369,8370,4870,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382, // 8112 +8383,8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398, // 8128 +8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,4871,8411,8412,8413, // 8144 +8414,8415,8416,8417,8418,8419,8420,8421,8422,4462,8423,8424,8425,8426,8427,8428, // 8160 +8429,8430,8431,8432,8433,2986,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443, // 8176 +8444,8445,8446,8447,8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459, // 8192 +8460,8461,8462,8463,8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475, // 8208 +8476,8477,8478,4180,8479,8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490, // 8224 +8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506, // 8240 +8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522, // 8256 +8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538, // 8272 +8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554, // 8288 +8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,4872,8565,8566,8567,8568,8569, // 8304 +8570,8571,8572,8573,4873,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, // 8320 +8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, // 8336 +8601,8602,8603,8604,8605,3803,8606,8607,8608,8609,8610,8611,8612,8613,4874,3804, // 8352 +8614,8615,8616,8617,8618,8619,8620,8621,3956,8622,8623,8624,8625,8626,8627,8628, // 8368 +8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,2865,8639,8640,8641,8642,8643, // 8384 +8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,4463,8657,8658, // 8400 +8659,4875,4876,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672, // 8416 +8673,8674,8675,8676,8677,8678,8679,8680,8681,4464,8682,8683,8684,8685,8686,8687, // 8432 +8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, // 8448 +8704,8705,8706,8707,8708,8709,2261,8710,8711,8712,8713,8714,8715,8716,8717,8718, // 8464 +8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,4181, // 8480 +8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746,8747,8748,8749, // 8496 +8750,8751,8752,8753,8754,8755,8756,8757,8758,8759,8760,8761,8762,8763,4877,8764, // 8512 +8765,8766,8767,8768,8769,8770,8771,8772,8773,8774,8775,8776,8777,8778,8779,8780, // 8528 +8781,8782,8783,8784,8785,8786,8787,8788,4878,8789,4879,8790,8791,8792,4880,8793, // 8544 +8794,8795,8796,8797,8798,8799,8800,8801,4881,8802,8803,8804,8805,8806,8807,8808, // 8560 +8809,8810,8811,8812,8813,8814,8815,3957,8816,8817,8818,8819,8820,8821,8822,8823, // 8576 +8824,8825,8826,8827,8828,8829,8830,8831,8832,8833,8834,8835,8836,8837,8838,8839, // 8592 +8840,8841,8842,8843,8844,8845,8846,8847,4882,8848,8849,8850,8851,8852,8853,8854, // 8608 +8855,8856,8857,8858,8859,8860,8861,8862,8863,8864,8865,8866,8867,8868,8869,8870, // 8624 +8871,8872,8873,8874,8875,8876,8877,8878,8879,8880,8881,8882,8883,8884,3202,8885, // 8640 +8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901, // 8656 +8902,8903,8904,8905,8906,8907,8908,8909,8910,8911,8912,8913,8914,8915,8916,8917, // 8672 +8918,8919,8920,8921,8922,8923,8924,4465,8925,8926,8927,8928,8929,8930,8931,8932, // 8688 +4883,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942,8943,2214,8944,8945,8946, // 8704 +8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958,8959,8960,8961,8962, // 8720 +8963,8964,8965,4884,8966,8967,8968,8969,8970,8971,8972,8973,8974,8975,8976,8977, // 8736 +8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,4885, // 8752 +8993,8994,8995,8996,8997,8998,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008, // 8768 +9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,4182,9022,9023, // 8784 +9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,9035,9036,9037,9038,9039, // 8800 +9040,9041,9042,9043,9044,9045,9046,9047,9048,9049,9050,9051,9052,9053,9054,9055, // 8816 +9056,9057,9058,9059,9060,9061,9062,9063,4886,9064,9065,9066,9067,9068,9069,4887, // 8832 +9070,9071,9072,9073,9074,9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085, // 8848 +9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101, // 8864 +9102,9103,9104,9105,9106,9107,9108,9109,9110,9111,9112,9113,9114,9115,9116,9117, // 8880 +9118,9119,9120,9121,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133, // 8896 +9134,9135,9136,9137,9138,9139,9140,9141,3958,9142,9143,9144,9145,9146,9147,9148, // 8912 +9149,9150,9151,4888,9152,9153,9154,9155,9156,9157,9158,9159,9160,9161,9162,9163, // 8928 +9164,9165,9166,9167,9168,9169,9170,9171,9172,9173,9174,9175,4889,9176,9177,9178, // 8944 +9179,9180,9181,9182,9183,9184,9185,9186,9187,9188,9189,9190,9191,9192,9193,9194, // 8960 +9195,9196,9197,9198,9199,9200,9201,9202,9203,4890,9204,9205,9206,9207,9208,9209, // 8976 +9210,9211,9212,9213,9214,9215,9216,9217,9218,9219,9220,9221,9222,4466,9223,9224, // 8992 +9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240, // 9008 +9241,9242,9243,9244,9245,4891,9246,9247,9248,9249,9250,9251,9252,9253,9254,9255, // 9024 +9256,9257,4892,9258,9259,9260,9261,4893,4894,9262,9263,9264,9265,9266,9267,9268, // 9040 +9269,9270,9271,9272,9273,4467,9274,9275,9276,9277,9278,9279,9280,9281,9282,9283, // 9056 +9284,9285,3673,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298, // 9072 +9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,9310,9311,9312,9313,9314, // 9088 +9315,9316,9317,9318,9319,9320,9321,9322,4895,9323,9324,9325,9326,9327,9328,9329, // 9104 +9330,9331,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345, // 9120 +9346,9347,4468,9348,9349,9350,9351,9352,9353,9354,9355,9356,9357,9358,9359,9360, // 9136 +9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9372,9373,4896,9374,4469, // 9152 +9375,9376,9377,9378,9379,4897,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389, // 9168 +9390,9391,9392,9393,9394,9395,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405, // 9184 +9406,4470,9407,2751,9408,9409,3674,3552,9410,9411,9412,9413,9414,9415,9416,9417, // 9200 +9418,9419,9420,9421,4898,9422,9423,9424,9425,9426,9427,9428,9429,3959,9430,9431, // 9216 +9432,9433,9434,9435,9436,4471,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446, // 9232 +9447,9448,9449,9450,3348,9451,9452,9453,9454,9455,9456,9457,9458,9459,9460,9461, // 9248 +9462,9463,9464,9465,9466,9467,9468,9469,9470,9471,9472,4899,9473,9474,9475,9476, // 9264 +9477,4900,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,3349,9489,9490, // 9280 +9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506, // 9296 +9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,4901,9521, // 9312 +9522,9523,9524,9525,9526,4902,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536, // 9328 +9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,9548,9549,9550,9551,9552, // 9344 +9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568, // 9360 +9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584, // 9376 +3805,9585,9586,9587,9588,9589,9590,9591,9592,9593,9594,9595,9596,9597,9598,9599, // 9392 +9600,9601,9602,4903,9603,9604,9605,9606,9607,4904,9608,9609,9610,9611,9612,9613, // 9408 +9614,4905,9615,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, // 9424 +9629,9630,9631,9632,4906,9633,9634,9635,9636,9637,9638,9639,9640,9641,9642,9643, // 9440 +4907,9644,9645,9646,9647,9648,9649,9650,9651,9652,9653,9654,9655,9656,9657,9658, // 9456 +9659,9660,9661,9662,9663,9664,9665,9666,9667,9668,9669,9670,9671,9672,4183,9673, // 9472 +9674,9675,9676,9677,4908,9678,9679,9680,9681,4909,9682,9683,9684,9685,9686,9687, // 9488 +9688,9689,9690,4910,9691,9692,9693,3675,9694,9695,9696,2945,9697,9698,9699,9700, // 9504 +9701,9702,9703,9704,9705,4911,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715, // 9520 +9716,9717,9718,9719,9720,9721,9722,9723,9724,9725,9726,9727,9728,9729,9730,9731, // 9536 +9732,9733,9734,9735,4912,9736,9737,9738,9739,9740,4913,9741,9742,9743,9744,9745, // 9552 +9746,9747,9748,9749,9750,9751,9752,9753,9754,9755,9756,9757,9758,4914,9759,9760, // 9568 +9761,9762,9763,9764,9765,9766,9767,9768,9769,9770,9771,9772,9773,9774,9775,9776, // 9584 +9777,9778,9779,9780,9781,9782,4915,9783,9784,9785,9786,9787,9788,9789,9790,9791, // 9600 +9792,9793,4916,9794,9795,9796,9797,9798,9799,9800,9801,9802,9803,9804,9805,9806, // 9616 +9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818,9819,9820,9821,9822, // 9632 +9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834,9835,9836,9837,9838, // 9648 +9839,9840,9841,9842,9843,9844,9845,9846,9847,9848,9849,9850,9851,9852,9853,9854, // 9664 +9855,9856,9857,9858,9859,9860,9861,9862,9863,9864,9865,9866,9867,9868,4917,9869, // 9680 +9870,9871,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, // 9696 +9886,9887,9888,9889,9890,9891,9892,4472,9893,9894,9895,9896,9897,3806,9898,9899, // 9712 +9900,9901,9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,4918, // 9728 +9915,9916,9917,4919,9918,9919,9920,9921,4184,9922,9923,9924,9925,9926,9927,9928, // 9744 +9929,9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9944, // 9760 +9945,9946,4920,9947,9948,9949,9950,9951,9952,9953,9954,9955,4185,9956,9957,9958, // 9776 +9959,9960,9961,9962,9963,9964,9965,4921,9966,9967,9968,4473,9969,9970,9971,9972, // 9792 +9973,9974,9975,9976,9977,4474,9978,9979,9980,9981,9982,9983,9984,9985,9986,9987, // 9808 +9988,9989,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999,10000,10001,10002,10003, // 9824 +10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019, // 9840 +10020,10021,4922,10022,4923,10023,10024,10025,10026,10027,10028,10029,10030,10031,10032,10033, // 9856 +10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,4924, // 9872 +10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064, // 9888 +10065,10066,10067,10068,10069,10070,10071,10072,10073,10074,10075,10076,10077,10078,10079,10080, // 9904 +10081,10082,10083,10084,10085,10086,10087,4475,10088,10089,10090,10091,10092,10093,10094,10095, // 9920 +10096,10097,4476,10098,10099,10100,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110, // 9936 +10111,2174,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125, // 9952 +10126,10127,10128,10129,10130,10131,10132,10133,10134,10135,10136,10137,10138,10139,10140,3807, // 9968 +4186,4925,10141,10142,10143,10144,10145,10146,10147,4477,4187,10148,10149,10150,10151,10152, // 9984 +10153,4188,10154,10155,10156,10157,10158,10159,10160,10161,4926,10162,10163,10164,10165,10166, //10000 +10167,10168,10169,10170,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182, //10016 +10183,10184,10185,10186,10187,10188,10189,10190,10191,10192,3203,10193,10194,10195,10196,10197, //10032 +10198,10199,10200,4478,10201,10202,10203,10204,4479,10205,10206,10207,10208,10209,10210,10211, //10048 +10212,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10225,10226,10227, //10064 +10228,10229,10230,10231,10232,10233,10234,4927,10235,10236,10237,10238,10239,10240,10241,10242, //10080 +10243,10244,10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258, //10096 +10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271,10272,10273,4480, //10112 +4928,4929,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,10287, //10128 +10288,10289,10290,10291,10292,10293,10294,10295,10296,10297,10298,10299,10300,10301,10302,10303, //10144 +10304,10305,10306,10307,10308,10309,10310,10311,10312,10313,10314,10315,10316,10317,10318,10319, //10160 +10320,10321,10322,10323,10324,10325,10326,10327,10328,10329,10330,10331,10332,10333,10334,4930, //10176 +10335,10336,10337,10338,10339,10340,10341,10342,4931,10343,10344,10345,10346,10347,10348,10349, //10192 +10350,10351,10352,10353,10354,10355,3088,10356,2786,10357,10358,10359,10360,4189,10361,10362, //10208 +10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,10374,10375,4932,10376,10377, //10224 +10378,10379,10380,10381,10382,10383,10384,10385,10386,10387,10388,10389,10390,10391,10392,4933, //10240 +10393,10394,10395,4934,10396,10397,10398,10399,10400,10401,10402,10403,10404,10405,10406,10407, //10256 +10408,10409,10410,10411,10412,3446,10413,10414,10415,10416,10417,10418,10419,10420,10421,10422, //10272 +10423,4935,10424,10425,10426,10427,10428,10429,10430,4936,10431,10432,10433,10434,10435,10436, //10288 +10437,10438,10439,10440,10441,10442,10443,4937,10444,10445,10446,10447,4481,10448,10449,10450, //10304 +10451,10452,10453,10454,10455,10456,10457,10458,10459,10460,10461,10462,10463,10464,10465,10466, //10320 +10467,10468,10469,10470,10471,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482, //10336 +10483,10484,10485,10486,10487,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,10498, //10352 +10499,10500,10501,10502,10503,10504,10505,4938,10506,10507,10508,10509,10510,2552,10511,10512, //10368 +10513,10514,10515,10516,3447,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10527, //10384 +10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539,10540,10541,10542,10543, //10400 +4482,10544,4939,10545,10546,10547,10548,10549,10550,10551,10552,10553,10554,10555,10556,10557, //10416 +10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,3676,4483,10568,10569,10570,10571, //10432 +10572,3448,10573,10574,10575,10576,10577,10578,10579,10580,10581,10582,10583,10584,10585,10586, //10448 +10587,10588,10589,10590,10591,10592,10593,10594,10595,10596,10597,10598,10599,10600,10601,10602, //10464 +10603,10604,10605,10606,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618, //10480 +10619,10620,10621,10622,10623,10624,10625,10626,10627,4484,10628,10629,10630,10631,10632,4940, //10496 +10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648, //10512 +10649,10650,10651,10652,10653,10654,10655,10656,4941,10657,10658,10659,2599,10660,10661,10662, //10528 +10663,10664,10665,10666,3089,10667,10668,10669,10670,10671,10672,10673,10674,10675,10676,10677, //10544 +10678,10679,10680,4942,10681,10682,10683,10684,10685,10686,10687,10688,10689,10690,10691,10692, //10560 +10693,10694,10695,10696,10697,4485,10698,10699,10700,10701,10702,10703,10704,4943,10705,3677, //10576 +10706,10707,10708,10709,10710,10711,10712,4944,10713,10714,10715,10716,10717,10718,10719,10720, //10592 +10721,10722,10723,10724,10725,10726,10727,10728,4945,10729,10730,10731,10732,10733,10734,10735, //10608 +10736,10737,10738,10739,10740,10741,10742,10743,10744,10745,10746,10747,10748,10749,10750,10751, //10624 +10752,10753,10754,10755,10756,10757,10758,10759,10760,10761,4946,10762,10763,10764,10765,10766, //10640 +10767,4947,4948,10768,10769,10770,10771,10772,10773,10774,10775,10776,10777,10778,10779,10780, //10656 +10781,10782,10783,10784,10785,10786,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, //10672 +10797,10798,10799,10800,10801,10802,10803,10804,10805,10806,10807,10808,10809,10810,10811,10812, //10688 +10813,10814,10815,10816,10817,10818,10819,10820,10821,10822,10823,10824,10825,10826,10827,10828, //10704 +10829,10830,10831,10832,10833,10834,10835,10836,10837,10838,10839,10840,10841,10842,10843,10844, //10720 +10845,10846,10847,10848,10849,10850,10851,10852,10853,10854,10855,10856,10857,10858,10859,10860, //10736 +10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876, //10752 +10877,10878,4486,10879,10880,10881,10882,10883,10884,10885,4949,10886,10887,10888,10889,10890, //10768 +10891,10892,10893,10894,10895,10896,10897,10898,10899,10900,10901,10902,10903,10904,10905,10906, //10784 +10907,10908,10909,10910,10911,10912,10913,10914,10915,10916,10917,10918,10919,4487,10920,10921, //10800 +10922,10923,10924,10925,10926,10927,10928,10929,10930,10931,10932,4950,10933,10934,10935,10936, //10816 +10937,10938,10939,10940,10941,10942,10943,10944,10945,10946,10947,10948,10949,4488,10950,10951, //10832 +10952,10953,10954,10955,10956,10957,10958,10959,4190,10960,10961,10962,10963,10964,10965,10966, //10848 +10967,10968,10969,10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982, //10864 +10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10995,10996,10997,10998, //10880 +10999,11000,11001,11002,11003,11004,11005,11006,3960,11007,11008,11009,11010,11011,11012,11013, //10896 +11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026,11027,11028,11029, //10912 +11030,11031,11032,4951,11033,11034,11035,11036,11037,11038,11039,11040,11041,11042,11043,11044, //10928 +11045,11046,11047,4489,11048,11049,11050,11051,4952,11052,11053,11054,11055,11056,11057,11058, //10944 +4953,11059,11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,4954,11072, //10960 +11073,11074,11075,11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088, //10976 +11089,11090,11091,11092,11093,11094,11095,11096,11097,11098,11099,11100,11101,11102,11103,11104, //10992 +11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,3808,11116,11117,11118,11119, //11008 +11120,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131,11132,11133,11134,4955, //11024 +11135,11136,11137,11138,11139,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150, //11040 +11151,11152,11153,11154,11155,11156,11157,11158,11159,11160,11161,4956,11162,11163,11164,11165, //11056 +11166,11167,11168,11169,11170,11171,11172,11173,11174,11175,11176,11177,11178,11179,11180,4957, //11072 +11181,11182,11183,11184,11185,11186,4958,11187,11188,11189,11190,11191,11192,11193,11194,11195, //11088 +11196,11197,11198,11199,11200,3678,11201,11202,11203,11204,11205,11206,4191,11207,11208,11209, //11104 +11210,11211,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221,11222,11223,11224,11225, //11120 +11226,11227,11228,11229,11230,11231,11232,11233,11234,11235,11236,11237,11238,11239,11240,11241, //11136 +11242,11243,11244,11245,11246,11247,11248,11249,11250,11251,4959,11252,11253,11254,11255,11256, //11152 +11257,11258,11259,11260,11261,11262,11263,11264,11265,11266,11267,11268,11269,11270,11271,11272, //11168 +11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288, //11184 +11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304, //11200 +11305,11306,11307,11308,11309,11310,11311,11312,11313,11314,3679,11315,11316,11317,11318,4490, //11216 +11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334, //11232 +11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,4960,11348,11349, //11248 +11350,11351,11352,11353,11354,11355,11356,11357,11358,11359,11360,11361,11362,11363,11364,11365, //11264 +11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,3961,4961,11378,11379, //11280 +11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395, //11296 +11396,11397,4192,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410, //11312 +11411,4962,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425, //11328 +11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441, //11344 +11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457, //11360 +11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,4963,11470,11471,4491, //11376 +11472,11473,11474,11475,4964,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486, //11392 +11487,11488,11489,11490,11491,11492,4965,11493,11494,11495,11496,11497,11498,11499,11500,11501, //11408 +11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512,11513,11514,11515,11516,11517, //11424 +11518,11519,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,3962,11530,11531,11532, //11440 +11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548, //11456 +11549,11550,11551,11552,11553,11554,11555,11556,11557,11558,11559,11560,11561,11562,11563,11564, //11472 +4193,4194,11565,11566,11567,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578, //11488 +11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,4966,4195,11592, //11504 +11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,3090,11605,11606,11607, //11520 +11608,11609,11610,4967,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622, //11536 +11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638, //11552 +11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652,11653,11654, //11568 +11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670, //11584 +11671,11672,11673,11674,4968,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684,11685, //11600 +11686,11687,11688,11689,11690,11691,11692,11693,3809,11694,11695,11696,11697,11698,11699,11700, //11616 +11701,11702,11703,11704,11705,11706,11707,11708,11709,11710,11711,11712,11713,11714,11715,11716, //11632 +11717,11718,3553,11719,11720,11721,11722,11723,11724,11725,11726,11727,11728,11729,11730,4969, //11648 +11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,4492,11741,11742,11743,11744,11745, //11664 +11746,11747,11748,11749,11750,11751,11752,4970,11753,11754,11755,11756,11757,11758,11759,11760, //11680 +11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,11776, //11696 +11777,11778,11779,11780,11781,11782,11783,11784,11785,11786,11787,11788,11789,11790,4971,11791, //11712 +11792,11793,11794,11795,11796,11797,4972,11798,11799,11800,11801,11802,11803,11804,11805,11806, //11728 +11807,11808,11809,11810,4973,11811,11812,11813,11814,11815,11816,11817,11818,11819,11820,11821, //11744 +11822,11823,11824,11825,11826,11827,11828,11829,11830,11831,11832,11833,11834,3680,3810,11835, //11760 +11836,4974,11837,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848,11849,11850, //11776 +11851,11852,11853,11854,11855,11856,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866, //11792 +11867,11868,11869,11870,11871,11872,11873,11874,11875,11876,11877,11878,11879,11880,11881,11882, //11808 +11883,11884,4493,11885,11886,11887,11888,11889,11890,11891,11892,11893,11894,11895,11896,11897, //11824 +11898,11899,11900,11901,11902,11903,11904,11905,11906,11907,11908,11909,11910,11911,11912,11913, //11840 +11914,11915,4975,11916,11917,11918,11919,11920,11921,11922,11923,11924,11925,11926,11927,11928, //11856 +11929,11930,11931,11932,11933,11934,11935,11936,11937,11938,11939,11940,11941,11942,11943,11944, //11872 +11945,11946,11947,11948,11949,4976,11950,11951,11952,11953,11954,11955,11956,11957,11958,11959, //11888 +11960,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,11972,11973,11974,11975, //11904 +11976,11977,11978,11979,11980,11981,11982,11983,11984,11985,11986,11987,4196,11988,11989,11990, //11920 +11991,11992,4977,11993,11994,11995,11996,11997,11998,11999,12000,12001,12002,12003,12004,12005, //11936 +12006,12007,12008,12009,12010,12011,12012,12013,12014,12015,12016,12017,12018,12019,12020,12021, //11952 +12022,12023,12024,12025,12026,12027,12028,12029,12030,12031,12032,12033,12034,12035,12036,12037, //11968 +12038,12039,12040,12041,12042,12043,12044,12045,12046,12047,12048,12049,12050,12051,12052,12053, //11984 +12054,12055,12056,12057,12058,12059,12060,12061,4978,12062,12063,12064,12065,12066,12067,12068, //12000 +12069,12070,12071,12072,12073,12074,12075,12076,12077,12078,12079,12080,12081,12082,12083,12084, //12016 +12085,12086,12087,12088,12089,12090,12091,12092,12093,12094,12095,12096,12097,12098,12099,12100, //12032 +12101,12102,12103,12104,12105,12106,12107,12108,12109,12110,12111,12112,12113,12114,12115,12116, //12048 +12117,12118,12119,12120,12121,12122,12123,4979,12124,12125,12126,12127,12128,4197,12129,12130, //12064 +12131,12132,12133,12134,12135,12136,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146, //12080 +12147,12148,12149,12150,12151,12152,12153,12154,4980,12155,12156,12157,12158,12159,12160,4494, //12096 +12161,12162,12163,12164,3811,12165,12166,12167,12168,12169,4495,12170,12171,4496,12172,12173, //12112 +12174,12175,12176,3812,12177,12178,12179,12180,12181,12182,12183,12184,12185,12186,12187,12188, //12128 +12189,12190,12191,12192,12193,12194,12195,12196,12197,12198,12199,12200,12201,12202,12203,12204, //12144 +12205,12206,12207,12208,12209,12210,12211,12212,12213,12214,12215,12216,12217,12218,12219,12220, //12160 +12221,4981,12222,12223,12224,12225,12226,12227,12228,12229,12230,12231,12232,12233,12234,12235, //12176 +4982,12236,12237,12238,12239,12240,12241,12242,12243,12244,12245,4983,12246,12247,12248,12249, //12192 +4984,12250,12251,12252,12253,12254,12255,12256,12257,12258,12259,12260,12261,12262,12263,12264, //12208 +4985,12265,4497,12266,12267,12268,12269,12270,12271,12272,12273,12274,12275,12276,12277,12278, //12224 +12279,12280,12281,12282,12283,12284,12285,12286,12287,4986,12288,12289,12290,12291,12292,12293, //12240 +12294,12295,12296,2473,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12307,12308, //12256 +12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12319,3963,12320,12321,12322,12323, //12272 +12324,12325,12326,12327,12328,12329,12330,12331,12332,4987,12333,12334,12335,12336,12337,12338, //12288 +12339,12340,12341,12342,12343,12344,12345,12346,12347,12348,12349,12350,12351,12352,12353,12354, //12304 +12355,12356,12357,12358,12359,3964,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369, //12320 +12370,3965,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384, //12336 +12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400, //12352 +12401,12402,12403,12404,12405,12406,12407,12408,4988,12409,12410,12411,12412,12413,12414,12415, //12368 +12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431, //12384 +12432,12433,12434,12435,12436,12437,12438,3554,12439,12440,12441,12442,12443,12444,12445,12446, //12400 +12447,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462, //12416 +12463,12464,4989,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477, //12432 +12478,12479,12480,4990,12481,12482,12483,12484,12485,12486,12487,12488,12489,4498,12490,12491, //12448 +12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507, //12464 +12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523, //12480 +12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12539, //12496 +12540,12541,12542,12543,12544,12545,12546,12547,12548,12549,12550,12551,4991,12552,12553,12554, //12512 +12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570, //12528 +12571,12572,12573,12574,12575,12576,12577,12578,3036,12579,12580,12581,12582,12583,3966,12584, //12544 +12585,12586,12587,12588,12589,12590,12591,12592,12593,12594,12595,12596,12597,12598,12599,12600, //12560 +12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616, //12576 +12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632, //12592 +12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,4499,12647, //12608 +12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663, //12624 +12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679, //12640 +12680,12681,12682,12683,12684,12685,12686,12687,12688,12689,12690,12691,12692,12693,12694,12695, //12656 +12696,12697,12698,4992,12699,12700,12701,12702,12703,12704,12705,12706,12707,12708,12709,12710, //12672 +12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726, //12688 +12727,12728,12729,12730,12731,12732,12733,12734,12735,12736,12737,12738,12739,12740,12741,12742, //12704 +12743,12744,12745,12746,12747,12748,12749,12750,12751,12752,12753,12754,12755,12756,12757,12758, //12720 +12759,12760,12761,12762,12763,12764,12765,12766,12767,12768,12769,12770,12771,12772,12773,12774, //12736 +12775,12776,12777,12778,4993,2175,12779,12780,12781,12782,12783,12784,12785,12786,4500,12787, //12752 +12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,12800,12801,12802,12803, //12768 +12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819, //12784 +12820,12821,12822,12823,12824,12825,12826,4198,3967,12827,12828,12829,12830,12831,12832,12833, //12800 +12834,12835,12836,12837,12838,12839,12840,12841,12842,12843,12844,12845,12846,12847,12848,12849, //12816 +12850,12851,12852,12853,12854,12855,12856,12857,12858,12859,12860,12861,4199,12862,12863,12864, //12832 +12865,12866,12867,12868,12869,12870,12871,12872,12873,12874,12875,12876,12877,12878,12879,12880, //12848 +12881,12882,12883,12884,12885,12886,12887,4501,12888,12889,12890,12891,12892,12893,12894,12895, //12864 +12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911, //12880 +12912,4994,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,12924,12925,12926, //12896 +12927,12928,12929,12930,12931,12932,12933,12934,12935,12936,12937,12938,12939,12940,12941,12942, //12912 +12943,12944,12945,12946,12947,12948,12949,12950,12951,12952,12953,12954,12955,12956,1772,12957, //12928 +12958,12959,12960,12961,12962,12963,12964,12965,12966,12967,12968,12969,12970,12971,12972,12973, //12944 +12974,12975,12976,12977,12978,12979,12980,12981,12982,12983,12984,12985,12986,12987,12988,12989, //12960 +12990,12991,12992,12993,12994,12995,12996,12997,4502,12998,4503,12999,13000,13001,13002,13003, //12976 +4504,13004,13005,13006,13007,13008,13009,13010,13011,13012,13013,13014,13015,13016,13017,13018, //12992 +13019,13020,13021,13022,13023,13024,13025,13026,13027,13028,13029,3449,13030,13031,13032,13033, //13008 +13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044,13045,13046,13047,13048,13049, //13024 +13050,13051,13052,13053,13054,13055,13056,13057,13058,13059,13060,13061,13062,13063,13064,13065, //13040 +13066,13067,13068,13069,13070,13071,13072,13073,13074,13075,13076,13077,13078,13079,13080,13081, //13056 +13082,13083,13084,13085,13086,13087,13088,13089,13090,13091,13092,13093,13094,13095,13096,13097, //13072 +13098,13099,13100,13101,13102,13103,13104,13105,13106,13107,13108,13109,13110,13111,13112,13113, //13088 +13114,13115,13116,13117,13118,3968,13119,4995,13120,13121,13122,13123,13124,13125,13126,13127, //13104 +4505,13128,13129,13130,13131,13132,13133,13134,4996,4506,13135,13136,13137,13138,13139,4997, //13120 +13140,13141,13142,13143,13144,13145,13146,13147,13148,13149,13150,13151,13152,13153,13154,13155, //13136 +13156,13157,13158,13159,4998,13160,13161,13162,13163,13164,13165,13166,13167,13168,13169,13170, //13152 +13171,13172,13173,13174,13175,13176,4999,13177,13178,13179,13180,13181,13182,13183,13184,13185, //13168 +13186,13187,13188,13189,13190,13191,13192,13193,13194,13195,13196,13197,13198,13199,13200,13201, //13184 +13202,13203,13204,13205,13206,5000,13207,13208,13209,13210,13211,13212,13213,13214,13215,13216, //13200 +13217,13218,13219,13220,13221,13222,13223,13224,13225,13226,13227,4200,5001,13228,13229,13230, //13216 +13231,13232,13233,13234,13235,13236,13237,13238,13239,13240,3969,13241,13242,13243,13244,3970, //13232 +13245,13246,13247,13248,13249,13250,13251,13252,13253,13254,13255,13256,13257,13258,13259,13260, //13248 +13261,13262,13263,13264,13265,13266,13267,13268,3450,13269,13270,13271,13272,13273,13274,13275, //13264 +13276,5002,13277,13278,13279,13280,13281,13282,13283,13284,13285,13286,13287,13288,13289,13290, //13280 +13291,13292,13293,13294,13295,13296,13297,13298,13299,13300,13301,13302,3813,13303,13304,13305, //13296 +13306,13307,13308,13309,13310,13311,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321, //13312 +13322,13323,13324,13325,13326,13327,13328,4507,13329,13330,13331,13332,13333,13334,13335,13336, //13328 +13337,13338,13339,13340,13341,5003,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351, //13344 +13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367, //13360 +5004,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382, //13376 +13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398, //13392 +13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414, //13408 +13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430, //13424 +13431,13432,4508,13433,13434,13435,4201,13436,13437,13438,13439,13440,13441,13442,13443,13444, //13440 +13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,5005,13458,13459, //13456 +13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,4509,13471,13472,13473,13474, //13472 +13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490, //13488 +13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506, //13504 +13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522, //13520 +13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538, //13536 +13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554, //13552 +13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570, //13568 +13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586, //13584 +13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602, //13600 +13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618, //13616 +13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634, //13632 +13635,13636,13637,13638,13639,13640,13641,13642,5006,13643,13644,13645,13646,13647,13648,13649, //13648 +13650,13651,5007,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664, //13664 +13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680, //13680 +13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696, //13696 +13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712, //13712 +13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728, //13728 +13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744, //13744 +13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760, //13760 +13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,3273,13775, //13776 +13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791, //13792 +13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807, //13808 +13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823, //13824 +13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839, //13840 +13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855, //13856 +13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871, //13872 +13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887, //13888 +13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903, //13904 +13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919, //13920 +13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935, //13936 +13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951, //13952 +13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967, //13968 +13968,13969,13970,13971,13972, //13973 +****************************************************************************************/ +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.cpp new file mode 100644 index 0000000..488d9bc --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.cpp @@ -0,0 +1,109 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "CharDistribution.h" + +#include "JISFreq.tab" +#include "Big5Freq.tab" +#include "EUCKRFreq.tab" +#include "EUCTWFreq.tab" +#include "GB2312Freq.tab" + +#define SURE_YES 0.99f +#define SURE_NO 0.01f + +//return confidence base on received data +float CharDistributionAnalysis::GetConfidence(void) +{ + //if we didn't receive any character in our consideration range, or the + // number of frequent characters is below the minimum threshold, return + // negative answer + if (mTotalChars <= 0 || mFreqChars <= mDataThreshold) + return SURE_NO; + + if (mTotalChars != mFreqChars) { + float r = mFreqChars / ((mTotalChars - mFreqChars) * mTypicalDistributionRatio); + + if (r < SURE_YES) + return r; + } + //normalize confidence, (we don't want to be 100% sure) + return SURE_YES; +} + +EUCTWDistributionAnalysis::EUCTWDistributionAnalysis() +{ + mCharToFreqOrder = EUCTWCharToFreqOrder; + mTableSize = EUCTW_TABLE_SIZE; + mTypicalDistributionRatio = EUCTW_TYPICAL_DISTRIBUTION_RATIO; +} + +EUCKRDistributionAnalysis::EUCKRDistributionAnalysis() +{ + mCharToFreqOrder = EUCKRCharToFreqOrder; + mTableSize = EUCKR_TABLE_SIZE; + mTypicalDistributionRatio = EUCKR_TYPICAL_DISTRIBUTION_RATIO; +} + +GB2312DistributionAnalysis::GB2312DistributionAnalysis() +{ + mCharToFreqOrder = GB2312CharToFreqOrder; + mTableSize = GB2312_TABLE_SIZE; + mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO; +} + +Big5DistributionAnalysis::Big5DistributionAnalysis() +{ + mCharToFreqOrder = Big5CharToFreqOrder; + mTableSize = BIG5_TABLE_SIZE; + mTypicalDistributionRatio = BIG5_TYPICAL_DISTRIBUTION_RATIO; +} + +SJISDistributionAnalysis::SJISDistributionAnalysis() +{ + mCharToFreqOrder = JISCharToFreqOrder; + mTableSize = JIS_TABLE_SIZE; + mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO; +} + +EUCJPDistributionAnalysis::EUCJPDistributionAnalysis() +{ + mCharToFreqOrder = JISCharToFreqOrder; + mTableSize = JIS_TABLE_SIZE; + mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.h new file mode 100644 index 0000000..453c2de --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/CharDistribution.h @@ -0,0 +1,242 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef CharDistribution_h__ +#define CharDistribution_h__ + +#include "nscore.h" + +#define ENOUGH_DATA_THRESHOLD 1024 + +#define MINIMUM_DATA_THRESHOLD 4 + +class CharDistributionAnalysis +{ +public: + CharDistributionAnalysis() {Reset(PR_FALSE);} + + //feed a block of data and do distribution analysis + void HandleData(const char* aBuf, PRUint32 aLen) {} + + //Feed a character with known length + void HandleOneChar(const char* aStr, PRUint32 aCharLen) + { + PRInt32 order; + + //we only care about 2-bytes character in our distribution analysis + order = (aCharLen == 2) ? GetOrder(aStr) : -1; + + if (order >= 0) + { + mTotalChars++; + //order is valid + if ((PRUint32)order < mTableSize) + { + if (512 > mCharToFreqOrder[order]) + mFreqChars++; + } + } + } + + //return confidence base on existing data + float GetConfidence(void); + + //Reset analyser, clear any state + void Reset(PRBool aIsPreferredLanguage) + { + mDone = PR_FALSE; + mTotalChars = 0; + mFreqChars = 0; + mDataThreshold = aIsPreferredLanguage ? 0 : MINIMUM_DATA_THRESHOLD; + } + + //This function is for future extension. Caller can use this function to control + //analyser's behavior + void SetOpion(){} + + //It is not necessary to receive all data to draw conclusion. For charset detection, + // certain amount of data is enough + PRBool GotEnoughData() {return mTotalChars > ENOUGH_DATA_THRESHOLD;} + +protected: + //we do not handle character base on its original encoding string, but + //convert this encoding string to a number, here called order. + //This allow multiple encoding of a language to share one frequency table + virtual PRInt32 GetOrder(const char* str) {return -1;} + + //If this flag is set to PR_TRUE, detection is done and conclusion has been made + PRBool mDone; + + //The number of characters whose frequency order is less than 512 + PRUint32 mFreqChars; + + //Total character encounted. + PRUint32 mTotalChars; + + //Number of hi-byte characters needed to trigger detection + PRUint32 mDataThreshold; + + //Mapping table to get frequency order from char order (get from GetOrder()) + const PRInt16 *mCharToFreqOrder; + + //Size of above table + PRUint32 mTableSize; + + //This is a constant value varies from language to language, it is used in + //calculating confidence. See my paper for further detail. + float mTypicalDistributionRatio; +}; + + +class EUCTWDistributionAnalysis: public CharDistributionAnalysis +{ +public: + EUCTWDistributionAnalysis(); +protected: + + //for euc-TW encoding, we are interested + // first byte range: 0xc4 -- 0xfe + // second byte range: 0xa1 -- 0xfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { if ((unsigned char)*str >= (unsigned char)0xc4) + return 94*((unsigned char)str[0]-(unsigned char)0xc4) + (unsigned char)str[1] - (unsigned char)0xa1; + else + return -1; + } +}; + + +class EUCKRDistributionAnalysis : public CharDistributionAnalysis +{ +public: + EUCKRDistributionAnalysis(); +protected: + //for euc-KR encoding, we are interested + // first byte range: 0xb0 -- 0xfe + // second byte range: 0xa1 -- 0xfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { if ((unsigned char)*str >= (unsigned char)0xb0) + return 94*((unsigned char)str[0]-(unsigned char)0xb0) + (unsigned char)str[1] - (unsigned char)0xa1; + else + return -1; + } +}; + +class GB2312DistributionAnalysis : public CharDistributionAnalysis +{ +public: + GB2312DistributionAnalysis(); +protected: + //for GB2312 encoding, we are interested + // first byte range: 0xb0 -- 0xfe + // second byte range: 0xa1 -- 0xfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { if ((unsigned char)*str >= (unsigned char)0xb0 && (unsigned char)str[1] >= (unsigned char)0xa1) + return 94*((unsigned char)str[0]-(unsigned char)0xb0) + (unsigned char)str[1] - (unsigned char)0xa1; + else + return -1; + } +}; + + +class Big5DistributionAnalysis : public CharDistributionAnalysis +{ +public: + Big5DistributionAnalysis(); +protected: + //for big5 encoding, we are interested + // first byte range: 0xa4 -- 0xfe + // second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { if ((unsigned char)*str >= (unsigned char)0xa4) + if ((unsigned char)str[1] >= (unsigned char)0xa1) + return 157*((unsigned char)str[0]-(unsigned char)0xa4) + (unsigned char)str[1] - (unsigned char)0xa1 +63; + else + return 157*((unsigned char)str[0]-(unsigned char)0xa4) + (unsigned char)str[1] - (unsigned char)0x40; + else + return -1; + } +}; + +class SJISDistributionAnalysis : public CharDistributionAnalysis +{ +public: + SJISDistributionAnalysis(); +protected: + //for sjis encoding, we are interested + // first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + // second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { + PRInt32 order; + if ((unsigned char)*str >= (unsigned char)0x81 && (unsigned char)*str <= (unsigned char)0x9f) + order = 188 * ((unsigned char)str[0]-(unsigned char)0x81); + else if ((unsigned char)*str >= (unsigned char)0xe0 && (unsigned char)*str <= (unsigned char)0xef) + order = 188 * ((unsigned char)str[0]-(unsigned char)0xe0 + 31); + else + return -1; + order += (unsigned char)*(str+1) - 0x40; + if ((unsigned char)str[1] > (unsigned char)0x7f) + order--; + return order; + } +}; + +class EUCJPDistributionAnalysis : public CharDistributionAnalysis +{ +public: + EUCJPDistributionAnalysis(); +protected: + //for euc-JP encoding, we are interested + // first byte range: 0xa0 -- 0xfe + // second byte range: 0xa1 -- 0xfe + //no validation needed here. State machine has done that + PRInt32 GetOrder(const char* str) + { if ((unsigned char)*str >= (unsigned char)0xa0) + return 94*((unsigned char)str[0]-(unsigned char)0xa1) + (unsigned char)str[1] - (unsigned char)0xa1; + else + return -1; + } +}; + +#endif //CharDistribution_h__ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCKRFreq.tab b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCKRFreq.tab new file mode 100644 index 0000000..d2c5047 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCKRFreq.tab @@ -0,0 +1,614 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +//Sampling from about 20M text materials include literature and computer technology + +/****************************************************************************** + * 128 --> 0.79 + * 256 --> 0.92 + * 512 --> 0.986 + * 1024 --> 0.99944 + * 2048 --> 0.99999 + * + * Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 + * Random Distribution Ration = 512 / (2350-512) = 0.279. + * + * Typical Distribution Ratio + *****************************************************************************/ + +#define EUCKR_TYPICAL_DISTRIBUTION_RATIO (float) 6.0 + +#define EUCKR_TABLE_SIZE 2352 + +//Char to FreqOrder table , +static const PRInt16 EUCKRCharToFreqOrder[] = +{ + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, //512, 256 + +/*************************************************************************************** + *Everything below is of no interest for detection purpose * + *************************************************************************************** + +2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658, +2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674, +2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690, +2691,2692,2693,2694,2695,2696,2697,2698,2699,1542, 880,2700,2701,2702,2703,2704, +2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720, +2721,2722,2723,2724,2725,1543,2726,2727,2728,2729,2730,2731,2732,1544,2733,2734, +2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750, +2751,2752,2753,2754,1545,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765, +2766,1546,2767,1547,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779, +2780,2781,2782,2783,2784,2785,2786,1548,2787,2788,2789,1109,2790,2791,2792,2793, +2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809, +2810,2811,2812,1329,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824, +2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840, +2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856, +1549,2857,2858,2859,2860,1550,2861,2862,1551,2863,2864,2865,2866,2867,2868,2869, +2870,2871,2872,2873,2874,1110,1330,2875,2876,2877,2878,2879,2880,2881,2882,2883, +2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899, +2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915, +2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,1331, +2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,1552,2944,2945, +2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961, +2962,2963,2964,1252,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976, +2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992, +2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008, +3009,3010,3011,3012,1553,3013,3014,3015,3016,3017,1554,3018,1332,3019,3020,3021, +3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037, +3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,1555,3051,3052, +3053,1556,1557,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066, +3067,1558,3068,3069,3070,3071,3072,3073,3074,3075,3076,1559,3077,3078,3079,3080, +3081,3082,3083,1253,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,1152,3109,3110, +3111,3112,3113,1560,3114,3115,3116,3117,1111,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,1333,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187, +3188,3189,1561,3190,3191,1334,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,1562,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,1563,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,3359, +3360,3361,3362,3363,3364,1335,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374, +3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,1336,3388,3389, +3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405, +3406,3407,3408,3409,3410,3411,3412,3413,3414,1337,3415,3416,3417,3418,3419,1338, +3420,3421,3422,1564,1565,3423,3424,3425,3426,3427,3428,3429,3430,3431,1254,3432, +3433,3434,1339,3435,3436,3437,3438,3439,1566,3440,3441,3442,3443,3444,3445,3446, +3447,3448,3449,3450,3451,3452,3453,3454,1255,3455,3456,3457,3458,3459,1567,1191, +3460,1568,1569,3461,3462,3463,1570,3464,3465,3466,3467,3468,1571,3469,3470,3471, +3472,3473,1572,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486, +1340,3487,3488,3489,3490,3491,3492,1021,3493,3494,3495,3496,3497,3498,1573,3499, +1341,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,1342,3512,3513, +3514,3515,3516,1574,1343,3517,3518,3519,1575,3520,1576,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,3550,3551,3552,3553,3554,3555,3556,3557, +3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573, +3574,3575,3576,3577,3578,3579,3580,1577,3581,3582,1578,3583,3584,3585,3586,3587, +3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603, +3604,1579,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618, +3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,1580,3630,3631,1581,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,1582,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,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695, +3696,3697,3698,3699,3700,1192,3701,3702,3703,3704,1256,3705,3706,3707,3708,1583, +1257,3709,3710,3711,3712,3713,3714,3715,3716,1584,3717,3718,3719,3720,3721,3722, +3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738, +3739,3740,3741,3742,3743,3744,3745,1344,3746,3747,3748,3749,3750,3751,3752,3753, +3754,3755,3756,1585,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,1586,3767, +3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,1345,3779,3780,3781,3782, +3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,1346,1587,3796, +3797,1588,3798,3799,3800,3801,3802,3803,3804,3805,3806,1347,3807,3808,3809,3810, +3811,1589,3812,3813,3814,3815,3816,3817,3818,3819,3820,3821,1590,3822,3823,1591, +1348,3824,3825,3826,3827,3828,3829,3830,1592,3831,3832,1593,3833,3834,3835,3836, +3837,3838,3839,3840,3841,3842,3843,3844,1349,3845,3846,3847,3848,3849,3850,3851, +3852,3853,3854,3855,3856,3857,3858,1594,3859,3860,3861,3862,3863,3864,3865,3866, +3867,3868,3869,1595,3870,3871,3872,3873,1596,3874,3875,3876,3877,3878,3879,3880, +3881,3882,3883,3884,3885,3886,1597,3887,3888,3889,3890,3891,3892,3893,3894,3895, +1598,3896,3897,3898,1599,1600,3899,1350,3900,1351,3901,3902,1352,3903,3904,3905, +3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3916,3917,3918,3919,3920,3921, +3922,3923,3924,1258,3925,3926,3927,3928,3929,3930,3931,1193,3932,1601,3933,3934, +3935,3936,3937,3938,3939,3940,3941,3942,3943,1602,3944,3945,3946,3947,3948,1603, +3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964, +3965,1604,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,1353,3978, +3979,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,1354,3992,3993, +3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009, +4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,1355,4024, +4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040, +1605,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055, +4056,4057,4058,4059,4060,1606,4061,4062,4063,4064,1607,4065,4066,4067,4068,4069, +4070,4071,4072,4073,4074,4075,4076,1194,4077,4078,1608,4079,4080,4081,4082,4083, +4084,4085,4086,4087,1609,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098, +4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,1259,4109,4110,4111,4112,4113, +4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,1195,4125,4126,4127,1610, +4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,1356,4138,4139,4140,4141,4142, +4143,4144,1611,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157, +4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173, +4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189, +4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205, +4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,1612,4220, +4221,4222,4223,4224,4225,4226,4227,1357,4228,1613,4229,4230,4231,4232,4233,4234, +4235,4236,4237,4238,4239,4240,4241,4242,4243,1614,4244,4245,4246,4247,4248,4249, +4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265, +4266,4267,4268,4269,4270,1196,1358,4271,4272,4273,4274,4275,4276,4277,4278,4279, +4280,4281,4282,4283,4284,4285,4286,4287,1615,4288,4289,4290,4291,4292,4293,4294, +4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310, +4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326, +4327,4328,4329,4330,4331,4332,4333,4334,1616,4335,4336,4337,4338,4339,4340,4341, +4342,4343,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357, +4358,4359,4360,1617,4361,4362,4363,4364,4365,1618,4366,4367,4368,4369,4370,4371, +4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387, +4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403, +4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,1619,4417,4418, +4419,4420,4421,4422,4423,4424,4425,1112,4426,4427,4428,4429,4430,1620,4431,4432, +4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,1260,1261,4443,4444,4445,4446, +4447,4448,4449,4450,4451,4452,4453,4454,4455,1359,4456,4457,4458,4459,4460,4461, +4462,4463,4464,4465,1621,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476, +4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,1055,4490,4491, +4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507, +4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,1622,4519,4520,4521,1623, +4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,1360,4536, +4537,4538,4539,4540,4541,4542,4543, 975,4544,4545,4546,4547,4548,4549,4550,4551, +4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567, +4568,4569,4570,4571,1624,4572,4573,4574,4575,4576,1625,4577,4578,4579,4580,4581, +4582,4583,4584,1626,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,1627, +4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611, +4612,4613,4614,4615,1628,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626, +4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642, +4643,4644,4645,4646,4647,4648,4649,1361,4650,4651,4652,4653,4654,4655,4656,4657, +4658,4659,4660,4661,1362,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672, +4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,1629,4683,4684,4685,4686,4687, +1630,4688,4689,4690,4691,1153,4692,4693,4694,1113,4695,4696,4697,4698,4699,4700, +4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,1197,4712,4713,4714,4715, +4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731, +4732,4733,4734,4735,1631,4736,1632,4737,4738,4739,4740,4741,4742,4743,4744,1633, +4745,4746,4747,4748,4749,1262,4750,4751,4752,4753,4754,1363,4755,4756,4757,4758, +4759,4760,4761,4762,4763,4764,4765,4766,4767,4768,1634,4769,4770,4771,4772,4773, +4774,4775,4776,4777,4778,1635,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788, +4789,1636,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4801,4802,4803, +4804,4805,4806,1637,4807,4808,4809,1638,4810,4811,4812,4813,4814,4815,4816,4817, +4818,1639,4819,4820,4821,4822,4823,4824,4825,4826,4827,4828,4829,4830,4831,4832, +4833,1077,4834,4835,4836,4837,4838,4839,4840,4841,4842,4843,4844,4845,4846,4847, +4848,4849,4850,4851,4852,4853,4854,4855,4856,4857,4858,4859,4860,4861,4862,4863, +4864,4865,4866,4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4879, +4880,4881,4882,4883,1640,4884,4885,1641,4886,4887,4888,4889,4890,4891,4892,4893, +4894,4895,4896,4897,4898,4899,4900,4901,4902,4903,4904,4905,4906,4907,4908,4909, +4910,4911,1642,4912,4913,4914,1364,4915,4916,4917,4918,4919,4920,4921,4922,4923, +4924,4925,4926,4927,4928,4929,4930,4931,1643,4932,4933,4934,4935,4936,4937,4938, +4939,4940,4941,4942,4943,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954, +4955,4956,4957,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,4968,4969,4970, +4971,4972,4973,4974,4975,4976,4977,4978,4979,4980,1644,4981,4982,4983,4984,1645, +4985,4986,1646,4987,4988,4989,4990,4991,4992,4993,4994,4995,4996,4997,4998,4999, +5000,5001,5002,5003,5004,5005,1647,5006,1648,5007,5008,5009,5010,5011,5012,1078, +5013,5014,5015,5016,5017,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028, +1365,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,5039,1649,5040,5041,5042, +5043,5044,5045,1366,5046,5047,5048,5049,5050,5051,5052,5053,5054,5055,1650,5056, +5057,5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072, +5073,5074,5075,5076,5077,1651,5078,5079,5080,5081,5082,5083,5084,5085,5086,5087, +5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102,5103, +5104,5105,5106,5107,5108,5109,5110,1652,5111,5112,5113,5114,5115,5116,5117,5118, +1367,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,1653,5130,5131,5132, +5133,5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148, +5149,1368,5150,1654,5151,1369,5152,5153,5154,5155,5156,5157,5158,5159,5160,5161, +5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,5176,5177, +5178,1370,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190,5191,5192, +5193,5194,5195,5196,5197,5198,1655,5199,5200,5201,5202,1656,5203,5204,5205,5206, +1371,5207,1372,5208,5209,5210,5211,1373,5212,5213,1374,5214,5215,5216,5217,5218, +5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234, +5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,1657,5248,5249, +5250,5251,1658,1263,5252,5253,5254,5255,5256,1375,5257,5258,5259,5260,5261,5262, +5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278, +5279,5280,5281,5282,5283,1659,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293, +5294,5295,5296,5297,5298,5299,5300,1660,5301,5302,5303,5304,5305,5306,5307,5308, +5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321,1376,5322,5323, +5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,1198,5334,5335,5336,5337,5338, +5339,5340,5341,5342,5343,1661,5344,5345,5346,5347,5348,5349,5350,5351,5352,5353, +5354,5355,5356,5357,5358,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369, +5370,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385, +5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,1264,5399,5400, +5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,1662,5413,5414,5415, +5416,1663,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429,5430, +5431,5432,5433,5434,5435,5436,5437,5438,1664,5439,5440,5441,5442,5443,5444,5445, +5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,5461, +5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477, +5478,1154,5479,5480,5481,5482,5483,5484,5485,1665,5486,5487,5488,5489,5490,5491, +5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507, +5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520,5521,5522,5523, +5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539, +5540,5541,5542,5543,5544,5545,5546,5547,5548,1377,5549,5550,5551,5552,5553,5554, +5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568,5569,5570, +1114,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584,5585, +5586,5587,5588,5589,5590,5591,5592,1378,5593,5594,5595,5596,5597,5598,5599,5600, +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,1379,5615, +5616,5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631, +5632,5633,5634,1380,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646, +5647,5648,5649,1381,1056,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660, +1666,5661,5662,5663,5664,5665,5666,5667,5668,1667,5669,1668,5670,5671,5672,5673, +5674,5675,5676,5677,5678,1155,5679,5680,5681,5682,5683,5684,5685,5686,5687,5688, +5689,5690,5691,5692,5693,5694,5695,5696,5697,5698,1669,5699,5700,5701,5702,5703, +5704,5705,1670,5706,5707,5708,5709,5710,1671,5711,5712,5713,5714,1382,5715,5716, +5717,5718,5719,5720,5721,5722,5723,5724,5725,1672,5726,5727,1673,1674,5728,5729, +5730,5731,5732,5733,5734,5735,5736,1675,5737,5738,5739,5740,5741,5742,5743,5744, +1676,5745,5746,5747,5748,5749,5750,5751,1383,5752,5753,5754,5755,5756,5757,5758, +5759,5760,5761,5762,5763,5764,5765,5766,5767,5768,1677,5769,5770,5771,5772,5773, +1678,5774,5775,5776, 998,5777,5778,5779,5780,5781,5782,5783,5784,5785,1384,5786, +5787,5788,5789,5790,5791,5792,5793,5794,5795,5796,5797,5798,5799,5800,1679,5801, +5802,5803,1115,1116,5804,5805,5806,5807,5808,5809,5810,5811,5812,5813,5814,5815, +5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828,5829,5830,5831, +5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844,5845,5846,5847, +5848,5849,5850,5851,5852,5853,5854,5855,1680,5856,5857,5858,5859,5860,5861,5862, +5863,5864,1681,5865,5866,5867,1682,5868,5869,5870,5871,5872,5873,5874,5875,5876, +5877,5878,5879,1683,5880,1684,5881,5882,5883,5884,1685,5885,5886,5887,5888,5889, +5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905, +5906,5907,1686,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,1687, +5936,5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951, +5952,1688,1689,5953,1199,5954,5955,5956,5957,5958,5959,5960,5961,1690,5962,5963, +5964,5965,5966,5967,5968,5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979, +5980,5981,1385,5982,1386,5983,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993, +5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009, +6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025, +6026,6027,1265,6028,6029,1691,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039, +6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055, +6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071, +6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,1692,6085,6086, +6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102, +6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118, +6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,1693,6132,6133, +6134,6135,6136,1694,6137,6138,6139,6140,6141,1695,6142,6143,6144,6145,6146,6147, +6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163, +6164,6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179, +6180,6181,6182,6183,6184,6185,1696,6186,6187,6188,6189,6190,6191,6192,6193,6194, +6195,6196,6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210, +6211,6212,6213,6214,6215,6216,6217,6218,6219,1697,6220,6221,6222,6223,6224,6225, +6226,6227,6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241, +6242,6243,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,1698,6254,6255,6256, +6257,6258,6259,6260,6261,6262,6263,1200,6264,6265,6266,6267,6268,6269,6270,6271, //1024 +6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287, +6288,6289,6290,6291,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,1699, +6303,6304,1700,6305,6306,6307,6308,6309,6310,6311,6312,6313,6314,6315,6316,6317, +6318,6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333, +6334,6335,6336,6337,6338,6339,1701,6340,6341,6342,6343,6344,1387,6345,6346,6347, +6348,6349,6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363, +6364,6365,6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379, +6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395, +6396,6397,6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411, +6412,6413,1702,6414,6415,6416,6417,6418,6419,6420,6421,6422,1703,6423,6424,6425, +6426,6427,6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,1704,6439,6440, +6441,6442,6443,6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,6455,6456, +6457,6458,6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472, +6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488, +6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,1266, +6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516,6517,6518,6519, +6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532,6533,6534,6535, +6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551, +1705,1706,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565, +6566,6567,6568,6569,6570,6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581, +6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597, +6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,6609,6610,6611,6612,6613, +6614,6615,6616,6617,6618,6619,6620,6621,6622,6623,6624,6625,6626,6627,6628,6629, +6630,6631,6632,6633,6634,6635,6636,6637,1388,6638,6639,6640,6641,6642,6643,6644, +1707,6645,6646,6647,6648,6649,6650,6651,6652,6653,6654,6655,6656,6657,6658,6659, +6660,6661,6662,6663,1708,6664,6665,6666,6667,6668,6669,6670,6671,6672,6673,6674, +1201,6675,6676,6677,6678,6679,6680,6681,6682,6683,6684,6685,6686,6687,6688,6689, +6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701,6702,6703,6704,6705, +6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717,6718,6719,6720,6721, +6722,6723,6724,6725,1389,6726,6727,6728,6729,6730,6731,6732,6733,6734,6735,6736, +1390,1709,6737,6738,6739,6740,6741,6742,1710,6743,6744,6745,6746,1391,6747,6748, +6749,6750,6751,6752,6753,6754,6755,6756,6757,1392,6758,6759,6760,6761,6762,6763, +6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777,6778,6779, +6780,1202,6781,6782,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6794, +6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,1711, +6810,6811,6812,6813,6814,6815,6816,6817,6818,6819,6820,6821,6822,6823,6824,6825, +6826,6827,6828,6829,6830,6831,6832,6833,6834,6835,6836,1393,6837,6838,6839,6840, +6841,6842,6843,6844,6845,6846,6847,6848,6849,6850,6851,6852,6853,6854,6855,6856, +6857,6858,6859,6860,6861,6862,6863,6864,6865,6866,6867,6868,6869,6870,6871,6872, +6873,6874,6875,6876,6877,6878,6879,6880,6881,6882,6883,6884,6885,6886,6887,6888, +6889,6890,6891,6892,6893,6894,6895,6896,6897,6898,6899,6900,6901,6902,1712,6903, +6904,6905,6906,6907,6908,6909,6910,1713,6911,6912,6913,6914,6915,6916,6917,6918, +6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931,6932,6933,6934, +6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947,6948,6949,6950, +6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966, +6967,6968,6969,6970,6971,6972,6973,6974,1714,6975,6976,6977,6978,6979,6980,6981, +6982,6983,6984,6985,6986,6987,6988,1394,6989,6990,6991,6992,6993,6994,6995,6996, +6997,6998,6999,7000,1715,7001,7002,7003,7004,7005,7006,7007,7008,7009,7010,7011, +7012,7013,7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027, +7028,1716,7029,7030,7031,7032,7033,7034,7035,7036,7037,7038,7039,7040,7041,7042, +7043,7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058, +7059,7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,7071,7072,7073,7074, +7075,7076,7077,7078,7079,7080,7081,7082,7083,7084,7085,7086,7087,7088,7089,7090, +7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105,7106, +7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7121,7122, +7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138, +7139,7140,7141,7142,7143,7144,7145,7146,7147,7148,7149,7150,7151,7152,7153,7154, +7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167,7168,7169,7170, +7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183,7184,7185,7186, +7187,7188,7189,7190,7191,7192,7193,7194,7195,7196,7197,7198,7199,7200,7201,7202, +7203,7204,7205,7206,7207,1395,7208,7209,7210,7211,7212,7213,1717,7214,7215,7216, +7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229,7230,7231,7232, +7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245,7246,7247,7248, +7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261,7262,7263,7264, +7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280, +7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293,7294,7295,7296, +7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308,7309,7310,7311,7312, +7313,1718,7314,7315,7316,7317,7318,7319,7320,7321,7322,7323,7324,7325,7326,7327, +7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339,7340,7341,7342,7343, +7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,7354,7355,7356,7357,7358,7359, +7360,7361,7362,7363,7364,7365,7366,7367,7368,7369,7370,7371,7372,7373,7374,7375, +7376,7377,7378,7379,7380,7381,7382,7383,7384,7385,7386,7387,7388,7389,7390,7391, +7392,7393,7394,7395,7396,7397,7398,7399,7400,7401,7402,7403,7404,7405,7406,7407, +7408,7409,7410,7411,7412,7413,7414,7415,7416,7417,7418,7419,7420,7421,7422,7423, +7424,7425,7426,7427,7428,7429,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439, +7440,7441,7442,7443,7444,7445,7446,7447,7448,7449,7450,7451,7452,7453,7454,7455, +7456,7457,7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471, +7472,7473,7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487, +7488,7489,7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503, +7504,7505,7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519, +7520,7521,7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535, +7536,7537,7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,7550,7551, +7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, +7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582,7583, +7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598,7599, +7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614,7615, +7616,7617,7618,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631, +7632,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643,7644,7645,7646,7647, +7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663, +7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675,7676,7677,7678,7679, +7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695, +7696,7697,7698,7699,7700,7701,7702,7703,7704,7705,7706,7707,7708,7709,7710,7711, +7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724,7725,7726,7727, +7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740,7741,7742,7743, +7744,7745,7746,7747,7748,7749,7750,7751,7752,7753,7754,7755,7756,7757,7758,7759, +7760,7761,7762,7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775, +7776,7777,7778,7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791, +7792,7793,7794,7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,7806,7807, +7808,7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823, +7824,7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839, +7840,7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855, +7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871, +7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887, +7888,7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903, +7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919, +7920,7921,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, +7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, +7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, +7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, +7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, +8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, +8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, +8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, +8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, +8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, +8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, +8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, +8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, +8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, +8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, +8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, +8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, +8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, +8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, +8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, +8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, +8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271, +8272,8273,8274,8275,8276,8277,8278,8279,8280,8281,8282,8283,8284,8285,8286,8287, +8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303, +8304,8305,8306,8307,8308,8309,8310,8311,8312,8313,8314,8315,8316,8317,8318,8319, +8320,8321,8322,8323,8324,8325,8326,8327,8328,8329,8330,8331,8332,8333,8334,8335, +8336,8337,8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351, +8352,8353,8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,8364,8365,8366,8367, +8368,8369,8370,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382,8383, +8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398,8399, +8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,8411,8412,8413,8414,8415, +8416,8417,8418,8419,8420,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431, +8432,8433,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443,8444,8445,8446,8447, +8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459,8460,8461,8462,8463, +8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475,8476,8477,8478,8479, +8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490,8491,8492,8493,8494,8495, +8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506,8507,8508,8509,8510,8511, +8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522,8523,8524,8525,8526,8527, +8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538,8539,8540,8541,8542,8543, +8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559, +8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8570,8571,8572,8573,8574,8575, +8576,8577,8578,8579,8580,8581,8582,8583,8584,8585,8586,8587,8588,8589,8590,8591, +8592,8593,8594,8595,8596,8597,8598,8599,8600,8601,8602,8603,8604,8605,8606,8607, +8608,8609,8610,8611,8612,8613,8614,8615,8616,8617,8618,8619,8620,8621,8622,8623, +8624,8625,8626,8627,8628,8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,8639, +8640,8641,8642,8643,8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655, +8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671, +8672,8673,8674,8675,8676,8677,8678,8679,8680,8681,8682,8683,8684,8685,8686,8687, +8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, +8704,8705,8706,8707,8708,8709,8710,8711,8712,8713,8714,8715,8716,8717,8718,8719, +8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,8734,8735, +8736,8737,8738,8739,8740,8741 +****************************************************************************************/ +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCTWFreq.tab b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCTWFreq.tab new file mode 100644 index 0000000..3a189ae --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/EUCTWFreq.tab @@ -0,0 +1,447 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// EUCTW frequency table +// Converted from big5 work +// by Taiwan's Mandarin Promotion Council +// + + +/****************************************************************************** + * 128 --> 0.42261 + * 256 --> 0.57851 + * 512 --> 0.74851 + * 1024 --> 0.89384 + * 2048 --> 0.97583 + * + * Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 + * Random Distribution Ration = 512/(5401-512)=0.105 + * + * Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + *****************************************************************************/ + +#define EUCTW_TYPICAL_DISTRIBUTION_RATIO (float)0.75 + +//Char to FreqOrder table , +#define EUCTW_TABLE_SIZE 8102 + +static const PRInt16 EUCTWCharToFreqOrder[] = +{ + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, // 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, // 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, // 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, // 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, // 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, // 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, // 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, // 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, // 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, // 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, // 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, // 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, // 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, // 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, // 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, // 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, // 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, // 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, // 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, // 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, // 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, // 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, // 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, // 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, // 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, // 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, // 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, // 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, // 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, // 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, // 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, // 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, // 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, // 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, // 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, // 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, // 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, // 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, // 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, // 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, // 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, // 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, // 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, // 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, // 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, // 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, // 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, // 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, // 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, // 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, // 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, // 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, // 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, // 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, // 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, // 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, // 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, // 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, // 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, // 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, // 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, // 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, // 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, // 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, // 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, // 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, // 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, // 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, // 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, // 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, // 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, // 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, // 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, // 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, // 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, // 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, // 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, // 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, // 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, // 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, // 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, // 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, // 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, // 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, // 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, // 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, // 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, // 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, // 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, // 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, // 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, // 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, // 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, // 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, // 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, // 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, // 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, // 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, // 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, // 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, // 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, // 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, // 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, // 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, // 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, // 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, // 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, // 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, // 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, // 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, // 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, // 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, // 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, // 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, // 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, // 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, // 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, // 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, // 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, // 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, // 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, // 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, // 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, // 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, // 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, // 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, // 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, // 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, // 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, // 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, // 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, // 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, // 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, // 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, // 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, // 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, // 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, // 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, // 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, // 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, // 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, // 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, // 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, // 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, // 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, // 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, // 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, // 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, // 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, // 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, // 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, // 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, // 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, // 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, // 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, // 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, // 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, // 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, // 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, // 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, // 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, // 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, // 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, // 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, // 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, // 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, // 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, // 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, // 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, // 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, // 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, // 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, // 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, // 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, // 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, // 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, // 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, // 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, // 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, // 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, // 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, // 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, // 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, // 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, // 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, // 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, // 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, // 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, // 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, // 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, // 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, // 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, // 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, // 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, // 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, // 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, // 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, // 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, // 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, // 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, // 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, // 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, // 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, // 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, // 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, // 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, // 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, // 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, // 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, // 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, // 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, // 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, // 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, // 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, // 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, // 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, // 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, // 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, // 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, // 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, // 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, // 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, // 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, // 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, // 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, // 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, // 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, // 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, // 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, // 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, // 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, // 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, // 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, // 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, // 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, // 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, // 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, // 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, // 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, // 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, // 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, // 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, // 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, // 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, // 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, // 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, // 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, // 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, // 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, // 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, // 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, // 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, // 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, // 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, // 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, // 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, // 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, // 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, // 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, // 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, // 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, // 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, // 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, // 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, // 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, // 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, // 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, // 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, // 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, // 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, // 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, // 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, // 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, // 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, // 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, // 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, // 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, // 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, // 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, // 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, // 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, // 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, // 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, // 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, // 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, // 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, // 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, // 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, // 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, // 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, // 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, // 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, // 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, // 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, // 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, // 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, // 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, // 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, // 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, // 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, // 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, // 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, // 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, // 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, // 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, // 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, // 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, // 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, // 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, // 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, // 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, // 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, // 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, // 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, // 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, // 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, // 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, // 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, // 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, // 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, // 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, // 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, // 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, // 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, // 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, // 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, // 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, // 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, // 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, // 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, // 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, // 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, // 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, // 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, // 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, // 8102 + +/*************************************************************************************** + *Everything below is of no interest for detection purpose * + *************************************************************************************** + +2515,1613,4582,8119,3312,3866,2516,8120,4058,8121,1637,4059,2466,4583,3867,8122, // 8118 +2493,3016,3734,8123,8124,2192,8125,8126,2162,8127,8128,8129,8130,8131,8132,8133, // 8134 +8134,8135,8136,8137,8138,8139,8140,8141,8142,8143,8144,8145,8146,8147,8148,8149, // 8150 +8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,8160,8161,8162,8163,8164,8165, // 8166 +8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181, // 8182 +8182,8183,8184,8185,8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197, // 8198 +8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213, // 8214 +8214,8215,8216,8217,8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229, // 8230 +8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245, // 8246 +8246,8247,8248,8249,8250,8251,8252,8253,8254,8255,8256,8257,8258,8259,8260,8261, // 8262 +8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,8272,8273,8274,8275,8276,8277, // 8278 +8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,8290,8291,8292,8293, // 8294 +8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,8308,8309, // 8310 +8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322,8323,8324,8325, // 8326 +8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337,8338,8339,8340,8341, // 8342 +8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353,8354,8355,8356,8357, // 8358 +8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,8368,8369,8370,8371,8372,8373, // 8374 +8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,8384,8385,8386,8387,8388,8389, // 8390 +8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400,8401,8402,8403,8404,8405, // 8406 +8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,8416,8417,8418,8419,8420,8421, // 8422 +8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,8433,8434,8435,8436,8437, // 8438 +8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,8448,8449,8450,8451,8452,8453, // 8454 +8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8468,8469, // 8470 +8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,8480,8481,8482,8483,8484,8485, // 8486 +8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501, // 8502 +8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517, // 8518 +8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533, // 8534 +8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549, // 8550 +8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,8565, // 8566 +8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,8576,8577,8578,8579,8580,8581, // 8582 +8582,8583,8584,8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597, // 8598 +8598,8599,8600,8601,8602,8603,8604,8605,8606,8607,8608,8609,8610,8611,8612,8613, // 8614 +8614,8615,8616,8617,8618,8619,8620,8621,8622,8623,8624,8625,8626,8627,8628,8629, // 8630 +8630,8631,8632,8633,8634,8635,8636,8637,8638,8639,8640,8641,8642,8643,8644,8645, // 8646 +8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,8657,8658,8659,8660,8661, // 8662 +8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672,8673,8674,8675,8676,8677, // 8678 +8678,8679,8680,8681,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, // 8694 +8694,8695,8696,8697,8698,8699,8700,8701,8702,8703,8704,8705,8706,8707,8708,8709, // 8710 +8710,8711,8712,8713,8714,8715,8716,8717,8718,8719,8720,8721,8722,8723,8724,8725, // 8726 +8726,8727,8728,8729,8730,8731,8732,8733,8734,8735,8736,8737,8738,8739,8740,8741, // 8742 //13973 +****************************************************************************************/ +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/GB2312Freq.tab b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/GB2312Freq.tab new file mode 100644 index 0000000..aee12ca --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/GB2312Freq.tab @@ -0,0 +1,491 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +//GB2312 most frequently used character table + +//Char to FreqOrder table , from hz6763 + +/****************************************************************************** + * 512 --> 0.79 -- 0.79 + * 1024 --> 0.92 -- 0.13 + * 2048 --> 0.98 -- 0.06 + * 6768 --> 1.00 -- 0.02 + * + * Idea Distribution Ratio = 0.79135/(1-0.79135) = 3.79 + * Random Distribution Ration = 512 / (3755 - 512) = 0.157 + * + * Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + *****************************************************************************/ + +#define GB2312_TYPICAL_DISTRIBUTION_RATIO (float)0.9 + +#define GB2312_TABLE_SIZE 3760 + +static const PRInt16 GB2312CharToFreqOrder[] = +{ +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, //last 512 + +/*************************************************************************************** + *Everything below is of no interest for detection purpose * + *************************************************************************************** + +5508,6484,3900,3414,3974,4441,4024,3537,4037,5628,5099,3633,6485,3148,6486,3636, +5509,3257,5510,5973,5445,5872,4941,4403,3174,4627,5873,6276,2286,4230,5446,5874, +5122,6102,6103,4162,5447,5123,5323,4849,6277,3980,3851,5066,4246,5774,5067,6278, +3001,2807,5695,3346,5775,5974,5158,5448,6487,5975,5976,5776,3598,6279,5696,4806, +4211,4154,6280,6488,6489,6490,6281,4212,5037,3374,4171,6491,4562,4807,4722,4827, +5977,6104,4532,4079,5159,5324,5160,4404,3858,5359,5875,3975,4288,4610,3486,4512, +5325,3893,5360,6282,6283,5560,2522,4231,5978,5186,5449,2569,3878,6284,5401,3578, +4415,6285,4656,5124,5979,2506,4247,4449,3219,3417,4334,4969,4329,6492,4576,4828, +4172,4416,4829,5402,6286,3927,3852,5361,4369,4830,4477,4867,5876,4173,6493,6105, +4657,6287,6106,5877,5450,6494,4155,4868,5451,3700,5629,4384,6288,6289,5878,3189, +4881,6107,6290,6495,4513,6496,4692,4515,4723,5100,3356,6497,6291,3810,4080,5561, +3570,4430,5980,6498,4355,5697,6499,4724,6108,6109,3764,4050,5038,5879,4093,3226, +6292,5068,5217,4693,3342,5630,3504,4831,4377,4466,4309,5698,4431,5777,6293,5778, +4272,3706,6110,5326,3752,4676,5327,4273,5403,4767,5631,6500,5699,5880,3475,5039, +6294,5562,5125,4348,4301,4482,4068,5126,4593,5700,3380,3462,5981,5563,3824,5404, +4970,5511,3825,4738,6295,6501,5452,4516,6111,5881,5564,6502,6296,5982,6503,4213, +4163,3454,6504,6112,4009,4450,6113,4658,6297,6114,3035,6505,6115,3995,4904,4739, +4563,4942,4110,5040,3661,3928,5362,3674,6506,5292,3612,4791,5565,4149,5983,5328, +5259,5021,4725,4577,4564,4517,4364,6298,5405,4578,5260,4594,4156,4157,5453,3592, +3491,6507,5127,5512,4709,4922,5984,5701,4726,4289,6508,4015,6116,5128,4628,3424, +4241,5779,6299,4905,6509,6510,5454,5702,5780,6300,4365,4923,3971,6511,5161,3270, +3158,5985,4100, 867,5129,5703,6117,5363,3695,3301,5513,4467,6118,6512,5455,4232, +4242,4629,6513,3959,4478,6514,5514,5329,5986,4850,5162,5566,3846,4694,6119,5456, +4869,5781,3779,6301,5704,5987,5515,4710,6302,5882,6120,4392,5364,5705,6515,6121, +6516,6517,3736,5988,5457,5989,4695,2457,5883,4551,5782,6303,6304,6305,5130,4971, +6122,5163,6123,4870,3263,5365,3150,4871,6518,6306,5783,5069,5706,3513,3498,4409, +5330,5632,5366,5458,5459,3991,5990,4502,3324,5991,5784,3696,4518,5633,4119,6519, +4630,5634,4417,5707,4832,5992,3418,6124,5993,5567,4768,5218,6520,4595,3458,5367, +6125,5635,6126,4202,6521,4740,4924,6307,3981,4069,4385,6308,3883,2675,4051,3834, +4302,4483,5568,5994,4972,4101,5368,6309,5164,5884,3922,6127,6522,6523,5261,5460, +5187,4164,5219,3538,5516,4111,3524,5995,6310,6311,5369,3181,3386,2484,5188,3464, +5569,3627,5708,6524,5406,5165,4677,4492,6312,4872,4851,5885,4468,5996,6313,5709, +5710,6128,2470,5886,6314,5293,4882,5785,3325,5461,5101,6129,5711,5786,6525,4906, +6526,6527,4418,5887,5712,4808,2907,3701,5713,5888,6528,3765,5636,5331,6529,6530, +3593,5889,3637,4943,3692,5714,5787,4925,6315,6130,5462,4405,6131,6132,6316,5262, +6531,6532,5715,3859,5716,5070,4696,5102,3929,5788,3987,4792,5997,6533,6534,3920, +4809,5000,5998,6535,2974,5370,6317,5189,5263,5717,3826,6536,3953,5001,4883,3190, +5463,5890,4973,5999,4741,6133,6134,3607,5570,6000,4711,3362,3630,4552,5041,6318, +6001,2950,2953,5637,4646,5371,4944,6002,2044,4120,3429,6319,6537,5103,4833,6538, +6539,4884,4647,3884,6003,6004,4758,3835,5220,5789,4565,5407,6540,6135,5294,4697, +4852,6320,6321,3206,4907,6541,6322,4945,6542,6136,6543,6323,6005,4631,3519,6544, +5891,6545,5464,3784,5221,6546,5571,4659,6547,6324,6137,5190,6548,3853,6549,4016, +4834,3954,6138,5332,3827,4017,3210,3546,4469,5408,5718,3505,4648,5790,5131,5638, +5791,5465,4727,4318,6325,6326,5792,4553,4010,4698,3439,4974,3638,4335,3085,6006, +5104,5042,5166,5892,5572,6327,4356,4519,5222,5573,5333,5793,5043,6550,5639,5071, +4503,6328,6139,6551,6140,3914,3901,5372,6007,5640,4728,4793,3976,3836,4885,6552, +4127,6553,4451,4102,5002,6554,3686,5105,6555,5191,5072,5295,4611,5794,5296,6556, +5893,5264,5894,4975,5466,5265,4699,4976,4370,4056,3492,5044,4886,6557,5795,4432, +4769,4357,5467,3940,4660,4290,6141,4484,4770,4661,3992,6329,4025,4662,5022,4632, +4835,4070,5297,4663,4596,5574,5132,5409,5895,6142,4504,5192,4664,5796,5896,3885, +5575,5797,5023,4810,5798,3732,5223,4712,5298,4084,5334,5468,6143,4052,4053,4336, +4977,4794,6558,5335,4908,5576,5224,4233,5024,4128,5469,5225,4873,6008,5045,4729, +4742,4633,3675,4597,6559,5897,5133,5577,5003,5641,5719,6330,6560,3017,2382,3854, +4406,4811,6331,4393,3964,4946,6561,2420,3722,6562,4926,4378,3247,1736,4442,6332, +5134,6333,5226,3996,2918,5470,4319,4003,4598,4743,4744,4485,3785,3902,5167,5004, +5373,4394,5898,6144,4874,1793,3997,6334,4085,4214,5106,5642,4909,5799,6009,4419, +4189,3330,5899,4165,4420,5299,5720,5227,3347,6145,4081,6335,2876,3930,6146,3293, +3786,3910,3998,5900,5300,5578,2840,6563,5901,5579,6147,3531,5374,6564,6565,5580, +4759,5375,6566,6148,3559,5643,6336,6010,5517,6337,6338,5721,5902,3873,6011,6339, +6567,5518,3868,3649,5722,6568,4771,4947,6569,6149,4812,6570,2853,5471,6340,6341, +5644,4795,6342,6012,5723,6343,5724,6013,4349,6344,3160,6150,5193,4599,4514,4493, +5168,4320,6345,4927,3666,4745,5169,5903,5005,4928,6346,5725,6014,4730,4203,5046, +4948,3395,5170,6015,4150,6016,5726,5519,6347,5047,3550,6151,6348,4197,4310,5904, +6571,5581,2965,6152,4978,3960,4291,5135,6572,5301,5727,4129,4026,5905,4853,5728, +5472,6153,6349,4533,2700,4505,5336,4678,3583,5073,2994,4486,3043,4554,5520,6350, +6017,5800,4487,6351,3931,4103,5376,6352,4011,4321,4311,4190,5136,6018,3988,3233, +4350,5906,5645,4198,6573,5107,3432,4191,3435,5582,6574,4139,5410,6353,5411,3944, +5583,5074,3198,6575,6354,4358,6576,5302,4600,5584,5194,5412,6577,6578,5585,5413, +5303,4248,5414,3879,4433,6579,4479,5025,4854,5415,6355,4760,4772,3683,2978,4700, +3797,4452,3965,3932,3721,4910,5801,6580,5195,3551,5907,3221,3471,3029,6019,3999, +5908,5909,5266,5267,3444,3023,3828,3170,4796,5646,4979,4259,6356,5647,5337,3694, +6357,5648,5338,4520,4322,5802,3031,3759,4071,6020,5586,4836,4386,5048,6581,3571, +4679,4174,4949,6154,4813,3787,3402,3822,3958,3215,3552,5268,4387,3933,4950,4359, +6021,5910,5075,3579,6358,4234,4566,5521,6359,3613,5049,6022,5911,3375,3702,3178, +4911,5339,4521,6582,6583,4395,3087,3811,5377,6023,6360,6155,4027,5171,5649,4421, +4249,2804,6584,2270,6585,4000,4235,3045,6156,5137,5729,4140,4312,3886,6361,4330, +6157,4215,6158,3500,3676,4929,4331,3713,4930,5912,4265,3776,3368,5587,4470,4855, +3038,4980,3631,6159,6160,4132,4680,6161,6362,3923,4379,5588,4255,6586,4121,6587, +6363,4649,6364,3288,4773,4774,6162,6024,6365,3543,6588,4274,3107,3737,5050,5803, +4797,4522,5589,5051,5730,3714,4887,5378,4001,4523,6163,5026,5522,4701,4175,2791, +3760,6589,5473,4224,4133,3847,4814,4815,4775,3259,5416,6590,2738,6164,6025,5304, +3733,5076,5650,4816,5590,6591,6165,6592,3934,5269,6593,3396,5340,6594,5804,3445, +3602,4042,4488,5731,5732,3525,5591,4601,5196,6166,6026,5172,3642,4612,3202,4506, +4798,6366,3818,5108,4303,5138,5139,4776,3332,4304,2915,3415,4434,5077,5109,4856, +2879,5305,4817,6595,5913,3104,3144,3903,4634,5341,3133,5110,5651,5805,6167,4057, +5592,2945,4371,5593,6596,3474,4182,6367,6597,6168,4507,4279,6598,2822,6599,4777, +4713,5594,3829,6169,3887,5417,6170,3653,5474,6368,4216,2971,5228,3790,4579,6369, +5733,6600,6601,4951,4746,4555,6602,5418,5475,6027,3400,4665,5806,6171,4799,6028, +5052,6172,3343,4800,4747,5006,6370,4556,4217,5476,4396,5229,5379,5477,3839,5914, +5652,5807,4714,3068,4635,5808,6173,5342,4192,5078,5419,5523,5734,6174,4557,6175, +4602,6371,6176,6603,5809,6372,5735,4260,3869,5111,5230,6029,5112,6177,3126,4681, +5524,5915,2706,3563,4748,3130,6178,4018,5525,6604,6605,5478,4012,4837,6606,4534, +4193,5810,4857,3615,5479,6030,4082,3697,3539,4086,5270,3662,4508,4931,5916,4912, +5811,5027,3888,6607,4397,3527,3302,3798,2775,2921,2637,3966,4122,4388,4028,4054, +1633,4858,5079,3024,5007,3982,3412,5736,6608,3426,3236,5595,3030,6179,3427,3336, +3279,3110,6373,3874,3039,5080,5917,5140,4489,3119,6374,5812,3405,4494,6031,4666, +4141,6180,4166,6032,5813,4981,6609,5081,4422,4982,4112,3915,5653,3296,3983,6375, +4266,4410,5654,6610,6181,3436,5082,6611,5380,6033,3819,5596,4535,5231,5306,5113, +6612,4952,5918,4275,3113,6613,6376,6182,6183,5814,3073,4731,4838,5008,3831,6614, +4888,3090,3848,4280,5526,5232,3014,5655,5009,5737,5420,5527,6615,5815,5343,5173, +5381,4818,6616,3151,4953,6617,5738,2796,3204,4360,2989,4281,5739,5174,5421,5197, +3132,5141,3849,5142,5528,5083,3799,3904,4839,5480,2880,4495,3448,6377,6184,5271, +5919,3771,3193,6034,6035,5920,5010,6036,5597,6037,6378,6038,3106,5422,6618,5423, +5424,4142,6619,4889,5084,4890,4313,5740,6620,3437,5175,5307,5816,4199,5198,5529, +5817,5199,5656,4913,5028,5344,3850,6185,2955,5272,5011,5818,4567,4580,5029,5921, +3616,5233,6621,6622,6186,4176,6039,6379,6380,3352,5200,5273,2908,5598,5234,3837, +5308,6623,6624,5819,4496,4323,5309,5201,6625,6626,4983,3194,3838,4167,5530,5922, +5274,6381,6382,3860,3861,5599,3333,4292,4509,6383,3553,5481,5820,5531,4778,6187, +3955,3956,4324,4389,4218,3945,4325,3397,2681,5923,4779,5085,4019,5482,4891,5382, +5383,6040,4682,3425,5275,4094,6627,5310,3015,5483,5657,4398,5924,3168,4819,6628, +5925,6629,5532,4932,4613,6041,6630,4636,6384,4780,4204,5658,4423,5821,3989,4683, +5822,6385,4954,6631,5345,6188,5425,5012,5384,3894,6386,4490,4104,6632,5741,5053, +6633,5823,5926,5659,5660,5927,6634,5235,5742,5824,4840,4933,4820,6387,4859,5928, +4955,6388,4143,3584,5825,5346,5013,6635,5661,6389,5014,5484,5743,4337,5176,5662, +6390,2836,6391,3268,6392,6636,6042,5236,6637,4158,6638,5744,5663,4471,5347,3663, +4123,5143,4293,3895,6639,6640,5311,5929,5826,3800,6189,6393,6190,5664,5348,3554, +3594,4749,4603,6641,5385,4801,6043,5827,4183,6642,5312,5426,4761,6394,5665,6191, +4715,2669,6643,6644,5533,3185,5427,5086,5930,5931,5386,6192,6044,6645,4781,4013, +5745,4282,4435,5534,4390,4267,6045,5746,4984,6046,2743,6193,3501,4087,5485,5932, +5428,4184,4095,5747,4061,5054,3058,3862,5933,5600,6646,5144,3618,6395,3131,5055, +5313,6396,4650,4956,3855,6194,3896,5202,4985,4029,4225,6195,6647,5828,5486,5829, +3589,3002,6648,6397,4782,5276,6649,6196,6650,4105,3803,4043,5237,5830,6398,4096, +3643,6399,3528,6651,4453,3315,4637,6652,3984,6197,5535,3182,3339,6653,3096,2660, +6400,6654,3449,5934,4250,4236,6047,6401,5831,6655,5487,3753,4062,5832,6198,6199, +6656,3766,6657,3403,4667,6048,6658,4338,2897,5833,3880,2797,3780,4326,6659,5748, +5015,6660,5387,4351,5601,4411,6661,3654,4424,5935,4339,4072,5277,4568,5536,6402, +6662,5238,6663,5349,5203,6200,5204,6201,5145,4536,5016,5056,4762,5834,4399,4957, +6202,6403,5666,5749,6664,4340,6665,5936,5177,5667,6666,6667,3459,4668,6404,6668, +6669,4543,6203,6670,4276,6405,4480,5537,6671,4614,5205,5668,6672,3348,2193,4763, +6406,6204,5937,5602,4177,5669,3419,6673,4020,6205,4443,4569,5388,3715,3639,6407, +6049,4058,6206,6674,5938,4544,6050,4185,4294,4841,4651,4615,5488,6207,6408,6051, +5178,3241,3509,5835,6208,4958,5836,4341,5489,5278,6209,2823,5538,5350,5206,5429, +6675,4638,4875,4073,3516,4684,4914,4860,5939,5603,5389,6052,5057,3237,5490,3791, +6676,6409,6677,4821,4915,4106,5351,5058,4243,5539,4244,5604,4842,4916,5239,3028, +3716,5837,5114,5605,5390,5940,5430,6210,4332,6678,5540,4732,3667,3840,6053,4305, +3408,5670,5541,6410,2744,5240,5750,6679,3234,5606,6680,5607,5671,3608,4283,4159, +4400,5352,4783,6681,6411,6682,4491,4802,6211,6412,5941,6413,6414,5542,5751,6683, +4669,3734,5942,6684,6415,5943,5059,3328,4670,4144,4268,6685,6686,6687,6688,4372, +3603,6689,5944,5491,4373,3440,6416,5543,4784,4822,5608,3792,4616,5838,5672,3514, +5391,6417,4892,6690,4639,6691,6054,5673,5839,6055,6692,6056,5392,6212,4038,5544, +5674,4497,6057,6693,5840,4284,5675,4021,4545,5609,6418,4454,6419,6213,4113,4472, +5314,3738,5087,5279,4074,5610,4959,4063,3179,4750,6058,6420,6214,3476,4498,4716, +5431,4960,4685,6215,5241,6694,6421,6216,6695,5841,5945,6422,3748,5946,5179,3905, +5752,5545,5947,4374,6217,4455,6423,4412,6218,4803,5353,6696,3832,5280,6219,4327, +4702,6220,6221,6059,4652,5432,6424,3749,4751,6425,5753,4986,5393,4917,5948,5030, +5754,4861,4733,6426,4703,6697,6222,4671,5949,4546,4961,5180,6223,5031,3316,5281, +6698,4862,4295,4934,5207,3644,6427,5842,5950,6428,6429,4570,5843,5282,6430,6224, +5088,3239,6060,6699,5844,5755,6061,6431,2701,5546,6432,5115,5676,4039,3993,3327, +4752,4425,5315,6433,3941,6434,5677,4617,4604,3074,4581,6225,5433,6435,6226,6062, +4823,5756,5116,6227,3717,5678,4717,5845,6436,5679,5846,6063,5847,6064,3977,3354, +6437,3863,5117,6228,5547,5394,4499,4524,6229,4605,6230,4306,4500,6700,5951,6065, +3693,5952,5089,4366,4918,6701,6231,5548,6232,6702,6438,4704,5434,6703,6704,5953, +4168,6705,5680,3420,6706,5242,4407,6066,3812,5757,5090,5954,4672,4525,3481,5681, +4618,5395,5354,5316,5955,6439,4962,6707,4526,6440,3465,4673,6067,6441,5682,6708, +5435,5492,5758,5683,4619,4571,4674,4804,4893,4686,5493,4753,6233,6068,4269,6442, +6234,5032,4705,5146,5243,5208,5848,6235,6443,4963,5033,4640,4226,6236,5849,3387, +6444,6445,4436,4437,5850,4843,5494,4785,4894,6709,4361,6710,5091,5956,3331,6237, +4987,5549,6069,6711,4342,3517,4473,5317,6070,6712,6071,4706,6446,5017,5355,6713, +6714,4988,5436,6447,4734,5759,6715,4735,4547,4456,4754,6448,5851,6449,6450,3547, +5852,5318,6451,6452,5092,4205,6716,6238,4620,4219,5611,6239,6072,4481,5760,5957, +5958,4059,6240,6453,4227,4537,6241,5761,4030,4186,5244,5209,3761,4457,4876,3337, +5495,5181,6242,5959,5319,5612,5684,5853,3493,5854,6073,4169,5613,5147,4895,6074, +5210,6717,5182,6718,3830,6243,2798,3841,6075,6244,5855,5614,3604,4606,5496,5685, +5118,5356,6719,6454,5960,5357,5961,6720,4145,3935,4621,5119,5962,4261,6721,6455, +4786,5963,4375,4582,6245,6246,6247,6076,5437,4877,5856,3376,4380,6248,4160,6722, +5148,6456,5211,6457,6723,4718,6458,6724,6249,5358,4044,3297,6459,6250,5857,5615, +5497,5245,6460,5498,6725,6251,6252,5550,3793,5499,2959,5396,6461,6462,4572,5093, +5500,5964,3806,4146,6463,4426,5762,5858,6077,6253,4755,3967,4220,5965,6254,4989, +5501,6464,4352,6726,6078,4764,2290,5246,3906,5438,5283,3767,4964,2861,5763,5094, +6255,6256,4622,5616,5859,5860,4707,6727,4285,4708,4824,5617,6257,5551,4787,5212, +4965,4935,4687,6465,6728,6466,5686,6079,3494,4413,2995,5247,5966,5618,6729,5967, +5764,5765,5687,5502,6730,6731,6080,5397,6467,4990,6258,6732,4538,5060,5619,6733, +4719,5688,5439,5018,5149,5284,5503,6734,6081,4607,6259,5120,3645,5861,4583,6260, +4584,4675,5620,4098,5440,6261,4863,2379,3306,4585,5552,5689,4586,5285,6735,4864, +6736,5286,6082,6737,4623,3010,4788,4381,4558,5621,4587,4896,3698,3161,5248,4353, +4045,6262,3754,5183,4588,6738,6263,6739,6740,5622,3936,6741,6468,6742,6264,5095, +6469,4991,5968,6743,4992,6744,6083,4897,6745,4256,5766,4307,3108,3968,4444,5287, +3889,4343,6084,4510,6085,4559,6086,4898,5969,6746,5623,5061,4919,5249,5250,5504, +5441,6265,5320,4878,3242,5862,5251,3428,6087,6747,4237,5624,5442,6266,5553,4539, +6748,2585,3533,5398,4262,6088,5150,4736,4438,6089,6267,5505,4966,6749,6268,6750, +6269,5288,5554,3650,6090,6091,4624,6092,5690,6751,5863,4270,5691,4277,5555,5864, +6752,5692,4720,4865,6470,5151,4688,4825,6753,3094,6754,6471,3235,4653,6755,5213, +5399,6756,3201,4589,5865,4967,6472,5866,6473,5019,3016,6757,5321,4756,3957,4573, +6093,4993,5767,4721,6474,6758,5625,6759,4458,6475,6270,6760,5556,4994,5214,5252, +6271,3875,5768,6094,5034,5506,4376,5769,6761,2120,6476,5253,5770,6762,5771,5970, +3990,5971,5557,5558,5772,6477,6095,2787,4641,5972,5121,6096,6097,6272,6763,3703, +5867,5507,6273,4206,6274,4789,6098,6764,3619,3646,3833,3804,2394,3788,4936,3978, +4866,4899,6099,6100,5559,6478,6765,3599,5868,6101,5869,5870,6275,6766,4527,6767, +*******************************************************************************/ +}; + + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JISFreq.tab b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JISFreq.tab new file mode 100644 index 0000000..715321f --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JISFreq.tab @@ -0,0 +1,589 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +//Sampling from about 20M text materials include literature and computer technology + +// Japanese frequency table, applied to both S-JIS and EUC-JP +//They are sorted in order. + +/****************************************************************************** + * 128 --> 0.77094 + * 256 --> 0.85710 + * 512 --> 0.92635 + * 1024 --> 0.97130 + * 2048 --> 0.99431 + * + * Idea Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 + * Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 + * + * Typical Distribution Ratio, 25% of IDR + *****************************************************************************/ + +#define JIS_TYPICAL_DISTRIBUTION_RATIO (float) 3.0 + + +//Char to FreqOrder table , +#define JIS_TABLE_SIZE 4368 + +static const PRInt16 JISCharToFreqOrder[] = +{ + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, // 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, // 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, // 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, // 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, // 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, // 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, // 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, // 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, // 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, // 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, // 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, // 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, // 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, // 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, // 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, // 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, // 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, // 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, // 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, // 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, // 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, // 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, // 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, // 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, // 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, // 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, // 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, // 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, // 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, // 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, // 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, // 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, // 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, // 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, // 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, // 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, // 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, // 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, // 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, // 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, // 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, // 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, // 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, // 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, // 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, // 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, // 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, // 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, // 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, // 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, // 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, // 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, // 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, // 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, // 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, // 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, // 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, // 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, // 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, // 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, // 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, // 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, // 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, // 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, // 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, // 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, // 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, // 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, // 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, // 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, // 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, // 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, // 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, // 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, // 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, // 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, // 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, // 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, // 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, // 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, // 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, // 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, // 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, // 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, // 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, // 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, // 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, // 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, // 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, // 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, // 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, // 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, // 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, // 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, // 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, // 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, // 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, // 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, // 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, // 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, // 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, // 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, // 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, // 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, // 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, // 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, // 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, // 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, // 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, // 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, // 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, // 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, // 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, // 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, // 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, // 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, // 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, // 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, // 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, // 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, // 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, // 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, // 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, // 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, // 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, // 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, // 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, // 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, // 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, // 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, // 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, // 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, // 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, // 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, // 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, // 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, // 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, // 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, // 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, // 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, // 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, // 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, // 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, // 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, // 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, // 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, // 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, // 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, // 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, // 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, // 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, // 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, // 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, // 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, // 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, // 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, // 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, // 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, // 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, // 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, // 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, // 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, // 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, // 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, // 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, // 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, // 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, // 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, // 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, // 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, // 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, // 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, // 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, // 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, // 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, // 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, // 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, // 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, // 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, // 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, // 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, // 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, // 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, // 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, // 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, // 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, // 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, // 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, // 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, // 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, // 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, // 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, // 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, // 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, // 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, // 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, // 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, // 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, // 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, // 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, // 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, // 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, // 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, // 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, // 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, // 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, // 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, // 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, // 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, // 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, // 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, // 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, // 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, // 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, // 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, // 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, // 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, // 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, // 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, // 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, // 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, // 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, // 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, // 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, // 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, // 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, // 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, // 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, // 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, // 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, // 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, // 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, // 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, // 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, // 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, // 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, // 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, // 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, // 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, // 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, // 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, // 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, // 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, // 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, // 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, // 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, // 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, // 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, // 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, // 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, // 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, // 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, // 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, // 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, // 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, // 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, // 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, // 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, // 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, // 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, // 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, // 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, // 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, // 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, // 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, // 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, // 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, // 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, // 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, // 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, // 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, // 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, // 4368 //last 512 + +/*************************************************************************************** + *Everything below is of no interest for detection purpose * + *************************************************************************************** + +2138,2122,3730,2888,1995,1820,1044,6190,6191,6192,6193,6194,6195,6196,6197,6198, // 4384 +6199,6200,6201,6202,6203,6204,6205,4670,6206,6207,6208,6209,6210,6211,6212,6213, // 4400 +6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229, // 4416 +6230,6231,6232,6233,6234,6235,6236,6237,3187,6238,6239,3969,6240,6241,6242,6243, // 4432 +6244,4671,6245,6246,4672,6247,6248,4133,6249,6250,4364,6251,2923,2556,2613,4673, // 4448 +4365,3970,6252,6253,6254,6255,4674,6256,6257,6258,2768,2353,4366,4675,4676,3188, // 4464 +4367,3463,6259,4134,4677,4678,6260,2267,6261,3842,3332,4368,3543,6262,6263,6264, // 4480 +3013,1954,1928,4135,4679,6265,6266,2478,3091,6267,4680,4369,6268,6269,1699,6270, // 4496 +3544,4136,4681,6271,4137,6272,4370,2804,6273,6274,2593,3971,3972,4682,6275,2236, // 4512 +4683,6276,6277,4684,6278,6279,4138,3973,4685,6280,6281,3258,6282,6283,6284,6285, // 4528 +3974,4686,2841,3975,6286,6287,3545,6288,6289,4139,4687,4140,6290,4141,6291,4142, // 4544 +6292,6293,3333,6294,6295,6296,4371,6297,3399,6298,6299,4372,3976,6300,6301,6302, // 4560 +4373,6303,6304,3843,3731,6305,4688,4374,6306,6307,3259,2294,6308,3732,2530,4143, // 4576 +6309,4689,6310,6311,6312,3048,6313,6314,4690,3733,2237,6315,6316,2282,3334,6317, // 4592 +6318,3844,6319,6320,4691,6321,3400,4692,6322,4693,6323,3049,6324,4375,6325,3977, // 4608 +6326,6327,6328,3546,6329,4694,3335,6330,4695,4696,6331,6332,6333,6334,4376,3978, // 4624 +6335,4697,3979,4144,6336,3980,4698,6337,6338,6339,6340,6341,4699,4700,4701,6342, // 4640 +6343,4702,6344,6345,4703,6346,6347,4704,6348,4705,4706,3135,6349,4707,6350,4708, // 4656 +6351,4377,6352,4709,3734,4145,6353,2506,4710,3189,6354,3050,4711,3981,6355,3547, // 4672 +3014,4146,4378,3735,2651,3845,3260,3136,2224,1986,6356,3401,6357,4712,2594,3627, // 4688 +3137,2573,3736,3982,4713,3628,4714,4715,2682,3629,4716,6358,3630,4379,3631,6359, // 4704 +6360,6361,3983,6362,6363,6364,6365,4147,3846,4717,6366,6367,3737,2842,6368,4718, // 4720 +2628,6369,3261,6370,2386,6371,6372,3738,3984,4719,3464,4720,3402,6373,2924,3336, // 4736 +4148,2866,6374,2805,3262,4380,2704,2069,2531,3138,2806,2984,6375,2769,6376,4721, // 4752 +4722,3403,6377,6378,3548,6379,6380,2705,3092,1979,4149,2629,3337,2889,6381,3338, // 4768 +4150,2557,3339,4381,6382,3190,3263,3739,6383,4151,4723,4152,2558,2574,3404,3191, // 4784 +6384,6385,4153,6386,4724,4382,6387,6388,4383,6389,6390,4154,6391,4725,3985,6392, // 4800 +3847,4155,6393,6394,6395,6396,6397,3465,6398,4384,6399,6400,6401,6402,6403,6404, // 4816 +4156,6405,6406,6407,6408,2123,6409,6410,2326,3192,4726,6411,6412,6413,6414,4385, // 4832 +4157,6415,6416,4158,6417,3093,3848,6418,3986,6419,6420,3849,6421,6422,6423,4159, // 4848 +6424,6425,4160,6426,3740,6427,6428,6429,6430,3987,6431,4727,6432,2238,6433,6434, // 4864 +4386,3988,6435,6436,3632,6437,6438,2843,6439,6440,6441,6442,3633,6443,2958,6444, // 4880 +6445,3466,6446,2364,4387,3850,6447,4388,2959,3340,6448,3851,6449,4728,6450,6451, // 4896 +3264,4729,6452,3193,6453,4389,4390,2706,3341,4730,6454,3139,6455,3194,6456,3051, // 4912 +2124,3852,1602,4391,4161,3853,1158,3854,4162,3989,4392,3990,4731,4732,4393,2040, // 4928 +4163,4394,3265,6457,2807,3467,3855,6458,6459,6460,3991,3468,4733,4734,6461,3140, // 4944 +2960,6462,4735,6463,6464,6465,6466,4736,4737,4738,4739,6467,6468,4164,2403,3856, // 4960 +6469,6470,2770,2844,6471,4740,6472,6473,6474,6475,6476,6477,6478,3195,6479,4741, // 4976 +4395,6480,2867,6481,4742,2808,6482,2493,4165,6483,6484,6485,6486,2295,4743,6487, // 4992 +6488,6489,3634,6490,6491,6492,6493,6494,6495,6496,2985,4744,6497,6498,4745,6499, // 5008 +6500,2925,3141,4166,6501,6502,4746,6503,6504,4747,6505,6506,6507,2890,6508,6509, // 5024 +6510,6511,6512,6513,6514,6515,6516,6517,6518,6519,3469,4167,6520,6521,6522,4748, // 5040 +4396,3741,4397,4749,4398,3342,2125,4750,6523,4751,4752,4753,3052,6524,2961,4168, // 5056 +6525,4754,6526,4755,4399,2926,4169,6527,3857,6528,4400,4170,6529,4171,6530,6531, // 5072 +2595,6532,6533,6534,6535,3635,6536,6537,6538,6539,6540,6541,6542,4756,6543,6544, // 5088 +6545,6546,6547,6548,4401,6549,6550,6551,6552,4402,3405,4757,4403,6553,6554,6555, // 5104 +4172,3742,6556,6557,6558,3992,3636,6559,6560,3053,2726,6561,3549,4173,3054,4404, // 5120 +6562,6563,3993,4405,3266,3550,2809,4406,6564,6565,6566,4758,4759,6567,3743,6568, // 5136 +4760,3744,4761,3470,6569,6570,6571,4407,6572,3745,4174,6573,4175,2810,4176,3196, // 5152 +4762,6574,4177,6575,6576,2494,2891,3551,6577,6578,3471,6579,4408,6580,3015,3197, // 5168 +6581,3343,2532,3994,3858,6582,3094,3406,4409,6583,2892,4178,4763,4410,3016,4411, // 5184 +6584,3995,3142,3017,2683,6585,4179,6586,6587,4764,4412,6588,6589,4413,6590,2986, // 5200 +6591,2962,3552,6592,2963,3472,6593,6594,4180,4765,6595,6596,2225,3267,4414,6597, // 5216 +3407,3637,4766,6598,6599,3198,6600,4415,6601,3859,3199,6602,3473,4767,2811,4416, // 5232 +1856,3268,3200,2575,3996,3997,3201,4417,6603,3095,2927,6604,3143,6605,2268,6606, // 5248 +3998,3860,3096,2771,6607,6608,3638,2495,4768,6609,3861,6610,3269,2745,4769,4181, // 5264 +3553,6611,2845,3270,6612,6613,6614,3862,6615,6616,4770,4771,6617,3474,3999,4418, // 5280 +4419,6618,3639,3344,6619,4772,4182,6620,2126,6621,6622,6623,4420,4773,6624,3018, // 5296 +6625,4774,3554,6626,4183,2025,3746,6627,4184,2707,6628,4421,4422,3097,1775,4185, // 5312 +3555,6629,6630,2868,6631,6632,4423,6633,6634,4424,2414,2533,2928,6635,4186,2387, // 5328 +6636,4775,6637,4187,6638,1891,4425,3202,3203,6639,6640,4776,6641,3345,6642,6643, // 5344 +3640,6644,3475,3346,3641,4000,6645,3144,6646,3098,2812,4188,3642,3204,6647,3863, // 5360 +3476,6648,3864,6649,4426,4001,6650,6651,6652,2576,6653,4189,4777,6654,6655,6656, // 5376 +2846,6657,3477,3205,4002,6658,4003,6659,3347,2252,6660,6661,6662,4778,6663,6664, // 5392 +6665,6666,6667,6668,6669,4779,4780,2048,6670,3478,3099,6671,3556,3747,4004,6672, // 5408 +6673,6674,3145,4005,3748,6675,6676,6677,6678,6679,3408,6680,6681,6682,6683,3206, // 5424 +3207,6684,6685,4781,4427,6686,4782,4783,4784,6687,6688,6689,4190,6690,6691,3479, // 5440 +6692,2746,6693,4428,6694,6695,6696,6697,6698,6699,4785,6700,6701,3208,2727,6702, // 5456 +3146,6703,6704,3409,2196,6705,4429,6706,6707,6708,2534,1996,6709,6710,6711,2747, // 5472 +6712,6713,6714,4786,3643,6715,4430,4431,6716,3557,6717,4432,4433,6718,6719,6720, // 5488 +6721,3749,6722,4006,4787,6723,6724,3644,4788,4434,6725,6726,4789,2772,6727,6728, // 5504 +6729,6730,6731,2708,3865,2813,4435,6732,6733,4790,4791,3480,6734,6735,6736,6737, // 5520 +4436,3348,6738,3410,4007,6739,6740,4008,6741,6742,4792,3411,4191,6743,6744,6745, // 5536 +6746,6747,3866,6748,3750,6749,6750,6751,6752,6753,6754,6755,3867,6756,4009,6757, // 5552 +4793,4794,6758,2814,2987,6759,6760,6761,4437,6762,6763,6764,6765,3645,6766,6767, // 5568 +3481,4192,6768,3751,6769,6770,2174,6771,3868,3752,6772,6773,6774,4193,4795,4438, // 5584 +3558,4796,4439,6775,4797,6776,6777,4798,6778,4799,3559,4800,6779,6780,6781,3482, // 5600 +6782,2893,6783,6784,4194,4801,4010,6785,6786,4440,6787,4011,6788,6789,6790,6791, // 5616 +6792,6793,4802,6794,6795,6796,4012,6797,6798,6799,6800,3349,4803,3483,6801,4804, // 5632 +4195,6802,4013,6803,6804,4196,6805,4014,4015,6806,2847,3271,2848,6807,3484,6808, // 5648 +6809,6810,4441,6811,4442,4197,4443,3272,4805,6812,3412,4016,1579,6813,6814,4017, // 5664 +6815,3869,6816,2964,6817,4806,6818,6819,4018,3646,6820,6821,4807,4019,4020,6822, // 5680 +6823,3560,6824,6825,4021,4444,6826,4198,6827,6828,4445,6829,6830,4199,4808,6831, // 5696 +6832,6833,3870,3019,2458,6834,3753,3413,3350,6835,4809,3871,4810,3561,4446,6836, // 5712 +6837,4447,4811,4812,6838,2459,4448,6839,4449,6840,6841,4022,3872,6842,4813,4814, // 5728 +6843,6844,4815,4200,4201,4202,6845,4023,6846,6847,4450,3562,3873,6848,6849,4816, // 5744 +4817,6850,4451,4818,2139,6851,3563,6852,6853,3351,6854,6855,3352,4024,2709,3414, // 5760 +4203,4452,6856,4204,6857,6858,3874,3875,6859,6860,4819,6861,6862,6863,6864,4453, // 5776 +3647,6865,6866,4820,6867,6868,6869,6870,4454,6871,2869,6872,6873,4821,6874,3754, // 5792 +6875,4822,4205,6876,6877,6878,3648,4206,4455,6879,4823,6880,4824,3876,6881,3055, // 5808 +4207,6882,3415,6883,6884,6885,4208,4209,6886,4210,3353,6887,3354,3564,3209,3485, // 5824 +2652,6888,2728,6889,3210,3755,6890,4025,4456,6891,4825,6892,6893,6894,6895,4211, // 5840 +6896,6897,6898,4826,6899,6900,4212,6901,4827,6902,2773,3565,6903,4828,6904,6905, // 5856 +6906,6907,3649,3650,6908,2849,3566,6909,3567,3100,6910,6911,6912,6913,6914,6915, // 5872 +4026,6916,3355,4829,3056,4457,3756,6917,3651,6918,4213,3652,2870,6919,4458,6920, // 5888 +2438,6921,6922,3757,2774,4830,6923,3356,4831,4832,6924,4833,4459,3653,2507,6925, // 5904 +4834,2535,6926,6927,3273,4027,3147,6928,3568,6929,6930,6931,4460,6932,3877,4461, // 5920 +2729,3654,6933,6934,6935,6936,2175,4835,2630,4214,4028,4462,4836,4215,6937,3148, // 5936 +4216,4463,4837,4838,4217,6938,6939,2850,4839,6940,4464,6941,6942,6943,4840,6944, // 5952 +4218,3274,4465,6945,6946,2710,6947,4841,4466,6948,6949,2894,6950,6951,4842,6952, // 5968 +4219,3057,2871,6953,6954,6955,6956,4467,6957,2711,6958,6959,6960,3275,3101,4843, // 5984 +6961,3357,3569,6962,4844,6963,6964,4468,4845,3570,6965,3102,4846,3758,6966,4847, // 6000 +3878,4848,4849,4029,6967,2929,3879,4850,4851,6968,6969,1733,6970,4220,6971,6972, // 6016 +6973,6974,6975,6976,4852,6977,6978,6979,6980,6981,6982,3759,6983,6984,6985,3486, // 6032 +3487,6986,3488,3416,6987,6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,4853, // 6048 +6998,6999,4030,7000,7001,3211,7002,7003,4221,7004,7005,3571,4031,7006,3572,7007, // 6064 +2614,4854,2577,7008,7009,2965,3655,3656,4855,2775,3489,3880,4222,4856,3881,4032, // 6080 +3882,3657,2730,3490,4857,7010,3149,7011,4469,4858,2496,3491,4859,2283,7012,7013, // 6096 +7014,2365,4860,4470,7015,7016,3760,7017,7018,4223,1917,7019,7020,7021,4471,7022, // 6112 +2776,4472,7023,7024,7025,7026,4033,7027,3573,4224,4861,4034,4862,7028,7029,1929, // 6128 +3883,4035,7030,4473,3058,7031,2536,3761,3884,7032,4036,7033,2966,2895,1968,4474, // 6144 +3276,4225,3417,3492,4226,2105,7034,7035,1754,2596,3762,4227,4863,4475,3763,4864, // 6160 +3764,2615,2777,3103,3765,3658,3418,4865,2296,3766,2815,7036,7037,7038,3574,2872, // 6176 +3277,4476,7039,4037,4477,7040,7041,4038,7042,7043,7044,7045,7046,7047,2537,7048, // 6192 +7049,7050,7051,7052,7053,7054,4478,7055,7056,3767,3659,4228,3575,7057,7058,4229, // 6208 +7059,7060,7061,3660,7062,3212,7063,3885,4039,2460,7064,7065,7066,7067,7068,7069, // 6224 +7070,7071,7072,7073,7074,4866,3768,4867,7075,7076,7077,7078,4868,3358,3278,2653, // 6240 +7079,7080,4479,3886,7081,7082,4869,7083,7084,7085,7086,7087,7088,2538,7089,7090, // 6256 +7091,4040,3150,3769,4870,4041,2896,3359,4230,2930,7092,3279,7093,2967,4480,3213, // 6272 +4481,3661,7094,7095,7096,7097,7098,7099,7100,7101,7102,2461,3770,7103,7104,4231, // 6288 +3151,7105,7106,7107,4042,3662,7108,7109,4871,3663,4872,4043,3059,7110,7111,7112, // 6304 +3493,2988,7113,4873,7114,7115,7116,3771,4874,7117,7118,4232,4875,7119,3576,2336, // 6320 +4876,7120,4233,3419,4044,4877,4878,4482,4483,4879,4484,4234,7121,3772,4880,1045, // 6336 +3280,3664,4881,4882,7122,7123,7124,7125,4883,7126,2778,7127,4485,4486,7128,4884, // 6352 +3214,3887,7129,7130,3215,7131,4885,4045,7132,7133,4046,7134,7135,7136,7137,7138, // 6368 +7139,7140,7141,7142,7143,4235,7144,4886,7145,7146,7147,4887,7148,7149,7150,4487, // 6384 +4047,4488,7151,7152,4888,4048,2989,3888,7153,3665,7154,4049,7155,7156,7157,7158, // 6400 +7159,7160,2931,4889,4890,4489,7161,2631,3889,4236,2779,7162,7163,4891,7164,3060, // 6416 +7165,1672,4892,7166,4893,4237,3281,4894,7167,7168,3666,7169,3494,7170,7171,4050, // 6432 +7172,7173,3104,3360,3420,4490,4051,2684,4052,7174,4053,7175,7176,7177,2253,4054, // 6448 +7178,7179,4895,7180,3152,3890,3153,4491,3216,7181,7182,7183,2968,4238,4492,4055, // 6464 +7184,2990,7185,2479,7186,7187,4493,7188,7189,7190,7191,7192,4896,7193,4897,2969, // 6480 +4494,4898,7194,3495,7195,7196,4899,4495,7197,3105,2731,7198,4900,7199,7200,7201, // 6496 +4056,7202,3361,7203,7204,4496,4901,4902,7205,4497,7206,7207,2315,4903,7208,4904, // 6512 +7209,4905,2851,7210,7211,3577,7212,3578,4906,7213,4057,3667,4907,7214,4058,2354, // 6528 +3891,2376,3217,3773,7215,7216,7217,7218,7219,4498,7220,4908,3282,2685,7221,3496, // 6544 +4909,2632,3154,4910,7222,2337,7223,4911,7224,7225,7226,4912,4913,3283,4239,4499, // 6560 +7227,2816,7228,7229,7230,7231,7232,7233,7234,4914,4500,4501,7235,7236,7237,2686, // 6576 +7238,4915,7239,2897,4502,7240,4503,7241,2516,7242,4504,3362,3218,7243,7244,7245, // 6592 +4916,7246,7247,4505,3363,7248,7249,7250,7251,3774,4506,7252,7253,4917,7254,7255, // 6608 +3284,2991,4918,4919,3219,3892,4920,3106,3497,4921,7256,7257,7258,4922,7259,4923, // 6624 +3364,4507,4508,4059,7260,4240,3498,7261,7262,4924,7263,2992,3893,4060,3220,7264, // 6640 +7265,7266,7267,7268,7269,4509,3775,7270,2817,7271,4061,4925,4510,3776,7272,4241, // 6656 +4511,3285,7273,7274,3499,7275,7276,7277,4062,4512,4926,7278,3107,3894,7279,7280, // 6672 +4927,7281,4513,7282,7283,3668,7284,7285,4242,4514,4243,7286,2058,4515,4928,4929, // 6688 +4516,7287,3286,4244,7288,4517,7289,7290,7291,3669,7292,7293,4930,4931,4932,2355, // 6704 +4933,7294,2633,4518,7295,4245,7296,7297,4519,7298,7299,4520,4521,4934,7300,4246, // 6720 +4522,7301,7302,7303,3579,7304,4247,4935,7305,4936,7306,7307,7308,7309,3777,7310, // 6736 +4523,7311,7312,7313,4248,3580,7314,4524,3778,4249,7315,3581,7316,3287,7317,3221, // 6752 +7318,4937,7319,7320,7321,7322,7323,7324,4938,4939,7325,4525,7326,7327,7328,4063, // 6768 +7329,7330,4940,7331,7332,4941,7333,4526,7334,3500,2780,1741,4942,2026,1742,7335, // 6784 +7336,3582,4527,2388,7337,7338,7339,4528,7340,4250,4943,7341,7342,7343,4944,7344, // 6800 +7345,7346,3020,7347,4945,7348,7349,7350,7351,3895,7352,3896,4064,3897,7353,7354, // 6816 +7355,4251,7356,7357,3898,7358,3779,7359,3780,3288,7360,7361,4529,7362,4946,4530, // 6832 +2027,7363,3899,4531,4947,3222,3583,7364,4948,7365,7366,7367,7368,4949,3501,4950, // 6848 +3781,4951,4532,7369,2517,4952,4252,4953,3155,7370,4954,4955,4253,2518,4533,7371, // 6864 +7372,2712,4254,7373,7374,7375,3670,4956,3671,7376,2389,3502,4065,7377,2338,7378, // 6880 +7379,7380,7381,3061,7382,4957,7383,7384,7385,7386,4958,4534,7387,7388,2993,7389, // 6896 +3062,7390,4959,7391,7392,7393,4960,3108,4961,7394,4535,7395,4962,3421,4536,7396, // 6912 +4963,7397,4964,1857,7398,4965,7399,7400,2176,3584,4966,7401,7402,3422,4537,3900, // 6928 +3585,7403,3782,7404,2852,7405,7406,7407,4538,3783,2654,3423,4967,4539,7408,3784, // 6944 +3586,2853,4540,4541,7409,3901,7410,3902,7411,7412,3785,3109,2327,3903,7413,7414, // 6960 +2970,4066,2932,7415,7416,7417,3904,3672,3424,7418,4542,4543,4544,7419,4968,7420, // 6976 +7421,4255,7422,7423,7424,7425,7426,4067,7427,3673,3365,4545,7428,3110,2559,3674, // 6992 +7429,7430,3156,7431,7432,3503,7433,3425,4546,7434,3063,2873,7435,3223,4969,4547, // 7008 +4548,2898,4256,4068,7436,4069,3587,3786,2933,3787,4257,4970,4971,3788,7437,4972, // 7024 +3064,7438,4549,7439,7440,7441,7442,7443,4973,3905,7444,2874,7445,7446,7447,7448, // 7040 +3021,7449,4550,3906,3588,4974,7450,7451,3789,3675,7452,2578,7453,4070,7454,7455, // 7056 +7456,4258,3676,7457,4975,7458,4976,4259,3790,3504,2634,4977,3677,4551,4260,7459, // 7072 +7460,7461,7462,3907,4261,4978,7463,7464,7465,7466,4979,4980,7467,7468,2213,4262, // 7088 +7469,7470,7471,3678,4981,7472,2439,7473,4263,3224,3289,7474,3908,2415,4982,7475, // 7104 +4264,7476,4983,2655,7477,7478,2732,4552,2854,2875,7479,7480,4265,7481,4553,4984, // 7120 +7482,7483,4266,7484,3679,3366,3680,2818,2781,2782,3367,3589,4554,3065,7485,4071, // 7136 +2899,7486,7487,3157,2462,4072,4555,4073,4985,4986,3111,4267,2687,3368,4556,4074, // 7152 +3791,4268,7488,3909,2783,7489,2656,1962,3158,4557,4987,1963,3159,3160,7490,3112, // 7168 +4988,4989,3022,4990,4991,3792,2855,7491,7492,2971,4558,7493,7494,4992,7495,7496, // 7184 +7497,7498,4993,7499,3426,4559,4994,7500,3681,4560,4269,4270,3910,7501,4075,4995, // 7200 +4271,7502,7503,4076,7504,4996,7505,3225,4997,4272,4077,2819,3023,7506,7507,2733, // 7216 +4561,7508,4562,7509,3369,3793,7510,3590,2508,7511,7512,4273,3113,2994,2616,7513, // 7232 +7514,7515,7516,7517,7518,2820,3911,4078,2748,7519,7520,4563,4998,7521,7522,7523, // 7248 +7524,4999,4274,7525,4564,3682,2239,4079,4565,7526,7527,7528,7529,5000,7530,7531, // 7264 +5001,4275,3794,7532,7533,7534,3066,5002,4566,3161,7535,7536,4080,7537,3162,7538, // 7280 +7539,4567,7540,7541,7542,7543,7544,7545,5003,7546,4568,7547,7548,7549,7550,7551, // 7296 +7552,7553,7554,7555,7556,5004,7557,7558,7559,5005,7560,3795,7561,4569,7562,7563, // 7312 +7564,2821,3796,4276,4277,4081,7565,2876,7566,5006,7567,7568,2900,7569,3797,3912, // 7328 +7570,7571,7572,4278,7573,7574,7575,5007,7576,7577,5008,7578,7579,4279,2934,7580, // 7344 +7581,5009,7582,4570,7583,4280,7584,7585,7586,4571,4572,3913,7587,4573,3505,7588, // 7360 +5010,7589,7590,7591,7592,3798,4574,7593,7594,5011,7595,4281,7596,7597,7598,4282, // 7376 +5012,7599,7600,5013,3163,7601,5014,7602,3914,7603,7604,2734,4575,4576,4577,7605, // 7392 +7606,7607,7608,7609,3506,5015,4578,7610,4082,7611,2822,2901,2579,3683,3024,4579, // 7408 +3507,7612,4580,7613,3226,3799,5016,7614,7615,7616,7617,7618,7619,7620,2995,3290, // 7424 +7621,4083,7622,5017,7623,7624,7625,7626,7627,4581,3915,7628,3291,7629,5018,7630, // 7440 +7631,7632,7633,4084,7634,7635,3427,3800,7636,7637,4582,7638,5019,4583,5020,7639, // 7456 +3916,7640,3801,5021,4584,4283,7641,7642,3428,3591,2269,7643,2617,7644,4585,3592, // 7472 +7645,4586,2902,7646,7647,3227,5022,7648,4587,7649,4284,7650,7651,7652,4588,2284, // 7488 +7653,5023,7654,7655,7656,4589,5024,3802,7657,7658,5025,3508,4590,7659,7660,7661, // 7504 +1969,5026,7662,7663,3684,1821,2688,7664,2028,2509,4285,7665,2823,1841,7666,2689, // 7520 +3114,7667,3917,4085,2160,5027,5028,2972,7668,5029,7669,7670,7671,3593,4086,7672, // 7536 +4591,4087,5030,3803,7673,7674,7675,7676,7677,7678,7679,4286,2366,4592,4593,3067, // 7552 +2328,7680,7681,4594,3594,3918,2029,4287,7682,5031,3919,3370,4288,4595,2856,7683, // 7568 +3509,7684,7685,5032,5033,7686,7687,3804,2784,7688,7689,7690,7691,3371,7692,7693, // 7584 +2877,5034,7694,7695,3920,4289,4088,7696,7697,7698,5035,7699,5036,4290,5037,5038, // 7600 +5039,7700,7701,7702,5040,5041,3228,7703,1760,7704,5042,3229,4596,2106,4089,7705, // 7616 +4597,2824,5043,2107,3372,7706,4291,4090,5044,7707,4091,7708,5045,3025,3805,4598, // 7632 +4292,4293,4294,3373,7709,4599,7710,5046,7711,7712,5047,5048,3806,7713,7714,7715, // 7648 +5049,7716,7717,7718,7719,4600,5050,7720,7721,7722,5051,7723,4295,3429,7724,7725, // 7664 +7726,7727,3921,7728,3292,5052,4092,7729,7730,7731,7732,7733,7734,7735,5053,5054, // 7680 +7736,7737,7738,7739,3922,3685,7740,7741,7742,7743,2635,5055,7744,5056,4601,7745, // 7696 +7746,2560,7747,7748,7749,7750,3923,7751,7752,7753,7754,7755,4296,2903,7756,7757, // 7712 +7758,7759,7760,3924,7761,5057,4297,7762,7763,5058,4298,7764,4093,7765,7766,5059, // 7728 +3925,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,3595,7777,4299,5060,4094, // 7744 +7778,3293,5061,7779,7780,4300,7781,7782,4602,7783,3596,7784,7785,3430,2367,7786, // 7760 +3164,5062,5063,4301,7787,7788,4095,5064,5065,7789,3374,3115,7790,7791,7792,7793, // 7776 +7794,7795,7796,3597,4603,7797,7798,3686,3116,3807,5066,7799,7800,5067,7801,7802, // 7792 +4604,4302,5068,4303,4096,7803,7804,3294,7805,7806,5069,4605,2690,7807,3026,7808, // 7808 +7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824, // 7824 +7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, // 7840 +7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856, // 7856 +7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,7872, // 7872 +7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,7888, // 7888 +7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,7904, // 7904 +7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,7920, // 7920 +7921,7922,7923,7924,3926,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, // 7936 +7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, // 7952 +7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, // 7968 +7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, // 7984 +7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, // 8000 +8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, // 8016 +8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, // 8032 +8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, // 8048 +8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, // 8064 +8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, // 8080 +8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, // 8096 +8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, // 8112 +8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, // 8128 +8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, // 8144 +8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, // 8160 +8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, // 8176 +8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, // 8192 +8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, // 8208 +8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, // 8224 +8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, // 8240 +8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, // 8256 +8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271, // 8272 +****************************************************************************************/ + +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.cpp new file mode 100644 index 0000000..ecf8087 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.cpp @@ -0,0 +1,230 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nscore.h" +#include "JpCntx.h" + +//This is hiragana 2-char sequence table, the number in each cell represents its frequency category +const PRUint8 jp2CharContext[83][83] = +{ +{ 0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,}, +{ 2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4,}, +{ 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,}, +{ 0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4,}, +{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, +{ 0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4,}, +{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, +{ 0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3,}, +{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, +{ 0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4,}, +{ 1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4,}, +{ 0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3,}, +{ 0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3,}, +{ 0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3,}, +{ 0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4,}, +{ 0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3,}, +{ 2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4,}, +{ 0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3,}, +{ 0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5,}, +{ 0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3,}, +{ 2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5,}, +{ 0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4,}, +{ 1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4,}, +{ 0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3,}, +{ 0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3,}, +{ 0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3,}, +{ 0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5,}, +{ 0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4,}, +{ 0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5,}, +{ 0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3,}, +{ 0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4,}, +{ 0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4,}, +{ 0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4,}, +{ 0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1,}, +{ 0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,}, +{ 1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3,}, +{ 0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0,}, +{ 0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3,}, +{ 0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3,}, +{ 0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5,}, +{ 0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4,}, +{ 2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5,}, +{ 0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3,}, +{ 0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3,}, +{ 0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3,}, +{ 0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3,}, +{ 0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4,}, +{ 0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4,}, +{ 0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2,}, +{ 0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3,}, +{ 0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3,}, +{ 0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3,}, +{ 0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3,}, +{ 0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4,}, +{ 0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3,}, +{ 0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4,}, +{ 0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3,}, +{ 0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3,}, +{ 0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4,}, +{ 0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4,}, +{ 0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3,}, +{ 2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4,}, +{ 0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4,}, +{ 0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3,}, +{ 0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4,}, +{ 0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4,}, +{ 1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4,}, +{ 0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3,}, +{ 0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,}, +{ 0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2,}, +{ 0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3,}, +{ 0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3,}, +{ 0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5,}, +{ 0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3,}, +{ 0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4,}, +{ 1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4,}, +{ 0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4,}, +{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, +{ 0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3,}, +{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1,}, +{ 0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2,}, +{ 0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3,}, +{ 0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1,}, +}; + +#define MINIMUM_DATA_THRESHOLD 4 + +void JapaneseContextAnalysis::HandleData(const char* aBuf, PRUint32 aLen) +{ + PRUint32 charLen; + PRInt32 order; + PRUint32 i; + + if (mDone) + return; + + //The buffer we got is byte oriented, and a character may span in more than one + //buffers. In case the last one or two byte in last buffer is not complete, we + //record how many byte needed to complete that character and skip these bytes here. + //We can choose to record those bytes as well and analyse the character once it + //is complete, but since a character will not make much difference, by simply skipping + //this character will simply our logic and improve performance. + for (i = mNeedToSkipCharNum; i < aLen; ) + { + order = GetOrder(aBuf+i, &charLen); + i+= charLen; + if (i > aLen){ + mNeedToSkipCharNum = i - aLen; + mLastCharOrder = -1; + } + else + { + if (order != -1 && mLastCharOrder != -1) + { + mTotalRel ++; + if (mTotalRel > MAX_REL_THRESHOLD) + { + mDone = PR_TRUE; + break; + } + mRelSample[jp2CharContext[mLastCharOrder][order]]++; + } + mLastCharOrder = order; + } + } + + return; +} + +void JapaneseContextAnalysis::Reset(PRBool aIsPreferredLanguage) +{ + mTotalRel = 0; + for (PRUint32 i = 0; i < NUM_OF_CATEGORY; i++) + mRelSample[i] = 0; + mNeedToSkipCharNum = 0; + mLastCharOrder = -1; + mDone = PR_FALSE; + mDataThreshold = aIsPreferredLanguage ? 0 : MINIMUM_DATA_THRESHOLD; +} +#define DONT_KNOW (float)-1 + +float JapaneseContextAnalysis::GetConfidence(void) +{ + //This is just one way to calculate confidence. It works well for me. + if (mTotalRel > mDataThreshold) + return ((float)(mTotalRel - mRelSample[0]))/mTotalRel; + else + return (float)DONT_KNOW; +} + + +PRInt32 SJISContextAnalysis::GetOrder(const char* str, PRUint32 *charLen) +{ + //find out current char's byte length + if ((unsigned char)*str >= (unsigned char)0x81 && (unsigned char)*str <= (unsigned char)0x9f || + (unsigned char)*str >= (unsigned char)0xe0 && (unsigned char)*str <= (unsigned char)0xfc ) + *charLen = 2; + else + *charLen = 1; + + //return its order if it is hiragana + if (*str == '\202' && + (unsigned char)*(str+1) >= (unsigned char)0x9f && + (unsigned char)*(str+1) <= (unsigned char)0xf1) + return (unsigned char)*(str+1) - (unsigned char)0x9f; + return -1; +} + +PRInt32 EUCJPContextAnalysis::GetOrder(const char* str, PRUint32 *charLen) +{ + //find out current char's byte length + if ((unsigned char)*str == (unsigned char)0x8e || + (unsigned char)*str >= (unsigned char)0xa1 && + (unsigned char)*str <= (unsigned char)0xfe) + *charLen = 2; + else if ((unsigned char)*str == (unsigned char)0x8f) + *charLen = 3; + else + *charLen = 1; + + //return its order if it is hiragana + if ((unsigned char)*str == (unsigned char)0xa4 && + (unsigned char)*(str+1) >= (unsigned char)0xa1 && + (unsigned char)*(str+1) <= (unsigned char)0xf3) + return (unsigned char)*(str+1) - (unsigned char)0xa1; + return -1; +} diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.h new file mode 100644 index 0000000..fe8fcb8 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/JpCntx.h @@ -0,0 +1,140 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef __JPCNTX_H__ +#define __JPCNTX_H__ + +#define NUM_OF_CATEGORY 6 + +#include "nscore.h" + +#define ENOUGH_REL_THRESHOLD 100 +#define MAX_REL_THRESHOLD 1000 + +//hiragana frequency category table +extern const PRUint8 jp2CharContext[83][83]; + +class JapaneseContextAnalysis +{ +public: + JapaneseContextAnalysis() {Reset(PR_FALSE);} + + void HandleData(const char* aBuf, PRUint32 aLen); + + void HandleOneChar(const char* aStr, PRUint32 aCharLen) + { + PRInt32 order; + + //if we received enough data, stop here + if (mTotalRel > MAX_REL_THRESHOLD) mDone = PR_TRUE; + if (mDone) return; + + //Only 2-bytes characters are of our interest + order = (aCharLen == 2) ? GetOrder(aStr) : -1; + if (order != -1 && mLastCharOrder != -1) + { + mTotalRel++; + //count this sequence to its category counter + mRelSample[jp2CharContext[mLastCharOrder][order]]++; + } + mLastCharOrder = order; + } + + float GetConfidence(void); + void Reset(PRBool aIsPreferredLanguage); + void SetOpion(){} + PRBool GotEnoughData() {return mTotalRel > ENOUGH_REL_THRESHOLD;} + +protected: + virtual PRInt32 GetOrder(const char* str, PRUint32 *charLen) = 0; + virtual PRInt32 GetOrder(const char* str) = 0; + + //category counters, each integer counts sequences in its category + PRUint32 mRelSample[NUM_OF_CATEGORY]; + + //total sequence received + PRUint32 mTotalRel; + + //Number of sequences needed to trigger detection + PRUint32 mDataThreshold; + + //The order of previous char + PRInt32 mLastCharOrder; + + //if last byte in current buffer is not the last byte of a character, we + //need to know how many byte to skip in next buffer. + PRUint32 mNeedToSkipCharNum; + + //If this flag is set to PR_TRUE, detection is done and conclusion has been made + PRBool mDone; +}; + + +class SJISContextAnalysis : public JapaneseContextAnalysis +{ + //SJISContextAnalysis(){}; +protected: + PRInt32 GetOrder(const char* str, PRUint32 *charLen); + + PRInt32 GetOrder(const char* str) + { + //We only interested in Hiragana, so first byte is '\202' + if (*str == '\202' && + (unsigned char)*(str+1) >= (unsigned char)0x9f && + (unsigned char)*(str+1) <= (unsigned char)0xf1) + return (unsigned char)*(str+1) - (unsigned char)0x9f; + return -1; + } +}; + +class EUCJPContextAnalysis : public JapaneseContextAnalysis +{ +protected: + PRInt32 GetOrder(const char* str, PRUint32 *charLen); + PRInt32 GetOrder(const char* str) + //We only interested in Hiragana, so first byte is '\244' + { + if (*str == '\244' && + (unsigned char)*(str+1) >= (unsigned char)0xa1 && + (unsigned char)*(str+1) <= (unsigned char)0xf3) + return (unsigned char)*(str+1) - (unsigned char)0xa1; + return -1; + } +}; + +#endif /* __JPCNTX_H__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangBulgarianModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangBulgarianModel.cpp new file mode 100644 index 0000000..4bfbad7 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangBulgarianModel.cpp @@ -0,0 +1,247 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" +/**************************************************************** +255: Control characters that usually does not exist in any text +254: Carriage/Return +253: symbol (punctuation) that does not belong to word +252: 0 - 9 + +*****************************************************************/ + +//Character Mapping Table: +//this talbe is modified base on win1251BulgarianCharToOrderMap, so +//only number <64 is sure valid + +static const unsigned char Latin5_BulgarianCharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, //40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, //50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, //60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, //70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, //80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, //90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, //a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, //b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, //c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, //d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, //e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, //f0 +}; + +static const unsigned char win1251BulgarianCharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, //40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, //50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, //60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, //70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, //80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, //90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, //a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, //b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, //c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, //d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, //e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, //f0 +}; + +//Model Table: +//total sequences: 100% +//first 512 sequences: 96.9392% +//first 1024 sequences:3.0618% +//rest sequences: 0.2992% +//negative sequences: 0.0020% +static const PRUint8 BulgarianLangModel[] = +{ +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +}; + +const SequenceModel Latin5BulgarianModel = +{ + Latin5_BulgarianCharToOrderMap, + BulgarianLangModel, + (float)0.969392, + PR_FALSE, + "ISO-8859-5", + "Bulgarian" +}; + +const SequenceModel Win1251BulgarianModel = +{ + win1251BulgarianCharToOrderMap, + BulgarianLangModel, + (float)0.969392, + PR_FALSE, + "WINDOWS-1251", + "Bulgarian" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCyrillicModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCyrillicModel.cpp new file mode 100644 index 0000000..d2ef444 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCyrillicModel.cpp @@ -0,0 +1,361 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + + + +//KOI8-R language model +//Character Mapping Table: +static const unsigned char KOI8R_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, //80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, //90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, //a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, //b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, //c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, //d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, //e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, //f0 +}; + +static const unsigned char win1251_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 +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, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +}; + +static const unsigned char latin5_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 +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, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +}; + +static const unsigned char macCyrillic_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +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, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +}; + +static const unsigned char IBM855_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +}; + +static const unsigned char IBM866_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, //40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, //50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, //60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, //70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +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, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +}; + +//Model Table: +//total sequences: 100% +//first 512 sequences: 97.6601% +//first 1024 sequences: 2.3389% +//rest sequences: 0.1237% +//negative sequences: 0.0009% +static const PRUint8 RussianLangModel[] = +{ +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +}; + + +const SequenceModel Koi8rModel = +{ + KOI8R_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "KOI8-R", + "Russian" +}; + +const SequenceModel Win1251Model = +{ + win1251_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "WINDOWS-1251", + "Russian" +}; + +const SequenceModel Latin5Model = +{ + latin5_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "ISO-8859-5", + "Russian" +}; + +const SequenceModel MacCyrillicModel = +{ + macCyrillic_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "x-mac-cyrillic", + "Russian" +}; + +const SequenceModel Ibm866Model = +{ + IBM866_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "IBM866", + "Russian" +}; + +const SequenceModel Ibm855Model = +{ + IBM855_CharToOrderMap, + RussianLangModel, + (float)0.976601, + PR_FALSE, + "IBM855", + "Russian" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCzechModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCzechModel.cpp new file mode 100644 index 0000000..b949c9e --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangCzechModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char czech_iso_8859_2CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 32, 42, 49, 41, 63, 52, 36, 38, 53, 35, 37, 59, 44, 34, 47, + 33,180, 48, 45, 40, 56, 39, 76, 70, 75, 51,255,255,255,255,255, +255, 3, 24, 19, 11, 1, 50, 57, 17, 8, 16, 12, 5, 10, 4, 2, + 14, 58, 15, 6, 7, 13, 9, 80, 62, 21, 23,255,255,255,255,255, +179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164, +163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148, +147,146,145,144,143,142,141,140,139, 64,138, 79,137,136, 61,135, +134,133,132,131,130,129,128,127,126, 28,125, 43,124,123, 25,122, +121, 71,120,119,118,117,116,115, 60, 72,114,113, 73, 69,112, 78, +111,110,109, 68,108,107,106,105, 65, 77, 67,104,103, 74,102,101, +100, 20, 99, 98, 97, 96, 95, 94, 27, 29, 93, 92, 22, 18, 91, 55, + 90, 89, 54, 66, 88, 87, 86, 85, 26, 31, 46, 84, 83, 30, 82, 81, +}; + +static const PRUint8 czechLangModel[] = +{ +1,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,1,0,0,3,3,3,3,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,2,0,0,0,2,2,0,2,0,0,0,0,2,0,0, +1,2,0,3,3,3,3,2,3,3,3,3,3,3,3,3,3,0,3,0,0,0,3,3,3,3,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,2,0,2,0,0,0,0,0,0,0, +1,2,1,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,3,0,0,0,3,3,3,3,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,2,0,2,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,0,0,3,3,3,0,0,0,2,3,3,3,3,3,2,2,3,0,2,2,3,3,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,2,2,2,3,3,0,0,3,2,3,2,3,3,0,3,2,2,0,3,2,3,3,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,2,2,3,3,3,3,1,0,2,0,0,1,0,1,2,2,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,2,3,3,2,2,3,3,0,3,0,2,3,2,3,3,3,1,2,0,3,2,2,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,2,3,3,3,3,2,3,2,3,3,2,3,2,0,0,3,3,3,1,3,3,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,2,2,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,0,1,3,2,3,2,3,2,2,3,2,3,3,3,3,2,3,3,3,3,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,0,0,2,2,3,2,3,0,2,3,2,3,3,3,0,2,3,2,2,1,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,3,3,3,3,2,2,3,3,3,3,3,0,3,2,3,2,3,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,2,3,2,3,0,3,0,2,0,2,3,3,0,0,0,2,3,1,0,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,2,3,3,3,3,3,3,3,3,3,0,3,3,3,3,0,3,0,0,0,3,3,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,0,0,0,2,2,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,3,3,3,0,0,0,2,3,2,3,2,0,3,2,3,2,3,0,0,0,3,1,2,2,2,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,2,3,3,3,2,3,2,3,3,2,1,3,0,3,3,3,0,3,2,3,0,2,3,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,2,3,3,2,3,2,2,0,2,3,2,3,0,0,2,2,2,1,2,3,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,3,2,2,2,3,0,3,0,0,0,3,3,3,1,0,2,2,2,1,0,3,3,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,3,3,0,3,3,3,3,0,2,3,3,3,0,3,0,0,0,3,3,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,0,3,3,2,2,0,3,2,2,0,1,3,3,0,1,1,0,0,0,0,0,0,0,1,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,3,3,0,3,3,3,3,0,3,3,2,3,0,3,2,0,0,3,2,3,3,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,3,3,3,3,0,2,2,3,3,2,3,2,2,3,0,3,0,0,0,2,3,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,3,3,0,3,3,3,3,0,2,2,3,3,0,3,0,0,0,2,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,2,3,3,0,2,3,0,3,2,2,0,2,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,2,3,2,2,2,2,3,0,3,2,0,3,2,3,3,3,1,0,0,3,0,2,2,3,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,3,2,2,2,3,2,0,3,3,2,0,2,0,0,3,2,3,0,0,0,2,0,0,0,2,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,2,2,3,1,2,0,2,2,2,0,0,0,3,1,3,0,0,0,2,0,0,2,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,0,3,3,0,1,0,3,2,1,1,0,0,3,2,3,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,1,3,3,2,1,0,3,2,3,2,0,0,3,2,2,0,0,0,0,0,0,2,2,2,0,1,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,2,3,0,2,3,3,2,0,2,2,2,3,0,2,0,0,0,2,2,2,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,2,3,0,3,3,2,2,0,2,2,2,2,0,3,0,0,0,2,2,2,2,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,3,3,2,0,2,3,2,2,0,1,2,3,2,0,0,0,0,0,2,2,3,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,2,0,0,2,2,2,0,0,2,2,0,2,0,2,1,0,0,0,2,2,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,2,2,2,0,0,0,0,2,0,3,0,0,2,0,2,0,2,0,0,0,3,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,2,0,0,0,0,3,0,0,0,0,0,0,3,2,2,0,0,0,0,0,0,2,0,0,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,2,3,0,0,2,0,2,0,2,2,0,1,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,2,2,0,2,0,0,0,3,0,2,0,3,0,0,0,0,3,0,0,0,0,0,2,0,0,0,0,0,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,0,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,2,2,1,2,0,0,1,0,0,0,2,0,0,2,0,2,3,2,2,0,2,0,1,3,0,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,0,0,0,0,2,2,1,0,0,3,0,2,0,0,2,0,0,2,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,2,2,0,0,2,2,0,0,0,2,0,3,0,0,2,0,2,2,2,0,0,0,2,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,0,1,0,0,1,0,0,0,0,3,0,2,0,0,1,0,2,3,2,0,0,0,0,0,0,0,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,0,0,0,2,0,0,0,0,0,2,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,2,2,0,0,3,0,0,0,0,2,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,1,3,2,2,2,0,2,2,2,2,0,0,0,2,2,2,2,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,3,2,0,1,2,2,2,0,3,2,2,2,0,2,0,0,0,2,0,2,3,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,2,2,0,2,0,2,2,0,2,0,0,2,0,2,0,0,0,2,2,0,0,2,0,0,0,0,0, +1,1,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +2,3,0,0,0,0,2,1,1,0,0,0,0,0,0,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,0,2,0,1,3,0,0,0,0,1,0,2,2,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,2,2,0,1,0,2,2,2,2,0,2,2,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,0,0,0,0,3,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,1,0,0,0,0, +0,2,2,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,2,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,2,2,0,2,2,2,2,0,2,0,0,0,0,1,0,0,0,0,2,2,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,2,0,0,2,0,2,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,0,2,0,2,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, +2,0,2,0,2,0,1,1,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel iso_8859_2czechModel = +{ + czech_iso_8859_2CharToOrderMap, + czechLangModel, + (float)0.968107, + PR_TRUE, + "ISO-8859-2", + "czech" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFinnishModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFinnishModel.cpp new file mode 100644 index 0000000..8ff64a8 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFinnishModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char finnish_WINDOWS_1252CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 30, 48, 45, 50, 22, 46, 40, 29, 27, 32, 24, 33, 21, 26, 31, + 36, 60, 34, 23, 28, 39, 35, 59, 49, 41, 54,255,255,255,255,255, +255, 1, 43, 47, 19, 5, 44, 37, 13, 2, 18, 9, 8, 12, 3, 11, + 17, 57, 15, 6, 4, 10, 14, 51, 58, 16, 56,255,255,255,255,255, +175,255,174,173,172,171,170,169,168,167,166,165,164,255,163,255, +255,162,161,160,159,158,157,156,155,154,153,152,151,255,150,149, +148,147,146,145,144,143, 63,142,141,140,139,138,137,136,135,134, +133,132,131,130,129,128,127,126,125,124,123, 25,122,121,120,119, +118,117,116,115, 38,114,113,112,111,110,109,108,107,106,105,104, +103,102,101,100, 99, 98, 42, 97, 96, 95, 94, 93, 92, 91, 90, 89, + 88, 87, 62, 86, 7, 55, 85, 52, 84, 53, 83, 82, 81, 80, 79, 78, + 77, 76, 75, 74, 73, 72, 20, 71, 70, 69, 68, 67, 61, 66, 65, 64, +}; + +static const PRUint8 finnishLangModel[] = +{ +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,0,0,0,0,0,3,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,0,0,0,0,3,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,3,0,0,2,0,0,0,0,0,2,0,0,0,2,2,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,0,0,0,3,0,0,0,0,0,0,0, +0,0,0,0,3,0,0,0,0,0,3,3,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,0,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,2,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,2,0,0,2,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0, +2,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,2,0,0,0,0,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,3,3,2,3,3,3,2,2,2,3,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,2,3,3,3,0,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,0,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,2,2,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,2,3,0,0,3,3,3,0,0,2,3,3,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,0,3,3,3,3,3,3,2,3,3,3,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,3,2,3,0,0,3,3,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,3,0,0,0,0,0,2,2,0,0,2,0,0,0,2,0,0,0,2,2,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,3,3,2,0,3,3,0,2,0,3,3,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,3,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,3,2,3,2,2,3,3,0,2,2,3,3,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,3,3,0,2,3,3,2,3,3,3,2,3,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,3,0,0,0,2,2,0,0,0,2,2,2,0,0,0,0,3,0,0,3,3,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,3,0,3,2,2,0,3,3,0,3,0,2,0,2,0,3,3,3,2,0,3,2,3,2,2,0,0, +3,3,2,2,2,0,2,2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,0,2,0,2,3,3,0,0,2,0,3,0,0,0,2,3,2,2,3,0,0,3,2,0,3,2,0, +2,0,0,2,0,3,2,0,3,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,3,0,3,3,0,0,0,2,3,0,0,0,2,0,2,2,3,0,0,3,0,2,3,3,0, +0,2,0,0,0,3,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,3,3,3,3,0,3,2,3,3,2,3,3, +2,2,3,3,0,2,2,2,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,3,0,0,0,0,3,0,0,0,0,2,3,3,2,2,2,3,3,2,3,2,2, +0,2,2,2,0,2,2,2,2,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,2,3,0,3,2,3,2,0,2,2,3,2,2,0,0,0,0,0,3,3,3,2,2,3,3,3,2,2,3,2, +3,3,2,2,0,2,2,0,2,2,2,0,2,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,3,0,0,0,2,3,2,0,0,2,2,3,2,2,2,0,3,3,2,3,2,0, +2,2,2,0,0,3,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,3,2,0,0,0,3,0,2,0,2,2,3,0,2,0,0,3,2,0,2,2,2, +2,2,2,0,0,3,2,0,2,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,0,3,2,2,0,2,3,2,2,0,2,3,0,0,3,2,3,2,0,3,3,2,2,3,0,2, +3,3,2,2,0,0,3,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,0,2,0,3,0,2,2,2,2,2,2,0,2,2,2,0,2,0,2,2,0,2,2,3,2,2,3,2, +2,2,2,3,0,0,2,2,0,0,0,0,2,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,2,0,3,0,0,3,3,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,3,2,0, +0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,0,0,3,2,0,0,0,0,2,0,0,0,2,3,3,0,2,0,0,3,3,2,3,2,2, +3,0,2,2,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +3,3,0,0,3,0,2,0,0,3,3,0,0,0,0,2,0,0,0,2,2,3,3,2,0,2,3,2,2,3,3,2, +0,2,3,2,0,3,3,0,2,3,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0, +3,3,0,0,3,0,3,2,0,2,3,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,3,0,0,3,2,0, +0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,2,3,2,3,0,0,3,3,0,2,0,2,3,0,0,0,2,0,3,2,0,0,0,3,2,0,2,2,0, +2,2,0,2,0,2,2,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,2,2,2,0,2,3,2,2,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,3,0,0,0,2,2,3,2,0,0,2,2,0,0,2,0,0,0,0,2,2,2,3,0,3,3,2,2,0,0,2, +2,3,2,2,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,2,2,0,3,0,2,2,2,2,2,2,0,2,0,0,0,0,0,2,0,2,2,0,3,2,2,2,2,3,0, +3,2,2,2,0,0,2,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,2,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,3,3,0,0,2,3,0,2,0,0,0,0,3,2,0,2,2,0,2,0,3,2,2,0,0, +3,2,2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,3,2,2,2,0,0,2, +0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,3,2,2,2,0,2,2,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,2,3,0,2,2,0,0,3,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +3,0,0,0,2,0,0,0,0,2,2,0,2,0,3,2,0,0,0,0,0,2,0,0,0,0,2,2,2,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,0,0,0,2,0,0,0,3,2,0,0,0,0,0,2,0,0,0,0,2,0,0,2,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,2,2,0,0,0,2,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +2,2,0,0,3,0,0,0,0,0,2,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,0,0,2,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,2,0, +0,0,0,0,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel WINDOWS_1252finnishModel = +{ + finnish_WINDOWS_1252CharToOrderMap, + finnishLangModel, + (float)0.995928, + PR_TRUE, + "WINDOWS-1252", + "finnish" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFrenchModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFrenchModel.cpp new file mode 100644 index 0000000..b36bb79 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangFrenchModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char french_WINDOWS_1252CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 30, 40, 31, 37, 27, 44, 48, 52, 32, 45, 61, 25, 29, 41, 43, + 34, 53, 38, 35, 39, 46, 42, 68, 63, 65, 71,255,255,255,255,255, +255, 2, 20, 12, 11, 1, 17, 18, 21, 4, 24, 57, 9, 13, 5, 10, + 14, 19, 7, 3, 6, 8, 16, 54, 23, 28, 36,255,255,255,255,255, + 64,180,179,178,177, 75,176,175,174,173,172,171, 91,170,169,168, +167,166, 62,111,110, 67, 78, 88,165, 97,164, 90, 82,163,162,161, +160,159,158,157,156,155,154, 86, 84, 69,101, 50,109,153, 96,152, + 81,151,108,150,100,149,148, 80,147,107,146, 51,145,144,143,142, + 70,141, 79, 72,140,139,138, 73, 77, 60, 76,137,136,135, 99,134, +106,133,132,131, 83,130, 98, 92,129, 95,128, 94,127,126,125,124, + 22, 93, 49,123,105,104, 89, 47, 26, 15, 33, 74,122,121, 56, 66, +120,103,119,118, 55,102, 87,117,116, 59,115, 58, 85,114,113,112, +}; + +static const PRUint8 frenchLangModel[] = +{ +2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,3,2,0,3,2,0,0,0,3,2,0,0,0, +0,0,0,3,0,0,1,1,0,0,0,1,0,0,2,0,2,0,2,0,0,3,1,0,2,3,0,0,0,0,1,0, +2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,0,2,3,0,0,0,3,0,0,0,0, +0,0,1,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,1,1,3,3,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,3,3,3,1,3,3,3,3,1,2,2,3,2,2,0,0,1,1,3,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,1,0,1,2,2,0,0,0,2,0,0, +3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,0,3,2,1,3,0,1,0,0,0,0, +1,2,0,3,0,0,0,2,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,3,3,2,3,0,2,2,0,2,0,2,0,1,0,0, +3,0,0,3,0,0,0,0,1,0,0,1,0,0,3,0,2,0,1,0,0,0,1,0,2,1,0,0,0,2,0,0, +3,3,3,3,1,3,3,3,2,3,1,2,2,3,3,0,1,0,0,1,3,0,0,0,0,3,0,2,0,0,0,0, +3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,3,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,1,1,0,3,0,3,0,0,0,2, +3,0,0,2,0,0,0,0,0,0,0,0,0,0,3,0,3,0,1,0,0,1,3,1,3,2,0,0,0,0,0,0, +3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,2,0,3,3,0,2,0,3,0,0,0,0, +3,0,0,2,0,0,0,0,0,0,0,0,0,0,1,1,2,0,1,0,0,0,0,1,2,0,0,0,0,2,0,0, +3,3,3,3,1,3,1,3,3,3,2,3,3,3,3,2,2,3,3,3,3,3,1,0,0,3,1,3,0,0,0,0, +2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,1,2,2,0,0,0,3,0,0, +3,2,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,2,0,2,2,0,2,0,3,0,0,0,0, +2,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,2,3,3,0,0,0,0,0, +3,3,3,3,1,2,3,3,1,3,2,1,3,0,3,2,1,2,1,2,2,0,0,2,0,3,1,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,2,2,0,2,0,0,0,2,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,1,0,3,0,1,2,3,0,3,0,0,0,0,3,0,2,0,0,1,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,2,1,0,0,0,2,0,0, +3,3,2,3,3,3,1,3,2,3,0,0,3,3,3,0,0,1,0,3,0,0,0,0,0,3,0,2,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,2,1,0,2,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,1,2,0,3,3,0,0,2,0,1,3,0,2,0,0,3,0,2,0,0,0,0, +3,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,1,2,1,0,2,0,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,2,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,0,3,0,0,3,3,0,3,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,3,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0, +3,3,3,3,0,1,3,3,3,3,0,1,0,0,3,0,3,1,0,0,0,0,0,0,0,2,0,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,1,0,2,0,3,1,0,2,0,2,3,0,0,0,0,3,0,2,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,3,1,2,3,3,3,3,2,1,1,0,3,1,0,0,0,3,0,0,0,2,0,2,0,3,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0, +3,3,1,3,3,3,3,3,2,3,1,0,2,2,3,0,0,0,0,0,0,0,0,0,0,3,0,2,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,3,0,3,0,2,0,2,0,3,0,3,2,0,0,0,2,0,2,0,1,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,1,0,0,0,3,0,3,0,0,0,2,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0, +3,3,0,3,0,0,0,3,2,3,0,0,0,0,2,0,0,0,0,0,2,2,0,0,2,0,3,2,2,3,1,3, +0,0,1,0,1,0,2,0,1,1,2,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,2,1,2,0,0, +0,0,3,0,3,3,3,0,2,0,2,3,3,1,0,3,1,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,3,1,3,3,2,3,3,0,2,2,3,1,0,2,1,2,1,0,3,0,2,0,2,0,2,0,2,2,2,2, +0,2,3,1,2,3,2,2,3,1,1,1,0,2,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0, +3,3,3,1,2,2,3,0,2,3,2,2,2,2,3,1,1,2,0,1,0,0,1,0,0,1,0,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,3,0,0,0,2,1,3,0,1,3,0,2,0,0,1,0,0,0,0,0,0,1,2,2,1,2,2,1,2, +2,2,1,0,0,0,1,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,2,3,3,2,3,3,3,0,2,2,2,3,0,2,2,2,1,3,3,0,0,2,2,0,1,2,2,1,2,2, +0,2,2,2,1,2,2,2,3,2,0,2,1,2,0,2,0,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0, +3,3,0,2,0,0,2,2,3,3,0,0,0,0,2,0,1,0,0,0,3,0,0,0,2,0,2,2,0,2,1,2, +0,2,2,0,1,1,2,0,2,0,2,1,0,2,0,2,0,0,0,2,1,0,1,0,0,0,0,0,2,1,0,0, +1,0,2,0,3,2,2,0,3,1,2,2,2,0,0,1,0,1,0,1,0,0,0,0,2,0,3,0,2,2,2,3, +0,2,2,1,1,2,3,2,3,3,2,2,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,1,1,0,2,0, +0,0,0,0,2,3,0,0,2,0,0,3,3,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,3,0,0,3,3,3,3,0,0,0,0,2,0,0,0,0,0,3,0,0,0,2,2,2,1,0,2,1,2, +0,1,2,0,2,3,2,0,0,0,2,1,2,2,0,0,1,0,0,2,0,0,1,0,0,0,0,1,1,0,0,0, +3,3,0,3,0,2,0,3,1,3,0,2,1,2,2,0,0,0,1,0,2,0,0,0,0,1,2,2,1,2,1,2, +0,2,2,0,1,1,2,2,1,0,2,2,0,2,0,0,0,0,0,1,0,0,0,0,1,1,0,2,2,0,0,0, +3,3,0,2,1,0,1,1,1,3,0,0,1,1,2,0,0,1,0,1,1,0,0,0,0,1,0,3,0,0,0,0, +0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,3,0,0,2,3,0,2,0,0,1,2,3,0,0,0,0,0,0,0,0,1,1,2,3,0,0,2,1,2, +0,0,2,0,0,2,0,0,1,1,2,2,1,2,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,1,0,0, +3,3,0,2,0,0,0,2,0,3,0,0,0,0,3,0,0,0,0,0,2,0,0,0,2,0,3,1,2,2,2,2, +0,2,2,0,2,2,2,2,2,2,3,1,0,2,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0, +3,3,1,2,0,0,3,3,0,3,0,1,0,0,2,0,0,0,0,0,3,0,0,0,2,1,3,1,1,2,2,3, +0,1,2,0,0,2,2,0,1,1,2,1,0,2,0,1,0,0,0,3,0,2,0,0,0,0,0,2,0,0,0,0, +3,3,0,3,0,0,3,2,3,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,1,2,1,2, +0,0,1,0,2,2,1,1,2,0,2,1,1,2,0,0,1,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0, +3,3,0,3,0,0,0,2,0,3,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,2, +0,2,3,0,2,1,3,1,2,1,1,2,0,2,0,2,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0, +3,3,0,3,0,0,1,2,2,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,1,0,2,0,2, +1,0,0,0,1,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,2,3,1,3,3,2,0,1,2,1,2,0,2,1,1,0,2,3,0,0,0,2,0,2,0,2,1,2,2, +0,2,2,0,2,2,2,2,3,2,1,2,2,2,0,1,0,0,0,0,0,0,0,0,1,0,2,0,0,0,1,0, +2,3,0,2,1,0,3,2,2,3,0,0,0,1,3,0,0,0,0,1,1,0,1,0,2,0,2,0,2,3,0,2, +1,2,2,0,0,2,0,1,1,0,2,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,0,0,0,2,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0, +0,0,0,0,2,0,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,3,2,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,2,2,2,2, +0,2,2,0,2,3,2,2,2,1,2,1,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0, +0,3,0,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,3,0,2,0,0,3,3,1,3,0,0,1,0,2,0,0,0,0,0,1,0,0,0,1,0,2,1,0,2,0,1, +1,1,1,0,0,1,1,2,2,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,2,2,3,0,0,3,0,0,3,2,2,0,1,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,1,1,0,1,1,1,1,0,1,0,1,0,0,0,0,0,0,2,0,2,0,2,2,2,2, +0,2,2,0,2,1,2,2,2,2,2,1,2,1,0,1,0,0,0,2,2,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,2,0,0,0,3,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,1,0,2,0,2, +0,0,0,0,1,2,1,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0, +0,1,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,2,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,3,0,0,3,0,2,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,3,3,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,0,1,1,2,1,3,0,1,2,0,1,0,1,1,0,1,2,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,1,3,2,0,2,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,2,1,0,2,0,2,2,1,1,0,2,0,2,0,1,0,0,0,0,2,0,2,0,2,0,2,0, +0,2,2,0,2,2,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,2,0,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,2,0,1,1,0,0, +0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,0,2,0,0,0,2,0,2,0,0,0,0,2,0,0,0,0,0,2,1,0,0,0,0,2,1,0,2,0,2, +1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3, +0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel WINDOWS_1252frenchModel = +{ + french_WINDOWS_1252CharToOrderMap, + frenchLangModel, + (float)0.985451, + PR_TRUE, + "WINDOWS-1252", + "french" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGermanModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGermanModel.cpp new file mode 100644 index 0000000..892afb0 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGermanModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char german_WINDOWS_1252CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 30, 34, 50, 25, 27, 36, 31, 28, 35, 49, 41, 39, 32, 42, 48, + 45, 58, 44, 21, 37, 40, 43, 29, 62, 61, 47,255,255,255,255,255, +255, 8, 16, 12, 9, 1, 18, 13, 7, 3, 46, 20, 11, 14, 2, 15, + 33, 53, 4, 5, 6, 10, 23, 17, 55, 51, 19,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170, 64,169,168,167,166, +165,164, 54,163,162,161, 66,160,159,158,157, 63,156,155,154,153, + 65,152,151,150,149,148,147,146,145,144,143, 57,142,141,140,139, +138,137,136,135,134,133,132,131,130,129,128, 56,127,126,125,124, +123,122,121,120, 59,119,118, 71,117,116,115,114,113,112,111,110, +109,108,107,106,105,104, 60,103,102,101,100, 99, 52, 98, 97, 26, + 70, 96, 69, 95, 24, 94, 68, 93, 92, 67, 91, 90, 89, 88, 87, 86, + 85, 84, 83, 82, 81, 80, 38, 79, 78, 77, 76, 75, 22, 74, 73, 72, +}; + +static const PRUint8 germanLangModel[] = +{ +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,0,2,2,2,0,3,0,0,0,0,0,0, +3,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,3,0,2,2,2,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2,0,2,2,0,0,2,0,0,0,0,0,0,0, +3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,3,3,0,0,2,2,0,3,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,2,0,2,2,0,0,2,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,2,3,3,3,3,2,3,2,3,2,3,2,0,2,2,3,0,0,0,0,0,0,0,0, +3,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,0,3,2,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,3,3,2,2,3,3,3,3,2,2,3,0,3,2,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,2,0,0,3,0,0,3,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,2,3,3,3,2,2,3,2,2,2,2,0,0,3,2,2,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,2,3,3,3,3,2,3,2,3,2,2,0,0,2,2,0,3,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,0,3,2,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0, +2,0,2,2,0,2,3,2,0,2,2,2,0,0,2,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,2,3,3,0,2,2,3,2,2,2,2,3,0,2,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,2,3,3,3,3,2,3,3,3,2,2,2,2,2,0,3,0,3,0,0,0,0,0,0,0,0, +3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +2,3,2,3,3,3,3,2,3,2,3,3,3,3,2,3,2,3,2,3,0,0,3,0,0,3,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,2,3,2,3,3,2,3,2,3,2,2,2,2,2,0,2,2,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,3,0,3,2,0,0,0,3,0,2,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,2,2,3,3,2,0,3,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,2,3,3,2,2,0,3,2,3,2,2,2,0,3,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,3,0,3,3,2,2,2,3,2,2,2,2,2,0,3,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,3,2,3,0,2,0,3,0,0,3,0,0,0,2,2,2,2,0,2,0,0,2,0,0,2,0,2, +3,0,2,0,3,2,0,0,0,0,0,0,2,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,2,0,3,3,3,2,0,3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,2,0,2,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,3,3,3,3,0,3,3,3,3,3,3,0,2,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,0,0,0,3,0,3,0,0,0,0,3,0,0,0,0,0,0,2,0,2,0,0,3,0,0,0,0,0, +0,0,2,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,2,2,3,2,0,0,2,2,2,2,2,0,2,2,2,0,2,0,0,2,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,2,0,2,3,3,2,0,2,0,2,2,2,0,0,3,0,0,0,2,0,0,2,0,2,0,2, +2,2,2,0,3,0,3,0,2,3,0,3,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0, +3,0,3,0,0,0,0,3,0,3,0,0,0,2,3,0,0,0,0,0,0,3,0,3,0,0,3,0,0,2,0,2, +0,0,3,0,2,3,0,0,0,2,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,0,0,0,0, +3,0,3,0,0,0,0,3,0,3,0,0,0,0,3,0,0,0,0,0,0,2,0,2,0,0,2,0,0,2,0,0, +0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,3,2,2,2,0,2,3,3,3,2,3,0,3,0,2,0,2,2,0,0,0,0,0,0,0,0,0,2,2, +2,0,0,2,2,0,2,3,0,2,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +3,2,2,3,0,0,0,3,0,3,3,0,0,0,3,0,0,0,0,0,0,2,0,2,0,0,2,0,0,2,0,0, +0,0,2,0,0,2,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,3,0,3,0,0,0,0,3,0,0,0,0,0,0,2,0,3,0,0,3,0,0,3,0,2, +0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +3,0,3,3,2,3,3,3,0,3,3,2,0,0,3,0,0,3,2,0,0,2,0,2,0,0,0,0,0,0,0,0, +3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,0,0,0,3,0,3,3,0,0,0,3,0,0,0,0,0,0,3,0,2,0,0,2,0,0,2,0,0, +0,0,2,0,0,2,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0, +0,3,0,2,3,2,3,0,2,0,2,3,0,3,2,2,0,0,0,0,3,0,0,0,2,0,3,0,0,0,2,2, +0,0,2,0,2,0,2,0,2,2,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,0,0,0,3,0,3,3,0,0,0,3,0,0,0,0,0,0,3,0,2,0,0,0,0,0,3,0,0, +0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,0,0,3,3,0,2,0,0,0,0,3,0,0,0,0,0,0,2,0,2,0,0,3,2,0,2,0,2, +0,0,2,0,2,2,2,2,0,0,0,2,0,0,0,3,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,2,0,3,3,3,2,0,2,2,3,0,0,0,0,2,0,0,3,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,3,2,3,0,0,0,0,3,0,0,0,0,0,0,2,0,2,2,0,3,0,0,2,0,0, +0,0,2,0,2,2,2,2,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,2,0,0,2,0,0,0,2,0,0,3,0,0,0,2,0,0,3,0,0,0,0,0,2,0,0,0,2,2, +0,0,0,0,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,0,0,3,0,3,3,0,0,0,3,0,0,0,0,0,0,2,0,2,0,0,2,0,0,2,0,0, +0,0,2,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,3,0,3,0,0,0,0,3,0,0,0,0,0,2,2,0,2,2,0,2,0,0,2,2,0, +0,2,2,0,2,0,0,0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,0, +0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,2,3,0,3,0,0,0,0,2,0,0,0,0,0,2,2,0,2,0,0,3,0,0,2,3,2, +0,0,2,0,2,2,2,2,0,2,0,2,0,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,0,0,2,3,0,3,3,0,0,0,2,0,0,3,0,0,0,0,0,2,0,0,2,3,0,0,0,0, +0,0,2,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,3,0,3,0,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,0,0,0,2,0,3,0,0,0,0,2,0,3,0,0,0,0,2,0,2,0,0,2,0,2,0,0,0, +0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,3,2,0,2,0,2,0,2,2,0,0,0,2,0,2,2,2,2,0,0,0,0,0,0,0,0,0,2,0, +2,0,0,0,0,0,2,0,2,2,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,3,0,3,0,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,3,2,0,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,0,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,2,2,2,0,2,0, +0,2,2,0,0,0,2,0,2,2,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel WINDOWS_1252germanModel = +{ + german_WINDOWS_1252CharToOrderMap, + germanLangModel, + (float)0.985431, + PR_TRUE, + "WINDOWS-1252", + "german" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGreekModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGreekModel.cpp new file mode 100644 index 0000000..9d2043f --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangGreekModel.cpp @@ -0,0 +1,230 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char greek_ISO_8859_7CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 67, 59, 45, 74, 51, 61, 69,105, 88, 99, 80, 93, 77, 95, 97, + 73,121, 92, 71, 64,110,103, 87,114,112,116,255,255,255,255,255, +255, 32, 72, 60, 43, 29, 78, 44, 58, 28, 70, 49, 41, 55, 40, 31, + 42,115, 37, 39, 38, 53, 90, 65, 98, 66,108,255,255,255,255,255, +145,140,150,180,138,144,179,155,178,154,177,176,135,175,149,174, +173,137,143,172,171,136,148,170,169,153,152,151,168,167,166,165, +164,134,107,132,127,163,162,128,147,131,161, 84,146,160,159,142, +133,126,130,129,120,141,102, 94, 89,109,118, 83, 85,139,122,125, + 91, 36, 62, 75, 57, 46,111, 82,101, 56, 54, 81, 50, 68,113, 63, + 47, 96,158, 25, 48,106, 79, 86,119,104,124,157, 17, 21, 18, 15, +123, 1, 34, 19, 23, 5, 33, 9, 27, 6, 12, 16, 13, 4, 52, 2, + 14, 7, 11, 8, 3, 10, 22, 26, 76, 24,100,117, 20, 30, 35,156, +}; + +static const unsigned char greek_WINDOWS_1253CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 67, 59, 45, 74, 51, 61, 69,105, 88, 99, 80, 93, 77, 95, 97, + 73,121, 92, 71, 64,110,103, 87,114,112,116,255,255,255,255,255, +255, 32, 72, 60, 43, 29, 78, 44, 58, 28, 70, 49, 41, 55, 40, 31, + 42,115, 37, 39, 38, 53, 90, 65, 98, 66,108,255,255,255,255,255, +127,180,179,178,177,176,175,174,173,172,171,170,169,168,167,166, +165,134,107,164,163,162,161,160,159,158,157,156,155,154,153,152, +151,137,102,132,150,149,148,128,139,131,147, 84,138,146,145,136, +133,126,130,129,120,144,143, 94, 89,109,118, 83, 85,135,122,125, + 91, 36, 62, 75, 57, 46,111, 82,101, 56, 54, 81, 50, 68,113, 63, + 47, 96,142, 25, 48,106, 79, 86,119,104,124,141, 17, 21, 18, 15, +123, 1, 34, 19, 23, 5, 33, 9, 27, 6, 12, 16, 13, 4, 52, 2, + 14, 7, 11, 8, 3, 10, 22, 26, 76, 24,100,117, 20, 30, 35,140, +}; + +static const PRUint8 greekLangModel[] = +{ +1,2,3,3,2,3,3,3,1,3,3,3,3,3,3,3,1,2,3,2,2,3,3,1,0,3,3,0,0,3,0,0, +3,3,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,3,2,3,3,3,3,3,3,3,1,3,3,1,2,3,3,1,1,3,3,0,0,3,0,0, +2,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,1,0,0,0,0,0,0,0,0, +3,3,2,1,3,3,3,3,3,3,1,1,2,1,3,3,3,3,1,3,3,1,0,3,0,1,1,0,0,3,1,0, +2,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,2,1,1,1,0,3,1,3,3,2,3,3,1,3,3,0,1,3,1,1,2,1,0, +1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,1,3,3,3,1,3,3,3,3,3,3,3,2,1,3,3,2,3,3,3,0,3,2,0,0,3,0,0, +2,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,3,3,2,1,3,3,3,3,1,3,3,2,3,3,2,3,3,2,0,2,2,0,0,1,0,0, +3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,2,3,3,1,3,3,2,3,2,3,3,3,3,3,2,2,3,0,3,3,0,0,2,0,0, +1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,1,3,3,3,0,3,3,3,3,1,2,2,1,2,2,3,2,3,0,3,3,0,0,3,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,3,3,0,0,3,3,1,1,3,3,3,2,1,3,1,0,3,0,0,2,2,1,0,2,3,0,0,2,0,0, +1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,2,3,3,1,0,3,3,3,3,2,3,2,2,3,2,1,2,2,1,0,3,3,0,0,0,0,0, +3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,3,3,3,2,3,3,1,2,1,2,3,3,3,3,1,3,3,2,2,2,0,1,2,0,0,2,0,0, +0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,3,1,1,3,2,1,0,3,3,3,0,3,3,0,3,3,3,1,3,0,0,0,0,0,2,0,0, +0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,3,3,0,3,2,1,0,0,2,3,3,3,3,0,3,3,1,0,3,0,0,0,0,0,3,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,0,3,3,3,0,3,3,3,3,0,3,0,0,3,0,0,2,3,3,0,3,2,0,0,0,0,0, +3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,3,0,1,3,3,1,2,2,2,3,3,3,3,2,3,3,2,2,3,0,1,2,0,0,3,0,0, +1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,3,3,2,2,3,3,1,1,3,3,3,3,0,3,0,0,3,0,0,3,3,2,0,3,3,0,0,0,0,0, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,0,3,3,0,0,3,3,3,2,0,2,0,0,3,0,0,2,2,0,0,2,3,0,0,0,0,0, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,3,3,3,3,0,3,3,0,3,3,0,3,2,3,3,3,2,3,1,2,2,0,2,0,0,0,2,0,0, +0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,3,3,1,2,3,3,2,1,3,2,3,3,0,3,0,0,3,0,0,2,2,1,0,2,2,0,0,0,0,0, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,1,3,3,1,1,3,3,3,3,0,3,0,0,3,0,0,3,2,2,0,3,2,0,0,0,0,0, +2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,3,3,1,3,2,0,0,0,0,2,2,3,3,1,2,3,1,1,3,0,0,2,0,0,2,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,3,3,3,1,3,3,0,0,0,0,3,0,2,2,1,3,2,1,1,2,0,0,0,0,0,3,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,3,3,1,1,3,3,1,1,3,2,3,3,2,2,2,2,2,1,1,2,2,0,0,2,2,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,2,2,0,0,2,3,0,2,1,2,1,1,2,1,0,1,1,1,0,2,1,2,0,0,0,2,0,0, +0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,2,0,1,0,0,0,1,0,2,1,0,0,0,0,0,1,0, +3,3,3,2,3,3,3,1,3,2,0,0,2,1,2,2,2,3,0,3,3,1,0,3,0,0,3,0,0,2,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,2,3,0,3,3,0,0,2,0,2,2,2,3,0,2,3,0,0,2,0,0,0,0,0,2,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,3,3, +0,0,0,0,2,3,3,3,3,3,2,3,1,0,0,0,3,0,0,0,2,0,3,0,0,1,1,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,2,2, +0,0,0,0,3,3,3,3,3,2,3,2,1,0,0,0,2,0,0,0,2,0,2,0,0,1,1,2,1,0,0,1, +2,3,3,3,2,1,3,3,2,0,3,2,3,3,0,3,0,0,2,0,0,2,2,2,0,2,2,0,0,0,0,0, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,2,2, +0,0,0,0,3,3,3,3,2,3,2,3,0,0,0,0,2,0,0,0,3,0,3,0,0,2,0,2,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,2,0,2,1, +0,0,0,0,3,3,3,3,3,2,3,3,1,0,0,0,3,0,0,0,2,0,2,0,0,2,1,2,0,0,0,1, +2,3,0,1,3,2,0,0,2,2,0,0,1,0,2,0,2,3,0,3,2,0,0,2,0,1,0,0,0,2,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,3,2,3,1,2,2,0,0,0,0,2,3,3,2,2,2,2,0,2,2,0,0,0,0,0,2,0,1, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,3,3,1,1,3,3,1,0,3,2,3,2,0,2,0,0,2,0,0,2,2,1,0,1,2,0,0,0,0,0, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,1,2,3,2,0,3,1,2,2,3,1,2,0,0,3,0,0,2,2,0,2,2,2,0,0,1,0,0, +1,1,0,1,0,0,0,0,0,0,0,0,0,1,2,2,0,1,0,2,0,2,0,2,1,0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,3, +0,0,0,0,2,2,2,2,2,2,2,3,1,0,0,0,2,0,0,0,2,0,2,0,0,1,1,2,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,3, +0,0,0,0,2,3,2,1,2,3,1,1,1,0,0,0,1,0,0,0,2,0,2,0,0,3,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,2, +0,0,0,0,2,3,2,2,2,2,1,1,1,0,0,0,2,0,1,0,2,0,2,0,0,2,1,2,1,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,3, +0,0,0,0,1,3,2,2,2,1,3,3,1,0,0,0,2,0,1,0,2,0,1,0,0,1,1,2,1,0,0,1, +0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,3, +0,0,0,0,1,2,2,1,2,1,2,1,0,0,0,0,2,0,0,0,2,0,2,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,3,2, +0,0,0,0,2,2,2,3,2,2,1,3,0,0,0,0,1,0,0,0,2,0,1,0,0,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,2,3, +0,0,0,0,2,1,3,1,1,1,2,1,0,0,0,0,1,0,0,0,2,0,1,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,2,2, +0,0,0,0,2,1,1,2,2,1,1,1,1,0,0,0,1,0,0,0,2,0,1,0,0,3,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,2,2, +0,0,0,0,2,1,1,0,1,1,1,0,1,0,0,0,1,0,3,0,1,0,1,0,0,2,1,1,3,0,0,2, +1,1,1,3,0,3,2,2,0,2,1,2,3,3,3,3,2,0,2,0,0,2,2,0,2,1,2,0,0,1,0,0, +1,1,0,1,0,0,0,0,0,0,0,0,0,1,2,1,0,1,0,2,0,1,0,2,1,0,0,0,0,1,1,0, +3,3,1,1,3,2,3,0,2,1,0,0,0,0,2,3,2,1,0,2,2,0,0,1,2,0,0,0,0,2,0,0, +0,0,2,2,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2,0, +2,3,0,0,2,2,3,2,2,2,0,0,1,0,2,0,1,1,0,2,2,0,0,1,1,0,0,0,0,1,0,0, +2,0,2,2,0,0,0,0,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,2,0,1,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,2,2, +0,0,0,0,2,2,2,1,2,1,1,1,0,0,0,0,2,0,0,0,1,0,1,0,0,1,1,1,0,0,0,0, +3,2,1,1,3,2,0,0,2,2,0,0,0,3,1,0,2,1,0,2,2,0,0,2,0,0,0,0,0,1,0,0, +0,0,1,2,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,2,0, +0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,1, +0,0,0,0,1,1,2,2,2,1,2,1,2,0,0,0,1,0,1,0,2,0,1,0,0,0,1,1,1,0,0,1, +3,2,1,0,3,3,0,0,2,2,0,0,0,1,2,1,2,2,1,1,2,0,1,2,0,0,0,0,0,2,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,1,2, +0,0,0,0,2,2,3,3,3,2,2,2,0,0,0,0,2,0,0,0,1,0,2,0,0,1,0,2,0,0,0,0, +3,3,1,1,2,2,2,0,1,2,0,0,0,0,1,2,2,1,0,2,1,0,0,2,0,0,0,0,0,2,0,0, +0,1,2,2,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,1,0,0,0,0,1,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,2,3, +0,0,0,0,1,1,2,1,2,2,1,1,0,0,0,0,1,0,0,0,2,0,2,0,0,1,0,1,0,0,0,0, +3,3,1,1,2,0,1,2,2,0,0,1,1,1,0,1,1,0,1,1,0,0,2,2,2,1,0,0,0,0,0,0, +0,1,1,2,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,2,0,1,1,0,0,0,0,1,2,0, +2,2,0,1,3,2,2,0,3,2,0,0,0,0,2,0,1,2,0,1,1,0,0,2,1,0,0,0,0,1,0,0, +0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,2,2, +0,0,0,0,2,3,1,2,1,2,2,1,0,0,0,0,1,0,0,0,2,0,1,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,2,3, +0,0,0,0,2,0,0,1,2,1,0,1,1,0,0,0,1,0,1,0,2,0,0,0,0,0,1,1,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,3,2, +0,0,0,0,2,2,2,1,2,1,1,1,1,0,0,0,2,0,0,0,2,0,1,0,0,2,1,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,3,2, +0,0,0,0,2,1,1,0,2,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,2,0,0,1, +2,3,0,0,2,3,2,0,1,1,0,0,0,0,2,2,2,1,1,2,1,0,0,0,0,0,0,0,0,1,0,0, +0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +0,0,1,1,0,2,2,1,0,2,0,3,2,1,1,2,0,0,0,0,0,1,2,0,2,1,1,0,0,2,0,0, +0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,1,0,1,0,1,1,0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,3,2, +0,0,0,0,2,1,1,0,0,0,1,0,1,0,1,0,1,1,1,0,1,1,1,0,0,2,0,0,1,0,0,1, +}; + +const SequenceModel ISO_8859_7greekModel = +{ + greek_ISO_8859_7CharToOrderMap, + greekLangModel, + (float)0.944928, + PR_TRUE, + "ISO-8859-7", + "greek" +}; + +const SequenceModel WINDOWS_1253greekModel = +{ + greek_WINDOWS_1253CharToOrderMap, + greekLangModel, + (float)0.944928, + PR_TRUE, + "WINDOWS-1253", + "greek" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHebrewModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHebrewModel.cpp new file mode 100644 index 0000000..5427c74 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHebrewModel.cpp @@ -0,0 +1,220 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Simon Montagu + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shoshannah Forbes + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + + +/**************************************************************** +255: Control characters that usually does not exist in any text +254: Carriage/Return +253: symbol (punctuation) that does not belong to word +252: 0 - 9 + +*****************************************************************/ + +//Windows-1255 language model +//Character Mapping Table: +static const unsigned char win1255_CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, //40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, //50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, //60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, //70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +}; + +//Model Table: +//total sequences: 100% +//first 512 sequences: 98.4004% +//first 1024 sequences: 1.5981% +//rest sequences: 0.087% +//negative sequences: 0.0015% +static const PRUint8 HebrewLangModel[] = +{ +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +}; + +const SequenceModel Win1255Model = +{ + win1255_CharToOrderMap, + HebrewLangModel, + (float)0.984004, + PR_FALSE, + "WINDOWS-1255", + "Hebrew" +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHungarianModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHungarianModel.cpp new file mode 100644 index 0000000..7c221f6 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangHungarianModel.cpp @@ -0,0 +1,244 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" +/**************************************************************** +255: Control characters that usually does not exist in any text +254: Carriage/Return +253: symbol (punctuation) that does not belong to word +252: 0 - 9 + +*****************************************************************/ + +//Character Mapping Table: +static const unsigned char Latin2_HungarianCharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 30, 47, 46, 43, 34, 50, 52, 38, 41, 49, 36, 44, 33, 35, 53, + 51,180, 45, 37, 42, 56, 39, 62, 64, 59, 54,255,255,255,255,255, +255, 2, 18, 27, 17, 1, 24, 12, 20, 9, 23, 7, 5, 13, 4, 8, + 26, 65, 10, 6, 3, 21, 19, 67, 63, 16, 11,255,255,255,255,255, +179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164, +163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148, +147,146,145,144,143,142,141,140,139,138,137,136,135,134,133,132, +131,130,129,128,127,126,125,124,123,122,121,120,119,118,117,116, +115, 55,114,113,112,111,110,109,108, 48,107,106,105, 66,104,103, +102,101,100, 60, 99, 61, 57, 98, 97, 96, 58, 68, 69, 95, 94, 93, + 92, 14, 91, 90, 89, 88, 87, 86, 85, 15, 84, 70, 83, 31, 82, 81, + 80, 79, 78, 25, 77, 28, 22, 76, 75, 74, 32, 40, 29, 73, 72, 71, +}; + +static const unsigned char win1250HungarianCharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 30, 47, 46, 43, 34, 50, 52, 38, 41, 49, 36, 44, 33, 35, 53, + 51,180, 45, 37, 42, 56, 39, 63, 65, 60, 54,255,255,255,255,255, +255, 2, 18, 27, 17, 1, 24, 12, 20, 9, 23, 7, 5, 13, 4, 8, + 26, 67, 10, 6, 3, 21, 19, 70, 64, 16, 11,255,255,255,255,255, +179,178,177,176, 59,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,158,157,156,155,154,153,152,151,150,149, +148,147,146,145,144,143,142,141,140,139,138, 69,137,136,135,134, +133,132,131,130,129,128,127,126,125,124,123, 66,122,121,120,119, +118, 55,117,116,115,114,113,112,111, 48,110,109,108, 68,107,106, +105,104,103, 61,102, 62, 57,101,100, 99, 58, 71, 72, 98, 97, 96, + 95, 14, 94, 93, 92, 91, 90, 89, 88, 15, 87, 73, 86, 31, 85, 84, + 83, 82, 81, 25, 80, 28, 22, 79, 78, 77, 32, 40, 29, 76, 75, 74, +}; + +//Model Table: +//total sequences: 100% +//first 512 sequences: 94.7368% +//first 1024 sequences:5.2623% +//rest sequences: 0.8894% +//negative sequences: 0.0009% +static const PRUint8 HungarianLangModel[] = +{ +2,2,3,3,3,3,3,2,3,3,3,3,3,3,2,2,3,3,3,3,2,0,3,3,0,3,3,0,2,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,2,3,3,3,3,3,0,3,3,3,3,3,2,2,3,3,3,3,3,3,0,3,3,2,3,3,0,2,0,0,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,0,3,3,3,3,3,3,2,3,2,3,3,3,0,2,2, +0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,3,2,2,3,2,3,3,3,3,3,2,3,3,3,3,2,2,2,3,3,3,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,0,3,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,3,3,3,2,3,3,3,2,2,3,2,3,3,3,0,2,3,2,2,3,3,0,3,3, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,0,2,3,3,2,2,3,2,3,3,3,2,2,3,2,0,2,3,0,2,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,0,2,3,3,3,3,0,2,2,3,3,3,3,2,0,2,2,0,3,3,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,0,3,3,3,3,3,2,2,3,3,3,3,0,2,0,0,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,2,3,2,3,3,3,0,2,2, +0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,2,3,3,2,3,3,2,3,3,3,2,3,3,2,2,3,2,0,3,3,0,3,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,3,2,3,2,2,2,2,0,2,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,3,2,3,3,2,2,0,3,3,3,0,2,3,2,2,3,3,2,2,2,3,2,0,2,0,3,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,3,3,3,0,3,3,3,3,3,0,2,0,3,3,3,3,2,0,3,2,0,2,3,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,3,0,2,3,3,3,3,0,2,0,3,3,3,3,0,0,3,2,0,3,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,3,3,2,2,3,3,3,0,0,3,3,3,3,3,2,2,3,2,2,2,3,0,2,3, +0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,3,3,3,2,2,2,3,3,2,3,2,3,2,3,3,3,2,3,0,0,3,2,0,3,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,2,2,3,3,3,0,0,0,3,3,0,2,3,2,2,3,3,2,0,3,0,0,3,2,0,2,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,2,0,3,3,2,0,0,0,3,3,0,0,2,2,0,2,3,2,0,2,0,0,2,2,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,2,2,2,0,3,3,0,0,0,0,3,3,0,0,0,0,2,3,3,0,0,3,0,0,2,2,0,3,3, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,0,2,3,3,3,3,2,0,0,3,2,2,2,0,0,3,2,0,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,3,3,3,0,0,3,3,3,3,0,0,0,2,3,3,2,0,0,2,2,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,2,3,2,2,2,0,2,3,3,0,3,2,2,2,3,3,3,2,3,0,2,0,2,0,0,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,2,0,0,3,3,2,0,0,2,3,3,2,0,0,0,0,3,3,3,2,2,0,0,3,3,0,0,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,0,2,3,3,2,2,0,2,0,3,3,3,2,0,0,2,2,0,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,2,3,3,3,2,0,0,3,3,0,2,2,2,2,3,2,3,2,2,3,2,2,2,0,2,2, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,2,3,3,3,3,2,2,0,0,3,2,2,0,2,2,3,2,0,0,0,0,0,2,0,0,0,2,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,0,2,3,2,2,2,2,0,0,3,3,2,2,0,0,2,2,0,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,3,0,0,3,2,3,0,0,0,0,2,2,2,2,0,0,2,0,0,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,2,2,0,3,0,0,2,3,0,3,0,0,0,2,2,0,2,2,0,0,2,0,2,0,0,0,0,0,0, +0,2,2,2,2,0,2,0,2,2,0,2,2,0,0,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0, +0,0,3,3,2,2,2,0,0,3,3,3,2,0,0,0,2,2,3,0,0,0,2,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,2,3,3,2,0,0,3,3,3,0,0,0,0,2,0,2,0,0,0,3,2,0,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,0,0,0,3,3,0,0,0,0,3,2,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,2,0, +0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,2,2,0,0,2,3,3,2,0,0,0,2,2,0,2,2,0,2,0,0,0,0,0,0,0,0,0, +2,0,2,2,2,0,0,0,0,2,2,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,3,2,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,2,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,2,0,0,0,0, +3,2,0,0,0,0,0,2,3,2,0,0,0,3,3,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,2,0, +0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +2,2,2,0,0,0,0,2,2,0,3,0,0,2,0,2,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0, +2,3,0,0,0,0,0,3,2,0,0,0,0,3,2,0,0,0,0,0,2,0,2,0,0,0,0,0,0,2,0,0, +0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,0,0,0,2,3,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,2,2,2,2,0,2,2,2,0,0,0,0,0,0,2,2,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,2,2,3,0,0,0,2,2,3,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,2,0,2,2,2,0,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,2,2,2,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,0,0, +0,2,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,2,0,2,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,2,0,2,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,3,2,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,0, +0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0, +2,3,0,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,2,2,2,0,0,2,0,0,0,0,2,0,0, +0,2,0,2,2,0,0,0,2,2,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0, +0,3,0,0,0,3,0,2,3,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,2,0,0,2,2,2,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,2,0,2,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,2,0,2,0,0,0,0,2,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,2,2,2,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,2,0,3,0,2,0,0,2,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,2,0,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,2,0,0,2,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,2,0,0,0,2,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,2,0,0,0,0,2,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel Latin2HungarianModel = +{ + Latin2_HungarianCharToOrderMap, + HungarianLangModel, + (float)0.965178, + PR_TRUE, + "ISO-8859-2", + "hungarian" +}; + +const SequenceModel Win1250HungarianModel = +{ + win1250HungarianCharToOrderMap, + HungarianLangModel, + (float)0.965178, + PR_TRUE, + "WINDOWS-1250", + "hungarian" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangPolishModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangPolishModel.cpp new file mode 100644 index 0000000..d247fa8 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangPolishModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char polish_iso_8859_2CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 34, 39, 37, 46, 54, 59, 51, 43, 35, 42, 45, 49, 41, 32, 47, + 31,180, 50, 33, 38, 53, 60, 30, 61, 58, 40,255,255,255,255,255, +255, 1, 21, 11, 13, 3, 44, 23, 26, 2, 18, 15, 20, 14, 6, 4, + 16, 63, 7, 8, 12, 19, 52, 9, 64, 10, 5,255,255,255,255,255, +179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164, +163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148, +147, 70,146, 57,145,144, 55, 78,143,142,141,140, 74,139,138, 56, +137, 24,136, 17,135, 82, 27,134,133,132,131, 65, 48,130,129, 25, +128,127,126,125,124,123, 77,122,121,120, 66,119,118,117,116,115, +114, 68,113, 62,112,111,110,109,108,107,106,105, 81,104,103,102, +101, 76, 69,100, 80, 99, 29, 71, 98, 67, 22, 97, 96, 95, 79, 73, + 94, 36, 93, 28, 92, 91, 75, 90, 89, 88, 87, 86, 72, 85, 84, 83, +}; + +static const PRUint8 polishLangModel[] = +{ +2,2,2,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,0,3,0,3,2,3,0,3,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,3,0,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,0,3,3,3,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +2,2,2,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,0,3,0,3,2,3,0,3,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,0,3,0,3,2,3,0,3,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,0,3,3,3,3,0,3,2,0,2,3,0,0,3,3,3,0,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,2,2,2,3,3,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,0,3,3,3,3,2,3,2,0,2,0,3,0,2,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,0,3,3,3,3,2,3,3,3,2,3,2,2,3,0,3,0,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,2,3,3,2,3,2,3,2,3,0,3,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,0,0,2,3,0,2,0,2,3,0,0,2,3,2,0,3,0,3,0,3,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,3,3,3,3,2,2,2,3,2,3,2,3,3,0,3,0,3,0,2,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,3,2,3,2,2,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,2,2,3,2,2,2,2,3,3,2,2,3,2,3,3,2,3,2,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,3,3,0,2,3,0,0,2,0,3,0,3,3,2,3,2,3,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,3,0,3,2,2,0,0,2,2,3,0,3,3,0,3,0,2,0,2,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,2,3,0,2,0,3,2,3,2,2,3,0,2,0,3,0,3,3,3,3,2,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,2,0,3,2,3,3,2,2,0,0,3,2,2,3,2,3,2,0,3,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,3,3,3,3,3,0,3,3,3,3,3,3,3,3,0,3,3,0,3,0,3,0,3,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,0,3,2,0,3,2,2,3,3,0,0,2,3,3,3,3,2,3,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,2,2,3,2,2,0,0,2,0,3,2,3,3,0,3,0,3,0,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,3,0,0,3,0,0,3,3,3,0,3,3,3,0,0,2,3,0,2,0,3,0,3,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,3,0,3,0,0,0,3,2,0,0,3,2,3,3,0,3,0,3,2,2,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,3,0,0,3,2,0,3,3,3,0,3,3,3,0,0,0,2,0,3,0,3,0,2,0,3,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,3,0,3,0,2,2,3,2,0,3,2,3,0,2,0,2,2,2,3,2,3,0,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,2,0,3,3,3,2,0,2,0,0,3,0,3,2,0,2,0,2,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,0,3,0,3,0,0,3,0,3,0,0,0,3,2,0,0,0,0,0,0,0,3,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,3,2,3,0,3,2,3,2,2,2,3,3,0,3,3,0,3,0,3,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,2,2,2,3,0,3,2,2,0,0,2,2,2,0,0,0,0,2,0,2,0,0,2,2,0,0,0,2, +2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +3,3,2,3,0,0,3,2,0,2,0,0,0,0,0,0,2,0,2,2,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +2,3,2,2,3,2,0,0,2,2,2,3,0,2,3,3,3,0,0,0,0,0,0,2,0,2,0,0,0,0,2,0, +0,0,2,0,0,2,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,2,2,2,0,0,2,0,0,2,2,0,0,0,0,3,2,0,0,0,2,0,0,0,0,2,0,2, +2,0,0,0,2,0,0,2,2,2,0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,2,2,0,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,2,2,0,0,0, +0,0,0,0,0,0,0,3,0,0,3,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,3,3,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,3,0,2,0,0,0,0, +0,2,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,0,0,3,0,2,2,2,0,0,0,0,0,2,0,2,0,0,2,0,2,0,0,0,0,0,2,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,3,0,0,2,0,0,3,0,0,0,0,0,0,2,0,2,2,0,2,0,2,0,0,0,2,0,0,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,2,2,0,3,2,0,2,0,0,2,2,2,0,0,2,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +3,3,2,3,0,2,2,0,0,2,0,0,0,0,0,0,2,0,2,0,0,2,0,0,0,0,0,3,0,0,0,2, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,0,2,2,0,0,0,0,2,0,0,2,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,3,0,2,3,2,2,0,0,3,0,0,0,0,2,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +3,2,2,3,3,0,2,0,2,2,0,0,0,0,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,2,0,2,2,0,2,3,3,0,2,2,0,2,0,2,2,0,2,0,0,0,2,0,0,2,2,2, +2,0,0,0,2,2,0,0,2,0,0,0,2,2,0,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,0,2, +0,0,0,0,0,3,2,0,2,0,2,0,2,2,0,0,0,0,0,2,2,0,0,0,0,0,0,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0, +2,0,2,3,2,0,0,0,2,2,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,2,0,2,0,0, +0,2,0,0,0,2,0,2,0,0,0,0,0,0,2,0,0,0,0,0,2,2,0,0,0,2,0,0,0,2,0,0, +2,2,2,2,0,2,3,0,2,0,0,0,3,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,2,2,0,2,0,2,2,2,2,0,2,0,0,2,0,0,0,0,0,2,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,2,0,2, +2,0,0,0,2,0,0,2,2,2,0,0,2,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,0,0,2,0,2,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,3,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel iso_8859_2polishModel = +{ + polish_iso_8859_2CharToOrderMap, + polishLangModel, + (float)0.974309, + PR_TRUE, + "ISO-8859-2", + "polish" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSpanishModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSpanishModel.cpp new file mode 100644 index 0000000..dc3862f --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSpanishModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char spanish_windows_1252CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 32, 44, 29, 38, 26, 48, 49, 53, 37, 55, 63, 31, 35, 40, 46, + 30, 58, 36, 33, 41, 47, 54, 52, 64, 51, 67,255,255,255,255,255, +255, 2, 15, 11, 9, 1, 19, 16, 21, 6, 27, 43, 8, 13, 4, 3, + 14, 22, 7, 5, 10, 12, 17, 42, 39, 18, 24,255,255,255,255,255, +180,179,178,177,176, 71,175,174,173,172,171,170,169,168,167,166, +165, 76, 70, 61, 62,164, 57,163,162,161,160,159,158,157,156,155, +154, 56,153,152,151,150,149,148,147, 79, 73, 59,146,145,144,143, + 83, 82,142,141,140,139,138,137,136,135, 78, 60,134,133,132, 50, +131, 72,130,129,128,127,126,125,124, 66,123,122,121, 68,120,119, +118, 74,117, 69,116,115,114,113,112,111, 81,110,109,108,107,106, +105, 25,104,103,102,101,100, 77, 75, 28, 99, 98, 97, 23, 96, 95, + 94, 34, 80, 20, 93, 92, 91, 90, 89, 88, 45, 87, 65, 86, 85, 84, +}; + +static const PRUint8 spanishLangModel[] = +{ +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,0,3,0,0,2,2,0, +2,3,0,0,0,0,3,0,2,3,2,3,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,2,0,2,0,2, +3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,0,0,3,0,0,0,0,0, +0,3,0,0,0,0,2,0,0,2,2,0,3,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,2,0,0, +2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,3,0,0,3,2,0,0,0,0, +3,3,2,0,0,0,2,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,2,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,2,3,3,3,2,0,3,3,2,0,0,0, +0,0,0,0,0,2,0,0,0,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,3,0,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,2,0,0, +3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,0,3,3,0,3,0,3,2,0,3,3,2,2,2,0, +0,3,0,0,0,0,2,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,0,0,0,2, +0,0,0,0,0,2,0,0,2,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +3,3,3,0,3,3,2,3,3,3,3,3,3,2,2,3,3,2,2,3,2,3,3,3,3,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +3,3,3,0,2,3,3,2,0,2,2,3,3,0,0,2,2,0,2,3,2,2,3,0,3,0,0,2,2,0,2,0, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,3,3,3,2,0,3,3,3,2,3,0,0,0,2,0,3,3,0,3,2,3,0,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,3,0,2,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +3,3,3,3,2,3,3,3,0,3,3,3,2,0,0,0,0,2,0,3,3,0,3,0,3,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,2,2,0,2,3,3,3,0,3,3,0,0,0,0, +0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,0,0,0,0,0,3,3,3,3,0,0,2,0,3,0,0,3,0,3,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,3,3,3,0,3,2,3,2,2,0,0,0,3,0,3,3,0,2,2,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,3,3,3,3,2,2,0,3,2,0,0,0,2,2,0,2,0,0,3,0,2,0,3,2,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,3,3,0,2,0,3,2,0,0,2,0,2,0,3,3,0,3,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,2,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,3,0,2,0,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,0,3,2,0,2,2,2,2,2,3,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +3,3,3,0,0,3,3,3,0,3,0,3,0,0,0,0,0,0,2,2,0,0,3,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,3,0,2,0,3,2,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,0,3,2,2,0,3,0,3,0,0,0,0,0,2,0,2,0,0,2,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,2,2,3,3,3,0,2,2,2,2,2,0,3,0,0,2,0,0,0,0,2,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,2,0,2,0,0,0,0,2,2,3,0,0,2,0,0,0,3,0,2,0,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,3,3,0,3,3,0,3,3,2,3,3,2,3,2,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,2,2,3,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2, +2,0,0,3,0,2,2,3,2,0,0,2,0,0,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2, +3,3,3,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,2,0,2,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,3,3,0,3,3,3,3,3,0,2,2,2,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,3,2,0,0,0,3,0,0,0,0,0,3,0,3,3,0,0,0,2,2,0,0,0,0,2,2, +0,0,0,2,3,3,0,2,2,0,0,0,0,2,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,2,0, +3,3,3,0,2,3,3,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,2,2,0,2,2,0,3,2, +2,0,0,2,2,3,0,0,0,0,0,0,2,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,2,3, +0,0,2,0,3,2,0,0,0,0,0,0,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,3,3,3,2,3,3,3,2,2,2,2,2,0,0,2,2,0,0,0,0,0,0,2,2,2,0, +3,0,2,3,2,2,0,2,2,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,3,3,0,0,3,2,2,0,3,3,3,2,2,0,0,0,2,0,2,0,0,2,0,0,2,0,0,3,2,2,2, +0,0,2,0,2,2,0,0,2,0,0,2,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,2,0,0,0,2,3,0,0,0,0,0,0,0,2,0,0,0,0,2,2,0,2,0,2,2,2, +2,0,0,0,3,0,0,0,0,0,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,2,2, +2,0,2,2,2,0,0,2,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,2,2, +2,0,2,0,3,2,0,3,3,0,0,2,0,2,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2, +3,2,3,0,0,3,2,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,2,0,2,2,3, +0,0,0,2,3,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,3,0,0,0,3,3,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,2,3, +2,0,0,2,2,2,0,0,2,0,0,0,0,2,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,3,0,0,0,0,2,0,0,0,0,0,2,0,0,3,0,0,0,0,2,0,0,0,2,0,2, +0,0,2,2,2,0,0,0,2,2,0,2,2,2,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2, +3,3,2,2,2,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,2,3,3,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,3,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,2,2, +0,0,2,2,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,3,3,0,2,3,0,2,0,0,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,3,2,0,2,2,0,3,2,2,0,3,2,0,0,2,0,0,2,0,0,0,0,0,0,0,3,2,2,0, +2,0,2,2,2,2,2,2,2,0,0,2,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,0,3,2,0,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +2,0,0,2,0,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,3,3,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2, +0,0,0,0,2,2,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,2,2,0,0,0,3,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,2,0, +2,0,0,0,2,0,0,2,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,2,2,0,0,2,2,2,2,0,0,2,0,0,2,2,0,0,0,2,0,0,0,2,0,0,3,3,2,2, +2,0,2,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,3,0,2,2,0,0,0,3,0,0,0,0,0,0, +0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,2, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,2, +0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,2,0,0,0,0,0,2,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,2,2,2,2, +2,0,2,0,0,2,0,0,2,0,0,0,0,2,0,0,0,0,2,0,2,2,0,0,0,2,0,0,0,0,0,0, +2,2,2,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,2,2,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,2,0,0,2,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,2,0, +0,0,0,2,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel windows_1252spanishModel = +{ + spanish_windows_1252CharToOrderMap, + spanishLangModel, + (float)0.983906, + PR_TRUE, + "WINDOWS-1252", + "spanish" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSwedishModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSwedishModel.cpp new file mode 100644 index 0000000..ad7e1d9 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangSwedishModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char swedish_WINDOWS_1252CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 31, 44, 47, 26, 33, 36, 38, 27, 40, 30, 42, 43, 29, 34, 35, + 45, 70, 46, 28, 37, 48, 32, 53, 61, 60, 57,255,255,255,255,255, +255, 1, 23, 21, 7, 2, 18, 11, 14, 9, 24, 13, 8, 12, 3, 10, + 22, 52, 5, 6, 4, 19, 16, 55, 41, 25, 54,255,255,255,255,255, +180,179,178,177, 66,176, 71,175,174,173,172,171,170,169,168,167, +166,165, 56, 59,164,163,162,161,160,159,158,157,156,155,154,153, +152,151,150, 69,149,148,147,146,145,144,143,142,141,140,139,138, + 72, 85, 77, 62,137,136,135,134,133,132,131, 39, 73, 68, 76,130, +129,128,127,126, 49, 50, 84,125,124, 81,123,122,121,120,119,118, +117,116,115,114,113,112, 58,111,110,109,108,107, 83,106,105,104, + 64,103, 80,102, 15, 17, 65, 74, 67, 51, 79, 78,101,100, 99, 98, + 97, 96, 95, 94, 82, 93, 20, 92, 91, 90, 89, 75, 63, 88, 87, 86, +}; + +static const PRUint8 swedishLangModel[] = +{ +2,2,3,3,3,3,3,3,2,2,3,3,3,2,1,3,2,3,3,0,3,3,3,2,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,0,2,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,3,3,1,3,3,3,3,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,2,0,2,2,2,0,0,1,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,1,0,2,0,2,0,0,2,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,1,0,0,2,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,2,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,1,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,3,3,3,3,3,1,3,0,3,3,2,3,3,3,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,0,2,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,2,0,0, +3,3,3,3,3,3,2,3,3,3,3,2,2,3,3,3,3,2,3,3,0,2,2,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,2,2,0,2,3,3,1,2,0,1,3,3,3,0,3,3,0,0,0,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,2,3,3,3,3,3,3,0,1,3,3,3,2,2,3,0,3,0,0,3,3,2,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,2,3,2,3,2,1,2,3,2,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,3,3,0,1,3,2,3,2,2,3,2,2,0,1,0,2,2,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,3,3,3,2,2,2,2,3,3,3,3,3,3,0,2,2,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,3,3,3,3,3,3,2,2,3,3,3,2,0,3,2,3,2,0,3,3,3,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,3,2,1,3,3,3,2,0,3,0,3,1,1,2,3,2,3,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,0,2,2,2,0,2,3,2,0,0,3,3,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,2,3,3,3,2,0,3,2,2,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,3,2,2,3,3,3,0,0,0,1,3,0,3,0,3,3,1,0,3,3,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,2,3,3,1,3,0,1,3,0,3,0,2,2,3,3,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,3,3,0,2,3,3,3,2,0,2,2,3,1,0,3,3,2,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,2,0,0,0,2,2,0,0,0,0,3,1,3,0,3,2,0,0,0,2,2,0,0,0,0,1,2,0, +2,0,1,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,0,0,0,0,2,3,0,2,0,0,3,3,2,0,3,3,0,0,0,2,2,0,0,0,0,0,2,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,0,1,0,2,3,3,0,2,3,0,2,3,3,0,2,2,3,2,0,2,2,0,0,2,0,2,2,0, +2,0,2,1,2,0,0,2,0,2,1,1,2,0,0,0,0,1,2,0,0,0,2,0,0,2,0,0,0,0,1,0, +3,3,0,0,0,0,0,0,3,3,0,0,0,0,3,0,3,0,2,2,0,0,0,2,2,0,0,0,0,0,2,0, +1,0,2,0,2,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,0,0,3,0,0,0,0,2,0,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,1,3,2,2,3,2,3,0,0,1,2,2,2,0,2,0,2,2,0,2,2,2,0,0,2,0,2,1,0,0,1, +0,2,0,1,2,2,0,0,2,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,0,2,0,0,0,3,2,0,0,0,0,3,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,2,0, +2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,3,2,2,3,1,0,2,2,2,2,0,2,0,2,2,0,2,1,0,2,2,2,1,1,2,0,0,0, +0,2,0,0,2,1,0,0,2,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +2,3,0,0,0,0,0,0,3,3,0,0,0,0,3,0,3,0,3,2,0,0,0,0,2,2,0,2,0,0,2,0, +2,2,2,0,1,2,0,2,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,1,2,2,2,2,0,2,0,3,2,0,0,2,0,2,2,0,3,2,2,1,0,1,0,0,2,0,1,0, +0,2,0,1,2,0,0,0,2,1,1,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,3,0,0,2,3,3,0,0,0,0,2,0,2,0,2,3,0,0,0,2,2,0,0,0,0,2,1,0, +2,0,2,1,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +3,2,0,0,3,1,0,0,3,3,0,0,0,2,2,2,2,0,2,2,0,1,0,2,3,0,0,1,1,2,2,0, +2,2,2,0,2,0,0,2,0,0,2,0,0,2,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,0,3,0,0,2,2,2,0,0,0,0,2,0,2,0,3,2,0,0,0,1,0,0,0,1,0,0,2,0, +2,0,2,0,0,0,0,0,0,0,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,2,1,2,2,2,1,1,2,2,2,2,0,2,0,2,1,0,0,2,2,1,0,2,2,2,2,2,2,2, +2,2,2,2,2,2,0,2,0,2,2,2,2,1,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,1,2,2,2,0,0,1,2,0,0,0,1,0,2,0,0,2,0,2,0,0,1,0,2,2,0,0,2, +1,2,2,0,2,2,0,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,2,3,0,2,1,2,3,2,0,0,2,2,0,0,0,2,1,0,1,2,2,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,0,2,0,0,3,2,3,0,0,0,0,2,2,1,0,2,2,0,0,0,1,2,0,1,0,0,0,2,0, +2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,0,0,0,0,0,0,3,2,0,0,0,0,2,0,2,0,3,2,0,0,0,2,2,0,0,2,0,0,2,0, +2,2,1,1,0,0,0,2,0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,0,0,3,0,1,3,2,2,0,0,0,0,2,0,2,0,2,2,0,0,0,2,2,0,0,0,0,0,0,0, +2,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,0,1,2,0,0,2,2,2,0,0,0,1,1,0,3,1,2,0,0,0,0,0,0,0,0,0,0,0,2,0, +1,0,2,0,0,0,0,2,0,0,0,0,2,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,0,2,2,0,0,0,2,2,0,2,0,2,2,0,0,0,0,2,2,0,2,1,0,2,0, +2,2,2,0,2,2,0,2,0,1,2,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,2,0,0,2,0,0,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,2,2,1,3,0,0,1,2,0,0,0,0,0,0,0,0,0,2,0,2,0,1,0,2,0,0,0,0, +0,2,0,1,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,2,3,0,2,2,0,0,1,1,0,2,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,2,1,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,2,2,2,0,1,0,0,0,0,2,2,0,2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0, +0,2,0,0,2,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,1,2,2,0,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,0,0,0,1,0,0,2,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,1,0,1,2,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,2,2,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,2,2,2,0,0,0,2,0,0,0,0,2,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,2,2,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel WINDOWS_1252swedishModel = +{ + swedish_WINDOWS_1252CharToOrderMap, + swedishLangModel, + (float)0.989923, + PR_TRUE, + "WINDOWS-1252", + "swedish" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangThaiModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangThaiModel.cpp new file mode 100644 index 0000000..1e4f8b4 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangThaiModel.cpp @@ -0,0 +1,222 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + + +/**************************************************************** +255: Control characters that usually does not exist in any text +254: Carriage/Return +253: symbol (punctuation) that does not belong to word +252: 0 - 9 + +*****************************************************************/ + +//The following result for thai was collected from a limited sample (1M). + +//Character Mapping Table: +static const unsigned char TIS620CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 ++253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, //40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, //50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, //60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, //70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +}; + + + + +//Model Table: +//total sequences: 100% +//first 512 sequences: 92.6386% +//first 1024 sequences:7.3177% +//rest sequences: 1.0230% +//negative sequences: 0.0436% +static const PRUint8 ThaiLangModel[] = +{ +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + + +const SequenceModel TIS620ThaiModel = +{ + TIS620CharToOrderMap, + ThaiLangModel, + (float)0.926386, + PR_FALSE, + "TIS-620", + "Thai" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangTurkishModel.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangTurkishModel.cpp new file mode 100644 index 0000000..88e22c9 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/LangTurkishModel.cpp @@ -0,0 +1,200 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsSBCharSetProber.h" + +static const unsigned char turkish_ISO_8859_9CharToOrderMap[] = +{ +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +}; + +static const PRUint8 turkishLangModel[] = +{ +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +const SequenceModel ISO_8859_9turkishModel = +{ + turkish_ISO_8859_9CharToOrderMap, + turkishLangModel, + (float)0.970290, + PR_TRUE, + "ISO-8859-9", + "turkish" +}; diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Makefile.in b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Makefile.in new file mode 100644 index 0000000..8c7f9a1 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/Makefile.in @@ -0,0 +1,84 @@ +# +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Simon Montagu +# Shy Shalom +# Proofpoint, Inc. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + +DEPTH = ../../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +MODULE = universalchardet_s +LIBRARY_NAME = universalchardet_s + +CPPSRCS = \ + CharDistribution.cpp \ + JpCntx.cpp \ + LangBulgarianModel.cpp \ + LangCyrillicModel.cpp \ + LangGreekModel.cpp \ + LangHungarianModel.cpp \ + LangHebrewModel.cpp \ + LangThaiModel.cpp \ + nsHebrewProber.cpp \ + nsCharSetProber.cpp \ + nsBig5Prober.cpp \ + nsEUCJPProber.cpp \ + nsEUCKRProber.cpp \ + nsEUCTWProber.cpp \ + nsEscCharsetProber.cpp \ + nsEscSM.cpp \ + nsGB2312Prober.cpp \ + nsMBCSGroupProber.cpp \ + nsMBCSSM.cpp \ + nsSBCSGroupProber.cpp \ + nsSBCharSetProber.cpp \ + nsSJISProber.cpp \ + nsUTF8Prober.cpp \ + nsLatin1Prober.cpp \ + nsUniversalDetector.cpp \ + $(NULL) + +FORCE_STATIC_LIB = 1 +LIBXUL_LIBRARY = 1 +# This library is used by other shared libs in a static build +FORCE_USE_PIC = 1 + +include $(topsrcdir)/config/rules.mk diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.cpp new file mode 100644 index 0000000..a5bf090 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.cpp @@ -0,0 +1,90 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsBig5Prober.h" +#include "nsDebug.h" + +void nsBig5Prober::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mDistributionAnalyser.Reset(mIsPreferredLanguage); +} + +nsProbingState nsBig5Prober::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mDistributionAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; + + return mState; +} + +float nsBig5Prober::GetConfidence(void) +{ + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (float)distribCf; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.h new file mode 100644 index 0000000..5ae3576 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsBig5Prober.h @@ -0,0 +1,74 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsBig5Prober_h__ +#define nsBig5Prober_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "CharDistribution.h" + +class nsBig5Prober: public nsCharSetProber { +public: + nsBig5Prober(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&Big5SMModel); + Reset();} + virtual ~nsBig5Prober(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "Big5";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + void GetDistribution(PRUint32 aCharLen, const char* aStr); + + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + //Big5ContextAnalysis mContextAnalyser; + Big5DistributionAnalysis mDistributionAnalyser; + char mLastChar[2]; + PRBool mIsPreferredLanguage; + +}; + + +#endif /* nsBig5Prober_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.cpp new file mode 100644 index 0000000..0429dd1 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.cpp @@ -0,0 +1,125 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsCharSetProber.h" +#include "prmem.h" + +//This filter applies to all scripts which do not use English characters +PRBool nsCharSetProber::FilterWithoutEnglishLetters(const char* aBuf, PRUint32 aLen, char** newBuf, PRUint32& newLen) +{ + char *newptr; + char *prevPtr, *curPtr; + + PRBool meetMSB = PR_FALSE; + newptr = *newBuf = (char*)PR_Malloc(aLen); + if (!newptr) + return PR_FALSE; + + for (curPtr = prevPtr = (char*)aBuf; curPtr < aBuf+aLen; curPtr++) + { + if (*curPtr & 0x80) + { + meetMSB = PR_TRUE; + } + else if (*curPtr < 'A' || (*curPtr > 'Z' && *curPtr < 'a') || *curPtr > 'z') + { + //current char is a symbol, most likely a punctuation. we treat it as segment delimiter + if (meetMSB && curPtr > prevPtr) + //this segment contains more than single symbol, and it has upper ASCII, we need to keep it + { + while (prevPtr < curPtr) *newptr++ = *prevPtr++; + prevPtr++; + *newptr++ = ' '; + meetMSB = PR_FALSE; + } + else //ignore current segment. (either because it is just a symbol or just an English word) + prevPtr = curPtr+1; + } + } + if (meetMSB && curPtr > prevPtr) + while (prevPtr < curPtr) *newptr++ = *prevPtr++; + + newLen = newptr - *newBuf; + + return PR_TRUE; +} + +//This filter applies to all scripts which contain both English characters and upper ASCII characters. +PRBool nsCharSetProber::FilterWithEnglishLetters(const char* aBuf, PRUint32 aLen, char** newBuf, PRUint32& newLen) +{ + //do filtering to reduce load to probers + char *newptr; + char *prevPtr, *curPtr; + PRBool isInTag = PR_FALSE; + + newptr = *newBuf = (char*)PR_Malloc(aLen); + if (!newptr) + return PR_FALSE; + + for (curPtr = prevPtr = (char*)aBuf; curPtr < aBuf+aLen; curPtr++) + { + if (*curPtr == '>') + isInTag = PR_FALSE; + else if (*curPtr == '<') + isInTag = PR_TRUE; + + if (!(*curPtr & 0x80) && + (*curPtr < 'A' || (*curPtr > 'Z' && *curPtr < 'a') || *curPtr > 'z') ) + { + if (curPtr > prevPtr && !isInTag) // Current segment contains more than just a symbol + // and it is not inside a tag, keep it. + { + while (prevPtr < curPtr) *newptr++ = *prevPtr++; + prevPtr++; + *newptr++ = ' '; + } + else + prevPtr = curPtr+1; + } + } + + // If the current segment contains more than just a symbol + // and it is not inside a tag then keep it. + if (!isInTag) + while (prevPtr < curPtr) + *newptr++ = *prevPtr++; + + newLen = newptr - *newBuf; + + return PR_TRUE; +} diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.h new file mode 100644 index 0000000..436928a --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCharSetProber.h @@ -0,0 +1,78 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#ifndef nsCharSetProber_h__ +#define nsCharSetProber_h__ + +#include "nscore.h" + +//#define DEBUG_chardet // Uncomment this for debug dump. + +typedef enum { + eDetecting = 0, //We are still detecting, no sure answer yet, but caller can ask for confidence. + eFoundIt = 1, //That's a positive answer + eNotMe = 2 //Negative answer +} nsProbingState; + +#define SHORTCUT_THRESHOLD (float)0.95 + +class nsCharSetProber { +public: + virtual ~nsCharSetProber() {} + virtual const char* GetCharSetName() = 0; + virtual const char* GetLangName() {return "";}; + virtual PRBool KeepEnglishLetters() {return PR_TRUE;} + virtual nsProbingState HandleData(const char* aBuf, PRUint32 aLen) = 0; + virtual nsProbingState GetState(void) = 0; + virtual void Reset(void) = 0; + virtual float GetConfidence(void) = 0; + virtual void SetOpion() = 0; + +#ifdef DEBUG_chardet + virtual void DumpStatus() {}; +#endif + + // Helper functions used in the Latin1 and Group probers. + // both functions Allocate a new buffer for newBuf. This buffer should be + // freed by the caller using PR_FREEIF. + // Both functions return PR_FALSE in case of memory allocation failure. + static PRBool FilterWithoutEnglishLetters(const char* aBuf, PRUint32 aLen, char** newBuf, PRUint32& newLen); + static PRBool FilterWithEnglishLetters(const char* aBuf, PRUint32 aLen, char** newBuf, PRUint32& newLen); + +}; + +#endif /* nsCharSetProber_h__ */ diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCodingStateMachine.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCodingStateMachine.h new file mode 100644 index 0000000..819f9ab --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsCodingStateMachine.h @@ -0,0 +1,104 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#ifndef nsCodingStateMachine_h__ +#define nsCodingStateMachine_h__ + +#include "nsPkgInt.h" + +typedef enum { + eStart = 0, + eError = 1, + eItsMe = 2 +} nsSMState; + +#define GETCLASS(c) GETFROMPCK(((unsigned char)(c)), mModel->classTable) + +//state machine model +typedef struct +{ + nsPkgInt classTable; + PRUint32 classFactor; + nsPkgInt stateTable; + const PRUint32* charLenTable; + const char* name; +} SMModel; + +class nsCodingStateMachine { +public: + nsCodingStateMachine(const SMModel* sm) : mModel(sm) { mCurrentState = eStart; } + nsSMState NextState(char c){ + //for each byte we get its class , if it is first byte, we also get byte length + PRUint32 byteCls = GETCLASS(c); + if (mCurrentState == eStart) + { + mCurrentBytePos = 0; + mCurrentCharLen = mModel->charLenTable[byteCls]; + } + //from byte's class and stateTable, we get its next state + mCurrentState=(nsSMState)GETFROMPCK(mCurrentState*(mModel->classFactor)+byteCls, + mModel->stateTable); + mCurrentBytePos++; + return mCurrentState; + } + PRUint32 GetCurrentCharLen(void) {return mCurrentCharLen;} + void Reset(void) {mCurrentState = eStart;} + const char * GetCodingStateMachine() {return mModel->name;} + +protected: + nsSMState mCurrentState; + PRUint32 mCurrentCharLen; + PRUint32 mCurrentBytePos; + + const SMModel *mModel; +}; + +extern const SMModel UTF8SMModel; +extern const SMModel Big5SMModel; +extern const SMModel EUCJPSMModel; +extern const SMModel EUCKRSMModel; +extern const SMModel EUCTWSMModel; +extern const SMModel GB18030SMModel; +extern const SMModel SJISSMModel; + + +extern const SMModel HZSMModel; +extern const SMModel ISO2022CNSMModel; +extern const SMModel ISO2022JPSMModel; +extern const SMModel ISO2022KRSMModel; + +#endif /* nsCodingStateMachine_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.cpp new file mode 100644 index 0000000..a89ee22 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.cpp @@ -0,0 +1,101 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// for japanese encoding, obeserve characteristic: +// 1, kana character (or hankaku?) often have hight frequency of appereance +// 2, kana character often exist in group +// 3, certain combination of kana is never used in japanese language + +#include "nsEUCJPProber.h" +#include "nsDebug.h" + +void nsEUCJPProber::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mContextAnalyser.Reset(mIsPreferredLanguage); + mDistributionAnalyser.Reset(mIsPreferredLanguage); +} + +nsProbingState nsEUCJPProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mContextAnalyser.HandleOneChar(mLastChar, charLen); + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + { + mContextAnalyser.HandleOneChar(aBuf+i-1, charLen); + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mContextAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; + + return mState; +} + +float nsEUCJPProber::GetConfidence(void) +{ + float contxtCf = mContextAnalyser.GetConfidence(); + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (contxtCf > distribCf ? contxtCf : distribCf); +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.h new file mode 100644 index 0000000..a7a2f51 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCJPProber.h @@ -0,0 +1,78 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// for S-JIS encoding, obeserve characteristic: +// 1, kana character (or hankaku?) often have hight frequency of appereance +// 2, kana character often exist in group +// 3, certain combination of kana is never used in japanese language + +#ifndef nsEUCJPProber_h__ +#define nsEUCJPProber_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "JpCntx.h" +#include "CharDistribution.h" + +class nsEUCJPProber: public nsCharSetProber { +public: + nsEUCJPProber(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&EUCJPSMModel); + Reset();} + virtual ~nsEUCJPProber(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "EUC-JP";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + EUCJPContextAnalysis mContextAnalyser; + EUCJPDistributionAnalysis mDistributionAnalyser; + + char mLastChar[2]; + PRBool mIsPreferredLanguage; +}; + + +#endif /* nsEUCJPProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.cpp new file mode 100644 index 0000000..76e3217 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.cpp @@ -0,0 +1,93 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsEUCKRProber.h" +#include "nsDebug.h" + +void nsEUCKRProber::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mDistributionAnalyser.Reset(mIsPreferredLanguage); + //mContextAnalyser.Reset(); +} + +nsProbingState nsEUCKRProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mDistributionAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; +// else +// mDistributionAnalyser.HandleData(aBuf, aLen); + + return mState; +} + +float nsEUCKRProber::GetConfidence(void) +{ + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (float)distribCf; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.h new file mode 100644 index 0000000..8e09984 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCKRProber.h @@ -0,0 +1,75 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsEUCKRProber_h__ +#define nsEUCKRProber_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "CharDistribution.h" + +class nsEUCKRProber: public nsCharSetProber { +public: + nsEUCKRProber(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&EUCKRSMModel); + Reset(); + } + virtual ~nsEUCKRProber(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "EUC-KR";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + void GetDistribution(PRUint32 aCharLen, const char* aStr); + + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + //EUCKRContextAnalysis mContextAnalyser; + EUCKRDistributionAnalysis mDistributionAnalyser; + char mLastChar[2]; + PRBool mIsPreferredLanguage; + +}; + + +#endif /* nsEUCKRProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.cpp new file mode 100644 index 0000000..73d552a --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.cpp @@ -0,0 +1,93 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsEUCTWProber.h" +#include "nsDebug.h" + +void nsEUCTWProber::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mDistributionAnalyser.Reset(mIsPreferredLanguage); + //mContextAnalyser.Reset(); +} + +nsProbingState nsEUCTWProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mDistributionAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; +// else +// mDistributionAnalyser.HandleData(aBuf, aLen); + + return mState; +} + +float nsEUCTWProber::GetConfidence(void) +{ + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (float)distribCf; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.h new file mode 100644 index 0000000..d7acd40 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEUCTWProber.h @@ -0,0 +1,75 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsEUCTWProber_h__ +#define nsEUCTWProber_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "CharDistribution.h" + +class nsEUCTWProber: public nsCharSetProber { +public: + nsEUCTWProber(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&EUCTWSMModel); + Reset();} + virtual ~nsEUCTWProber(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "EUC-TW";} + //const char* GetCharSetName() {return "x-euc-tw";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + void GetDistribution(PRUint32 aCharLen, const char* aStr); + + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + //EUCTWContextAnalysis mContextAnalyser; + EUCTWDistributionAnalysis mDistributionAnalyser; + char mLastChar[2]; + PRBool mIsPreferredLanguage; + +}; + + +#endif /* nsEUCTWProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.cpp new file mode 100644 index 0000000..464c753 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.cpp @@ -0,0 +1,101 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + + +#include "nsEscCharsetProber.h" +#include "nsUniversalDetector.h" + +nsEscCharSetProber::nsEscCharSetProber(PRUint32 aLanguageFilter) +{ + for (PRUint32 i = 0; i < NUM_OF_ESC_CHARSETS; i++) + mCodingSM[i] = nsnull; + if (aLanguageFilter & NS_FILTER_CHINESE_SIMPLIFIED) + { + mCodingSM[0] = new nsCodingStateMachine(&HZSMModel); + mCodingSM[1] = new nsCodingStateMachine(&ISO2022CNSMModel); + } + if (aLanguageFilter & NS_FILTER_JAPANESE) + mCodingSM[2] = new nsCodingStateMachine(&ISO2022JPSMModel); + if (aLanguageFilter & NS_FILTER_KOREAN) + mCodingSM[3] = new nsCodingStateMachine(&ISO2022KRSMModel); + mActiveSM = NUM_OF_ESC_CHARSETS; + mState = eDetecting; + mDetectedCharset = nsnull; +} + +nsEscCharSetProber::~nsEscCharSetProber(void) +{ + for (PRUint32 i = 0; i < NUM_OF_ESC_CHARSETS; i++) + delete mCodingSM[i]; +} + +void nsEscCharSetProber::Reset(void) +{ + mState = eDetecting; + for (PRUint32 i = 0; i < NUM_OF_ESC_CHARSETS; i++) + if (mCodingSM[i]) + mCodingSM[i]->Reset(); + mActiveSM = NUM_OF_ESC_CHARSETS; + mDetectedCharset = nsnull; +} + +nsProbingState nsEscCharSetProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + nsSMState codingState; + PRInt32 j; + PRUint32 i; + + for ( i = 0; i < aLen && mState == eDetecting; i++) + { + for (j = mActiveSM-1; j>= 0; j--) + { + if (mCodingSM[j]) + { + codingState = mCodingSM[j]->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + mDetectedCharset = mCodingSM[j]->GetCodingStateMachine(); + return mState; + } + } + } + } + + return mState; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.h new file mode 100644 index 0000000..4b648e0 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscCharsetProber.h @@ -0,0 +1,67 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsEscCharSetProber_h__ +#define nsEscCharSetProber_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" + +#define NUM_OF_ESC_CHARSETS 4 + +class nsEscCharSetProber: public nsCharSetProber { +public: + nsEscCharSetProber(PRUint32 aLanguageFilter); + virtual ~nsEscCharSetProber(void); + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return mDetectedCharset;} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void){return (float)0.99;} + void SetOpion() {} + +protected: + void GetDistribution(PRUint32 aCharLen, const char* aStr); + + nsCodingStateMachine* mCodingSM[NUM_OF_ESC_CHARSETS] ; + PRUint32 mActiveSM; + nsProbingState mState; + const char * mDetectedCharset; +}; + +#endif /* nsEscCharSetProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscSM.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscSM.cpp new file mode 100644 index 0000000..eed1b7c --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsEscSM.cpp @@ -0,0 +1,263 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#include "nsCodingStateMachine.h" + +static const PRUint32 HZ_cls[ 256 / 8 ] = { +PCK4BITS(1,0,0,0,0,0,0,0), // 00 - 07 +PCK4BITS(0,0,0,0,0,0,0,0), // 08 - 0f +PCK4BITS(0,0,0,0,0,0,0,0), // 10 - 17 +PCK4BITS(0,0,0,1,0,0,0,0), // 18 - 1f +PCK4BITS(0,0,0,0,0,0,0,0), // 20 - 27 +PCK4BITS(0,0,0,0,0,0,0,0), // 28 - 2f +PCK4BITS(0,0,0,0,0,0,0,0), // 30 - 37 +PCK4BITS(0,0,0,0,0,0,0,0), // 38 - 3f +PCK4BITS(0,0,0,0,0,0,0,0), // 40 - 47 +PCK4BITS(0,0,0,0,0,0,0,0), // 48 - 4f +PCK4BITS(0,0,0,0,0,0,0,0), // 50 - 57 +PCK4BITS(0,0,0,0,0,0,0,0), // 58 - 5f +PCK4BITS(0,0,0,0,0,0,0,0), // 60 - 67 +PCK4BITS(0,0,0,0,0,0,0,0), // 68 - 6f +PCK4BITS(0,0,0,0,0,0,0,0), // 70 - 77 +PCK4BITS(0,0,0,4,0,5,2,0), // 78 - 7f +PCK4BITS(1,1,1,1,1,1,1,1), // 80 - 87 +PCK4BITS(1,1,1,1,1,1,1,1), // 88 - 8f +PCK4BITS(1,1,1,1,1,1,1,1), // 90 - 97 +PCK4BITS(1,1,1,1,1,1,1,1), // 98 - 9f +PCK4BITS(1,1,1,1,1,1,1,1), // a0 - a7 +PCK4BITS(1,1,1,1,1,1,1,1), // a8 - af +PCK4BITS(1,1,1,1,1,1,1,1), // b0 - b7 +PCK4BITS(1,1,1,1,1,1,1,1), // b8 - bf +PCK4BITS(1,1,1,1,1,1,1,1), // c0 - c7 +PCK4BITS(1,1,1,1,1,1,1,1), // c8 - cf +PCK4BITS(1,1,1,1,1,1,1,1), // d0 - d7 +PCK4BITS(1,1,1,1,1,1,1,1), // d8 - df +PCK4BITS(1,1,1,1,1,1,1,1), // e0 - e7 +PCK4BITS(1,1,1,1,1,1,1,1), // e8 - ef +PCK4BITS(1,1,1,1,1,1,1,1), // f0 - f7 +PCK4BITS(1,1,1,1,1,1,1,1) // f8 - ff +}; + + +static const PRUint32 HZ_st [ 6] = { +PCK4BITS(eStart,eError, 3,eStart,eStart,eStart,eError,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eError,eError,eStart,eStart, 4,eError),//10-17 +PCK4BITS( 5,eError, 6,eError, 5, 5, 4,eError),//18-1f +PCK4BITS( 4,eError, 4, 4, 4,eError, 4,eError),//20-27 +PCK4BITS( 4,eItsMe,eStart,eStart,eStart,eStart,eStart,eStart) //28-2f +}; + +static const PRUint32 HZCharLenTable[] = {0, 0, 0, 0, 0, 0}; + +const SMModel HZSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, HZ_cls }, + 6, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, HZ_st }, + HZCharLenTable, + "HZ-GB-2312", +}; + + +static const PRUint32 ISO2022CN_cls [ 256 / 8 ] = { +PCK4BITS(2,0,0,0,0,0,0,0), // 00 - 07 +PCK4BITS(0,0,0,0,0,0,0,0), // 08 - 0f +PCK4BITS(0,0,0,0,0,0,0,0), // 10 - 17 +PCK4BITS(0,0,0,1,0,0,0,0), // 18 - 1f +PCK4BITS(0,0,0,0,0,0,0,0), // 20 - 27 +PCK4BITS(0,3,0,0,0,0,0,0), // 28 - 2f +PCK4BITS(0,0,0,0,0,0,0,0), // 30 - 37 +PCK4BITS(0,0,0,0,0,0,0,0), // 38 - 3f +PCK4BITS(0,0,0,4,0,0,0,0), // 40 - 47 +PCK4BITS(0,0,0,0,0,0,0,0), // 48 - 4f +PCK4BITS(0,0,0,0,0,0,0,0), // 50 - 57 +PCK4BITS(0,0,0,0,0,0,0,0), // 58 - 5f +PCK4BITS(0,0,0,0,0,0,0,0), // 60 - 67 +PCK4BITS(0,0,0,0,0,0,0,0), // 68 - 6f +PCK4BITS(0,0,0,0,0,0,0,0), // 70 - 77 +PCK4BITS(0,0,0,0,0,0,0,0), // 78 - 7f +PCK4BITS(2,2,2,2,2,2,2,2), // 80 - 87 +PCK4BITS(2,2,2,2,2,2,2,2), // 88 - 8f +PCK4BITS(2,2,2,2,2,2,2,2), // 90 - 97 +PCK4BITS(2,2,2,2,2,2,2,2), // 98 - 9f +PCK4BITS(2,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,2,2,2), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(2,2,2,2,2,2,2,2), // e0 - e7 +PCK4BITS(2,2,2,2,2,2,2,2), // e8 - ef +PCK4BITS(2,2,2,2,2,2,2,2), // f0 - f7 +PCK4BITS(2,2,2,2,2,2,2,2) // f8 - ff +}; + + +static const PRUint32 ISO2022CN_st [ 8] = { +PCK4BITS(eStart, 3,eError,eStart,eStart,eStart,eStart,eStart),//00-07 +PCK4BITS(eStart,eError,eError,eError,eError,eError,eError,eError),//08-0f +PCK4BITS(eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe),//10-17 +PCK4BITS(eItsMe,eItsMe,eItsMe,eError,eError,eError, 4,eError),//18-1f +PCK4BITS(eError,eError,eError,eItsMe,eError,eError,eError,eError),//20-27 +PCK4BITS( 5, 6,eError,eError,eError,eError,eError,eError),//28-2f +PCK4BITS(eError,eError,eError,eItsMe,eError,eError,eError,eError),//30-37 +PCK4BITS(eError,eError,eError,eError,eError,eItsMe,eError,eStart) //38-3f +}; + +static const PRUint32 ISO2022CNCharLenTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; + +const SMModel ISO2022CNSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022CN_cls }, + 9, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022CN_st }, + ISO2022CNCharLenTable, + "ISO-2022-CN", +}; + +static const PRUint32 ISO2022JP_cls [ 256 / 8 ] = { +PCK4BITS(2,0,0,0,0,0,0,0), // 00 - 07 +PCK4BITS(0,0,0,0,0,0,2,2), // 08 - 0f +PCK4BITS(0,0,0,0,0,0,0,0), // 10 - 17 +PCK4BITS(0,0,0,1,0,0,0,0), // 18 - 1f +PCK4BITS(0,0,0,0,7,0,0,0), // 20 - 27 +PCK4BITS(3,0,0,0,0,0,0,0), // 28 - 2f +PCK4BITS(0,0,0,0,0,0,0,0), // 30 - 37 +PCK4BITS(0,0,0,0,0,0,0,0), // 38 - 3f +PCK4BITS(6,0,4,0,8,0,0,0), // 40 - 47 +PCK4BITS(0,9,5,0,0,0,0,0), // 48 - 4f +PCK4BITS(0,0,0,0,0,0,0,0), // 50 - 57 +PCK4BITS(0,0,0,0,0,0,0,0), // 58 - 5f +PCK4BITS(0,0,0,0,0,0,0,0), // 60 - 67 +PCK4BITS(0,0,0,0,0,0,0,0), // 68 - 6f +PCK4BITS(0,0,0,0,0,0,0,0), // 70 - 77 +PCK4BITS(0,0,0,0,0,0,0,0), // 78 - 7f +PCK4BITS(2,2,2,2,2,2,2,2), // 80 - 87 +PCK4BITS(2,2,2,2,2,2,2,2), // 88 - 8f +PCK4BITS(2,2,2,2,2,2,2,2), // 90 - 97 +PCK4BITS(2,2,2,2,2,2,2,2), // 98 - 9f +PCK4BITS(2,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,2,2,2), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(2,2,2,2,2,2,2,2), // e0 - e7 +PCK4BITS(2,2,2,2,2,2,2,2), // e8 - ef +PCK4BITS(2,2,2,2,2,2,2,2), // f0 - f7 +PCK4BITS(2,2,2,2,2,2,2,2) // f8 - ff +}; + + +static const PRUint32 ISO2022JP_st [ 9] = { +PCK4BITS(eStart, 3,eError,eStart,eStart,eStart,eStart,eStart),//00-07 +PCK4BITS(eStart,eStart,eError,eError,eError,eError,eError,eError),//08-0f +PCK4BITS(eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe),//10-17 +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError),//18-1f +PCK4BITS(eError, 5,eError,eError,eError, 4,eError,eError),//20-27 +PCK4BITS(eError,eError,eError, 6,eItsMe,eError,eItsMe,eError),//28-2f +PCK4BITS(eError,eError,eError,eError,eError,eError,eItsMe,eItsMe),//30-37 +PCK4BITS(eError,eError,eError,eItsMe,eError,eError,eError,eError),//38-3f +PCK4BITS(eError,eError,eError,eError,eItsMe,eError,eStart,eStart) //40-47 +}; + +static const PRUint32 ISO2022JPCharLenTable[] = {0, 0, 0, 0, 0, 0, 0, 0}; + +const SMModel ISO2022JPSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022JP_cls }, + 10, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022JP_st }, + ISO2022JPCharLenTable, + "ISO-2022-JP", +}; + +static const PRUint32 ISO2022KR_cls [ 256 / 8 ] = { +PCK4BITS(2,0,0,0,0,0,0,0), // 00 - 07 +PCK4BITS(0,0,0,0,0,0,0,0), // 08 - 0f +PCK4BITS(0,0,0,0,0,0,0,0), // 10 - 17 +PCK4BITS(0,0,0,1,0,0,0,0), // 18 - 1f +PCK4BITS(0,0,0,0,3,0,0,0), // 20 - 27 +PCK4BITS(0,4,0,0,0,0,0,0), // 28 - 2f +PCK4BITS(0,0,0,0,0,0,0,0), // 30 - 37 +PCK4BITS(0,0,0,0,0,0,0,0), // 38 - 3f +PCK4BITS(0,0,0,5,0,0,0,0), // 40 - 47 +PCK4BITS(0,0,0,0,0,0,0,0), // 48 - 4f +PCK4BITS(0,0,0,0,0,0,0,0), // 50 - 57 +PCK4BITS(0,0,0,0,0,0,0,0), // 58 - 5f +PCK4BITS(0,0,0,0,0,0,0,0), // 60 - 67 +PCK4BITS(0,0,0,0,0,0,0,0), // 68 - 6f +PCK4BITS(0,0,0,0,0,0,0,0), // 70 - 77 +PCK4BITS(0,0,0,0,0,0,0,0), // 78 - 7f +PCK4BITS(2,2,2,2,2,2,2,2), // 80 - 87 +PCK4BITS(2,2,2,2,2,2,2,2), // 88 - 8f +PCK4BITS(2,2,2,2,2,2,2,2), // 90 - 97 +PCK4BITS(2,2,2,2,2,2,2,2), // 98 - 9f +PCK4BITS(2,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,2,2,2), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(2,2,2,2,2,2,2,2), // e0 - e7 +PCK4BITS(2,2,2,2,2,2,2,2), // e8 - ef +PCK4BITS(2,2,2,2,2,2,2,2), // f0 - f7 +PCK4BITS(2,2,2,2,2,2,2,2) // f8 - ff +}; + + +static const PRUint32 ISO2022KR_st [ 5] = { +PCK4BITS(eStart, 3,eError,eStart,eStart,eStart,eError,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eError,eError,eError, 4,eError,eError),//10-17 +PCK4BITS(eError,eError,eError,eError, 5,eError,eError,eError),//18-1f +PCK4BITS(eError,eError,eError,eItsMe,eStart,eStart,eStart,eStart) //20-27 +}; + +static const PRUint32 ISO2022KRCharLenTable[] = {0, 0, 0, 0, 0, 0}; + +const SMModel ISO2022KRSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022KR_cls }, + 6, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022KR_st }, + ISO2022KRCharLenTable, + "ISO-2022-KR", +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.cpp new file mode 100644 index 0000000..7aeee0e --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.cpp @@ -0,0 +1,98 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// for S-JIS encoding, obeserve characteristic: +// 1, kana character (or hankaku?) often have hight frequency of appereance +// 2, kana character often exist in group +// 3, certain combination of kana is never used in japanese language + +#include "nsGB2312Prober.h" +#include "nsDebug.h" + +void nsGB18030Prober::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mDistributionAnalyser.Reset(mIsPreferredLanguage); + //mContextAnalyser.Reset(); +} + +nsProbingState nsGB18030Prober::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mDistributionAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; +// else +// mDistributionAnalyser.HandleData(aBuf, aLen); + + return mState; +} + +float nsGB18030Prober::GetConfidence(void) +{ + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (float)distribCf; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.h new file mode 100644 index 0000000..4d6cd56 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsGB2312Prober.h @@ -0,0 +1,76 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsGB2312Prober_h__ +#define nsGB2312Prober_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "CharDistribution.h" + +// We use gb18030 to replace gb2312, because 18030 is a superset. + +class nsGB18030Prober: public nsCharSetProber { +public: + nsGB18030Prober(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&GB18030SMModel); + Reset();} + virtual ~nsGB18030Prober(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "GB18030";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + void GetDistribution(PRUint32 aCharLen, const char* aStr); + + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + //GB2312ContextAnalysis mContextAnalyser; + GB2312DistributionAnalysis mDistributionAnalyser; + char mLastChar[2]; + PRBool mIsPreferredLanguage; + +}; + + +#endif /* nsGB2312Prober_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.cpp new file mode 100644 index 0000000..c503617 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.cpp @@ -0,0 +1,194 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Shy Shalom + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsHebrewProber.h" +#include + +// windows-1255 / ISO-8859-8 code points of interest +#define FINAL_KAF ('\xea') +#define NORMAL_KAF ('\xeb') +#define FINAL_MEM ('\xed') +#define NORMAL_MEM ('\xee') +#define FINAL_NUN ('\xef') +#define NORMAL_NUN ('\xf0') +#define FINAL_PE ('\xf3') +#define NORMAL_PE ('\xf4') +#define FINAL_TSADI ('\xf5') +#define NORMAL_TSADI ('\xf6') + +// Minimum Visual vs Logical final letter score difference. +// If the difference is below this, don't rely solely on the final letter score distance. +#define MIN_FINAL_CHAR_DISTANCE (5) + +// Minimum Visual vs Logical model score difference. +// If the difference is below this, don't rely at all on the model score distance. +#define MIN_MODEL_DISTANCE (0.01) + +#define VISUAL_HEBREW_NAME ("ISO-8859-8") +#define LOGICAL_HEBREW_NAME ("WINDOWS-1255") + +PRBool nsHebrewProber::isFinal(char c) +{ + return ((c == FINAL_KAF) || (c == FINAL_MEM) || (c == FINAL_NUN) || (c == FINAL_PE) || (c == FINAL_TSADI)); +} + +PRBool nsHebrewProber::isNonFinal(char c) +{ + return ((c == NORMAL_KAF) || (c == NORMAL_MEM) || (c == NORMAL_NUN) || (c == NORMAL_PE)); + // The normal Tsadi is not a good Non-Final letter due to words like + // 'lechotet' (to chat) containing an apostrophe after the tsadi. This + // apostrophe is converted to a space in FilterWithoutEnglishLetters causing + // the Non-Final tsadi to appear at an end of a word even though this is not + // the case in the original text. + // The letters Pe and Kaf rarely display a related behavior of not being a + // good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' for + // example legally end with a Non-Final Pe or Kaf. However, the benefit of + // these letters as Non-Final letters outweighs the damage since these words + // are quite rare. +} + +/** HandleData + * Final letter analysis for logical-visual decision. + * Look for evidence that the received buffer is either logical Hebrew or + * visual Hebrew. + * The following cases are checked: + * 1) A word longer than 1 letter, ending with a final letter. This is an + * indication that the text is laid out "naturally" since the final letter + * really appears at the end. +1 for logical score. + * 2) A word longer than 1 letter, ending with a Non-Final letter. In normal + * Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, should not end with + * the Non-Final form of that letter. Exceptions to this rule are mentioned + * above in isNonFinal(). This is an indication that the text is laid out + * backwards. +1 for visual score + * 3) A word longer than 1 letter, starting with a final letter. Final letters + * should not appear at the beginning of a word. This is an indication that + * the text is laid out backwards. +1 for visual score. + * + * The visual score and logical score are accumulated throughout the text and + * are finally checked against each other in GetCharSetName(). + * No checking for final letters in the middle of words is done since that case + * is not an indication for either Logical or Visual text. + * + * The input buffer should not contain any white spaces that are not (' ') + * or any low-ascii punctuation marks. + */ +nsProbingState nsHebrewProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + // Both model probers say it's not them. No reason to continue. + if (GetState() == eNotMe) + return eNotMe; + + const char *curPtr, *endPtr = aBuf+aLen; + char cur; + + for (curPtr = (char*)aBuf; curPtr < endPtr; ++curPtr) + { + cur = *curPtr; + if (cur == ' ') // We stand on a space - a word just ended + { + if (mBeforePrev != ' ') // *(curPtr-2) was not a space so prev is not a 1 letter word + { + if (isFinal(mPrev)) // case (1) [-2:not space][-1:final letter][cur:space] + ++mFinalCharLogicalScore; + else if (isNonFinal(mPrev)) // case (2) [-2:not space][-1:Non-Final letter][cur:space] + ++mFinalCharVisualScore; + } + } + else // Not standing on a space + { + if ((mBeforePrev == ' ') && (isFinal(mPrev)) && (cur != ' ')) // case (3) [-2:space][-1:final letter][cur:not space] + ++mFinalCharVisualScore; + } + mBeforePrev = mPrev; + mPrev = cur; + } + + // Forever detecting, till the end or until both model probers return eNotMe (handled above). + return eDetecting; +} + +// Make the decision: is it Logical or Visual? +const char* nsHebrewProber::GetCharSetName() +{ + // If the final letter score distance is dominant enough, rely on it. + PRInt32 finalsub = mFinalCharLogicalScore - mFinalCharVisualScore; + if (finalsub >= MIN_FINAL_CHAR_DISTANCE) + return LOGICAL_HEBREW_NAME; + if (finalsub <= -(MIN_FINAL_CHAR_DISTANCE)) + return VISUAL_HEBREW_NAME; + + // It's not dominant enough, try to rely on the model scores instead. + float modelsub = mLogicalProb->GetConfidence() - mVisualProb->GetConfidence(); + if (modelsub > MIN_MODEL_DISTANCE) + return LOGICAL_HEBREW_NAME; + if (modelsub < -(MIN_MODEL_DISTANCE)) + return VISUAL_HEBREW_NAME; + + // Still no good, back to final letter distance, maybe it'll save the day. + if (finalsub < 0) + return VISUAL_HEBREW_NAME; + + // (finalsub > 0 - Logical) or (don't know what to do) default to Logical. + return LOGICAL_HEBREW_NAME; +} + + +void nsHebrewProber::Reset(void) +{ + mFinalCharLogicalScore = 0; + mFinalCharVisualScore = 0; + + // mPrev and mBeforePrev are initialized to space in order to simulate a word + // delimiter at the beginning of the data + mPrev = ' '; + mBeforePrev = ' '; +} + +nsProbingState nsHebrewProber::GetState(void) +{ + // Remain active as long as any of the model probers are active. + if ((mLogicalProb->GetState() == eNotMe) && (mVisualProb->GetState() == eNotMe)) + return eNotMe; + return eDetecting; +} + +#ifdef DEBUG_chardet +void nsHebrewProber::DumpStatus() +{ + printf(" HEB: %d - %d [Logical-Visual score]\r\n", mFinalCharLogicalScore, mFinalCharVisualScore); +} +#endif diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.h new file mode 100644 index 0000000..eedfed4 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsHebrewProber.h @@ -0,0 +1,176 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Shy Shalom + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer: All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsHebrewProber_h__ +#define nsHebrewProber_h__ + +#include "nsSBCharSetProber.h" + +// This prober doesn't actually recognize a language or a charset. +// It is a helper prober for the use of the Hebrew model probers +class nsHebrewProber: public nsCharSetProber +{ +public: + nsHebrewProber(void) :mLogicalProb(0), mVisualProb(0) { Reset(); } + + virtual ~nsHebrewProber(void) {} + virtual nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + virtual const char* GetCharSetName(); + virtual void Reset(void); + + virtual nsProbingState GetState(void); + + virtual float GetConfidence(void) { return (float)0.0; } + virtual void SetOpion() {} + + void SetModelProbers(nsCharSetProber *logicalPrb, nsCharSetProber *visualPrb) + { mLogicalProb = logicalPrb; mVisualProb = visualPrb; } + +#ifdef DEBUG_chardet + virtual void DumpStatus(); +#endif + +protected: + static PRBool isFinal(char c); + static PRBool isNonFinal(char c); + + PRInt32 mFinalCharLogicalScore, mFinalCharVisualScore; + + // The two last characters seen in the previous buffer. + char mPrev, mBeforePrev; + + // These probers are owned by the group prober. + nsCharSetProber *mLogicalProb, *mVisualProb; +}; + +/** + * ** General ideas of the Hebrew charset recognition ** + * + * Four main charsets exist in Hebrew: + * "ISO-8859-8" - Visual Hebrew + * "windows-1255" - Logical Hebrew + * "ISO-8859-8-I" - Logical Hebrew + * "x-mac-hebrew" - ?? Logical Hebrew ?? + * + * Both "ISO" charsets use a completely identical set of code points, whereas + * "windows-1255" and "x-mac-hebrew" are two different proper supersets of + * these code points. windows-1255 defines additional characters in the range + * 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific + * diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. + * x-mac-hebrew defines similar additional code points but with a different + * mapping. + * + * As far as an average Hebrew text with no diacritics is concerned, all four + * charsets are identical with respect to code points. Meaning that for the + * main Hebrew alphabet, all four map the same values to all 27 Hebrew letters + * (including final letters). + * + * The dominant difference between these charsets is their directionality. + * "Visual" directionality means that the text is ordered as if the renderer is + * not aware of a BIDI rendering algorithm. The renderer sees the text and + * draws it from left to right. The text itself when ordered naturally is read + * backwards. A buffer of Visual Hebrew generally looks like so: + * "[last word of first line spelled backwards] [whole line ordered backwards + * and spelled backwards] [first word of first line spelled backwards] + * [end of line] [last word of second line] ... etc' " + * adding punctuation marks, numbers and English text to visual text is + * naturally also "visual" and from left to right. + * + * "Logical" directionality means the text is ordered "naturally" according to + * the order it is read. It is the responsibility of the renderer to display + * the text from right to left. A BIDI algorithm is used to place general + * punctuation marks, numbers and English text in the text. + * + * Texts in x-mac-hebrew are almost impossible to find on the Internet. From + * what little evidence I could find, it seems that its general directionality + * is Logical. + * + * To sum up all of the above, the Hebrew probing mechanism knows about two + * charsets: + * Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are + * backwards while line order is natural. For charset recognition purposes + * the line order is unimportant (In fact, for this implementation, even + * word order is unimportant). + * Logical Hebrew - "windows-1255" - normal, naturally ordered text. + * + * "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be + * specifically identified. + * "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew + * that contain special punctuation marks or diacritics is displayed with + * some unconverted characters showing as question marks. This problem might + * be corrected using another model prober for x-mac-hebrew. Due to the fact + * that x-mac-hebrew texts are so rare, writing another model prober isn't + * worth the effort and performance hit. + * + * *** The Prober *** + * + * The prober is divided between two nsSBCharSetProbers and an nsHebrewProber, + * all of which are managed, created, fed data, inquired and deleted by the + * nsSBCSGroupProber. The two nsSBCharSetProbers identify that the text is in + * fact some kind of Hebrew, Logical or Visual. The final decision about which + * one is it is made by the nsHebrewProber by combining final-letter scores + * with the scores of the two nsSBCharSetProbers to produce a final answer. + * + * The nsSBCSGroupProber is responsible for stripping the original text of HTML + * tags, English characters, numbers, low-ASCII punctuation characters, spaces + * and new lines. It reduces any sequence of such characters to a single space. + * The buffer fed to each prober in the SBCS group prober is pure text in + * high-ASCII. + * The two nsSBCharSetProbers (model probers) share the same language model: + * Win1255Model. + * The first nsSBCharSetProber uses the model normally as any other + * nsSBCharSetProber does, to recognize windows-1255, upon which this model was + * built. The second nsSBCharSetProber is told to make the pair-of-letter + * lookup in the language model backwards. This in practice exactly simulates + * a visual Hebrew model using the windows-1255 logical Hebrew model. + * + * The nsHebrewProber is not using any language model. All it does is look for + * final-letter evidence suggesting the text is either logical Hebrew or visual + * Hebrew. Disjointed from the model probers, the results of the nsHebrewProber + * alone are meaningless. nsHebrewProber always returns 0.00 as confidence + * since it never identifies a charset by itself. Instead, the pointer to the + * nsHebrewProber is passed to the model probers as a helper "Name Prober". + * When the Group prober receives a positive identification from any prober, + * it asks for the name of the charset identified. If the prober queried is a + * Hebrew model prober, the model prober forwards the call to the + * nsHebrewProber to make the final decision. In the nsHebrewProber, the + * decision is made according to the final-letters scores maintained and Both + * model probers scores. The answer is returned in the form of the name of the + * charset identified, either "windows-1255" or "ISO-8859-8". + * + */ +#endif /* nsHebrewProber_h__ */ diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.cpp new file mode 100644 index 0000000..7694ef7 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.cpp @@ -0,0 +1,182 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsLatin1Prober.h" +#include "prmem.h" +#include + +#define UDF 0 // undefined +#define OTH 1 //other +#define ASC 2 // ascii capital letter +#define ASS 3 // ascii small letter +#define ACV 4 // accent capital vowel +#define ACO 5 // accent capital other +#define ASV 6 // accent small vowel +#define ASO 7 // accent small other +#define CLASS_NUM 8 // total classes + +static const unsigned char Latin1_CharToClass[] = +{ + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, // 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, // 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, // 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, // 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, // 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, // C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, // C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, // D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, // D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, // E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, // E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, // F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, // F8 - FF +}; + + +/* 0 : illegal + 1 : very unlikely + 2 : normal + 3 : very likely +*/ +static const unsigned char Latin1ClassModel[] = +{ +/* UDF OTH ASC ASS ACV ACO ASV ASO */ +/*UDF*/ 0, 0, 0, 0, 0, 0, 0, 0, +/*OTH*/ 0, 3, 3, 3, 3, 3, 3, 3, +/*ASC*/ 0, 3, 3, 3, 3, 3, 3, 3, +/*ASS*/ 0, 3, 3, 3, 1, 1, 3, 3, +/*ACV*/ 0, 3, 3, 3, 1, 2, 1, 2, +/*ACO*/ 0, 3, 3, 3, 3, 3, 3, 3, +/*ASV*/ 0, 3, 1, 3, 1, 1, 1, 3, +/*ASO*/ 0, 3, 1, 3, 1, 1, 3, 3, +}; + +void nsLatin1Prober::Reset(void) +{ + mState = eDetecting; + mLastCharClass = OTH; + for (int i = 0; i < FREQ_CAT_NUM; i++) + mFreqCounter[i] = 0; +} + + +nsProbingState nsLatin1Prober::HandleData(const char* aBuf, PRUint32 aLen) +{ + char *newBuf1 = 0; + PRUint32 newLen1 = 0; + + if (!FilterWithEnglishLetters(aBuf, aLen, &newBuf1, newLen1)) { + newBuf1 = (char*)aBuf; + newLen1 = aLen; + } + + unsigned char charClass; + unsigned char freq; + for (PRUint32 i = 0; i < newLen1; i++) + { + charClass = Latin1_CharToClass[(unsigned char)newBuf1[i]]; + freq = Latin1ClassModel[mLastCharClass*CLASS_NUM + charClass]; + if (freq == 0) { + mState = eNotMe; + break; + } + mFreqCounter[freq]++; + mLastCharClass = charClass; + } + + if (newBuf1 != aBuf) + PR_FREEIF(newBuf1); + + return mState; +} + +float nsLatin1Prober::GetConfidence(void) +{ + if (mState == eNotMe) + return 0.01f; + + float confidence; + PRUint32 total = 0; + for (PRInt32 i = 0; i < FREQ_CAT_NUM; i++) + total += mFreqCounter[i]; + + if(!total) + confidence = 0.0f; + else + { + confidence = mFreqCounter[3]*1.0f / total; + confidence -= mFreqCounter[1]*20.0f/total; + } + + if (confidence < 0.0f) + confidence = 0.0f; + + // lower the confidence of latin1 so that other more accurate detector + // can take priority. + confidence *= 0.50f; + + return confidence; +} + +#ifdef DEBUG_chardet +void nsLatin1Prober::DumpStatus() +{ + printf(" Latin1Prober: %1.3f [%s]\r\n", GetConfidence(), GetCharSetName()); +} +#endif + + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.h new file mode 100644 index 0000000..59118a7 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsLatin1Prober.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsLatin1Prober_h__ +#define nsLatin1Prober_h__ + +#include "nsCharSetProber.h" + +#define FREQ_CAT_NUM 4 + +class nsLatin1Prober: public nsCharSetProber { +public: + nsLatin1Prober(void){Reset();} + virtual ~nsLatin1Prober(void){} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "WINDOWS-1252";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +#ifdef DEBUG_chardet + virtual void DumpStatus(); +#endif + +protected: + + nsProbingState mState; + char mLastCharClass; + PRUint32 mFreqCounter[FREQ_CAT_NUM]; +}; + + +#endif /* nsLatin1Prober_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.cpp new file mode 100644 index 0000000..f161165 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.cpp @@ -0,0 +1,230 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * Proofpoint, Inc. + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#include + +#include "nsMBCSGroupProber.h" +#include "nsUniversalDetector.h" + +#if defined(DEBUG_chardet) || defined(DEBUG_jgmyers) +const char *ProberName[] = +{ + "UTF8", + "SJIS", + "EUCJP", + "GB18030", + "EUCKR", + "Big5", + "EUCTW", +}; + +#endif + +nsMBCSGroupProber::nsMBCSGroupProber(PRUint32 aLanguageFilter) +{ + for (PRUint32 i = 0; i < NUM_OF_PROBERS; i++) + mProbers[i] = nsnull; + + mProbers[0] = new nsUTF8Prober(); + if (aLanguageFilter & NS_FILTER_JAPANESE) + { + mProbers[1] = new nsSJISProber(aLanguageFilter == NS_FILTER_JAPANESE); + mProbers[2] = new nsEUCJPProber(aLanguageFilter == NS_FILTER_JAPANESE); + } + if (aLanguageFilter & NS_FILTER_CHINESE_SIMPLIFIED) + mProbers[3] = new nsGB18030Prober(aLanguageFilter == NS_FILTER_CHINESE_SIMPLIFIED); + if (aLanguageFilter & NS_FILTER_KOREAN) + mProbers[4] = new nsEUCKRProber(aLanguageFilter == NS_FILTER_KOREAN); + if (aLanguageFilter & NS_FILTER_CHINESE_TRADITIONAL) + { + mProbers[5] = new nsBig5Prober(aLanguageFilter == NS_FILTER_CHINESE_TRADITIONAL); + mProbers[6] = new nsEUCTWProber(aLanguageFilter == NS_FILTER_CHINESE_TRADITIONAL); + } + Reset(); +} + +nsMBCSGroupProber::~nsMBCSGroupProber() +{ + for (PRUint32 i = 0; i < NUM_OF_PROBERS; i++) + { + delete mProbers[i]; + } +} + +const char* nsMBCSGroupProber::GetCharSetName() +{ + if (mBestGuess == -1) + { + GetConfidence(); + if (mBestGuess == -1) + mBestGuess = 0; + } + return mProbers[mBestGuess]->GetCharSetName(); +} + +void nsMBCSGroupProber::Reset(void) +{ + mActiveNum = 0; + for (PRUint32 i = 0; i < NUM_OF_PROBERS; i++) + { + if (mProbers[i]) + { + mProbers[i]->Reset(); + mIsActive[i] = PR_TRUE; + ++mActiveNum; + } + else + mIsActive[i] = PR_FALSE; + } + mBestGuess = -1; + mState = eDetecting; + mKeepNext = 0; +} + +nsProbingState nsMBCSGroupProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + nsProbingState st; + PRUint32 start = 0; + PRUint32 keepNext = mKeepNext; + + //do filtering to reduce load to probers + for (PRUint32 pos = 0; pos < aLen; ++pos) + { + if (aBuf[pos] & 0x80) + { + if (!keepNext) + start = pos; + keepNext = 2; + } + else if (keepNext) + { + if (--keepNext == 0) + { + for (PRUint32 i = 0; i < NUM_OF_PROBERS; i++) + { + if (!mIsActive[i]) + continue; + st = mProbers[i]->HandleData(aBuf + start, pos + 1 - start); + if (st == eFoundIt) + { + mBestGuess = i; + mState = eFoundIt; + return mState; + } + } + } + } + } + + if (keepNext) { + for (PRUint32 i = 0; i < NUM_OF_PROBERS; i++) + { + if (!mIsActive[i]) + continue; + st = mProbers[i]->HandleData(aBuf + start, aLen - start); + if (st == eFoundIt) + { + mBestGuess = i; + mState = eFoundIt; + return mState; + } + } + } + mKeepNext = keepNext; + + return mState; +} + +float nsMBCSGroupProber::GetConfidence(void) +{ + PRUint32 i; + float bestConf = 0.0, cf; + + switch (mState) + { + case eFoundIt: + return (float)0.99; + case eNotMe: + return (float)0.01; + default: + for (i = 0; i < NUM_OF_PROBERS; i++) + { + if (!mIsActive[i]) + continue; + cf = mProbers[i]->GetConfidence(); + if (bestConf < cf) + { + bestConf = cf; + mBestGuess = i; + } + } + } + return bestConf; +} + +#ifdef DEBUG_chardet +void nsMBCSGroupProber::DumpStatus() +{ + PRUint32 i; + float cf; + + GetConfidence(); + for (i = 0; i < NUM_OF_PROBERS; i++) + { + if (!mIsActive[i]) + printf(" MBCS inactive: [%s] (confidence is too low).\r\n", ProberName[i]); + else + { + cf = mProbers[i]->GetConfidence(); + printf(" MBCS %1.3f: [%s]\r\n", cf, ProberName[i]); + } + } +} +#endif + +#ifdef DEBUG_jgmyers +void nsMBCSGroupProber::GetDetectorState(nsUniversalDetector::DetectorState (&states)[nsUniversalDetector::NumDetectors], PRUint32 &offset) +{ + for (PRUint32 i = 0; i < NUM_OF_PROBERS; ++i) { + states[offset].name = ProberName[i]; + states[offset].isActive = mIsActive[i]; + states[offset].confidence = mIsActive[i] ? mProbers[i]->GetConfidence() : 0.0; + ++offset; + } +} +#endif /* DEBUG_jgmyers */ diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.h new file mode 100644 index 0000000..c4e9964 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSGroupProber.h @@ -0,0 +1,80 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Proofpoint, Inc. + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsMBCSGroupProber_h__ +#define nsMBCSGroupProber_h__ + +#include "nsSJISProber.h" +#include "nsUTF8Prober.h" +#include "nsEUCJPProber.h" +#include "nsGB2312Prober.h" +#include "nsEUCKRProber.h" +#include "nsBig5Prober.h" +#include "nsEUCTWProber.h" + +#define NUM_OF_PROBERS 7 + +class nsMBCSGroupProber: public nsCharSetProber { +public: + nsMBCSGroupProber(PRUint32 aLanguageFilter); + virtual ~nsMBCSGroupProber(); + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName(); + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +#ifdef DEBUG_chardet + void DumpStatus(); +#endif +#ifdef DEBUG_jgmyers + void GetDetectorState(nsUniversalDetector::DetectorState (&states)[nsUniversalDetector::NumDetectors], PRUint32 &offset); +#endif + +protected: + nsProbingState mState; + nsCharSetProber* mProbers[NUM_OF_PROBERS]; + PRBool mIsActive[NUM_OF_PROBERS]; + PRInt32 mBestGuess; + PRUint32 mActiveNum; + PRUint32 mKeepNext; +}; + +#endif /* nsMBCSGroupProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSSM.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSSM.cpp new file mode 100644 index 0000000..02cc5cc --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsMBCSSM.cpp @@ -0,0 +1,513 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#include "nsCodingStateMachine.h" + +/* +Modification from frank tang's original work: +. 0x00 is allowed as a legal character. Since some web pages contains this char in + text stream. +*/ + +// BIG5 + +static const PRUint32 BIG5_cls [ 256 / 8 ] = { +//PCK4BITS(0,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 //allow 0x00 as legal value +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(1,1,1,1,1,1,1,1), // 30 - 37 +PCK4BITS(1,1,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(2,2,2,2,2,2,2,2), // 40 - 47 +PCK4BITS(2,2,2,2,2,2,2,2), // 48 - 4f +PCK4BITS(2,2,2,2,2,2,2,2), // 50 - 57 +PCK4BITS(2,2,2,2,2,2,2,2), // 58 - 5f +PCK4BITS(2,2,2,2,2,2,2,2), // 60 - 67 +PCK4BITS(2,2,2,2,2,2,2,2), // 68 - 6f +PCK4BITS(2,2,2,2,2,2,2,2), // 70 - 77 +PCK4BITS(2,2,2,2,2,2,2,1), // 78 - 7f +PCK4BITS(4,4,4,4,4,4,4,4), // 80 - 87 +PCK4BITS(4,4,4,4,4,4,4,4), // 88 - 8f +PCK4BITS(4,4,4,4,4,4,4,4), // 90 - 97 +PCK4BITS(4,4,4,4,4,4,4,4), // 98 - 9f +PCK4BITS(4,3,3,3,3,3,3,3), // a0 - a7 +PCK4BITS(3,3,3,3,3,3,3,3), // a8 - af +PCK4BITS(3,3,3,3,3,3,3,3), // b0 - b7 +PCK4BITS(3,3,3,3,3,3,3,3), // b8 - bf +PCK4BITS(3,3,3,3,3,3,3,3), // c0 - c7 +PCK4BITS(3,3,3,3,3,3,3,3), // c8 - cf +PCK4BITS(3,3,3,3,3,3,3,3), // d0 - d7 +PCK4BITS(3,3,3,3,3,3,3,3), // d8 - df +PCK4BITS(3,3,3,3,3,3,3,3), // e0 - e7 +PCK4BITS(3,3,3,3,3,3,3,3), // e8 - ef +PCK4BITS(3,3,3,3,3,3,3,3), // f0 - f7 +PCK4BITS(3,3,3,3,3,3,3,0) // f8 - ff +}; + + +static const PRUint32 BIG5_st [ 3] = { +PCK4BITS(eError,eStart,eStart, 3,eError,eError,eError,eError),//00-07 +PCK4BITS(eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError),//08-0f +PCK4BITS(eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart) //10-17 +}; + +static const PRUint32 Big5CharLenTable[] = {0, 1, 1, 2, 0}; + +SMModel const Big5SMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, BIG5_cls }, + 5, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, BIG5_st }, + Big5CharLenTable, + "Big5", +}; + +static const PRUint32 EUCJP_cls [ 256 / 8 ] = { +//PCK4BITS(5,4,4,4,4,4,4,4), // 00 - 07 +PCK4BITS(4,4,4,4,4,4,4,4), // 00 - 07 +PCK4BITS(4,4,4,4,4,4,5,5), // 08 - 0f +PCK4BITS(4,4,4,4,4,4,4,4), // 10 - 17 +PCK4BITS(4,4,4,5,4,4,4,4), // 18 - 1f +PCK4BITS(4,4,4,4,4,4,4,4), // 20 - 27 +PCK4BITS(4,4,4,4,4,4,4,4), // 28 - 2f +PCK4BITS(4,4,4,4,4,4,4,4), // 30 - 37 +PCK4BITS(4,4,4,4,4,4,4,4), // 38 - 3f +PCK4BITS(4,4,4,4,4,4,4,4), // 40 - 47 +PCK4BITS(4,4,4,4,4,4,4,4), // 48 - 4f +PCK4BITS(4,4,4,4,4,4,4,4), // 50 - 57 +PCK4BITS(4,4,4,4,4,4,4,4), // 58 - 5f +PCK4BITS(4,4,4,4,4,4,4,4), // 60 - 67 +PCK4BITS(4,4,4,4,4,4,4,4), // 68 - 6f +PCK4BITS(4,4,4,4,4,4,4,4), // 70 - 77 +PCK4BITS(4,4,4,4,4,4,4,4), // 78 - 7f +PCK4BITS(5,5,5,5,5,5,5,5), // 80 - 87 +PCK4BITS(5,5,5,5,5,5,1,3), // 88 - 8f +PCK4BITS(5,5,5,5,5,5,5,5), // 90 - 97 +PCK4BITS(5,5,5,5,5,5,5,5), // 98 - 9f +PCK4BITS(5,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,2,2,2), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(0,0,0,0,0,0,0,0), // e0 - e7 +PCK4BITS(0,0,0,0,0,0,0,0), // e8 - ef +PCK4BITS(0,0,0,0,0,0,0,0), // f0 - f7 +PCK4BITS(0,0,0,0,0,0,0,5) // f8 - ff +}; + + +static const PRUint32 EUCJP_st [ 5] = { +PCK4BITS( 3, 4, 3, 5,eStart,eError,eError,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eStart,eError,eStart,eError,eError,eError),//10-17 +PCK4BITS(eError,eError,eStart,eError,eError,eError, 3,eError),//18-1f +PCK4BITS( 3,eError,eError,eError,eStart,eStart,eStart,eStart) //20-27 +}; + +static const PRUint32 EUCJPCharLenTable[] = {2, 2, 2, 3, 1, 0}; + +const SMModel EUCJPSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCJP_cls }, + 6, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCJP_st }, + EUCJPCharLenTable, + "EUC-JP", +}; + +static const PRUint32 EUCKR_cls [ 256 / 8 ] = { +//PCK4BITS(0,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(1,1,1,1,1,1,1,1), // 30 - 37 +PCK4BITS(1,1,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(1,1,1,1,1,1,1,1), // 40 - 47 +PCK4BITS(1,1,1,1,1,1,1,1), // 48 - 4f +PCK4BITS(1,1,1,1,1,1,1,1), // 50 - 57 +PCK4BITS(1,1,1,1,1,1,1,1), // 58 - 5f +PCK4BITS(1,1,1,1,1,1,1,1), // 60 - 67 +PCK4BITS(1,1,1,1,1,1,1,1), // 68 - 6f +PCK4BITS(1,1,1,1,1,1,1,1), // 70 - 77 +PCK4BITS(1,1,1,1,1,1,1,1), // 78 - 7f +PCK4BITS(0,0,0,0,0,0,0,0), // 80 - 87 +PCK4BITS(0,0,0,0,0,0,0,0), // 88 - 8f +PCK4BITS(0,0,0,0,0,0,0,0), // 90 - 97 +PCK4BITS(0,0,0,0,0,0,0,0), // 98 - 9f +PCK4BITS(0,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,3,3,3), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,3,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(2,2,2,2,2,2,2,2), // e0 - e7 +PCK4BITS(2,2,2,2,2,2,2,2), // e8 - ef +PCK4BITS(2,2,2,2,2,2,2,2), // f0 - f7 +PCK4BITS(2,2,2,2,2,2,2,0) // f8 - ff +}; + + +static const PRUint32 EUCKR_st [ 2] = { +PCK4BITS(eError,eStart, 3,eError,eError,eError,eError,eError),//00-07 +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,eStart) //08-0f +}; + +static const PRUint32 EUCKRCharLenTable[] = {0, 1, 2, 0}; + +const SMModel EUCKRSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCKR_cls }, + 4, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCKR_st }, + EUCKRCharLenTable, + "EUC-KR", +}; + +static const PRUint32 EUCTW_cls [ 256 / 8 ] = { +//PCK4BITS(0,2,2,2,2,2,2,2), // 00 - 07 +PCK4BITS(2,2,2,2,2,2,2,2), // 00 - 07 +PCK4BITS(2,2,2,2,2,2,0,0), // 08 - 0f +PCK4BITS(2,2,2,2,2,2,2,2), // 10 - 17 +PCK4BITS(2,2,2,0,2,2,2,2), // 18 - 1f +PCK4BITS(2,2,2,2,2,2,2,2), // 20 - 27 +PCK4BITS(2,2,2,2,2,2,2,2), // 28 - 2f +PCK4BITS(2,2,2,2,2,2,2,2), // 30 - 37 +PCK4BITS(2,2,2,2,2,2,2,2), // 38 - 3f +PCK4BITS(2,2,2,2,2,2,2,2), // 40 - 47 +PCK4BITS(2,2,2,2,2,2,2,2), // 48 - 4f +PCK4BITS(2,2,2,2,2,2,2,2), // 50 - 57 +PCK4BITS(2,2,2,2,2,2,2,2), // 58 - 5f +PCK4BITS(2,2,2,2,2,2,2,2), // 60 - 67 +PCK4BITS(2,2,2,2,2,2,2,2), // 68 - 6f +PCK4BITS(2,2,2,2,2,2,2,2), // 70 - 77 +PCK4BITS(2,2,2,2,2,2,2,2), // 78 - 7f +PCK4BITS(0,0,0,0,0,0,0,0), // 80 - 87 +PCK4BITS(0,0,0,0,0,0,6,0), // 88 - 8f +PCK4BITS(0,0,0,0,0,0,0,0), // 90 - 97 +PCK4BITS(0,0,0,0,0,0,0,0), // 98 - 9f +PCK4BITS(0,3,4,4,4,4,4,4), // a0 - a7 +PCK4BITS(5,5,1,1,1,1,1,1), // a8 - af +PCK4BITS(1,1,1,1,1,1,1,1), // b0 - b7 +PCK4BITS(1,1,1,1,1,1,1,1), // b8 - bf +PCK4BITS(1,1,3,1,3,3,3,3), // c0 - c7 +PCK4BITS(3,3,3,3,3,3,3,3), // c8 - cf +PCK4BITS(3,3,3,3,3,3,3,3), // d0 - d7 +PCK4BITS(3,3,3,3,3,3,3,3), // d8 - df +PCK4BITS(3,3,3,3,3,3,3,3), // e0 - e7 +PCK4BITS(3,3,3,3,3,3,3,3), // e8 - ef +PCK4BITS(3,3,3,3,3,3,3,3), // f0 - f7 +PCK4BITS(3,3,3,3,3,3,3,0) // f8 - ff +}; + + +static const PRUint32 EUCTW_st [ 6] = { +PCK4BITS(eError,eError,eStart, 3, 3, 3, 4,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eError,eError,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eStart,eError),//10-17 +PCK4BITS(eStart,eStart,eStart,eError,eError,eError,eError,eError),//18-1f +PCK4BITS( 5,eError,eError,eError,eStart,eError,eStart,eStart),//20-27 +PCK4BITS(eStart,eError,eStart,eStart,eStart,eStart,eStart,eStart) //28-2f +}; + +static const PRUint32 EUCTWCharLenTable[] = {0, 0, 1, 2, 2, 2, 3}; + +const SMModel EUCTWSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCTW_cls }, + 7, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, EUCTW_st }, + EUCTWCharLenTable, + "x-euc-tw", +}; + +/* obsolete GB2312 by gb18030 +static PRUint32 GB2312_cls [ 256 / 8 ] = { +//PCK4BITS(0,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(1,1,1,1,1,1,1,1), // 30 - 37 +PCK4BITS(1,1,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(1,1,1,1,1,1,1,1), // 40 - 47 +PCK4BITS(1,1,1,1,1,1,1,1), // 48 - 4f +PCK4BITS(1,1,1,1,1,1,1,1), // 50 - 57 +PCK4BITS(1,1,1,1,1,1,1,1), // 58 - 5f +PCK4BITS(1,1,1,1,1,1,1,1), // 60 - 67 +PCK4BITS(1,1,1,1,1,1,1,1), // 68 - 6f +PCK4BITS(1,1,1,1,1,1,1,1), // 70 - 77 +PCK4BITS(1,1,1,1,1,1,1,1), // 78 - 7f +PCK4BITS(1,0,0,0,0,0,0,0), // 80 - 87 +PCK4BITS(0,0,0,0,0,0,0,0), // 88 - 8f +PCK4BITS(0,0,0,0,0,0,0,0), // 90 - 97 +PCK4BITS(0,0,0,0,0,0,0,0), // 98 - 9f +PCK4BITS(0,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,3,3,3,3,3,3), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(2,2,2,2,2,2,2,2), // e0 - e7 +PCK4BITS(2,2,2,2,2,2,2,2), // e8 - ef +PCK4BITS(2,2,2,2,2,2,2,2), // f0 - f7 +PCK4BITS(2,2,2,2,2,2,2,0) // f8 - ff +}; + + +static PRUint32 GB2312_st [ 2] = { +PCK4BITS(eError,eStart, 3,eError,eError,eError,eError,eError),//00-07 +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,eStart) //08-0f +}; + +static const PRUint32 GB2312CharLenTable[] = {0, 1, 2, 0}; + +SMModel GB2312SMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, GB2312_cls }, + 4, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, GB2312_st }, + GB2312CharLenTable, + "GB2312", +}; +*/ + +// the following state machine data was created by perl script in +// intl/chardet/tools. It should be the same as in PSM detector. +static const PRUint32 GB18030_cls [ 256 / 8 ] = { +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(3,3,3,3,3,3,3,3), // 30 - 37 +PCK4BITS(3,3,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(2,2,2,2,2,2,2,2), // 40 - 47 +PCK4BITS(2,2,2,2,2,2,2,2), // 48 - 4f +PCK4BITS(2,2,2,2,2,2,2,2), // 50 - 57 +PCK4BITS(2,2,2,2,2,2,2,2), // 58 - 5f +PCK4BITS(2,2,2,2,2,2,2,2), // 60 - 67 +PCK4BITS(2,2,2,2,2,2,2,2), // 68 - 6f +PCK4BITS(2,2,2,2,2,2,2,2), // 70 - 77 +PCK4BITS(2,2,2,2,2,2,2,4), // 78 - 7f +PCK4BITS(5,6,6,6,6,6,6,6), // 80 - 87 +PCK4BITS(6,6,6,6,6,6,6,6), // 88 - 8f +PCK4BITS(6,6,6,6,6,6,6,6), // 90 - 97 +PCK4BITS(6,6,6,6,6,6,6,6), // 98 - 9f +PCK4BITS(6,6,6,6,6,6,6,6), // a0 - a7 +PCK4BITS(6,6,6,6,6,6,6,6), // a8 - af +PCK4BITS(6,6,6,6,6,6,6,6), // b0 - b7 +PCK4BITS(6,6,6,6,6,6,6,6), // b8 - bf +PCK4BITS(6,6,6,6,6,6,6,6), // c0 - c7 +PCK4BITS(6,6,6,6,6,6,6,6), // c8 - cf +PCK4BITS(6,6,6,6,6,6,6,6), // d0 - d7 +PCK4BITS(6,6,6,6,6,6,6,6), // d8 - df +PCK4BITS(6,6,6,6,6,6,6,6), // e0 - e7 +PCK4BITS(6,6,6,6,6,6,6,6), // e8 - ef +PCK4BITS(6,6,6,6,6,6,6,6), // f0 - f7 +PCK4BITS(6,6,6,6,6,6,6,0) // f8 - ff +}; + + +static const PRUint32 GB18030_st [ 6] = { +PCK4BITS(eError,eStart,eStart,eStart,eStart,eStart, 3,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eError,eError,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart),//10-17 +PCK4BITS( 4,eError,eStart,eStart,eError,eError,eError,eError),//18-1f +PCK4BITS(eError,eError, 5,eError,eError,eError,eItsMe,eError),//20-27 +PCK4BITS(eError,eError,eStart,eStart,eStart,eStart,eStart,eStart) //28-2f +}; + +// To be accurate, the length of class 6 can be either 2 or 4. +// But it is not necessary to discriminate between the two since +// it is used for frequency analysis only, and we are validing +// each code range there as well. So it is safe to set it to be +// 2 here. +static const PRUint32 GB18030CharLenTable[] = {0, 1, 1, 1, 1, 1, 2}; + +const SMModel GB18030SMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, GB18030_cls }, + 7, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, GB18030_st }, + GB18030CharLenTable, + "GB18030", +}; + +// sjis + +static const PRUint32 SJIS_cls [ 256 / 8 ] = { +//PCK4BITS(0,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(1,1,1,1,1,1,1,1), // 30 - 37 +PCK4BITS(1,1,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(2,2,2,2,2,2,2,2), // 40 - 47 +PCK4BITS(2,2,2,2,2,2,2,2), // 48 - 4f +PCK4BITS(2,2,2,2,2,2,2,2), // 50 - 57 +PCK4BITS(2,2,2,2,2,2,2,2), // 58 - 5f +PCK4BITS(2,2,2,2,2,2,2,2), // 60 - 67 +PCK4BITS(2,2,2,2,2,2,2,2), // 68 - 6f +PCK4BITS(2,2,2,2,2,2,2,2), // 70 - 77 +PCK4BITS(2,2,2,2,2,2,2,1), // 78 - 7f +PCK4BITS(3,3,3,3,3,3,3,3), // 80 - 87 +PCK4BITS(3,3,3,3,3,3,3,3), // 88 - 8f +PCK4BITS(3,3,3,3,3,3,3,3), // 90 - 97 +PCK4BITS(3,3,3,3,3,3,3,3), // 98 - 9f +//0xa0 is illegal in sjis encoding, but some pages does +//contain such byte. We need to be more error forgiven. +PCK4BITS(2,2,2,2,2,2,2,2), // a0 - a7 +PCK4BITS(2,2,2,2,2,2,2,2), // a8 - af +PCK4BITS(2,2,2,2,2,2,2,2), // b0 - b7 +PCK4BITS(2,2,2,2,2,2,2,2), // b8 - bf +PCK4BITS(2,2,2,2,2,2,2,2), // c0 - c7 +PCK4BITS(2,2,2,2,2,2,2,2), // c8 - cf +PCK4BITS(2,2,2,2,2,2,2,2), // d0 - d7 +PCK4BITS(2,2,2,2,2,2,2,2), // d8 - df +PCK4BITS(3,3,3,3,3,3,3,3), // e0 - e7 +PCK4BITS(3,3,3,3,3,4,4,4), // e8 - ef +PCK4BITS(4,4,4,4,4,4,4,4), // f0 - f7 +PCK4BITS(4,4,4,4,4,0,0,0) // f8 - ff +}; + + +static const PRUint32 SJIS_st [ 3] = { +PCK4BITS(eError,eStart,eStart, 3,eError,eError,eError,eError),//00-07 +PCK4BITS(eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe),//08-0f +PCK4BITS(eItsMe,eItsMe,eError,eError,eStart,eStart,eStart,eStart) //10-17 +}; + +static const PRUint32 SJISCharLenTable[] = {0, 1, 1, 2, 0, 0}; + +const SMModel SJISSMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, SJIS_cls }, + 6, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, SJIS_st }, + SJISCharLenTable, + "SHIFT_JIS", +}; + + +static const PRUint32 UTF8_cls [ 256 / 8 ] = { +//PCK4BITS(0,1,1,1,1,1,1,1), // 00 - 07 +PCK4BITS(1,1,1,1,1,1,1,1), // 00 - 07 //allow 0x00 as a legal value +PCK4BITS(1,1,1,1,1,1,0,0), // 08 - 0f +PCK4BITS(1,1,1,1,1,1,1,1), // 10 - 17 +PCK4BITS(1,1,1,0,1,1,1,1), // 18 - 1f +PCK4BITS(1,1,1,1,1,1,1,1), // 20 - 27 +PCK4BITS(1,1,1,1,1,1,1,1), // 28 - 2f +PCK4BITS(1,1,1,1,1,1,1,1), // 30 - 37 +PCK4BITS(1,1,1,1,1,1,1,1), // 38 - 3f +PCK4BITS(1,1,1,1,1,1,1,1), // 40 - 47 +PCK4BITS(1,1,1,1,1,1,1,1), // 48 - 4f +PCK4BITS(1,1,1,1,1,1,1,1), // 50 - 57 +PCK4BITS(1,1,1,1,1,1,1,1), // 58 - 5f +PCK4BITS(1,1,1,1,1,1,1,1), // 60 - 67 +PCK4BITS(1,1,1,1,1,1,1,1), // 68 - 6f +PCK4BITS(1,1,1,1,1,1,1,1), // 70 - 77 +PCK4BITS(1,1,1,1,1,1,1,1), // 78 - 7f +PCK4BITS(2,2,2,2,3,3,3,3), // 80 - 87 +PCK4BITS(4,4,4,4,4,4,4,4), // 88 - 8f +PCK4BITS(4,4,4,4,4,4,4,4), // 90 - 97 +PCK4BITS(4,4,4,4,4,4,4,4), // 98 - 9f +PCK4BITS(5,5,5,5,5,5,5,5), // a0 - a7 +PCK4BITS(5,5,5,5,5,5,5,5), // a8 - af +PCK4BITS(5,5,5,5,5,5,5,5), // b0 - b7 +PCK4BITS(5,5,5,5,5,5,5,5), // b8 - bf +PCK4BITS(0,0,6,6,6,6,6,6), // c0 - c7 +PCK4BITS(6,6,6,6,6,6,6,6), // c8 - cf +PCK4BITS(6,6,6,6,6,6,6,6), // d0 - d7 +PCK4BITS(6,6,6,6,6,6,6,6), // d8 - df +PCK4BITS(7,8,8,8,8,8,8,8), // e0 - e7 +PCK4BITS(8,8,8,8,8,9,8,8), // e8 - ef +PCK4BITS(10,11,11,11,11,11,11,11), // f0 - f7 +PCK4BITS(12,13,13,13,14,15,0,0) // f8 - ff +}; + + +static const PRUint32 UTF8_st [ 26] = { +PCK4BITS(eError,eStart,eError,eError,eError,eError, 12, 10),//00-07 +PCK4BITS( 9, 11, 8, 7, 6, 5, 4, 3),//08-0f +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//10-17 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//18-1f +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe),//20-27 +PCK4BITS(eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe),//28-2f +PCK4BITS(eError,eError, 5, 5, 5, 5,eError,eError),//30-37 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//38-3f +PCK4BITS(eError,eError,eError, 5, 5, 5,eError,eError),//40-47 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//48-4f +PCK4BITS(eError,eError, 7, 7, 7, 7,eError,eError),//50-57 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//58-5f +PCK4BITS(eError,eError,eError,eError, 7, 7,eError,eError),//60-67 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//68-6f +PCK4BITS(eError,eError, 9, 9, 9, 9,eError,eError),//70-77 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//78-7f +PCK4BITS(eError,eError,eError,eError,eError, 9,eError,eError),//80-87 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//88-8f +PCK4BITS(eError,eError, 12, 12, 12, 12,eError,eError),//90-97 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//98-9f +PCK4BITS(eError,eError,eError,eError,eError, 12,eError,eError),//a0-a7 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//a8-af +PCK4BITS(eError,eError, 12, 12, 12,eError,eError,eError),//b0-b7 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError),//b8-bf +PCK4BITS(eError,eError,eStart,eStart,eStart,eStart,eError,eError),//c0-c7 +PCK4BITS(eError,eError,eError,eError,eError,eError,eError,eError) //c8-cf +}; + +static const PRUint32 UTF8CharLenTable[] = {0, 1, 0, 0, 0, 0, 2, 3, + 3, 3, 4, 4, 5, 5, 6, 6 }; + +const SMModel UTF8SMModel = { + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, UTF8_cls }, + 16, + {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, UTF8_st }, + UTF8CharLenTable, + "UTF-8", +}; + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsPkgInt.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsPkgInt.h new file mode 100644 index 0000000..3caa912 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsPkgInt.h @@ -0,0 +1,89 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsPkgInt_h__ +#define nsPkgInt_h__ +#include "nscore.h" + +typedef enum { + eIdxSft4bits = 3, + eIdxSft8bits = 2, + eIdxSft16bits = 1 +} nsIdxSft; + +typedef enum { + eSftMsk4bits = 7, + eSftMsk8bits = 3, + eSftMsk16bits = 1 +} nsSftMsk; + +typedef enum { + eBitSft4bits = 2, + eBitSft8bits = 3, + eBitSft16bits = 4 +} nsBitSft; + +typedef enum { + eUnitMsk4bits = 0x0000000FL, + eUnitMsk8bits = 0x000000FFL, + eUnitMsk16bits = 0x0000FFFFL +} nsUnitMsk; + +typedef struct nsPkgInt { + nsIdxSft idxsft; + nsSftMsk sftmsk; + nsBitSft bitsft; + nsUnitMsk unitmsk; + const PRUint32* const data; +} nsPkgInt; + + +#define PCK16BITS(a,b) ((PRUint32)(((b) << 16) | (a))) + +#define PCK8BITS(a,b,c,d) PCK16BITS( ((PRUint32)(((b) << 8) | (a))), \ + ((PRUint32)(((d) << 8) | (c)))) + +#define PCK4BITS(a,b,c,d,e,f,g,h) PCK8BITS( ((PRUint32)(((b) << 4) | (a))), \ + ((PRUint32)(((d) << 4) | (c))), \ + ((PRUint32)(((f) << 4) | (e))), \ + ((PRUint32)(((h) << 4) | (g))) ) + +#define GETFROMPCK(i, c) \ + (((((c).data)[(i)>>(c).idxsft])>>(((i)&(c).sftmsk)<<(c).bitsft))&(c).unitmsk) + +#endif /* nsPkgInt_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.cpp new file mode 100644 index 0000000..e5b6ba6 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.cpp @@ -0,0 +1,240 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include +#include "prmem.h" + +#include "nsSBCharSetProber.h" +#include "nsSBCSGroupProber.h" + +#include "nsHebrewProber.h" + +nsSBCSGroupProber::nsSBCSGroupProber() +{ + mProbers[0] = new nsSingleByteCharSetProber(&Win1251Model); + mProbers[1] = new nsSingleByteCharSetProber(&Koi8rModel); + mProbers[2] = new nsSingleByteCharSetProber(&Latin5Model); + mProbers[3] = new nsSingleByteCharSetProber(&MacCyrillicModel); + mProbers[4] = new nsSingleByteCharSetProber(&Ibm866Model); + mProbers[5] = new nsSingleByteCharSetProber(&Ibm855Model); + mProbers[6] = new nsSingleByteCharSetProber(&ISO_8859_7greekModel); + mProbers[7] = new nsSingleByteCharSetProber(&WINDOWS_1253greekModel); + mProbers[8] = new nsSingleByteCharSetProber(&Latin5BulgarianModel); + mProbers[9] = new nsSingleByteCharSetProber(&Win1251BulgarianModel); + mProbers[10] = new nsSingleByteCharSetProber(&TIS620ThaiModel); + + nsHebrewProber *hebprober = new nsHebrewProber(); + // Notice: Any change in these indexes - 10,11,12 must be reflected + // in the code below as well. + mProbers[11] = hebprober; + mProbers[12] = new nsSingleByteCharSetProber(&Win1255Model, PR_FALSE, hebprober); // Logical Hebrew + mProbers[13] = new nsSingleByteCharSetProber(&Win1255Model, PR_TRUE, hebprober); // Visual Hebrew + // Tell the Hebrew prober about the logical and visual probers + if (mProbers[11] && mProbers[12] && mProbers[13]) // all are not null + { + hebprober->SetModelProbers(mProbers[12], mProbers[13]); + } + else // One or more is null. avoid any Hebrew probing, null them all + { + for (PRUint32 i = 11; i <= 13; ++i) + { + delete mProbers[i]; + mProbers[i] = 0; + } + } + + mProbers[14] = new nsSingleByteCharSetProber(&Latin2HungarianModel); + mProbers[15] = new nsSingleByteCharSetProber(&Win1250HungarianModel); + mProbers[16] = new nsSingleByteCharSetProber(&WINDOWS_1252frenchModel); + mProbers[17] = new nsSingleByteCharSetProber(&WINDOWS_1252germanModel); + mProbers[18] = new nsSingleByteCharSetProber(&WINDOWS_1252swedishModel); + mProbers[19] = new nsSingleByteCharSetProber(&ISO_8859_9turkishModel); + mProbers[20] = new nsSingleByteCharSetProber(&WINDOWS_1252finnishModel); + mProbers[21] = new nsSingleByteCharSetProber(&windows_1252spanishModel); + mProbers[22] = new nsSingleByteCharSetProber(&iso_8859_2czechModel); + mProbers[23] = new nsSingleByteCharSetProber(&iso_8859_2polishModel); + + Reset(); +} + +nsSBCSGroupProber::~nsSBCSGroupProber() +{ + for (PRUint32 i = 0; i < NUM_OF_SBCS_PROBERS; i++) + { + delete mProbers[i]; + } +} + + +const char* nsSBCSGroupProber::GetCharSetName() +{ + //if we have no answer yet + if (mBestGuess == -1) + { + GetConfidence(); + //no charset seems positive + if (mBestGuess == -1) + //we will use default. + mBestGuess = 0; + } + return mProbers[mBestGuess]->GetCharSetName(); +} + +void nsSBCSGroupProber::Reset(void) +{ + mActiveNum = 0; + for (PRUint32 i = 0; i < NUM_OF_SBCS_PROBERS; i++) + { + if (mProbers[i]) // not null + { + mProbers[i]->Reset(); + mIsActive[i] = PR_TRUE; + ++mActiveNum; + } + else + mIsActive[i] = PR_FALSE; + } + mBestGuess = -1; + mState = eDetecting; +} + + +nsProbingState nsSBCSGroupProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + nsProbingState st; + PRUint32 i; + char *newBuf1 = 0; + PRUint32 newLen1 = 0; + char *newBuf2 = 0; + PRUint32 newLen2 = 0; + + if (!FilterWithoutEnglishLetters(aBuf, aLen, &newBuf1, newLen1)) + goto done; + if (!FilterWithEnglishLetters(aBuf, aLen, &newBuf2, newLen2)) + goto done; + + if (newLen1 == 0) + goto done; // Nothing to see here, move on. + + for (i = 0; i < NUM_OF_SBCS_PROBERS; i++) + { + if (!mIsActive[i]) + continue; + if (mProbers[i]->KeepEnglishLetters()) { + st = mProbers[i]->HandleData(newBuf2, newLen2); + } + else + { + st = mProbers[i]->HandleData(newBuf1, newLen1); + } + if (st == eFoundIt) + { + mBestGuess = i; + mState = eFoundIt; + break; + } + else if (st == eNotMe) + { + mIsActive[i] = PR_FALSE; + mActiveNum--; + if (mActiveNum <= 0) + { + mState = eNotMe; + break; + } + } + } + +done: + PR_FREEIF(newBuf1); + PR_FREEIF(newBuf2); + + return mState; +} + +float nsSBCSGroupProber::GetConfidence(void) +{ + PRUint32 i; + float bestConf = 0.0, cf; + + switch (mState) + { + case eFoundIt: + return (float)0.99; //sure yes + case eNotMe: + return (float)0.01; //sure no + default: + for (i = 0; i < NUM_OF_SBCS_PROBERS; i++) + { + if (!mIsActive[i]) + continue; + cf = mProbers[i]->GetConfidence(); + if (bestConf < cf) + { + bestConf = cf; + mBestGuess = i; + } + } + } + return bestConf; +} + +#ifdef DEBUG_chardet +void nsSBCSGroupProber::DumpStatus() +{ + PRUint32 i; + float cf; + + cf = GetConfidence(); + printf(" SBCS Group Prober --------begin status \r\n"); + for (i = 0; i < NUM_OF_SBCS_PROBERS; i++) + { + if (!mIsActive[i]) + printf(" inactive: [%s] [%s](i.e. confidence is too low).\r\n", + mProbers[i]? mProbers[i]->GetCharSetName() : "UNSET", + mProbers[i]? mProbers[i]->GetLangName() : "UNSET" + ); + else + mProbers[i]->DumpStatus(); + } + printf(" SBCS Group found best match [%s] [%s] confidence %f.\r\n", + mProbers[mBestGuess]->GetCharSetName(), + mProbers[mBestGuess]->GetLangName(), + cf); +} +#endif diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.h new file mode 100644 index 0000000..575e93f --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCSGroupProber.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsSBCSGroupProber_h__ +#define nsSBCSGroupProber_h__ + + +#define NUM_OF_SBCS_PROBERS 24 + +class nsCharSetProber; +class nsSBCSGroupProber: public nsCharSetProber { +public: + nsSBCSGroupProber(); + virtual ~nsSBCSGroupProber(); + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName(); + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +#ifdef DEBUG_chardet + void DumpStatus(); +#endif + +protected: + nsProbingState mState; + nsCharSetProber* mProbers[NUM_OF_SBCS_PROBERS]; + PRBool mIsActive[NUM_OF_SBCS_PROBERS]; + PRInt32 mBestGuess; + PRUint32 mActiveNum; +}; + +#endif /* nsSBCSGroupProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.cpp new file mode 100644 index 0000000..7ef8004 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.cpp @@ -0,0 +1,127 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#include +#include "nsSBCharSetProber.h" + +nsProbingState nsSingleByteCharSetProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + unsigned char order; + + for (PRUint32 i = 0; i < aLen; i++) + { + // Order is in [1-64] but we want 0-63 here. + order = mModel->charToOrderMap[(unsigned char)aBuf[i]] -1; + + if (order < SYMBOL_CAT_ORDER) + mTotalChar++; + if (order < SAMPLE_SIZE) + { + mFreqChar++; + + if (mLastOrder < SAMPLE_SIZE) + { + mTotalSeqs++; + if (!mReversed) + ++(mSeqCounters[mModel->precedenceMatrix[mLastOrder*SAMPLE_SIZE+order]]); + else // reverse the order of the letters in the lookup + ++(mSeqCounters[mModel->precedenceMatrix[order*SAMPLE_SIZE+mLastOrder]]); + } + } + mLastOrder = order; + } + + if (mState == eDetecting) + if (mTotalSeqs > SB_ENOUGH_REL_THRESHOLD) + { + float cf = GetConfidence(); + if (cf > POSITIVE_SHORTCUT_THRESHOLD) + mState = eFoundIt; + else if (cf < NEGATIVE_SHORTCUT_THRESHOLD) + mState = eNotMe; + } + + return mState; +} + +void nsSingleByteCharSetProber::Reset(void) +{ + mState = eDetecting; + mLastOrder = 255; + for (PRUint32 i = 0; i < NUMBER_OF_SEQ_CAT; i++) + mSeqCounters[i] = 0; + mTotalSeqs = 0; + mTotalChar = 0; + mFreqChar = 0; +} + +//#define NEGATIVE_APPROACH 1 + +float nsSingleByteCharSetProber::GetConfidence(void) +{ +#ifdef NEGATIVE_APPROACH + if (mTotalSeqs > 0) + if (mTotalSeqs > mSeqCounters[NEGATIVE_CAT]*10 ) + return ((float)(mTotalSeqs - mSeqCounters[NEGATIVE_CAT]*10))/mTotalSeqs * mFreqChar / mTotalChar; + return (float)0.01; +#else //POSITIVE_APPROACH + float r; + + if (mTotalSeqs > 0) { + r = ((float)1.0) * mSeqCounters[POSITIVE_CAT] / mTotalSeqs / mModel->mTypicalPositiveRatio; + r = r*mFreqChar/mTotalChar; + if (r >= (float)1.00) + r = (float)0.99; + return r; + } + return (float)0.01; +#endif +} + +const char* nsSingleByteCharSetProber::GetCharSetName() +{ + if (!mNameProber) + return mModel->charsetName; + return mNameProber->GetCharSetName(); +} + +#ifdef DEBUG_chardet +void nsSingleByteCharSetProber::DumpStatus() +{ + printf(" SBCS: %1.3f [%s] [%s]\r\n", GetConfidence(), mModel->langName, GetCharSetName()); +} +#endif diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.h new file mode 100644 index 0000000..da943d2 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSBCharSetProber.h @@ -0,0 +1,129 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +#ifndef nsSingleByteCharSetProber_h__ +#define nsSingleByteCharSetProber_h__ + +#include "nsCharSetProber.h" + +#define SAMPLE_SIZE 64 +#define SB_ENOUGH_REL_THRESHOLD 1024 +#define POSITIVE_SHORTCUT_THRESHOLD (float)0.95 +#define NEGATIVE_SHORTCUT_THRESHOLD (float)0.05 +#define SYMBOL_CAT_ORDER 250 +#define NUMBER_OF_SEQ_CAT 4 +#define POSITIVE_CAT (NUMBER_OF_SEQ_CAT-1) +#define NEGATIVE_CAT 0 + +typedef struct +{ + const unsigned char* const charToOrderMap; // [256] table use to find a char's order + const PRUint8* const precedenceMatrix; // [SAMPLE_SIZE][SAMPLE_SIZE]; table to find a 2-char sequence's frequency + float mTypicalPositiveRatio; // = freqSeqs / totalSeqs + PRBool keepEnglishLetter; // says if this script contains English characters (not implemented) + const char* const charsetName; + const char* const langName; +} SequenceModel; + + +class nsSingleByteCharSetProber : public nsCharSetProber{ +public: + nsSingleByteCharSetProber(const SequenceModel *model) + :mModel(model), mReversed(PR_FALSE), mNameProber(0) { Reset(); } + nsSingleByteCharSetProber(const SequenceModel *model, PRBool reversed, nsCharSetProber* nameProber) + :mModel(model), mReversed(reversed), mNameProber(nameProber) { Reset(); } + + virtual const char* GetCharSetName(); + virtual const char* GetLangName() {return mModel?mModel->langName:"";} + virtual nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + virtual nsProbingState GetState(void) {return mState;} + virtual void Reset(void); + virtual float GetConfidence(void); + virtual void SetOpion() {} + + virtual PRBool KeepEnglishLetters() {return mModel->keepEnglishLetter;} + +#ifdef DEBUG_chardet + virtual void DumpStatus(); +#endif + +protected: + nsProbingState mState; + const SequenceModel* const mModel; + const PRBool mReversed; // PR_TRUE if we need to reverse every pair in the model lookup + + //char order of last character + unsigned char mLastOrder; + + PRUint32 mTotalSeqs; + PRUint32 mSeqCounters[NUMBER_OF_SEQ_CAT]; + + PRUint32 mTotalChar; + //characters that fall in our sampling range + PRUint32 mFreqChar; + + // Optional auxiliary prober for name decision. created and destroyed by the GroupProber + nsCharSetProber* mNameProber; + +}; + + +extern const SequenceModel Koi8rModel; +extern const SequenceModel Win1251Model; +extern const SequenceModel Latin5Model; +extern const SequenceModel MacCyrillicModel; +extern const SequenceModel Ibm866Model; +extern const SequenceModel Ibm855Model; +extern const SequenceModel ISO_8859_7greekModel; +extern const SequenceModel WINDOWS_1253greekModel; +extern const SequenceModel Latin5BulgarianModel; +extern const SequenceModel Win1251BulgarianModel; +extern const SequenceModel Latin2HungarianModel; +extern const SequenceModel Win1250HungarianModel; +extern const SequenceModel Win1255Model; +extern const SequenceModel TIS620ThaiModel; +extern const SequenceModel WINDOWS_1252frenchModel; +extern const SequenceModel WINDOWS_1252germanModel; +extern const SequenceModel WINDOWS_1252swedishModel; +extern const SequenceModel ISO_8859_9turkishModel; +extern const SequenceModel WINDOWS_1252finnishModel; +extern const SequenceModel windows_1252spanishModel; +extern const SequenceModel iso_8859_2czechModel; +extern const SequenceModel iso_8859_2polishModel; + +#endif /* nsSingleByteCharSetProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.cpp new file mode 100644 index 0000000..34a9f97 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.cpp @@ -0,0 +1,100 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// for S-JIS encoding, obeserve characteristic: +// 1, kana character (or hankaku?) often have hight frequency of appereance +// 2, kana character often exist in group +// 3, certain combination of kana is never used in japanese language + +#include "nsSJISProber.h" +#include "nsDebug.h" + +void nsSJISProber::Reset(void) +{ + mCodingSM->Reset(); + mState = eDetecting; + mContextAnalyser.Reset(mIsPreferredLanguage); + mDistributionAnalyser.Reset(mIsPreferredLanguage); +} + +nsProbingState nsSJISProber::HandleData(const char* aBuf, PRUint32 aLen) +{ + NS_ASSERTION(aLen, "HandleData called with empty buffer"); + nsSMState codingState; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + PRUint32 charLen = mCodingSM->GetCurrentCharLen(); + if (i == 0) + { + mLastChar[1] = aBuf[0]; + mContextAnalyser.HandleOneChar(mLastChar+2-charLen, charLen); + mDistributionAnalyser.HandleOneChar(mLastChar, charLen); + } + else + { + mContextAnalyser.HandleOneChar(aBuf+i+1-charLen, charLen); + mDistributionAnalyser.HandleOneChar(aBuf+i-1, charLen); + } + } + } + + mLastChar[0] = aBuf[aLen-1]; + + if (mState == eDetecting) + if (mContextAnalyser.GotEnoughData() && GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; + + return mState; +} + +float nsSJISProber::GetConfidence(void) +{ + float contxtCf = mContextAnalyser.GetConfidence(); + float distribCf = mDistributionAnalyser.GetConfidence(); + + return (contxtCf > distribCf ? contxtCf : distribCf); +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.h new file mode 100644 index 0000000..f326ded --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsSJISProber.h @@ -0,0 +1,80 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// for S-JIS encoding, obeserve characteristic: +// 1, kana character (or hankaku?) often have hight frequency of appereance +// 2, kana character often exist in group +// 3, certain combination of kana is never used in japanese language + +#ifndef nsSJISProber_h__ +#define nsSJISProber_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" +#include "JpCntx.h" +#include "CharDistribution.h" + + +class nsSJISProber: public nsCharSetProber { +public: + nsSJISProber(PRBool aIsPreferredLanguage) + :mIsPreferredLanguage(aIsPreferredLanguage) + {mCodingSM = new nsCodingStateMachine(&SJISSMModel); + Reset();} + virtual ~nsSJISProber(void){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "SHIFT_JIS";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + + SJISContextAnalysis mContextAnalyser; + SJISDistributionAnalysis mDistributionAnalyser; + + char mLastChar[2]; + PRBool mIsPreferredLanguage; + +}; + + +#endif /* nsSJISProber_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.cpp new file mode 100644 index 0000000..7f134a9 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.cpp @@ -0,0 +1,96 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nsUTF8Prober.h" + +void nsUTF8Prober::Reset(void) +{ + mCodingSM->Reset(); + mNumOfMBChar = 0; + mState = eDetecting; +} + +nsProbingState nsUTF8Prober::HandleData(const char* aBuf, PRUint32 aLen) +{ + nsSMState codingState; + + if (mState == eNotMe) + return eNotMe; + + for (PRUint32 i = 0; i < aLen; i++) + { + codingState = mCodingSM->NextState(aBuf[i]); + if (codingState == eItsMe) + { + mState = eFoundIt; + break; + } + if (codingState == eStart) + { + if (mCodingSM->GetCurrentCharLen() >= 2) + mNumOfMBChar++; + } + else if (codingState == eError) + { + return mState = eNotMe; + } + } + + if (mState == eDetecting) + if (GetConfidence() > SHORTCUT_THRESHOLD) + mState = eFoundIt; + return mState; +} + +#define ONE_CHAR_PROB (float)0.50 + +float nsUTF8Prober::GetConfidence(void) +{ + if (mState == eNotMe) + return 0.001; + float unlike = (float)0.99; + + if (mNumOfMBChar < 6) + { + for (PRUint32 i = 0; i < mNumOfMBChar; i++) + unlike *= ONE_CHAR_PROB; + return (float)1.0 - unlike; + } + else + return (float)0.99; +} + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.h new file mode 100644 index 0000000..21c91c4 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUTF8Prober.h @@ -0,0 +1,64 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsUTF8Prober_h__ +#define nsUTF8Prober_h__ + +#include "nsCharSetProber.h" +#include "nsCodingStateMachine.h" + +class nsUTF8Prober: public nsCharSetProber { +public: + nsUTF8Prober(){mNumOfMBChar = 0; + mCodingSM = new nsCodingStateMachine(&UTF8SMModel); + Reset(); } + virtual ~nsUTF8Prober(){delete mCodingSM;} + nsProbingState HandleData(const char* aBuf, PRUint32 aLen); + const char* GetCharSetName() {return "UTF-8";} + nsProbingState GetState(void) {return mState;} + void Reset(void); + float GetConfidence(void); + void SetOpion() {} + +protected: + nsCodingStateMachine* mCodingSM; + nsProbingState mState; + PRUint32 mNumOfMBChar; +}; + +#endif /* nsUTF8Prober_h__ */ + diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.cpp b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.cpp new file mode 100644 index 0000000..8993aae --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.cpp @@ -0,0 +1,336 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Universal charset detector code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shy Shalom + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "nscore.h" + +#include "nsUniversalDetector.h" + +#include "nsMBCSGroupProber.h" +#include "nsSBCSGroupProber.h" +#include "nsEscCharsetProber.h" +#include "nsLatin1Prober.h" + +#include + +nsUniversalDetector::nsUniversalDetector(PRUint32 aLanguageFilter) +{ + mDone = PR_FALSE; + mBestGuess = -1; //illegal value as signal + mInTag = PR_FALSE; + mEscCharSetProber = nsnull; + + mStart = PR_TRUE; + mDetectedCharset = nsnull; + mGotData = PR_FALSE; + mInputState = ePureAscii; + mLastChar = '\0'; + mLanguageFilter = aLanguageFilter; + + PRUint32 i; + for (i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + mCharSetProbers[i] = nsnull; +} + +nsUniversalDetector::~nsUniversalDetector() +{ + for (PRInt32 i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + delete mCharSetProbers[i]; + + delete mEscCharSetProber; +} + +void +nsUniversalDetector::Reset() +{ + mDone = PR_FALSE; + mBestGuess = -1; //illegal value as signal + mInTag = PR_FALSE; + + mStart = PR_TRUE; + mDetectedCharset = nsnull; + mGotData = PR_FALSE; + mInputState = ePureAscii; + mLastChar = '\0'; + + if (mEscCharSetProber) + mEscCharSetProber->Reset(); + + PRUint32 i; + for (i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + if (mCharSetProbers[i]) + mCharSetProbers[i]->Reset(); +} + +//--------------------------------------------------------------------- +#define SHORTCUT_THRESHOLD (float)0.95 +#define MINIMUM_THRESHOLD (float)0.20 + +nsresult nsUniversalDetector::HandleData(const char* aBuf, PRUint32 aLen) +{ + if(mDone) + return NS_OK; + + if (aLen > 0) + mGotData = PR_TRUE; + + //If the data starts with BOM, we know it is UTF + if (mStart) + { + mStart = PR_FALSE; + if (aLen > 2) + switch (aBuf[0]) + { + case '\xEF': + if (('\xBB' == aBuf[1]) && ('\xBF' == aBuf[2])) + // EF BB BF UTF-8 encoded BOM + mDetectedCharset = "UTF-8"; + break; + case '\xFE': + if ('\xFF' == aBuf[1]) + // FE FF UTF-16, big endian BOM + mDetectedCharset = "UTF-16"; + break; + case '\xFF': + if ('\xFE' == aBuf[1]) + // FF FE UTF-16, little endian BOM + mDetectedCharset = "UTF-16"; + break; + } // switch + + if (mDetectedCharset) + { + mDone = PR_TRUE; + return NS_OK; + } + } + + PRUint32 i; + for (i = 0; i < aLen; i++) + { + //other than 0xa0, if every othe character is ascii, the page is ascii + if ((aBuf[i] & '\x80') && aBuf[i] != '\xA0') //Since many Ascii only page contains NBSP + { + //we got a non-ascii byte (high-byte) + if (mInputState != eHighbyte) + { + //adjust state + mInputState = eHighbyte; + + //kill mEscCharSetProber if it is active + if (mEscCharSetProber) { + delete mEscCharSetProber; + mEscCharSetProber = nsnull; + } + + //start multibyte and singlebyte charset prober + if (nsnull == mCharSetProbers[0]) + { + mCharSetProbers[0] = new nsMBCSGroupProber(mLanguageFilter); + if (nsnull == mCharSetProbers[0]) + return NS_ERROR_OUT_OF_MEMORY; + } + if (nsnull == mCharSetProbers[1] && + (mLanguageFilter & NS_FILTER_NON_CJK)) + { + mCharSetProbers[1] = new nsSBCSGroupProber; + if (nsnull == mCharSetProbers[1]) + return NS_ERROR_OUT_OF_MEMORY; + } + if (nsnull == mCharSetProbers[2]) + { + mCharSetProbers[2] = new nsLatin1Prober; + if (nsnull == mCharSetProbers[2]) + return NS_ERROR_OUT_OF_MEMORY; + } + } + } + else + { + //ok, just pure ascii so far + if ( ePureAscii == mInputState && + (aBuf[i] == '\033' || (aBuf[i] == '{' && mLastChar == '~')) ) + { + //found escape character or HZ "~{" + mInputState = eEscAscii; + } + mLastChar = aBuf[i]; + } + } + + nsProbingState st; + switch (mInputState) + { + case eEscAscii: + if (nsnull == mEscCharSetProber) { + mEscCharSetProber = new nsEscCharSetProber(mLanguageFilter); + if (nsnull == mEscCharSetProber) + return NS_ERROR_OUT_OF_MEMORY; + } + st = mEscCharSetProber->HandleData(aBuf, aLen); + if (st == eFoundIt) + { + mDone = PR_TRUE; + mDetectedCharset = mEscCharSetProber->GetCharSetName(); + } + break; + case eHighbyte: + for (i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + { + if (mCharSetProbers[i]) + { + st = mCharSetProbers[i]->HandleData(aBuf, aLen); + if (st == eFoundIt) + { + mDone = PR_TRUE; + mDetectedCharset = mCharSetProbers[i]->GetCharSetName(); + return NS_OK; + } + } + } + break; + + default: //pure ascii + ;//do nothing here + } + return NS_OK; +} + +//--------------------------------------------------------------------- +void nsUniversalDetector::DataEnd() +{ + if (!mGotData) + { + // we haven't got any data yet, return immediately + // caller program sometimes call DataEnd before anything has been sent to detector + return; + } + + if (mDetectedCharset) + { + mDone = PR_TRUE; + Report(mDetectedCharset); + return; + } + + switch (mInputState) + { + case eHighbyte: + { + float proberConfidence; + float maxProberConfidence = (float)0.0; + PRInt32 maxProber = 0; + + for (PRInt32 i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + { + if (mCharSetProbers[i]) + { + proberConfidence = mCharSetProbers[i]->GetConfidence(); + if (proberConfidence > maxProberConfidence) + { + maxProberConfidence = proberConfidence; + maxProber = i; + } + } + } + //do not report anything because we are not confident of it, that's in fact a negative answer + if (maxProberConfidence > MINIMUM_THRESHOLD) + Report(mCharSetProbers[maxProber]->GetCharSetName()); + } + break; + case eEscAscii: + break; + default: + ; + } + return; +} + +///* +void nsUniversalDetector::DataEnd2(float *confidence) +{ + if (!mGotData) + { + // we haven't got any data yet, return immediately + // caller program sometimes call DataEnd before anything has been sent to detector + return; + } + + if (mDetectedCharset) + { + mDone = PR_TRUE; + Report(mDetectedCharset); + // no confidence + *confidence = (float)0.99; + return; + } + + switch (mInputState) + { + case eHighbyte: + { + float proberConfidence; + float maxProberConfidence = (float)0.0; + PRInt32 maxProber = 0; + + for (PRInt32 i = 0; i < NUM_OF_CHARSET_PROBERS; i++) + { + if (mCharSetProbers[i]) + { + proberConfidence = mCharSetProbers[i]->GetConfidence(); + if (proberConfidence > maxProberConfidence) + { + maxProberConfidence = proberConfidence; + maxProber = i; + } + } + } + //do not report anything because we are not confident of it, that's in fact a negative answer + if (maxProberConfidence > MINIMUM_THRESHOLD){ + Report(mCharSetProbers[maxProber]->GetCharSetName()); + *confidence = maxProberConfidence; + } + } + break; + case eEscAscii: + break; + default: + ; + } + return; +} +//*/ \ No newline at end of file diff --git a/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.h b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.h new file mode 100644 index 0000000..598b813 --- /dev/null +++ b/src/ext/libcharsetdetect/mozilla/extensions/universalchardet/src/base/nsUniversalDetector.h @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsUniversalDetector_h__ +#define nsUniversalDetector_h__ + +class nsCharSetProber; + +#define NUM_OF_CHARSET_PROBERS 3 + +typedef enum { + ePureAscii = 0, + eEscAscii = 1, + eHighbyte = 2 +} nsInputState; + +#define NS_FILTER_CHINESE_SIMPLIFIED 0x01 +#define NS_FILTER_CHINESE_TRADITIONAL 0x02 +#define NS_FILTER_JAPANESE 0x04 +#define NS_FILTER_KOREAN 0x08 +#define NS_FILTER_NON_CJK 0x10 +#define NS_FILTER_ALL 0x1F +#define NS_FILTER_CHINESE (NS_FILTER_CHINESE_SIMPLIFIED | \ + NS_FILTER_CHINESE_TRADITIONAL) +#define NS_FILTER_CJK (NS_FILTER_CHINESE_SIMPLIFIED | \ + NS_FILTER_CHINESE_TRADITIONAL | \ + NS_FILTER_JAPANESE | \ + NS_FILTER_KOREAN) + +class nsUniversalDetector { +public: + nsUniversalDetector(PRUint32 aLanguageFilter); + virtual ~nsUniversalDetector(); + virtual nsresult HandleData(const char* aBuf, PRUint32 aLen); + virtual void DataEnd(void); + + virtual void DataEnd2(float *confidence); + +protected: + virtual void Report(const char* aCharset) = 0; + virtual void Reset(); + nsInputState mInputState; + PRBool mDone; + PRBool mInTag; + PRBool mStart; + PRBool mGotData; + char mLastChar; + const char * mDetectedCharset; + PRInt32 mBestGuess; + PRUint32 mLanguageFilter; + + nsCharSetProber *mCharSetProbers[NUM_OF_CHARSET_PROBERS]; + nsCharSetProber *mEscCharSetProber; +}; + +#endif + diff --git a/src/ext/libcharsetdetect/nscore.h b/src/ext/libcharsetdetect/nscore.h new file mode 100644 index 0000000..6faac93 --- /dev/null +++ b/src/ext/libcharsetdetect/nscore.h @@ -0,0 +1,6 @@ +#include "prtypes.h" +#define NS_OK 0 +#define nsnull 0L +typedef PRUint32 nsresult; +#define NS_ERROR_OUT_OF_MEMORY ((nsresult) 0x8007000eL) +#define NS_ASSERTION(A,B) diff --git a/src/ext/libcharsetdetect/nspr-emu/README.md b/src/ext/libcharsetdetect/nspr-emu/README.md new file mode 100644 index 0000000..acead14 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/README.md @@ -0,0 +1,30 @@ +# NSPR emulation library + +Author: Max Bolingbroke () + +This library was created by pulling together the minimal pieces of NSPR required to get the Universal Character Set +Detector (UCSD) to compile. It turns out that the UCSD uses only very minimal parts of NSPR, so we can get away with just a few +header files and totally forget about linking to the library. + +Precisely, we used these files from [NSPR v4.8.6](https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.8.6/): + + * prtypes.h + * prmem.h + * obsolete/protypes.h + +I then patched some prototypes in prmem.h to use C library functions directly. The protypes were replaced with #define directives +that ensure that callers of PR_Malloc, PR_Calloc, PR_Realloc, PR_Free just use their C library counterparts directly. + +To finish off, I needed to provide prcpucfg.h. Normally this is generated by the nspr build process, but to simplify things I used +the version from [Google's Chrome source tree](http://src.chromium.org/viewvc/chrome/trunk/src/base/third_party/nspr/prcpucfg.h?view=markup) +that just uses the preprocessor to choose between several pre-generated versions. + +I had to patch the Google-provided prcpucfg.h so that the #included paths pointed to the right directory. + +## Licensing + +Chromium (and thus presumably their contribution) is licensed under the BSD license. + +NSPR is licensed under the MPL/GPL/LGPL tri-license. + +Thus, this emulation library is licensed under the LGPL (I think). \ No newline at end of file diff --git a/src/ext/libcharsetdetect/nspr-emu/nsDebug.h b/src/ext/libcharsetdetect/nspr-emu/nsDebug.h new file mode 100644 index 0000000..e69de29 diff --git a/src/ext/libcharsetdetect/nspr-emu/obsolete/protypes.h b/src/ext/libcharsetdetect/nspr-emu/obsolete/protypes.h new file mode 100644 index 0000000..d8e947a --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/obsolete/protypes.h @@ -0,0 +1,231 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* + * This header typedefs the old 'native' types to the new PRs. + * These definitions are scheduled to be eliminated at the earliest + * possible time. The NSPR API is implemented and documented using + * the new definitions. + */ + +#if !defined(PROTYPES_H) +#define PROTYPES_H + +typedef PRUintn uintn; +#ifndef _XP_Core_ +typedef PRIntn intn; +#endif + +/* + * It is trickier to define uint, int8, uint8, int16, uint16, + * int32, uint32, int64, and uint64 because some of these int + * types are defined by standard header files on some platforms. + * Our strategy here is to include all such standard headers + * first, and then define these int types only if they are not + * defined by those standard headers. + */ + +/* + * BeOS defines all the int types below in its standard header + * file SupportDefs.h. + */ +#ifdef XP_BEOS +#include +#endif + +/* + * SVR4 typedef of uint is commonly found on UNIX machines. + * + * On AIX 4.3, sys/inttypes.h (which is included by sys/types.h) + * defines the types int8, int16, int32, and int64. + * + * On OS/2, sys/types.h defines uint. + */ +#if defined(XP_UNIX) || defined(XP_OS2) +#include +#endif + +/* model.h on HP-UX defines int8, int16, and int32. */ +#ifdef HPUX +#include +#endif + +/* + * uint + */ + +#if !defined(XP_BEOS) && !defined(XP_OS2) && !defined(XP_UNIX) || defined(NTO) +typedef PRUintn uint; +#endif + +/* + * uint64 + */ + +#if !defined(XP_BEOS) +typedef PRUint64 uint64; +#endif + +/* + * uint32 + */ + +#if !defined(XP_BEOS) +#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) +typedef PRUint32 uint32; +#else +typedef unsigned long uint32; +#endif +#endif + +/* + * uint16 + */ + +#if !defined(XP_BEOS) +typedef PRUint16 uint16; +#endif + +/* + * uint8 + */ + +#if !defined(XP_BEOS) +typedef PRUint8 uint8; +#endif + +/* + * int64 + */ + +#if !defined(XP_BEOS) && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) +typedef PRInt64 int64; +#endif + +/* + * int32 + */ + +#if !defined(XP_BEOS) && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ + && !defined(HPUX) +#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) +typedef PRInt32 int32; +#else +typedef long int32; +#endif +#endif + +/* + * int16 + */ + +#if !defined(XP_BEOS) && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ + && !defined(HPUX) +typedef PRInt16 int16; +#endif + +/* + * int8 + */ + +#if !defined(XP_BEOS) && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ + && !defined(HPUX) +typedef PRInt8 int8; +#endif + +typedef PRFloat64 float64; +typedef PRUptrdiff uptrdiff_t; +typedef PRUword uprword_t; +typedef PRWord prword_t; + + +/* Re: prbit.h */ +#define TEST_BIT PR_TEST_BIT +#define SET_BIT PR_SET_BIT +#define CLEAR_BIT PR_CLEAR_BIT + +/* Re: prarena.h->plarena.h */ +#define PRArena PLArena +#define PRArenaPool PLArenaPool +#define PRArenaStats PLArenaStats +#define PR_ARENA_ALIGN PL_ARENA_ALIGN +#define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL +#define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE +#define PR_ARENA_GROW PL_ARENA_GROW +#define PR_ARENA_MARK PL_ARENA_MARK +#define PR_CLEAR_UNUSED PL_CLEAR_UNUSED +#define PR_CLEAR_ARENA PL_CLEAR_ARENA +#define PR_ARENA_RELEASE PL_ARENA_RELEASE +#define PR_COUNT_ARENA PL_COUNT_ARENA +#define PR_ARENA_DESTROY PL_ARENA_DESTROY +#define PR_InitArenaPool PL_InitArenaPool +#define PR_FreeArenaPool PL_FreeArenaPool +#define PR_FinishArenaPool PL_FinishArenaPool +#define PR_CompactArenaPool PL_CompactArenaPool +#define PR_ArenaFinish PL_ArenaFinish +#define PR_ArenaAllocate PL_ArenaAllocate +#define PR_ArenaGrow PL_ArenaGrow +#define PR_ArenaRelease PL_ArenaRelease +#define PR_ArenaCountAllocation PL_ArenaCountAllocation +#define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth +#define PR_ArenaCountGrowth PL_ArenaCountGrowth +#define PR_ArenaCountRelease PL_ArenaCountRelease +#define PR_ArenaCountRetract PL_ArenaCountRetract + +/* Re: prhash.h->plhash.h */ +#define PRHashEntry PLHashEntry +#define PRHashTable PLHashTable +#define PRHashNumber PLHashNumber +#define PRHashFunction PLHashFunction +#define PRHashComparator PLHashComparator +#define PRHashEnumerator PLHashEnumerator +#define PRHashAllocOps PLHashAllocOps +#define PR_NewHashTable PL_NewHashTable +#define PR_HashTableDestroy PL_HashTableDestroy +#define PR_HashTableRawLookup PL_HashTableRawLookup +#define PR_HashTableRawAdd PL_HashTableRawAdd +#define PR_HashTableRawRemove PL_HashTableRawRemove +#define PR_HashTableAdd PL_HashTableAdd +#define PR_HashTableRemove PL_HashTableRemove +#define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries +#define PR_HashTableLookup PL_HashTableLookup +#define PR_HashTableDump PL_HashTableDump +#define PR_HashString PL_HashString +#define PR_CompareStrings PL_CompareStrings +#define PR_CompareValues PL_CompareValues + +#endif /* !defined(PROTYPES_H) */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg.h new file mode 100644 index 0000000..4dad9a5 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg.h @@ -0,0 +1,49 @@ +// Copyright 2008, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef BASE_THIRD_PARTY_NSPR_PRCPUCFG_H__ +#define BASE_THIRD_PARTY_NSPR_PRCPUCFG_H__ + +#if defined(WIN32) +#include "prcpucfg_win.h" +#elif defined(__APPLE__) +#include "prcpucfg_mac.h" +#elif defined(__linux__) +#include "prcpucfg_linux.h" +#elif defined(__FreeBSD__) +#include "prcpucfg_freebsd.h" +#elif defined(__OpenBSD__) +#include "prcpucfg_openbsd.h" +#elif defined(__sun) +#include "prcpucfg_solaris.h" +#else +#error Provide a prcpucfg.h appropriate for your platform +#endif + +#endif // BASE_THIRD_PARTY_NSPR_PRCPUCFG_H__ diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg_freebsd.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_freebsd.h new file mode 100644 index 0000000..76d3542 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_freebsd.h @@ -0,0 +1,337 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nspr_cpucfg___ +#define nspr_cpucfg___ + +#ifndef XP_UNIX +#define XP_UNIX +#endif + +#ifndef FREEBSD +#define FREEBSD +#endif + +#define PR_AF_INET6 28 /* same as AF_INET6 */ + +#ifndef HAVE_LONG_LONG +#define HAVE_LONG_LONG +#endif + +#if defined(__i386__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#undef HAVE_ALIGNED_DOUBLES +#undef HAVE_ALIGNED_LONGLONGS + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 + +#elif defined(__alpha__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#elif defined(__sparc__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#elif defined(__ia64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#elif defined(__amd64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#else + +#error "Unknown CPU architecture" + +#endif + +#ifndef NO_NSPR_10_SUPPORT + +#define BYTES_PER_BYTE PR_BYTES_PER_BYTE +#define BYTES_PER_SHORT PR_BYTES_PER_SHORT +#define BYTES_PER_INT PR_BYTES_PER_INT +#define BYTES_PER_INT64 PR_BYTES_PER_INT64 +#define BYTES_PER_LONG PR_BYTES_PER_LONG +#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT +#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE +#define BYTES_PER_WORD PR_BYTES_PER_WORD +#define BYTES_PER_DWORD PR_BYTES_PER_DWORD + +#define BITS_PER_BYTE PR_BITS_PER_BYTE +#define BITS_PER_SHORT PR_BITS_PER_SHORT +#define BITS_PER_INT PR_BITS_PER_INT +#define BITS_PER_INT64 PR_BITS_PER_INT64 +#define BITS_PER_LONG PR_BITS_PER_LONG +#define BITS_PER_FLOAT PR_BITS_PER_FLOAT +#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE +#define BITS_PER_WORD PR_BITS_PER_WORD + +#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 +#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 +#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 +#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 +#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 +#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 +#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 +#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 + +#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT +#define ALIGN_OF_INT PR_ALIGN_OF_INT +#define ALIGN_OF_LONG PR_ALIGN_OF_LONG +#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 +#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT +#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE +#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER +#define ALIGN_OF_WORD PR_ALIGN_OF_WORD + +#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 +#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 +#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 + +#endif /* NO_NSPR_10_SUPPORT */ + +#endif /* nspr_cpucfg___ */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h new file mode 100644 index 0000000..776c21e --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_linux.h @@ -0,0 +1,707 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nspr_cpucfg___ +#define nspr_cpucfg___ + +#ifndef XP_UNIX +#define XP_UNIX +#endif + +#ifndef LINUX +#define LINUX +#endif + +#define PR_AF_INET6 10 /* same as AF_INET6 */ + +#ifdef __powerpc64__ + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__powerpc__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__alpha) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__ia64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__x86_64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__mc68000__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 2 +#define PR_ALIGN_OF_LONG 2 +#define PR_ALIGN_OF_INT64 2 +#define PR_ALIGN_OF_FLOAT 2 +#define PR_ALIGN_OF_DOUBLE 2 +#define PR_ALIGN_OF_POINTER 2 +#define PR_ALIGN_OF_WORD 2 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__sparc__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__i386__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__mips__) + +#ifdef __MIPSEB__ +#define IS_BIG_ENDIAN 1 +#undef IS_LITTLE_ENDIAN +#elif defined(__MIPSEL__) +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#else +#error "Unknown MIPS endianness." +#endif + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__arm__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__hppa__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__s390x__) + +#define IS_BIG_ENDIAN 1 +#undef IS_LITTLE_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(__s390__) + +#define IS_BIG_ENDIAN 1 +#undef IS_LITTLE_ENDIAN + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#else + +#error "Unknown CPU architecture" + +#endif + +#define HAVE_LONG_LONG +#if PR_ALIGN_OF_DOUBLE == 8 +#define HAVE_ALIGNED_DOUBLES +#endif +#if PR_ALIGN_OF_INT64 == 8 +#define HAVE_ALIGNED_LONGLONGS +#endif + +#ifndef NO_NSPR_10_SUPPORT + +#define BYTES_PER_BYTE PR_BYTES_PER_BYTE +#define BYTES_PER_SHORT PR_BYTES_PER_SHORT +#define BYTES_PER_INT PR_BYTES_PER_INT +#define BYTES_PER_INT64 PR_BYTES_PER_INT64 +#define BYTES_PER_LONG PR_BYTES_PER_LONG +#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT +#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE +#define BYTES_PER_WORD PR_BYTES_PER_WORD +#define BYTES_PER_DWORD PR_BYTES_PER_DWORD + +#define BITS_PER_BYTE PR_BITS_PER_BYTE +#define BITS_PER_SHORT PR_BITS_PER_SHORT +#define BITS_PER_INT PR_BITS_PER_INT +#define BITS_PER_INT64 PR_BITS_PER_INT64 +#define BITS_PER_LONG PR_BITS_PER_LONG +#define BITS_PER_FLOAT PR_BITS_PER_FLOAT +#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE +#define BITS_PER_WORD PR_BITS_PER_WORD + +#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 +#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 +#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 +#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 +#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 +#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 +#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 +#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 + +#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT +#define ALIGN_OF_INT PR_ALIGN_OF_INT +#define ALIGN_OF_LONG PR_ALIGN_OF_LONG +#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 +#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT +#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE +#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER +#define ALIGN_OF_WORD PR_ALIGN_OF_WORD + +#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 +#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 +#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 + +#endif /* NO_NSPR_10_SUPPORT */ + +#endif /* nspr_cpucfg___ */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h new file mode 100644 index 0000000..dc7e0e0 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_mac.h @@ -0,0 +1,145 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nspr_cpucfg___ +#define nspr_cpucfg___ + +#ifndef XP_UNIX +#define XP_UNIX +#endif + +#define PR_AF_INET6 30 /* same as AF_INET6 */ + +#if defined(i386) +#undef IS_BIG_ENDIAN +#define IS_LITTLE_ENDIAN 1 +#else +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#endif + +#define HAVE_LONG_LONG +#undef HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS 1 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 +#define PR_BITS_PER_DWORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 + +#ifndef NO_NSPR_10_SUPPORT + +#define BYTES_PER_BYTE PR_BYTES_PER_BYTE +#define BYTES_PER_SHORT PR_BYTES_PER_SHORT +#define BYTES_PER_INT PR_BYTES_PER_INT +#define BYTES_PER_INT64 PR_BYTES_PER_INT64 +#define BYTES_PER_LONG PR_BYTES_PER_LONG +#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT +#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE +#define BYTES_PER_WORD PR_BYTES_PER_WORD +#define BYTES_PER_DWORD PR_BYTES_PER_DWORD + +#define BITS_PER_BYTE PR_BITS_PER_BYTE +#define BITS_PER_SHORT PR_BITS_PER_SHORT +#define BITS_PER_INT PR_BITS_PER_INT +#define BITS_PER_INT64 PR_BITS_PER_INT64 +#define BITS_PER_LONG PR_BITS_PER_LONG +#define BITS_PER_FLOAT PR_BITS_PER_FLOAT +#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE +#define BITS_PER_WORD PR_BITS_PER_WORD + +#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 +#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 +#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 +#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 +#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 +#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 +#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 +#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 + +#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT +#define ALIGN_OF_INT PR_ALIGN_OF_INT +#define ALIGN_OF_LONG PR_ALIGN_OF_LONG +#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 +#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT +#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE +#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER +#define ALIGN_OF_WORD PR_ALIGN_OF_WORD + +#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 +#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 +#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 + +#endif /* NO_NSPR_10_SUPPORT */ + +#endif /* nspr_cpucfg___ */ + diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg_openbsd.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_openbsd.h new file mode 100644 index 0000000..93c5b32 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_openbsd.h @@ -0,0 +1,337 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nspr_cpucfg___ +#define nspr_cpucfg___ + +#ifndef XP_UNIX +#define XP_UNIX +#endif + +#ifndef OPENBSD +#define OPENBSD +#endif + +#define PR_AF_INET6 28 /* same as AF_INET6 */ + +#ifndef HAVE_LONG_LONG +#define HAVE_LONG_LONG +#endif + +#if defined(__i386__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#undef HAVE_ALIGNED_DOUBLES +#undef HAVE_ALIGNED_LONGLONGS + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 32 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 4 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 + +#elif defined(__alpha__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#elif defined(__sparc__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#elif defined(__ia64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#elif defined(__amd64__) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 + +#else + +#error "Unknown CPU architecture" + +#endif + +#ifndef NO_NSPR_10_SUPPORT + +#define BYTES_PER_BYTE PR_BYTES_PER_BYTE +#define BYTES_PER_SHORT PR_BYTES_PER_SHORT +#define BYTES_PER_INT PR_BYTES_PER_INT +#define BYTES_PER_INT64 PR_BYTES_PER_INT64 +#define BYTES_PER_LONG PR_BYTES_PER_LONG +#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT +#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE +#define BYTES_PER_WORD PR_BYTES_PER_WORD +#define BYTES_PER_DWORD PR_BYTES_PER_DWORD + +#define BITS_PER_BYTE PR_BITS_PER_BYTE +#define BITS_PER_SHORT PR_BITS_PER_SHORT +#define BITS_PER_INT PR_BITS_PER_INT +#define BITS_PER_INT64 PR_BITS_PER_INT64 +#define BITS_PER_LONG PR_BITS_PER_LONG +#define BITS_PER_FLOAT PR_BITS_PER_FLOAT +#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE +#define BITS_PER_WORD PR_BITS_PER_WORD + +#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 +#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 +#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 +#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 +#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 +#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 +#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 +#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 + +#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT +#define ALIGN_OF_INT PR_ALIGN_OF_INT +#define ALIGN_OF_LONG PR_ALIGN_OF_LONG +#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 +#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT +#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE +#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER +#define ALIGN_OF_WORD PR_ALIGN_OF_WORD + +#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 +#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 +#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 + +#endif /* NO_NSPR_10_SUPPORT */ + +#endif /* nspr_cpucfg___ */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h new file mode 100644 index 0000000..4ad5345 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prcpucfg_win.h @@ -0,0 +1,256 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nspr_cpucfg___ +#define nspr_cpucfg___ + +#ifndef XP_PC +#define XP_PC +#endif + +#ifndef WIN32 +#define WIN32 +#endif + +#ifndef WIN95 +#define WIN95 +#endif + +#define PR_AF_INET6 23 /* same as AF_INET6 */ + +#if defined(_M_IX86) || defined(_X86_) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_DOUBLE 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_WORD 32 +#define PR_BITS_PER_DWORD 64 +#define PR_BITS_PER_DOUBLE 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_WORD_LOG2 5 +#define PR_BITS_PER_DWORD_LOG2 6 +#define PR_BITS_PER_DOUBLE_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_WORD 4 +#define PR_ALIGN_OF_DWORD 8 +#define PR_ALIGN_OF_DOUBLE 4 +#define PR_ALIGN_OF_POINTER 4 + +#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_DWORD_LOG2 2 + +#elif defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_DOUBLE 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_WORD 64 +#define PR_BITS_PER_DWORD 64 +#define PR_BITS_PER_DOUBLE 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_WORD_LOG2 6 +#define PR_BITS_PER_DWORD_LOG2 6 +#define PR_BITS_PER_DOUBLE_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_WORD 8 +#define PR_ALIGN_OF_DWORD 8 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#elif defined(_M_IA64) || defined(_IA64_) + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 +#define PR_BYTES_PER_DOUBLE 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_WORD 64 +#define PR_BITS_PER_DWORD 64 +#define PR_BITS_PER_DOUBLE 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_WORD_LOG2 6 +#define PR_BITS_PER_DWORD_LOG2 6 +#define PR_BITS_PER_DOUBLE_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_WORD 8 +#define PR_ALIGN_OF_DWORD 8 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + +#else /* defined(_M_IX86) || defined(_X86_) */ + +#error unknown processor architecture + +#endif /* defined(_M_IX86) || defined(_X86_) */ + +#ifndef HAVE_LONG_LONG +#define HAVE_LONG_LONG +#endif + +#ifndef NO_NSPR_10_SUPPORT + +#define BYTES_PER_BYTE PR_BYTES_PER_BYTE +#define BYTES_PER_SHORT PR_BYTES_PER_SHORT +#define BYTES_PER_INT PR_BYTES_PER_INT +#define BYTES_PER_INT64 PR_BYTES_PER_INT64 +#define BYTES_PER_LONG PR_BYTES_PER_LONG +#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT +#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE +#define BYTES_PER_WORD PR_BYTES_PER_WORD +#define BYTES_PER_DWORD PR_BYTES_PER_DWORD + +#define BITS_PER_BYTE PR_BITS_PER_BYTE +#define BITS_PER_SHORT PR_BITS_PER_SHORT +#define BITS_PER_INT PR_BITS_PER_INT +#define BITS_PER_INT64 PR_BITS_PER_INT64 +#define BITS_PER_LONG PR_BITS_PER_LONG +#define BITS_PER_FLOAT PR_BITS_PER_FLOAT +#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE +#define BITS_PER_WORD PR_BITS_PER_WORD + +#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 +#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 +#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 +#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 +#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 +#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 +#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 +#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 + +#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT +#define ALIGN_OF_INT PR_ALIGN_OF_INT +#define ALIGN_OF_LONG PR_ALIGN_OF_LONG +#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 +#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT +#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE +#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER +#define ALIGN_OF_WORD PR_ALIGN_OF_WORD + +#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 +#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 +#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 + +#endif /* NO_NSPR_10_SUPPORT */ + +#endif /* nspr_cpucfg___ */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prmem.h b/src/ext/libcharsetdetect/nspr-emu/prmem.h new file mode 100644 index 0000000..c013ec4 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prmem.h @@ -0,0 +1,155 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* +** File: prmem.h +** Description: API to NSPR memory management functions +** +*/ +#ifndef prmem_h___ +#define prmem_h___ + +#include "prtypes.h" +#include + +PR_BEGIN_EXTERN_C + +/* +** Thread safe memory allocation. +** +** NOTE: pr wraps up malloc, free, calloc, realloc so they are already +** thread safe (and are not declared here - look in stdlib.h). +*/ + +/* +** PR_Malloc, PR_Calloc, PR_Realloc, and PR_Free have the same signatures +** as their libc equivalent malloc, calloc, realloc, and free, and have +** the same semantics. (Note that the argument type size_t is replaced +** by PRUint32.) Memory allocated by PR_Malloc, PR_Calloc, or PR_Realloc +** must be freed by PR_Free. +*/ + +#define PR_Malloc malloc +#define PR_Calloc calloc +#define PR_Realloc realloc +#define PR_Free free + +/* +** The following are some convenience macros defined in terms of +** PR_Malloc, PR_Calloc, PR_Realloc, and PR_Free. +*/ + +/*********************************************************************** +** FUNCTION: PR_MALLOC() +** DESCRIPTION: +** PR_NEW() allocates an untyped item of size _size from the heap. +** INPUTS: _size: size in bytes of item to be allocated +** OUTPUTS: untyped pointer to the node allocated +** RETURN: pointer to node or error returned from malloc(). +***********************************************************************/ +#define PR_MALLOC(_bytes) (PR_Malloc((_bytes))) + +/*********************************************************************** +** FUNCTION: PR_NEW() +** DESCRIPTION: +** PR_NEW() allocates an item of type _struct from the heap. +** INPUTS: _struct: a data type +** OUTPUTS: pointer to _struct +** RETURN: pointer to _struct or error returns from malloc(). +***********************************************************************/ +#define PR_NEW(_struct) ((_struct *) PR_MALLOC(sizeof(_struct))) + +/*********************************************************************** +** FUNCTION: PR_REALLOC() +** DESCRIPTION: +** PR_REALLOC() re-allocates _ptr bytes from the heap as a _size +** untyped item. +** INPUTS: _ptr: pointer to node to reallocate +** _size: size of node to allocate +** OUTPUTS: pointer to node allocated +** RETURN: pointer to node allocated +***********************************************************************/ +#define PR_REALLOC(_ptr, _size) (PR_Realloc((_ptr), (_size))) + +/*********************************************************************** +** FUNCTION: PR_CALLOC() +** DESCRIPTION: +** PR_CALLOC() allocates a _size bytes untyped item from the heap +** and sets the allocated memory to all 0x00. +** INPUTS: _size: size of node to allocate +** OUTPUTS: pointer to node allocated +** RETURN: pointer to node allocated +***********************************************************************/ +#define PR_CALLOC(_size) (PR_Calloc(1, (_size))) + +/*********************************************************************** +** FUNCTION: PR_NEWZAP() +** DESCRIPTION: +** PR_NEWZAP() allocates an item of type _struct from the heap +** and sets the allocated memory to all 0x00. +** INPUTS: _struct: a data type +** OUTPUTS: pointer to _struct +** RETURN: pointer to _struct +***********************************************************************/ +#define PR_NEWZAP(_struct) ((_struct*)PR_Calloc(1, sizeof(_struct))) + +/*********************************************************************** +** FUNCTION: PR_DELETE() +** DESCRIPTION: +** PR_DELETE() unallocates an object previosly allocated via PR_NEW() +** or PR_NEWZAP() to the heap. +** INPUTS: pointer to previously allocated object +** OUTPUTS: the referenced object is returned to the heap +** RETURN: void +***********************************************************************/ +#define PR_DELETE(_ptr) { PR_Free(_ptr); (_ptr) = NULL; } + +/*********************************************************************** +** FUNCTION: PR_FREEIF() +** DESCRIPTION: +** PR_FREEIF() conditionally unallocates an object previously allocated +** vial PR_NEW() or PR_NEWZAP(). If the pointer to the object is +** equal to zero (0), the object is not released. +** INPUTS: pointer to previously allocated object +** OUTPUTS: the referenced object is conditionally returned to the heap +** RETURN: void +***********************************************************************/ +#define PR_FREEIF(_ptr) if (_ptr) PR_DELETE(_ptr) + +PR_END_EXTERN_C + +#endif /* prmem_h___ */ diff --git a/src/ext/libcharsetdetect/nspr-emu/prtypes.h b/src/ext/libcharsetdetect/nspr-emu/prtypes.h new file mode 100644 index 0000000..b764b27 --- /dev/null +++ b/src/ext/libcharsetdetect/nspr-emu/prtypes.h @@ -0,0 +1,533 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is the Netscape Portable Runtime (NSPR). + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998-2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* +** File: prtypes.h +** Description: Definitions of NSPR's basic types +** +** Prototypes and macros used to make up for deficiencies that we have found +** in ANSI environments. +** +** Since we do not wrap and all the other standard headers, authors +** of portable code will not know in general that they need these definitions. +** Instead of requiring these authors to find the dependent uses in their code +** and take the following steps only in those C files, we take steps once here +** for all C files. +**/ + +#ifndef prtypes_h___ +#define prtypes_h___ + +#ifdef MDCPUCFG +#include MDCPUCFG +#else +#include "prcpucfg.h" +#endif + +#include + +/*********************************************************************** +** MACROS: PR_EXTERN +** PR_IMPLEMENT +** DESCRIPTION: +** These are only for externally visible routines and globals. For +** internal routines, just use "extern" for type checking and that +** will not export internal cross-file or forward-declared symbols. +** Define a macro for declaring procedures return types. We use this to +** deal with windoze specific type hackery for DLL definitions. Use +** PR_EXTERN when the prototype for the method is declared. Use +** PR_IMPLEMENT for the implementation of the method. +** +** Example: +** in dowhim.h +** PR_EXTERN( void ) DoWhatIMean( void ); +** in dowhim.c +** PR_IMPLEMENT( void ) DoWhatIMean( void ) { return; } +** +** +***********************************************************************/ +#if defined(WIN32) + +#define PR_EXPORT(__type) extern __declspec(dllexport) __type +#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPORT(__type) __declspec(dllimport) __type +#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type + +#define PR_EXTERN(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT(__type) __declspec(dllexport) __type +#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type + +#define PR_CALLBACK +#define PR_CALLBACK_DECL +#define PR_STATIC_CALLBACK(__x) static __x + +#elif defined(XP_BEOS) + +#define PR_EXPORT(__type) extern __declspec(dllexport) __type +#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPORT(__type) extern __declspec(dllexport) __type +#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type + +#define PR_EXTERN(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT(__type) __declspec(dllexport) __type +#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type + +#define PR_CALLBACK +#define PR_CALLBACK_DECL +#define PR_STATIC_CALLBACK(__x) static __x + +#elif defined(XP_OS2) && defined(__declspec) + +#define PR_EXPORT(__type) extern __declspec(dllexport) __type +#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPORT(__type) extern __declspec(dllimport) __type +#define PR_IMPORT_DATA(__type) extern __declspec(dllimport) __type + +#define PR_EXTERN(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT(__type) __declspec(dllexport) __type +#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type +#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type + +#define PR_CALLBACK +#define PR_CALLBACK_DECL +#define PR_STATIC_CALLBACK(__x) static __x + +#elif defined(SYMBIAN) + +#define PR_EXPORT(__type) extern __declspec(dllexport) __type +#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type +#ifdef __WINS__ +#define PR_IMPORT(__type) extern __declspec(dllexport) __type +#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type +#else +#define PR_IMPORT(__type) extern __declspec(dllimport) __type +#define PR_IMPORT_DATA(__type) extern __declspec(dllimport) __type +#endif + +#define PR_EXTERN(__type) extern __type +#define PR_IMPLEMENT(__type) __type +#define PR_EXTERN_DATA(__type) extern __type +#define PR_IMPLEMENT_DATA(__type) __type + +#define PR_CALLBACK +#define PR_CALLBACK_DECL +#define PR_STATIC_CALLBACK(__x) static __x + +#else /* Unix */ + +/* GCC 3.3 and later support the visibility attribute. */ +#if (__GNUC__ >= 4) || \ + (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) +#define PR_VISIBILITY_DEFAULT __attribute__((visibility("default"))) +#else +#define PR_VISIBILITY_DEFAULT +#endif + +#define PR_EXPORT(__type) extern PR_VISIBILITY_DEFAULT __type +#define PR_EXPORT_DATA(__type) extern PR_VISIBILITY_DEFAULT __type +#define PR_IMPORT(__type) extern PR_VISIBILITY_DEFAULT __type +#define PR_IMPORT_DATA(__type) extern PR_VISIBILITY_DEFAULT __type + +#define PR_EXTERN(__type) extern PR_VISIBILITY_DEFAULT __type +#define PR_IMPLEMENT(__type) PR_VISIBILITY_DEFAULT __type +#define PR_EXTERN_DATA(__type) extern PR_VISIBILITY_DEFAULT __type +#define PR_IMPLEMENT_DATA(__type) PR_VISIBILITY_DEFAULT __type +#define PR_CALLBACK +#define PR_CALLBACK_DECL +#define PR_STATIC_CALLBACK(__x) static __x + +#endif + +#if defined(_NSPR_BUILD_) +#define NSPR_API(__type) PR_EXPORT(__type) +#define NSPR_DATA_API(__type) PR_EXPORT_DATA(__type) +#else +#define NSPR_API(__type) PR_IMPORT(__type) +#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type) +#endif + +/*********************************************************************** +** MACROS: PR_BEGIN_MACRO +** PR_END_MACRO +** DESCRIPTION: +** Macro body brackets so that macros with compound statement definitions +** behave syntactically more like functions when called. +***********************************************************************/ +#define PR_BEGIN_MACRO do { +#define PR_END_MACRO } while (0) + +/*********************************************************************** +** MACROS: PR_BEGIN_EXTERN_C +** PR_END_EXTERN_C +** DESCRIPTION: +** Macro shorthands for conditional C++ extern block delimiters. +***********************************************************************/ +#ifdef __cplusplus +#define PR_BEGIN_EXTERN_C extern "C" { +#define PR_END_EXTERN_C } +#else +#define PR_BEGIN_EXTERN_C +#define PR_END_EXTERN_C +#endif + +/*********************************************************************** +** MACROS: PR_BIT +** PR_BITMASK +** DESCRIPTION: +** Bit masking macros. XXX n must be <= 31 to be portable +***********************************************************************/ +#define PR_BIT(n) ((PRUint32)1 << (n)) +#define PR_BITMASK(n) (PR_BIT(n) - 1) + +/*********************************************************************** +** MACROS: PR_ROUNDUP +** PR_MIN +** PR_MAX +** PR_ABS +** DESCRIPTION: +** Commonly used macros for operations on compatible types. +***********************************************************************/ +#define PR_ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y)) +#define PR_MIN(x,y) ((x)<(y)?(x):(y)) +#define PR_MAX(x,y) ((x)>(y)?(x):(y)) +#define PR_ABS(x) ((x)<0?-(x):(x)) + +PR_BEGIN_EXTERN_C + +/************************************************************************ +** TYPES: PRUint8 +** PRInt8 +** DESCRIPTION: +** The int8 types are known to be 8 bits each. There is no type that +** is equivalent to a plain "char". +************************************************************************/ +#if PR_BYTES_PER_BYTE == 1 +typedef unsigned char PRUint8; +/* +** Some cfront-based C++ compilers do not like 'signed char' and +** issue the warning message: +** warning: "signed" not implemented (ignored) +** For these compilers, we have to define PRInt8 as plain 'char'. +** Make sure that plain 'char' is indeed signed under these compilers. +*/ +#if (defined(HPUX) && defined(__cplusplus) \ + && !defined(__GNUC__) && __cplusplus < 199707L) \ + || (defined(SCO) && defined(__cplusplus) \ + && !defined(__GNUC__) && __cplusplus == 1L) +typedef char PRInt8; +#else +typedef signed char PRInt8; +#endif +#else +#error No suitable type for PRInt8/PRUint8 +#endif + +/************************************************************************ + * MACROS: PR_INT8_MAX + * PR_INT8_MIN + * PR_UINT8_MAX + * DESCRIPTION: + * The maximum and minimum values of a PRInt8 or PRUint8. +************************************************************************/ + +#define PR_INT8_MAX 127 +#define PR_INT8_MIN (-128) +#define PR_UINT8_MAX 255U + +/************************************************************************ +** TYPES: PRUint16 +** PRInt16 +** DESCRIPTION: +** The int16 types are known to be 16 bits each. +************************************************************************/ +#if PR_BYTES_PER_SHORT == 2 +typedef unsigned short PRUint16; +typedef short PRInt16; +#else +#error No suitable type for PRInt16/PRUint16 +#endif + +/************************************************************************ + * MACROS: PR_INT16_MAX + * PR_INT16_MIN + * PR_UINT16_MAX + * DESCRIPTION: + * The maximum and minimum values of a PRInt16 or PRUint16. +************************************************************************/ + +#define PR_INT16_MAX 32767 +#define PR_INT16_MIN (-32768) +#define PR_UINT16_MAX 65535U + +/************************************************************************ +** TYPES: PRUint32 +** PRInt32 +** DESCRIPTION: +** The int32 types are known to be 32 bits each. +************************************************************************/ +#if PR_BYTES_PER_INT == 4 +typedef unsigned int PRUint32; +typedef int PRInt32; +#define PR_INT32(x) x +#define PR_UINT32(x) x ## U +#elif PR_BYTES_PER_LONG == 4 +typedef unsigned long PRUint32; +typedef long PRInt32; +#define PR_INT32(x) x ## L +#define PR_UINT32(x) x ## UL +#else +#error No suitable type for PRInt32/PRUint32 +#endif + +/************************************************************************ + * MACROS: PR_INT32_MAX + * PR_INT32_MIN + * PR_UINT32_MAX + * DESCRIPTION: + * The maximum and minimum values of a PRInt32 or PRUint32. +************************************************************************/ + +#define PR_INT32_MAX PR_INT32(2147483647) +#define PR_INT32_MIN (-PR_INT32_MAX - 1) +#define PR_UINT32_MAX PR_UINT32(4294967295) + +/************************************************************************ +** TYPES: PRUint64 +** PRInt64 +** DESCRIPTION: +** The int64 types are known to be 64 bits each. Care must be used when +** declaring variables of type PRUint64 or PRInt64. Different hardware +** architectures and even different compilers have varying support for +** 64 bit values. The only guaranteed portability requires the use of +** the LL_ macros (see prlong.h). +************************************************************************/ +#ifdef HAVE_LONG_LONG +/* Keep this in sync with prlong.h. */ +/* + * On 64-bit Mac OS X, uint64 needs to be defined as unsigned long long to + * match uint64_t, otherwise our uint64 typedef conflicts with the uint64 + * typedef in cssmconfig.h, which CoreServices.h includes indirectly. + */ +#if PR_BYTES_PER_LONG == 8 && !defined(__APPLE__) +typedef long PRInt64; +typedef unsigned long PRUint64; +#elif defined(WIN32) && !defined(__GNUC__) +typedef __int64 PRInt64; +typedef unsigned __int64 PRUint64; +#else +typedef long long PRInt64; +typedef unsigned long long PRUint64; +#endif /* PR_BYTES_PER_LONG == 8 */ +#else /* !HAVE_LONG_LONG */ +typedef struct { +#ifdef IS_LITTLE_ENDIAN + PRUint32 lo, hi; +#else + PRUint32 hi, lo; +#endif +} PRInt64; +typedef PRInt64 PRUint64; +#endif /* !HAVE_LONG_LONG */ + +/************************************************************************ +** TYPES: PRUintn +** PRIntn +** DESCRIPTION: +** The PRIntn types are most appropriate for automatic variables. They are +** guaranteed to be at least 16 bits, though various architectures may +** define them to be wider (e.g., 32 or even 64 bits). These types are +** never valid for fields of a structure. +************************************************************************/ +#if PR_BYTES_PER_INT >= 2 +typedef int PRIntn; +typedef unsigned int PRUintn; +#else +#error 'sizeof(int)' not sufficient for platform use +#endif + +/************************************************************************ +** TYPES: PRFloat64 +** DESCRIPTION: +** NSPR's floating point type is always 64 bits. +************************************************************************/ +typedef double PRFloat64; + +/************************************************************************ +** TYPES: PRSize +** DESCRIPTION: +** A type for representing the size of objects. +************************************************************************/ +typedef size_t PRSize; + + +/************************************************************************ +** TYPES: PROffset32, PROffset64 +** DESCRIPTION: +** A type for representing byte offsets from some location. +************************************************************************/ +typedef PRInt32 PROffset32; +typedef PRInt64 PROffset64; + +/************************************************************************ +** TYPES: PRPtrDiff +** DESCRIPTION: +** A type for pointer difference. Variables of this type are suitable +** for storing a pointer or pointer subtraction. +************************************************************************/ +typedef ptrdiff_t PRPtrdiff; + +/************************************************************************ +** TYPES: PRUptrdiff +** DESCRIPTION: +** A type for pointer difference. Variables of this type are suitable +** for storing a pointer or pointer sutraction. +************************************************************************/ +#ifdef _WIN64 +typedef PRUint64 PRUptrdiff; +#else +typedef unsigned long PRUptrdiff; +#endif + +/************************************************************************ +** TYPES: PRBool +** DESCRIPTION: +** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE +** for clarity of target type in assignments and actual arguments. Use +** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans +** just as you would C int-valued conditions. +************************************************************************/ +typedef PRIntn PRBool; +#define PR_TRUE 1 +#define PR_FALSE 0 + +/************************************************************************ +** TYPES: PRPackedBool +** DESCRIPTION: +** Use PRPackedBool within structs where bitfields are not desirable +** but minimum and consistant overhead matters. +************************************************************************/ +typedef PRUint8 PRPackedBool; + +/* +** Status code used by some routines that have a single point of failure or +** special status return. +*/ +typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus; + +#ifndef __PRUNICHAR__ +#define __PRUNICHAR__ +#ifdef WIN32 +typedef wchar_t PRUnichar; +#else +typedef PRUint16 PRUnichar; +#endif +#endif + +/* +** WARNING: The undocumented data types PRWord and PRUword are +** only used in the garbage collection and arena code. Do not +** use PRWord and PRUword in new code. +** +** A PRWord is an integer that is the same size as a void*. +** It implements the notion of a "word" in the Java Virtual +** Machine. (See Sec. 3.4 "Words", The Java Virtual Machine +** Specification, Addison-Wesley, September 1996. +** http://java.sun.com/docs/books/vmspec/index.html.) +*/ +#ifdef _WIN64 +typedef PRInt64 PRWord; +typedef PRUint64 PRUword; +#else +typedef long PRWord; +typedef unsigned long PRUword; +#endif + +#if defined(NO_NSPR_10_SUPPORT) +#else +/********* ???????????????? FIX ME ??????????????????????????? *****/ +/********************** Some old definitions until pr=>ds transition is done ***/ +/********************** Also, we are still using NSPR 1.0. GC ******************/ +/* +** Fundamental NSPR macros, used nearly everywhere. +*/ + +#define PR_PUBLIC_API PR_IMPLEMENT + +/* +** Macro body brackets so that macros with compound statement definitions +** behave syntactically more like functions when called. +*/ +#define NSPR_BEGIN_MACRO do { +#define NSPR_END_MACRO } while (0) + +/* +** Macro shorthands for conditional C++ extern block delimiters. +*/ +#ifdef NSPR_BEGIN_EXTERN_C +#undef NSPR_BEGIN_EXTERN_C +#endif +#ifdef NSPR_END_EXTERN_C +#undef NSPR_END_EXTERN_C +#endif + +#ifdef __cplusplus +#define NSPR_BEGIN_EXTERN_C extern "C" { +#define NSPR_END_EXTERN_C } +#else +#define NSPR_BEGIN_EXTERN_C +#define NSPR_END_EXTERN_C +#endif + +#include "obsolete/protypes.h" + +/********* ????????????? End Fix me ?????????????????????????????? *****/ +#endif /* NO_NSPR_10_SUPPORT */ + +/* +** Compile-time assert. "condition" must be a constant expression. +** The macro can be used only in places where an "extern" declaration is +** allowed. +*/ +#define PR_STATIC_ASSERT(condition) \ + extern void pr_static_assert(int arg[(condition) ? 1 : -1]) + +PR_END_EXTERN_C + +#endif /* prtypes_h___ */ + diff --git a/src/ext/libcharsetdetect/trchardet.c b/src/ext/libcharsetdetect/trchardet.c new file mode 100644 index 0000000..aba0b97 --- /dev/null +++ b/src/ext/libcharsetdetect/trchardet.c @@ -0,0 +1,38 @@ +#include "charsetdetect.h" +#include "stdio.h" + +#define BUFFER_SIZE 100*1024 + +int main(int argc, const char * argv[]) { + csd_t csd = csd_open(); + if (csd == (csd_t)-1) { + printf("csd_open failed\n"); + return 1; + } + + int size; + char buf[BUFFER_SIZE] = {0}; + + while ((size = fread(buf, 1, sizeof(buf), stdin)) != 0) { + printf("CLIENT SENDING More data\n"); + int result = csd_consider(csd, buf, size); + if (result < 0) { + printf("csd_consider failed\n"); + return 3; + } else if (result == 0) { + // Already have enough data + break; + } + // Only send one buffer actually, for testing + break; + } + + const char *result = csd_close(csd); + if (result == NULL) { + printf("Unknown character set\n"); + return 2; + } else { + printf("%s\n", result); + return 0; + } +} diff --git a/test/testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt b/test/testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt new file mode 100644 index 0000000..b5df166 --- /dev/null +++ b/test/testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt @@ -0,0 +1,246 @@ +叫缧圯 徕嘈葚嫘 + + 掴 秘谪哒载, 嵋扪拊菪庑 蛰尕谯捱赵仫 + 叫哙幸 陉: 菪邑有尕, 怅噌蛰 + +崔燕 赞枸! + + 吩嘈艺兮 赞燕 赞枸 秘谪哒载, 嵋扪拊菪庑 蛰尕谯捱赵仫 菪 咿艺缯 + 掴 250 兆刳, 谵镡 裔遮 苻终 孕 嗾孕阝剜, 嘈滓卣 扪抻锈. 摆 菡 + 纵姓庹 掴陉哉 孕 仔咿巛这, 哙者捺赙倚苷 邑 孕 哙掮这这 徕嘈葚嫘庑 + 筷嘁 徕赀谪 叫嚓巛刳 菪 阖谪哒载休真! + + 筷嘁锈 徕锈仫 秘谪哒载 菪 殃塾朽嶷 兆刳 彡自性蛰 菪缧坜廪 菪 + 哉谡芤嘭 2003 ., 苻苷葩 嵴 嘈艳庳 咿 122 482 徕锈刎, 仔樨庹葚 + 圬嬲葑 亨卣兮匾 恨荜葆 - 苦刈菪葚 - 吝拊折镙 菪 徇拊折蛰掴 + 回嬲葑 仔 嵋扪拊菪 赞阢苷葩墟仫 菪 辰. 罗倚 拮菪缧倚, 缯 庹 嵝 + 嵋扪拊葚 邑菪迂 檎 殃孕 庑谪倚! + + 崔哧圯剽折菪 剌滢嘬墟仫 咿壅纵 阙凶休仫 檎 掴卩卣庹 咿噔雄 菪 + 扪檩掎忖. 盒廪 菪缧坜, 汹 终坌这, 苻终庹 孕 嘈阻剜剽 徕锈仫庑 仔 + 噢暂仫 嶝 余性 刿 嵴坜. + + 哭噔雄: 颁嘭谛 标塾朽仫 痴抻嘈湄 狄噢咝 底刳拮菪葚 + 缸阢徕肄 羔廪嘭 回巛掎庳 夹谡赞葚 夹庹苄庳谛 颊载尕菪 + 呢坜徂湄 抡阢樨 彡沿庳 + +缸燕休 谛噔剌谛 菪 哉蒿 狙檗苷载 + + + 层圳休赈 抡僭 菪 盒菪噌谪庹 掎忄抟, 羔咝葚 + 鹃 刈燕休 谛噔剌谪 (捱蒯休仫) + +叫 24 挹廪芤嘭 哙兆... + + 劣嘈孕庑 菪 筋俎嘹嶷锈 滢菰抟 艳噌 + * 1648 . - 哭赃蒯休 舱徕湫坩谪 茇嗾 赞愚肄, 谵兮 巅杏 卩匈 菪 + 锣卦蔗这愚载栎锈 肄佥. + * 1877 . - 楞嶷-忏噌谛 肄佥 (1877-1878): 巅赵 必廒锈 哙 侈噍 + 搓演刳, 扣找蛰 菪哧圯 扪嵝哉 掴 嚆嶷锈 朽茇. + * 1929 . - 侈埏苄庑 哉哙蔗仫: 篙哉卺剽 菪 筋俎嘹嶷锈 滢菰抟 艳噌 + (菪 彷剀谛庑) 嵴 徉匾锈 咿 亦哲 菪 "缯噍仫 缯庖赅怅", 谵这 + 赞艺衷 赞 嵴嘭 掴 研葳嚆庳 哙赵刈邑谝 嵋这抟菪 嗾嬲嶝. + * 1945 . - 苦卣 汜庑谊 菪 距有葚仔尕镡 菪 扪赵剌蛰剽 菪尕. + * 1960 . - 苦 易嘭 菪 谵彳拊嚆苄 毙仝掭汔, 谊纵刳菪 哙 + 刈哓庖休这 菪 彡艺忉谛庑 研圬徕冂菪 嘈谡庑 -16, 仔迂倚 挹捋 90 + 糟柝. + + 册冂谪 孕庳 鹃 彡沿庳... + +份姓庹 圬... + + 缸 蒉邑庹 徕锈刎 秘谪哒载: + * 谵 菪-蒉邑镡 蒯廪嘭谵-朽逭捋抻冂蔗谪 嗾渍嘁锈 标塾朽仫? + * 谵 邑仔葩刭嶷仫 咿巅休刳 砸捺 菪 扳刿? + * 缯 菪 巅赵倚檗廪 嵋这抟蒉 哧嘁蛰徕肄 咿 栊遘锈 仔 哙暌 哧 檎 + 赜嘈 彡徕兆锈折 掴 缸嘈折? + * 谵 嵝苻阙 燕剽休嶷 掬劓锗 掎蒉倚倚 剀哒嘭镡 编剽休嶷 篙载? + * 谵 廪嘌蔗 艳仔佥刳 菡 哙剽罩幸 谵州 廪嘌? + * 谵 赵剌徕艺葚镡 苻噌谪 哒僮兄 菪 勒苎嘈菰? + * 谵 哧嘁锈 扪嵝孕 掴 菱抻拊罔菪庑 肄佥? + * 谵 茱徕掴 嵋这 刈艺徕蒉 菪-邑徂谛 谵萱蛰忄墟仫 菪 + 雄沿葚钻 徉赵 遛嘈庑? + * 谵 茱徕掴 狄噢咝 扪剽幸休 掴 菪-愚壅茇 嵋这 庑雁 + 谵菡 菪 苦终倚坩谪? + * 谵有 嘈卒捺茇噢倚菪 巅阒研庑 仔 仔樨庑 菪 菪嵴壅葚这 菪 + 勒咩眼刳 标塾朽仫? + * 哙赵徕幸剽折剽 菪 谵 嵴苷籴庖 艳仔佥劓 嵝 菪-卩锈谛 + 燕哲蛰蒉徕? + * 谵 遮邹咣休这 剀 菪-愚埏 咿庹萱匦 仔 彡檎徕毅倚菡 菪 重肄 + 仔嵴有? + * 谵 菪-眼刈谛庑 咿 嘈总锗 赞 氛茱庑 遮邹咣休这 赞嵴有? + * 嘈苴剽 菪 谵 菪尕掭雄蛰 咝嘹 嵴 菪茇嘈 亦赍 狄锗蔗? + * 谵圳 邑孕 哲哓嘭巛 滢嘬阚 剀 遑茇镡? + * 谵 菪-徕阍蛰掴 菪嵴壅蒉 茱徕 菪 氛茱庑? + * 谵 徕捋劓锈 菪 葱谪籴谵廪 嫘噌庖? + * 缯 菪-仔咝暂掴 嵴坜 楞荜葚 掎蒉倚蒉 掴 研菪忉谪 殃塾朽? + * 谵 菪-眼刈谪镡 赞 舱圬谵燕剽休仫 溧蛰嶷 余性? + * 谵 赵蒉 掴 苄圳掴 苷徕 狄噢咝, 谵这 扪剽幸休 掴 忄剽 + 菪-愚壅茇 遑檩刳 菪 谵葩剌蛰庑? + * 谛 嵴 菪嘭缧 哧嘁剽 哒缧廨 谳赜? + * 谵 诱嘬休嶷 湄棕 沿 蒉茇葚嘈 81 哧庳 仔 睫颜坜倚 菪余性, + 蒉 菡 咿坫缲 葚廪 艺暂曛? + * 谵 菪-徕朽锈 嵊嘈孕 嚆荜葆谪 余性 仑茇柁朽? + * 谵 忏噌谪 嗾肄垲尕掭锗 肄僖拊 菪 布谰? + * 谵 殃塾朽嶷 嗾肄垲尕掭锗 扪镆蛰 仔 苦幸赵葚 菪 嵋这? + + 班遑 + +缸燕休 徕锈仫 菪 嵴攒劓锈 + + 粗掭嗅 编性赅 + + 粗掭嗅 编性赅 (菪 休盂刭嶷: Jonas Brothers) 熊锗刳休嶷 苻茜砧谛 + 咿 余氵. 距赜剌雄葚镡 仔嵴有 咿徕揎菡 彡徕幸 菪 余氵锈 亿垲缫 + 忄剀锈 燕锈 赫邑 粗掭嗅, 粗 粗掭嗅 截 粗掭嗅. 抡 嵝 掴 筋 粗赅棕 + 徕幸锈 咿咩埏噍 玎兆 哉忉谪 谛菪 簇彷. 苦兆 埏廪廪 菪 2008 + 沌嗅庖锈 捺赜剌雄葚 湄圮 菪 簇彷 赫苓 擂, 哙兆 2010 + 哙拊贳终葚这 茔, 赫苓 擂 2: 哭巅赵葚镡 谵萱锗. 罗倚 赵菪 掴 + 菪-咿咩埏噍剽 庳佥召灾赅嶷 余氵 仔 哧嘁掴 哉嵴庳壅庳 菪 21 艺. + + 崔 苻苷葩 余氵锈 剀 刈孕哉葚 缯庳嘭 雄雁苄: It's About Time, Jonas + Brothers, A Little Bit Longer Lines, Vines and Trying Times. 苦兆 + 2008 ., 菪 51-庹 叫余性 赤熊, 蒉茇葚嘈菪 仔 叫-赞殃 苒性 + 刈哧圯剽折, 菪 败锗刳休嶷剽 茔棕谛圯 菪余性 余氵锈 哒缯圬 + 菪余性锈 仔 凑杨庳嘈 刈哧圯剽折. 崔 苄 2009 ., 哙赵 刈圬仔菡廪 + 菪 缯庖赅庳 剀 雄雁, 剀锈 菪 掎哲 茇圬掭 哙拊性蛰 雄雁苄 咿 骘 + 嵋镡. 苦兆 2009 . 燕锈镡 嵝 刈燕休 谛庹愚嘭巛 赵剌拊汨蒉 仔 + 菪-坜柝 汹忪捺 菪 2009- 谊 湄圮-谵萱锗 粗掭嗅 编性赅: 3D + 谵萱锗怅 菪 菪余性剽 粉锈菪 苄圬葳 (谵葩嘈咩葳怅 菪 菪余性剽 + 踞谛), 扪镆蛰 仔 赵剌 掴 菪-坜柝庹 湄圮 菪 愚载菪庑. 揲 + + 鹃 刈燕休 徕锈刎 + +陵躁嘀休卣 + + 罗倚 扪 哙沼壅 菪 谛庹愚嘭剽 秘谪哒载 咿 庹茇. + +Architecture see also.svg 羔廪嘭 + + 羔廪嘭抻嘈湄 哭 者掊 哭 徕嘈葚 哭 庹苄庳谛 培掭刳 + +Nuvola apps package graphics.svg 恒垅汔 + + 拜剀墟仫 摆忪捺 底劓 沸研役蛰仫 份熊蛰剽掎庳 赣嘈缵 + 赣嘭 缸阢徕肄 回庹嘈忏嘈 烈这抟菪 阢垅汔 颊载 钾廪坜迂 + 笺渍 笺棕谛 苦凶葚尕 佬载 勒圬迂 吝捺 滦萱 + 抡壅邑棕 锣性劓刎 裸嘭钻 恼徕匾雄 呢坜徂湄 陪苻 + +Sciences exactes.svg 叫阙 + + 拜忄捱捋抻仫 班逭捋抻仫 搬忄掭捃仫 必捋抻仫 恨彳掎 叫阙 仔 + 氛茱庑 篙滢嘬锈刳 羔廪嘭 菪 菪阙锈 颊载尕菪 哭圬庳谛 + 苦刿拗葚 菪阙 苦剜拊葚 颜葬庖仫 酷劐捋抻仫 赁尕捋抻仫 苗蛰 + 呢棕谛 呢坜徂湄 菪 菪阙锈 咆茇 第捋抻仫 + +Nuvola apps kpovmodeler.svg 夹庹苄庳谛 + + 佰诱燕 拜雄刈 班剽苷庳谛 痴捃这嘭 缸苷嘁休 晦迂谛 + 苦刿拗菪 苄庹苄庳谛 菱锈蒯庳谛 抡捺仫 菪 艺噢镡蒉徕剽 抡捺仫 菪 + 缲巅锈 抡捺哲 锣赜掭捃这嘭 秦巅 岗掭捃刳 + +Nuvola apps personal unisex.png 寝艺 + + 狙嘈邹倚葚 琳苷籴庖 培休蛰 苦凶葚尕 吩嘈艺 呸嘈 + 崔苄栎 重肄廨 + +Terrestrial globe.svg 痴抻嘈湄 + + 颁嘭谛 拜庑嘹庳孕 白仫 耙徕嘈圬 狄噢咝 琳艺噍 败锗刳 + 沮招葚 沃菪 败锗刳 + 赤性抟 搓嘀幸 勒壅 痕剀锈 叫尕掭雄葚 咝嘹抟 琳圬樾 + 劣嘈载 秸脏 + +Nuvola apps kuser.svg 狙檎徕肄 + + 陪苄葚庑噍 (狙檎徕艺葚) 菪阙 拜忄捱捋抻仫 班逭捋抻仫 + 耙廪苄庳仔尕 必纵蔗 恨茔葚谛尕 凑苻余袖仫 岗掭捃刳 + 叫噢载 呢菪葆 搓嘀幸蒉 氵嘈役蛰卣 羔廪嘭 苦捃罔壅蒉徕 + 苦幸 回萦邑徕刳 颊载 距有葚仔尕 呢坜徂湄 哭圬廪坜迂 + 酷劐捋抻仫 赁尕捋抻仫 琳卺捋抻仫 厕佥 + +Nuvola apps kcmsystem.svg 抡遢刳 庹遢捋抻刎 + + 琳坩谵 徕捱休徕肄 班遑庹阝汔 必掴斟蒉坜迂 厕蛰葚 庹遢捋抻刎 + 帝遮忄掭刳 夹柝輔徕噢蛰 篙庹噍这 篙滢嘬墟剞葺 庹遢捋抻刎 + 颊载尕菪 叫蒉庹遢捋抻仫 显嗾菪 庹遢刳 抡壅谵茔葚谛尕 + 篙徕嚆苷葩 锣休徇捺 拎赵徕倚 仔 哙卦邑忠休 递锗诱庳谛 + +哭 凶雁缯 嗾 + + + + If you don't speak Bulgarian, please visit our embassy. + +拎拊葚 哙拚阝 + + 秘谪尕庑 秘谪尕庑 +曝庑庳, 袖捺刈茇, 卩刿锈 溧凶 秘谪嗾巛刳 秘谪嗾巛刳 + 驾抻拚棕缯 嗾巛刳 秘谪谳赜 秘谪谳赜 +狠赜, 沌昭葚尕 嚓谵肄葬庖 秘谪蒉邑葚 秘谪蒉邑葚 + 睫邑葚 + 狙檗苷载 狙檗苷载 +烈扪拊蒉 遴休刿亻 秘谪刈廪巛刳 秘谪刈廪巛刳 +烈扪拊葚 刈廪巛劓 秘谪邑赞艺 秘谪邑赞艺 + 勒迂徕赅 菪 邑赞艺庹 颊庑阖谪 颊庑阖谪 + 陵盂嗅阋休 菪 哙拚阝剽 +拎拊葚庹 菪 秘谪哒载 哙拚阝 嵴 咿栽赅中 掴 霓菰墟仫 秘谪苷载. + + 滦棕 徕嘈葚嫘 仔樨庹菪. 摆 终坌这 孕 菪哙幸剽 哙捃蛰, 苻埏 + 嗾孕阝剜匈庹 庹徕抟锈 徕嘈葚嫘 刿 葚 掎庑艺庹 颜壅众 菪 菡佥锈 + 载嶷汜剞葺 徕嘈葚嫘. + 沧这 掴 + +回巛 剌徕嚆苷葩 + + * 勒迂徕嘭嘈菡 刿 役刈休 + +杠蛰葚 哙掎忄休徕倚 + + * 菱锈仫 + * 闭嵴孕 + +残嘭休庳 + +苦沼壅载 + + * 苦沼壅 + * 苦沼壅 菪 谵孕 + * 羔廪嘭 + +凑籴庖仫 + +玛噌蛰 + + ____________________ (Submit) 玛噌蛰 + +叫邑有尕 + + * 叫缧圯 徕嘈葚嫘 + * 哭噔雄 菪 扪檩掎忖 + * 陵躁嘀休卣 + * 哭巅赵葚 哙捃蛰 + * 鳞沌匈菪 徕锈仫 + * 哭苻 + * 葱嗾葚 + +篙徕嚆苷葩 + + * 盒谝 徂缲 菪嵝 + * 烈赅仔葚 哙捃蛰 + * 盒缫休 狙檗苷载 + * 吝真匦圯 徕嘈葚尕 + * 舱噌仫 仔 哒缧 + * 哭徕揎葺 哙者嘈廒 + * 曝庳嘈菡 菪 徕锈仫庑 + +叫 脏阌 兆劓 + + * 哭巅赵菪 哙捃镙 菪 徕嘈葚嫘庑: 20:16, 27 镙阈嘭 2011. + * 抡卺怅 赞徕赀蛰 哙 汜坜邑镡 菪 圬嬲葑 亨卣兮匾 恨荜葆 + 苦刈菪葚 吝拊折镙 菪 徇拊折蛰掴 3.0; 嶝坌 苻终 孕 剀 + 赞哧圯剽折葚 汜坜邑. 沸 咿脏扪蒉徕 邑肘 冕坜邑镡 仔 咿圩倚菡. + + * 沸樨庑 菪 圬巛剽 孕葺 + * 沸 秘谪哒载 + * 冕坜邑 仔 咿圩倚菡 diff --git a/test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt b/test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt new file mode 100644 index 0000000..fdf07cc --- /dev/null +++ b/test/testdata/bg/UTF-8/wikitop_bg_UTF-8.txt @@ -0,0 +1,248 @@ +袧邪褔邪谢薪邪 褋褌褉邪薪懈褑邪 + + 芯褌 校懈泻懈锌械写懈褟, 褋胁芯斜芯写薪邪褌邪 械薪褑懈泻谢芯锌械写懈褟 + 袧邪锌褉邪胁芯 泻褗屑: 薪邪胁懈谐邪褑懈褟, 褌褗褉褋械薪械 + +袛芯斜褉械 写芯褕谢懈! + + Wikipedia-logo.png + + 袟写褉邪胁械泄褌械 懈 写芯斜褉械 写芯褕谢懈 胁 校懈泻懈锌械写懈褟, 褋胁芯斜芯写薪邪褌邪 械薪褑懈泻谢芯锌械写懈褟 薪邪 锌芯胁械褔械 + 芯褌 250 械蟹懈泻邪, 泻芯褟褌芯 胁褋械泻懈 屑芯卸械 写邪 褉械写邪泻褌懈褉邪, 褉邪蟹胁懈械 懈 芯斜芯谐邪褌懈. 袗泻芯 薪械 + 蟹薪邪械褌械 芯褌泻褗写械 写邪 蟹邪锌芯褔薪械褌械, 锌褉械锌芯褉褗褔胁邪屑械 胁懈 写邪 锌褉芯褔械褌械褌械 褋褌褉邪薪懈褑邪褌邪 + 鈥炐熝娧胁懈 褋褌褗锌泻懈鈥 懈 袧邪褉褗褔薪懈泻邪 薪邪 褍懈泻懈锌械写懈邪薪械褑邪! + + 袩褗褉胁邪褌邪 褋褌邪褌懈褟 胁 校懈泻懈锌械写懈褟 薪邪 斜褗谢谐邪褉褋泻懈 械蟹懈泻 械 褋褗蟹写邪写械薪邪 胁 薪邪褔邪谢芯褌芯 薪邪 + 写械泻械屑胁褉懈 2003 谐., 邪 胁 屑芯屑械薪褌邪 褋械 褉邪斜芯褌懈 锌芯 122 482 褋褌邪褌懈懈, 蟹邪褖懈褌械薪懈 褋 + 谢懈褑械薪蟹邪 袣褉懈械泄褌懈胁 袣芯屑褗薪褋 - 袩褉懈蟹薪邪薪懈械 - 小锌芯写械谢褟薪械 薪邪 褋锌芯写械谢械薪芯褌芯 懈 + 袥懈褑械薪蟹邪 蟹邪 褋胁芯斜芯写薪邪 写芯泻褍屑械薪褌邪褑懈褟 薪邪 袚袧校. 孝芯胁邪 芯蟹薪邪褔邪胁邪, 褔械 褌械 褋邪 + 褋胁芯斜芯写薪懈 懈 胁懈薪邪谐懈 褖械 斜褗写邪褌 褌邪泻懈胁邪! + + 袛芯锌褗谢薪懈褌械谢薪邪 懈薪褎芯褉屑邪褑懈褟 懈 锌芯谢械蟹薪懈 褍泻邪蟹邪薪懈褟 褖械 芯褌泻褉懈械褌械 懈 胁 锌芯褉褌邪谢邪 薪邪 + 芯斜褖薪芯褋褌褌邪. 袣邪褌芯 薪邪褔邪谢芯, 邪泻芯 卸械谢邪械褌械, 屑芯卸械褌械 写邪 褉邪蟹褕懈褉懈褌械 褋褌邪褌懈褟褌邪 蟹邪 + 褉芯写薪懈褟 褋懈 谐褉邪写 懈谢懈 褋械谢芯. + + 袩芯褉褌邪谢懈: 袗褎褉懈泻邪 路 袘褗谢谐邪褉懈褟 路 袚械芯谐褉邪褎懈褟 路 袝胁褉芯锌邪 路 袝蟹懈泻芯蟹薪邪薪懈械 路 + 袠蟹泻褍褋褌胁芯 路 袠褋褌芯褉懈褟 路 袥懈褔薪芯褋褌懈 路 袦邪泻械写芯薪懈褟 路 袦邪褌械屑邪褌懈泻邪 路 袦械写懈褑懈薪邪 路 + 肖懈谢芯褋芯褎懈褟 路 孝械泻褍褖懈 褋褗斜懈褌懈褟 + +袠蟹斜褉邪薪邪 泻邪褉褌懈薪泻邪 薪邪 写械薪褟 胁 袨斜褖芯屑械写懈褟 + + Teide qtl1.jpg + + 袙褍谢泻邪薪褗褌 孝械泄写械 薪邪 袣邪薪邪褉褋泻懈褌械 芯褋褌褉芯胁懈, 袠褋锌邪薪懈褟 + 袨褖械 懈蟹斜褉邪薪懈 泻邪褉褌懈薪泻懈 (芯锌懈褋邪薪懈褟) + +袧邪 24 芯泻褌芯屑胁褉懈 锌褉械蟹... + + 小谐褉邪写邪褌邪 薪邪 袧褞泄芯褉泻褋泻邪褌邪 褎芯薪写芯胁邪 斜芯褉褋邪 + * 1648 谐. - 袩芯写锌懈褋邪薪 械 袙械褋褌褎邪谢褋泻懈褟 屑懈褉械薪 写芯谐芯胁芯褉, 泻芯泄褌芯 褋谢邪谐邪 泻褉邪泄 薪邪 + 孝褉懈写械褋械褌谐芯写懈褕薪邪褌邪 胁芯泄薪邪. + * 1877 谐. - 袪褍褋泻芯-褌褍褉褋泻邪 胁芯泄薪邪 (1877-1878): 褋谢械写 袘懈褌泻邪褌邪 锌褉懈 袚芯褉薪懈 + 袛褗斜薪懈泻, 袩谢械胁械薪 械 薪邪锌褗谢薪芯 芯斜褋邪写械薪 芯褌 褉褍褋泻邪褌邪 邪褉屑懈褟. + * 1929 谐. - 袚芯谢褟屑邪褌邪 写械锌褉械褋懈褟: 袠薪写械泻褋懈褌械 薪邪 袧褞泄芯褉泻褋泻邪褌邪 褎芯薪写芯胁邪 斜芯褉褋邪 + (薪邪 褋薪懈屑泻邪褌邪) 褋械 褋褉懈胁邪褌 锌芯 胁褉械屑械 薪邪 "褔械褉薪懈褟 褔械褌胁褗褉褌褗泻", 泻芯械褌芯 + 写芯胁械卸写邪 写芯 褋械褉懈褟 芯褌 斜邪薪泻褉褍褌懈 懈 锌褉械写懈蟹胁懈泻胁邪 褋胁械褌芯胁薪邪 褉械褑械褋懈褟. + * 1945 谐. - 袩褉懈械褌 械 褍褋褌邪胁褗褌 薪邪 袨褉谐邪薪懈蟹邪褑懈褟褌邪 薪邪 芯斜械写懈薪械薪懈褌械 薪邪褑懈懈. + * 1960 谐. - 袩褉懈 胁蟹褉懈胁 薪邪 泻芯褋屑芯写褉褍屑邪 袘邪泄泻芯薪褍褉, 胁褗蟹薪懈泻薪邪谢 锌褉懈 + 懈蟹锌懈褌胁邪薪械褌芯 薪邪 褋褗胁械褌褋泻邪褌邪 斜邪谢懈褋褌懈褔薪邪 褉邪泻械褌邪 袪-16, 蟹邪谐懈胁邪褌 芯泻芯谢芯 90 + 写褍褕懈. + + 袙褋懈褔泻懈 写邪褌懈 鈥 袨褖械 褋褗斜懈褌懈褟... + +袟薪邪械褌械 谢懈... + + 袠蟹 薪芯胁懈褌械 褋褌邪褌懈懈 胁 校懈泻懈锌械写懈褟: + * 鈥 泻芯泄 械 薪邪泄-薪芯胁懈褟褌 懈褋褌芯褉懈泻芯-邪褉褏械芯谢芯谐懈褔械褋泻懈 褉械蟹械褉胁邪褌 胁 袘褗谢谐邪褉懈褟? + * 鈥 泻芯泄 械 胁懈蟹邪薪褌懈泄褋泻懈褟褌 锌芯褋谢邪薪懈泻 胁 写胁芯褉邪 薪邪 袗褌懈谢邪? + * 鈥 褔械 薪邪 褋谢械写胁邪褖芯褌芯 褋胁械褌芯胁薪芯 锌褗褉胁械薪褋褌胁芯 锌芯 褕邪褏屑邪褌 蟹邪 锌褉褗胁 锌褗褌 褖械 + 懈谐褉邪械 褋褗褋褌械蟹邪褌械谢 芯褌 袠蟹褉邪械谢? + * 鈥 泻芯泄 褋邪屑芯褍泻 斜褉懈褌邪薪褋泻懈 芯褎懈褑械褉 芯褋薪芯胁邪胁邪 懈屑锌械褉懈褟褌邪 袘褉懈褌邪薪褋泻邪 袠薪写懈褟? + * 鈥 泻芯泄 褌芯褉斜械褋褌 斜芯蟹邪泄薪懈泻 薪械 锌褉懈褌械卸邪胁邪 泻芯卸薪邪 褌芯褉斜邪? + * 鈥 泻芯泄 械 械写懈薪褋褌胁械薪懈褟褌 屑芯褉褋泻懈 锌械泄蟹邪卸 薪邪 袪械屑斜褉邪薪写? + * 鈥 泻芯褟 械 锌褗褉胁邪褌邪 芯斜褋邪写邪 芯褌 小褌芯谐芯写懈褕薪邪褌邪 胁芯泄薪邪? + * 鈥 泻芯械 械 屑褟褋褌芯褌芯 胁 褋胁械褌邪 懈蟹胁械褋褌薪芯 褋 薪邪泄-胁懈褋芯泻邪 泻芯薪褑械薪褌褉邪褑懈褟 薪邪 + 邪谢斜懈薪懈蟹褗屑 褋褉械写 褏芯褉邪褌邪? + * 鈥 泻芯械 械 屑褟褋褌芯褌芯 胁 袝胁褉芯锌邪 芯斜懈褌邪胁邪薪芯 芯褌 薪邪泄-谐芯谢械屑懈褟 胁 褋胁械褌邪 褌邪斜褍薪 + 泻芯薪械 薪邪 袩褉卸械胁邪谢褋泻懈? + * 鈥 泻芯谐邪 械 褉邪蟹褎芯褉屑懈褉芯胁邪薪邪 褋谢褍卸斜邪褌邪 蟹邪 蟹邪褖懈褌邪 薪邪 薪邪褋械谢械薪懈械褌芯 薪邪 + 袪械锌褍斜谢懈泻邪 袘褗谢谐邪褉懈褟? + * 鈥 锌褉械写褋褌邪胁懈褌械谢懈褌械 薪邪 泻芯械 褋械屑械泄褋褌胁芯 斜芯蟹邪泄薪懈褑懈 褋邪 褋 薪邪泄-泻褉邪褌泻邪 + 斜褉械屑械薪薪芯褋褌? + * 鈥 泻芯褟 械泻蟹芯锌谢邪薪械褌邪 懈屑邪 薪邪泄-谐芯谢褟屑 锌芯褌械薪褑懈邪谢 蟹邪 褋褗褖械褋褌胁褍胁邪薪械 薪邪 卸懈胁芯褌 + 蟹邪褋械谐邪? + * 鈥 泻芯褟 械 薪邪泄-斜谢懈蟹泻邪褌邪 锌芯 褉邪蟹屑械褉懈 写芯 袟械屑褟褌邪 械泻蟹芯锌谢邪薪械褌邪 写芯褋械谐邪? + * 鈥 胁 褉邪屑泻懈褌械 薪邪 泻芯泄 薪邪褑懈芯薪邪谢械薪 锌邪褉泻 褋械 薪邪屑懈褉邪 胁褉褗褏 袝胁械褉械褋褌? + * 鈥 泻芯谢泻芯 胁懈写邪 械屑锌懈褉懈褔薪懈 褎芯褉屑褍谢懈 懈屑邪 胁 褏懈屑懈褟褌邪? + * 鈥 泻芯械 械 薪邪泄-褋褌褍写械薪芯褌芯 薪邪褋械谢械薪芯 屑褟褋褌芯 薪邪 袟械屑褟褌邪? + * 鈥 泻芯褟 械 褋褌芯谢懈褑邪褌邪 薪邪 袛邪泻懈泄褋泻芯褌芯 褑邪褉褋褌胁芯? + * 鈥 褔械 薪邪泄-蟹邪锌邪写薪芯褌芯 褋械谢芯 胁 袪褍屑褗薪懈褟 械 芯褋薪芯胁邪薪芯 芯褌 斜邪薪邪褌褋泻懈 斜褗谢谐邪褉懈? + * 鈥 泻芯泄 械 薪邪泄-斜谢懈蟹泻懈褟褌 写芯 袙械谢懈泻芯斜褉懈褌邪薪懈褟 褎褉械薪褋泻懈 谐褉邪写? + * 鈥 泻芯械 械 械写薪芯 芯褌 屑邪谢泻芯褌芯 屑械褋褌邪 胁 袝胁褉芯锌邪, 泻芯械褌芯 械 芯斜懈褌邪胁邪薪芯 芯褌 褌褉懈褌械 + 薪邪泄-谐芯谢械屑懈 褏懈褖薪懈泻邪 薪邪 泻芯薪褌懈薪械薪褌邪? + * 鈥 泻邪泻 褋械 薪邪褉懈褔邪褌 锌褗褉胁懈褌械 锌械褔邪褌薪懈 泻薪懈谐懈? + * 鈥 泻芯泄 谐械褉屑邪薪褋泻懈 褎懈蟹懈泻 械 斜懈谢 薪芯屑懈薪懈褉邪薪 81 锌褗褌懈 蟹邪 袧芯斜械谢芯胁邪 薪邪谐褉邪写邪, + 薪芯 薪械 褟 械 锌芯谢褍褔懈谢 薪懈褌芯 胁械写薪褗卸? + * 鈥 泻芯褟 械 薪邪泄-褋褌邪褉邪褌邪 褋谐褉邪写邪 胁 褉褍屑褗薪褋泻懈褟 谐褉邪写 孝懈屑懈褕芯邪褉邪? + * 鈥 泻芯泄 褌褍褉褋泻懈 褉械胁芯谢褞褑懈芯薪械褉 械 胁芯泄胁芯写邪 薪邪 袙袦袪袨? + * 鈥 泻芯泄 斜褗谢谐邪褉褋泻懈 褉械胁芯谢褞褑懈芯薪械褉 械 芯斜褟胁械薪 蟹邪 鈥炐熝邪胁械写薪懈泻 薪邪 褋胁械褌邪鈥? + + 袗褉褏懈胁 + +袠蟹斜褉邪薪邪 褋褌邪褌懈褟 薪邪 褋械写屑懈褑邪褌邪 + + 袛卸芯薪邪褋 袘褉邪写褗褉褋 + + 袛卸芯薪邪褋 袘褉邪写褗褉褋 (薪邪 邪薪谐谢懈泄褋泻懈: Jonas Brothers) 械 邪屑械褉懈泻邪薪褋泻邪 屑芯屑褔械褕泻邪 + 锌芯锌 谐褉褍锌邪. 袨褉懈谐懈薪邪谢薪懈褟褌 懈 蟹邪褋械谐邪 锌芯褋褌芯褟薪械薪 褋褗褋褌邪胁 薪邪 谐褉褍锌邪褌邪 胁泻谢褞褔胁邪 + 褌褉懈屑邪褌邪 斜褉邪褌褟 袣械胁懈薪 袛卸芯薪邪褋, 袛卸芯 袛卸芯薪邪褋 懈 袧懈泻 袛卸芯薪邪褋. 孝械 褋邪 芯褌 袧褞 袛卸褗褉蟹懈 + 懈 褋褌邪胁邪褌 锌芯锌褍谢褟褉薪懈 褔褉械蟹 写械褌褋泻懈褟 泻邪薪邪谢 袛懈褋薪懈. 袩褉械蟹 谢褟褌芯褌芯 薪邪 2008 + 褍褔邪褋褌胁邪褌 胁 芯褉懈谐懈薪邪谢薪懈褟 褎懈谢屑 薪邪 袛懈褋薪懈 鈥 袣械屑锌 袪芯泻, 邪 锌褉械蟹 2010 懈 胁 + 锌褉芯写褗谢卸械薪懈械褌芯 屑褍, 袣械屑锌 袪芯泻 2: 袩芯褋谢械写薪懈褟褌 泻芯薪褑械褉褌. 孝芯胁邪 械 械写薪邪 芯褌 + 薪邪泄-锌芯锌褍谢褟褉薪懈褌械 褌懈泄薪械泄写卸褗褉褋泻懈 谐褉褍锌懈 蟹邪 锌褗褉胁芯褌芯 写械褋械褌懈谢械褌懈械 薪邪 21 胁械泻. + + 袛芯 屑芯屑械薪褌邪 谐褉褍锌邪褌邪 懈屑邪 懈蟹写邪写械薪懈 褔械褌懈褉懈 邪谢斜褍屑邪: It's About Time, Jonas + Brothers, A Little Bit Longer 懈 Lines, Vines and Trying Times. 袩褉械蟹 + 2008 谐., 薪邪 51-褌械 袧邪谐褉邪写懈 袚褉邪屑懈, 械 薪芯屑懈薪懈褉邪薪邪 蟹邪 鈥炐澬靶-写芯斜褗褉 屑谢邪写 + 懈蟹锌褗谢薪懈褌械谢鈥, 邪 薪邪 袗屑械褉懈泻邪薪褋泻懈褌械 屑褍蟹懈泻邪谢薪懈 薪邪谐褉邪写懈 谐褉褍锌邪褌邪 锌械褔械谢懈 + 薪邪谐褉邪写邪褌邪 蟹邪 鈥炐斝敌毖幯傂秆邪褖 懈蟹锌褗谢薪懈褌械谢鈥. 袛芯 屑邪泄 2009 谐., 锌褉械写懈 懈蟹谢懈蟹邪薪械褌芯 + 薪邪 褔械褌胁褗褉褌懈褟 懈屑 邪谢斜褍屑, 懈屑邪褌 薪邪写 芯褋械屑 屑懈谢懈芯薪邪 锌褉芯写邪写械薪懈 邪谢斜褍屑邪 锌芯 褑褟谢 + 褋胁褟褌. 袩褉械蟹 2009 谐. 斜褉邪褌褟褌邪 褋邪 懈蟹斜褉邪薪懈 泻邪褌械谐芯褉懈褔薪芯 懈 械写懈薪芯写褍褕薪芯 蟹邪 + 薪邪泄-谢芯褕懈 邪泻褌褜芯褉懈 薪邪 2009-邪 胁褗胁 褎懈谢屑邪-泻芯薪褑械褉褌 袛卸芯薪邪褋 袘褉邪写褗褉褋: 3D + 泻芯薪褑械褉褌褗褌 薪邪 薪邪谐褉邪写懈褌械 鈥炐椥恍把傂叫 屑邪谢懈薪泻邪鈥 (泻芯薪褌褉邪锌褍薪泻褌褗褌 薪邪 薪邪谐褉邪写懈褌械 + 鈥炐炑佇盒把鈥), 芯斜褟胁械薪 懈 蟹邪 械写懈薪 芯褌 薪邪泄-谢芯褕懈褌械 褎懈谢屑懈 薪邪 谐芯写懈薪邪褌邪. 芯褖械禄 + + 袨褖械 懈蟹斜褉邪薪懈 褋褌邪褌懈懈 + +小褗写褗褉卸邪薪懈械 + + 孝芯胁邪 械 芯斜褖 锌褉械谐谢械写 薪邪 泻邪褌械谐芯褉懈懈褌械 胁 校懈泻懈锌械写懈褟 锌芯 褌械屑懈. + +Architecture see also.svg 袠褋褌芯褉懈褟 + + 袠褋褌芯褉懈芯谐褉邪褎懈褟 鈥 袩芯 械锌芯褏懈 鈥 袩芯 褋褌褉邪薪懈 鈥 袩芯 褌械屑邪褌懈泻邪 鈥 啸褉芯薪懈泻懈 + +Nuvola apps package graphics.svg 鈥 袣褍谢褌褍褉邪 + + 袗薪懈屑邪褑懈褟 鈥 袗泻褌褜芯褉懈 鈥 袝蟹懈褑懈 鈥 袟邪斜邪胁谢械薪懈褟 鈥 袟薪邪屑械薪懈褌芯褋褌懈 鈥 袠谐褉邪褔泻懈 鈥 + 袠谐褉懈 鈥 袠蟹泻褍褋褌胁芯 鈥 袥懈褌械褉邪褌褍褉邪 鈥 小胁械褌芯胁薪邪 泻褍谢褌褍褉邪 鈥 袦械写懈懈 鈥 袦懈褌芯谢芯谐懈褟 鈥 + 袦褍蟹械懈 鈥 袦褍蟹懈泻邪 鈥 袩褉邪蟹薪懈褑懈 鈥 袪邪写懈芯 鈥 袪械谢懈谐懈褟 鈥 小锌芯褉褌 鈥 孝邪薪褑懈 鈥 + 孝械谢械胁懈蟹懈褟 鈥 孝褉邪写懈褑懈懈 鈥 孝褍褉懈蟹褗屑 鈥 肖械褋褌懈胁邪谢懈 鈥 肖懈谢芯褋芯褎懈褟 鈥 啸褍屑芯褉 + +Sciences exactes.svg 袧邪褍泻邪 + + 袗薪褌褉芯锌芯谢芯谐懈褟 鈥 袗褉褏械芯谢芯谐懈褟 鈥 袗褋褌褉芯薪芯屑懈褟 鈥 袘懈芯谢芯谐懈褟 鈥 袣芯褋屑芯褋 鈥 袧邪褍泻懈 蟹邪 + 袟械屑褟褌邪 鈥 袠薪褎芯褉屑邪褌懈泻邪 鈥 袠褋褌芯褉懈褟 薪邪 薪邪褍泻邪褌邪 鈥 袦械写懈褑懈薪邪 鈥 袩芯谢懈褌懈泻邪 鈥 + 袩褉懈谢芯卸薪懈 薪邪褍泻懈 鈥 袩褉懈褉芯写薪懈 斜械写褋褌胁懈褟 鈥 袩褋懈褏芯谢芯谐懈褟 鈥 小芯褑懈芯谢芯谐懈褟 鈥 校褔械薪懈 鈥 + 肖懈蟹懈泻邪 鈥 肖懈谢芯褋芯褎懈褟 薪邪 薪邪褍泻邪褌邪 鈥 啸懈屑懈褟 鈥 袝泻芯谢芯谐懈褟 + +Nuvola apps kpovmodeler.svg 袦邪褌械屑邪褌懈泻邪 + + 袗谢谐械斜褉邪 鈥 袗薪邪谢懈蟹 鈥 袗褉懈褌屑械褌懈泻邪 鈥 袚械芯屑械褌褉懈褟 鈥 袠蟹屑械褉胁邪薪械 鈥 袥芯谐懈泻邪 鈥 + 袩褉懈谢芯卸薪邪 屑邪褌械屑邪褌懈泻邪 鈥 小褌邪褌懈褋褌懈泻邪 鈥 孝械芯褉懈褟 薪邪 胁械褉芯褟褌薪芯褋褌懈褌械 鈥 孝械芯褉懈褟 薪邪 + 褔懈褋谢邪褌邪 鈥 孝械芯褉械屑懈 鈥 孝褉懈谐芯薪芯屑械褌褉懈褟 鈥 效懈褋谢邪 鈥 袠泻芯薪芯屑懈泻邪 + +Nuvola apps personal unisex.png 鈥 效芯胁械泻 + + 袨斜褉邪蟹芯胁邪薪懈械 鈥 小械屑械泄褋褌胁芯 鈥 啸褉邪薪械薪械 鈥 袩褉邪蟹薪懈褑懈 鈥 袟写褉邪胁械 鈥 啸芯褉邪 鈥 + 袛芯屑邪褕薪懈 卸懈胁芯褌薪懈 + +Terrestrial globe.svg 袚械芯谐褉邪褎懈褟 + + 袗褎褉懈泻邪 鈥 袗薪褌邪褉泻褌懈写邪 鈥 袗蟹懈褟 鈥 袗胁褋褌褉邪谢懈褟 鈥 袝胁褉芯锌邪 鈥 小械胁械褉薪邪 袗屑械褉懈泻邪 鈥 + 袨泻械邪薪懈褟 鈥 挟卸薪邪 袗屑械褉懈泻邪 + 袚褉邪写芯胁械 鈥 袛褗褉卸邪胁懈 鈥 袪械谢械褎 鈥 袣谢懈屑邪褌 鈥 袧邪褑懈芯薪邪谢薪懈 锌邪褉泻芯胁械 鈥 小械谢懈褖邪 鈥 + 小谐褉邪写懈 鈥 袧械写褉邪 + +Nuvola apps kuser.svg 袨斜褖械褋褌胁芯 + + 啸褍屑邪薪懈褌邪褉薪懈 (袨斜褖械褋褌胁械薪懈) 薪邪褍泻懈 鈥 袗薪褌褉芯锌芯谢芯谐懈褟 鈥 袗褉褏械芯谢芯谐懈褟 鈥 + 袗胁褌芯屑邪褌懈蟹邪褑懈褟 鈥 袘懈蟹薪械褋 鈥 袣芯屑褍薪懈泻邪褑懈褟 鈥 袛械屑芯谐褉邪褎懈褟 鈥 袠泻芯薪芯屑懈泻邪 鈥 + 袧邪褉芯写懈 鈥 肖懈薪邪薪褋懈 鈥 袛褗褉卸邪胁薪芯 褍锌褉邪胁谢械薪懈械 鈥 袠褋褌芯褉懈褟 鈥 袩褉芯屑懈褕谢械薪芯褋褌 鈥 + 袩褉邪胁芯 鈥 袥懈薪谐胁懈褋褌懈泻邪 鈥 袦械写懈懈 鈥 袨褉谐邪薪懈蟹邪褑懈懈 鈥 肖懈谢芯褋芯褎懈褟 鈥 袩芯谢懈褌芯谢芯谐懈褟 鈥 + 袩褋懈褏芯谢芯谐懈褟 鈥 小芯褑懈芯谢芯谐懈褟 鈥 小械泻褋芯谢芯谐懈褟 鈥 袙芯泄薪懈 + +Nuvola apps kcmsystem.svg 孝械褏薪懈泻邪 懈 褌械褏薪芯谢芯谐懈懈 + + 小械谢褋泻芯 褋褌芯锌邪薪褋褌胁芯 鈥 袗褉褏懈褌械泻褌褍褉邪 鈥 袘懈芯褌械褏薪芯谢芯谐懈褟 鈥 袙芯械薪薪懈 褌械褏薪芯谢芯谐懈懈 鈥 + 袝谢械泻褌褉芯薪懈泻邪 鈥 袦邪褕懈薪o褋褌褉芯械薪械 鈥 袠薪褌械褉薪械褌 鈥 袠薪褎芯褉屑邪褑懈芯薪薪懈 褌械褏薪芯谢芯谐懈懈 鈥 + 袦械写懈褑懈薪邪 鈥 袧邪薪芯褌械褏薪芯谢芯谐懈褟 鈥 携写褉械薪邪 褌械褏薪懈泻邪 鈥 孝械谢械泻芯屑褍薪懈泻邪褑懈懈 鈥 + 袠薪褋褌褉褍屑械薪褌懈 鈥 孝褉邪薪褋锌芯褉褌 鈥 小褉械写褋褌胁邪 蟹邪 锌褉懈写胁懈卸胁邪薪械 鈥 袝薪械褉谐械褌懈泻邪 + +袩芯 邪蟹斜褍褔械薪 褉械写 + + 袗 袘 袙 袚 袛 袝 袞 袟 袠 袡 袣 袥 袦 袧 袨 袩 袪 小 孝 校 肖 啸 笑 效 楔 些 歇 鞋 挟 携 + + If you don't speak Bulgarian, please visit our embassy. + +小褉芯写薪懈 锌褉芯械泻褌懈 + + 校懈泻懈褑懈褌邪褌 校懈泻懈褑懈褌邪褌 +笑懈褌邪褌懈, 邪褎芯褉懈蟹屑懈, 泻褉懈谢邪褌懈 褎褉邪蟹懈 校懈泻懈褉械褔薪懈泻 校懈泻懈褉械褔薪懈泻 + 袦薪芯谐芯械蟹懈褔械薪 褉械褔薪懈泻 校懈泻懈泻薪懈谐懈 校懈泻懈泻薪懈谐懈 +袣薪懈谐懈, 褍褔械斜薪懈褑懈 懈 褉褗泻芯胁芯写褋褌胁邪 校懈泻懈薪芯胁懈薪懈 校懈泻懈薪芯胁懈薪懈 + 袧芯胁懈薪懈 + 袨斜褖芯屑械写懈褟 袨斜褖芯屑械写懈褟 +小胁芯斜芯写薪芯 褏褉邪薪懈谢懈褖械 校懈泻懈懈蟹褌芯褔薪懈泻 校懈泻懈懈蟹褌芯褔薪懈泻 +小胁芯斜芯写薪懈 懈蟹褌芯褔薪懈褑懈 校懈泻懈胁懈写芯胁械 校懈泻懈胁懈写芯胁械 + 袪械谐懈褋褌褗褉 薪邪 胁懈写芯胁械褌械 袦械褌邪褍懈泻懈 袦械褌邪褍懈泻懈 + 小褗谐谢邪褋褍胁邪薪械 薪邪 锌褉芯械泻褌懈褌械 +小褉芯写薪懈褌械 薪邪 校懈泻懈锌械写懈褟 锌褉芯械泻褌懈 褋械 锌芯写写褗褉卸邪褌 芯褌 肖芯薪写邪褑懈褟 校懈泻懈屑械写懈褟. + + 孝邪蟹懈 褋褌褉邪薪懈褑邪 械 蟹邪褖懈褌械薪邪. 袗泻芯 卸械谢邪械褌械 写邪 薪邪锌褉邪胁懈褌械 锌褉芯屑械薪懈, 屑芯谢褟 + 褉械写邪泻褌懈褉邪泄褌械 褌械褋褌芯胁邪褌邪 褋褌褉邪薪懈褑邪 懈谢懈 薪懈 芯褋褌邪胁械褌械 斜械谢械卸泻邪 薪邪 薪械泄薪邪褌邪 + 写懈褋泻褍褋懈芯薪薪邪 褋褌褉邪薪懈褑邪. + 袙蟹械褌芯 芯褌 + +袥懈褔薪懈 懈薪褋褌褉褍屑械薪褌懈 + + * 袪械谐懈褋褌褉懈褉邪薪械 懈谢懈 胁谢懈蟹邪薪械 + +袠屑械薪薪懈 锌褉芯褋褌褉邪薪褋褌胁邪 + + * 小褌邪褌懈褟 + * 袘械褋械写邪 + +袙邪褉懈邪薪褌懈 + +袩褉械谐谢械写懈 + + * 袩褉械谐谢械写 + * 袩褉械谐谢械写 薪邪 泻芯写邪 + * 袠褋褌芯褉懈褟 + +袛械泄褋褌胁懈褟 + +孝褗褉褋械薪械 + + ____________________ (Submit) 孝褗褉褋械薪械 + +袧邪胁懈谐邪褑懈褟 + + * 袧邪褔邪谢薪邪 褋褌褉邪薪懈褑邪 + * 袩芯褉褌邪谢 薪邪 芯斜褖薪芯褋褌褌邪 + * 小褗写褗褉卸邪薪懈械 + * 袩芯褋谢械写薪懈 锌褉芯屑械薪懈 + * 小谢褍褔邪泄薪邪 褋褌邪褌懈褟 + * 袩芯屑芯褖 + * 袛邪褉械薪懈褟 + +袠薪褋褌褉褍屑械薪褌懈 + + * 袣邪泻胁芯 褋芯褔懈 薪邪褋邪屑 + * 小胁褗褉蟹邪薪懈 锌褉芯屑械薪懈 + * 袣邪褔胁邪薪械 胁 袨斜褖芯屑械写懈褟 + * 小锌械褑懈邪谢薪懈 褋褌褉邪薪懈褑懈 + * 袙械褉褋懈褟 蟹邪 锌械褔邪褌 + * 袩芯褋褌芯褟薪薪邪 锌褉械锌褉邪褌泻邪 + * 笑懈褌懈褉邪薪械 薪邪 褋褌邪褌懈褟褌邪 + +袧邪 写褉褍谐懈 械蟹懈褑懈 + * 袩芯褋谢械写薪邪 锌褉芯屑褟薪邪 薪邪 褋褌褉邪薪懈褑邪褌邪: 20:16, 27 褟薪褍邪褉懈 2011. + * 孝械泻褋褌褗褌 械 写芯褋褌褗锌械薪 锌褉懈 褍褋谢芯胁懈褟褌邪 薪邪 谢懈褑械薪蟹邪 袣褉懈械泄褌懈胁 袣芯屑褗薪褋 + 袩褉懈蟹薪邪薪懈械 鈥 小锌芯写械谢褟薪械 薪邪 褋锌芯写械谢械薪芯褌芯 3.0; 胁 褋懈谢邪 屑芯卸械 写邪 懈屑邪 懈 + 写芯锌褗谢薪懈褌械谢薪懈 褍褋谢芯胁懈褟. 袟邪 锌芯写褉芯斜薪芯褋褌懈 胁懈卸褌械 校褋谢芯胁懈褟褌邪 蟹邪 锌芯谢蟹胁邪薪械. + + * 袟邪褖懈褌邪 薪邪 谢懈褔薪懈褌械 写邪薪薪懈 + * 袟邪 校懈泻懈锌械写懈褟 + * 校褋谢芯胁懈褟 蟹邪 锌芯谢蟹胁邪薪械 diff --git a/test/testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt b/test/testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt new file mode 100644 index 0000000..b37a0af --- /dev/null +++ b/test/testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt @@ -0,0 +1,248 @@ +袜鬣腠 耱疣龛鲟 + + 铗 予觇镥滂, 疋钺钿磬蜞 屙鲨觌铒邃 + 袜镳噔 犏: 磬忤汔鲨, 蝥瘃屙 + +念狃 漕! + + Wikipedia-logo.png + + 卿疣忮轵 漕狃 漕 予觇镥滂, 疋钺钿磬蜞 屙鲨觌铒邃 磬 镱忮麇 + 铗 250 彗桕, 觐蝾 怦尻 祛驽 溧 疱溧牝桊, 疣玮桢 钺钽囹. 狸 礤 + 珥噱蝈 铗犏溴 溧 玎镱黜弪, 镳屣铕忄戾 忤 溧 镳铟弪弪 耱疣龛鲟蜞 + 勏忤 耱觇 袜瘊黜桕 磬 箬觇镥滂囗弼! + + 销疴囹 耱囹 予觇镥滂 磬 狷脬囵耜 彗桕 聱玟噤屙 磬鬣腩蝾 磬 + 溴赍焘痂 2003 ., 祛戾眚 皴 疣犷蜩 镱 122 482 耱囹梃, 玎蝈龛 + 腓鲥礴 署桢轵桠 暑禚眈 - 橡桤磬龛 - 扬钿咫礤 磬 耧钿咫屙铗 + 髓鲥礴 玎 疋钺钿磬 漕牦戾眚圉 磬 猛. 翌忄 铉磬鬣忄, 麇 蝈 襦 + 疋钺钿龛 忤磬汨  狷溧 蜞觇忄! + + 念嵇腠栩咫磬 桧纛痨圉 镱脲珥 箨噻囗  铗牮桢蝈 镱痱嚯 磬 + 钺铖蝌. 枢蝾 磬鬣腩, 嚓 驽豚弪, 祛驽蝈 溧 疣瑛桊栩 耱囹蜞 玎 + 痤漤 耔 沭噤 桦 皴腩. + + 项痱嚯: 吏痂赅 龙脬囵 缅钽疣翳 赔痤镟 喷桕铉磬龛 + 如牦耱忸 锐蝾痂 髓黜铖蜩 锑赍漕龛 锑蝈爨蜩赅 体滂鲨磬 + 澡腩耦翳 义牦 聱徼蜩 + +如狃囗 赅痱桧赅 磬 溴 吾戾滂 + + Teide qtl1.jpg + + 麦腙囗 义殇 磬 枢磬瘃觇蝈 铖蝠钼, 锐镟龛 + 矽 桤狃囗 赅痱桧觇 (铒桉囗) + +袜 24 铌蝾焘痂 镳彗... + + 雁疣溧蜞 磬 威轭痍耜囹 纛礓钼 犷瘃 + * 1648 . - 项滹桉囗 洛耱羿腭觇 扈疱 漕泐忸, 觐轵 耠嚆 牮嚅 磬 + 茵桎羼弪泐滂囹 忸轫. + * 1877 . - 畜耜-蝮瘃赅 忸轫 (1877-1878): 耠邃 凌蜿囹 镳 妙痦 + 您犴桕, 想邂屙 磬嵇腠 钺襦溴 铗 痼耜囹 囵扈. + * 1929 . - 妙爨蜞 溴镳羼: 软溴犟栩 磬 威轭痍耜囹 纛礓钼 犷瘃 + (磬 耥桁赅蜞) 皴 耩桠囹 镱 怵屐 磬 "麇痦 麇蜮蝥", 觐弪 + 漕忮驿 漕 皴痂 铗 徉黻痼蜩 镳邃桤忤赈 疋弪钼磬 疱鲥耔. + * 1945 . - 橡桢 篑蜞恸 磬 勿汔龛玎鲨蜞 磬 钺邃桧屙栩 磬鲨. + * 1960 . - 橡 忡痂 磬 觐耢钿痼爨 拎殛铐箴, 恸珥桕磬 镳 + 桤镨蜮囗弪 磬 聱忮蝰赅蜞 徉腓耱梓磬 疣赍蜞 -16, 玎汨忄 铌铍 90 + 潴. + + 埋梓觇 溧蜩 矽 聱徼蜩... + +琼噱蝈 腓... + + 如 眍忤蝈 耱囹梃 予觇镥滂: + * 觐 磬-眍忤 桉蝾痂觐-囵蹂铍钽梓羼觇 疱珏疴囹 龙脬囵? + * 觐 忤玎眚栝耜 镱耠囗桕 溻铕 磬 莉桦? + * 麇 磬 耠邃忄蝾 疋弪钼眍 嵇疴屙耱忸 镱 蹯囹 玎 镳 嵇  + 桡疣 聱耱彗囹咫 铗 如疣咫? + * 觐 襦祛箨 狃栩囗耜 铘桷屦 铖眍忄忄 桁镥痂蜞 琉栩囗耜 软滂? + * 觐 蝾疳羼 犷玎轫桕 礤 镳栩彐噔 觐骓 蝾疳? + * 觐 邃桧耱忮龛 祛瘃觇 镥殓噫 磬 绣灬疣礓? + * 觐 嵇疴囹 钺襦溧 铗 羊钽钿桫磬蜞 忸轫? + * 觐 耱铗 疋弪 桤忮耱眍 磬-忤耦赅 觐眦屙蝠圉 磬 + 嚯徼龛琥 耩邃 躅疣蜞? + * 觐 耱铗 赔痤镟 钺栩噔囗 铗 磬-泐脲扈 疋弪 蜞狍 + 觐礤 磬 橡驽忄腭觇? + * 觐汔 疣玺铕扈痤忄磬 耠箧徉蜞 玎 玎蜞 磬 磬皴脲龛弪 磬 + 绣矬犭桕 龙脬囵? + * 镳邃耱噔栩咫栩 磬 觐 皴戾轳蜮 犷玎轫桷 襦 磬-牮囹赅 + 狃屐屙眍耱? + * 觐 尻珙镫囗弪 桁 磬-泐 镱蝈眦栲 玎 聱耱怏忄礤 磬 骅忸 + 玎皴汔? + * 觐 磬-犭桤赅蜞 镱 疣珈屦 漕 清蜞 尻珙镫囗弪 漕皴汔? + * 疣礻栩 磬 觐 磬鲨铐嚯屙 镟痍 皴 磬扈疣 怵 赔屦羼? + * 觐腙 忤溧 屐镨痂黜 纛痨箅 桁 蹊扈蜞? + * 觐 磬-耱箐屙铗 磬皴脲眍 耱 磬 清蜞? + * 觐 耱铍桷囹 磬 泥觇轳觐蝾 鲟瘃蜮? + * 麇 磬-玎镟漤铗 皴腩 畜禚龛 铖眍忄眍 铗 徉磬蝰觇 狷脬囵? + * 觐 磬-犭桤觇 漕 洛腓觐狃栩囗 麴屙耜 沭噤? + * 觐 邃眍 铗 爨腙铗 戾耱 赔痤镟, 觐弪 钺栩噔囗 铗 蝠栩 + 磬-泐脲扈 蹊桕 磬 觐眚桧屙蜞? + * 赅 皴 磬痂鬣 嵇疴栩 镥鬣蝽 觏桡? + * 觐 沐痨囗耜 翳玷 徼 眍扈龛疣 81 嵇蜩 玎 皖徨腩忄 磬沭噤, + 眍 礤 镱塍麒 龛蝾 忮漤? + * 觐 磬-耱囵囹 胥疣溧 痼禚眈觇 沭噤 诣扈囵? + * 觐 蝮瘃觇 疱忸膻鲨铐屦 忸殁钿 磬 绿形? + * 觐 狷脬囵耜 疱忸膻鲨铐屦 钺忮 玎 勏疣忮漤桕 磬 疋弪鄵? + + 鲤蹊 + +如狃囗 耱囹 磬 皴潇桷囹 + + 逆铐囫 琉噤 + + 逆铐囫 琉噤 (磬 囗汶栝耜: Jonas Brothers) 囔屦桕囗耜 祛祺屮赅 + 镱 沭箫. 勿桡桧嚯龛 玎皴汔 镱耱礤 聱耱噔 磬 沭箫囹 怅膻麾 + 蝠桁囹 狃囹 叔忤 逆铐囫, 逆 逆铐囫 丸 逆铐囫. 义 襦 铗 威 逆玷 + 耱噔囹 镱矬痦 黟彗 溴蝰觇 赅磬 蔫耥. 橡彗 蝾蝾 磬 2008 + 篦囫蜮囹 铕桡桧嚯龛 翳腱 磬 蔫耥 叔祜 蓄, 镳彗 2010 + 镳钿驽龛弪 祗, 叔祜 蓄 2: 项耠邃龛 觐眦屦. 翌忄 邃磬 铗 + 磬-镱矬痦栩 蜩轫彘滏耜 沭箫 玎 嵇疴铗 溴皴蜩脲蜩 磬 21 忮. + + 念 祛戾眚 沭箫囹 桁 桤溧溴龛 麇蜩痂 嚯狍爨: It's About Time, Jonas + Brothers, A Little Bit Longer Lines, Vines and Trying Times. 橡彗 + 2008 ., 磬 51-蝈 袜沭噤 灭囔, 眍扈龛疣磬 玎 勍嚅-漕狷 祀噤 + 桤嵇腠栩咫, 磬 漓屦桕囗耜栩 祗玷赅腠 磬沭噤 沭箫囹 镥麇腓 + 磬沭噤囹 玎 勀遽桊帙 桤嵇腠栩咫. 念 爨 2009 ., 镳邃 桤腓玎礤蝾 + 磬 麇蜮蜩 桁 嚯狍, 桁囹 磬 铖屐 扈腓铐 镳钿噤屙 嚯狍爨 镱 + 疋. 橡彗 2009 . 狃囹蜞 襦 桤狃囗 赅蝈泐痂黜 邃桧钿篪眍 玎 + 磬-腩 嚓螯铕 磬 2009- 恸 翳腱-觐眦屦 逆铐囫 琉噤: 3D + 觐眦屦蝥 磬 磬沭噤栩 勄豚蝽 爨腓黻鄵 (觐眚疣矬黻蝥 磬 磬沭噤栩 + 勎耜囵), 钺忮 玎 邃桧 铗 磬-腩蝈 翳腱 磬 泐滂磬蜞. 铢寤 + + 矽 桤狃囗 耱囹梃 + +漾潸疰囗桢 + + 翌忄 钺 镳邈脲 磬 赅蝈泐痂栩 予觇镥滂 镱 蝈扈. + +Architecture see also.svg 锐蝾痂 + + 锐蝾痂钽疣翳 项 屣铛 项 耱疣龛 项 蝈爨蜩赅 震铐桕 + +Nuvola apps package graphics.svg 鼠腧箴 + + 理桁圉 狸螯铕 喷桷 青徉怆屙 琼囔屙栩铖蜩 茹疣麝 + 茹痂 如牦耱忸 髓蝈疣蝮疣 砚弪钼磬 牦腧箴 体滂 惕蝾腩汨 + 腆珏 腆玷赅 橡噻龛鲨 朽滂 绣腓汨 扬铕 亦眦 + 义脲忤玷 茵噤桷梃 殷痂琥 藻耱桠嚯 澡腩耦翳 阵祛 + +Sciences exactes.svg 袜箨 + + 理蝠铒铍钽 鲤蹂铍钽 礼蝠铐铎 凌铍钽 暑耢铖 袜箨 玎 + 清蜞 软纛痨囹桕 锐蝾痂 磬 磬箨囹 体滂鲨磬 项腓蜩赅 + 橡桦铈龛 磬箨 橡桊钿龛 徨漶蜮 像桴铍钽 杨鲨铍钽 喻屙 + 澡玷赅 澡腩耦翳 磬 磬箨囹 砧扈 抨铍钽 + +Nuvola apps kpovmodeler.svg 锑蝈爨蜩赅 + + 离沐狃 理嚯桤 鲤栩戾蜩赅 缅铎弪痂 如戾疴囗 祟汨赅 + 橡桦铈磬 爨蝈爨蜩赅 羊囹桉蜩赅 义铕 磬 忮痤蝽铖蜩蝈 义铕 磬 + 麒耠囹 义铕屐 茵桡铐铎弪痂 阻耠 汝铐铎桕 + +Nuvola apps personal unisex.png 最忮 + + 吾疣珙忄龛 彦戾轳蜮 震囗屙 橡噻龛鲨 卿疣忮 疹疣 + 念爨 骅忸蝽 + +Terrestrial globe.svg 缅钽疣翳 + + 吏痂赅 理蜞痍蜩溧 犁 棱耱疣腓 赔痤镟 彦忮痦 漓屦桕 + 侮遴龛 捩磬 漓屦桕 + 灭噤钼 您疰噔 绣脲 孰桁囹 袜鲨铐嚯龛 镟痍钼 彦腓 + 雁疣滂 湾漯 + +Nuvola apps kuser.svg 吾耱忸 + + 阵爨龛蜞痦 (吾耱忮龛) 磬箨 理蝠铒铍钽 鲤蹂铍钽 + 棱蝾爨蜩玎鲨 凌珥羼 暑祗龛赅鲨 腻祛沭圄 汝铐铎桕 + 袜痤滂 澡磬眈 您疰噔眍 箫疣怆屙桢 锐蝾痂 橡铎桫脲眍耱 + 橡噔 髓磴忤耱桕 体滂 勿汔龛玎鲨 澡腩耦翳 项腓蝾腩汨 + 像桴铍钽 杨鲨铍钽 彦犟铍钽 骂轫 + +Nuvola apps kcmsystem.svg 义蹴桕 蝈蹴铍钽梃 + + 彦腭觐 耱铒囗耱忸 鲤蹊蝈牝箴 凌铗艴眍腩汨 骂屙龛 蝈蹴铍钽梃 + 烹尻蝠铐桕 锑韔耱痤屙 软蝈痦弪 软纛痨圉桀眄 蝈蹴铍钽梃 + 体滂鲨磬 袜眍蝈蹴铍钽 咪疱磬 蝈蹴桕 义脲觐祗龛赅鲨 + 软耱痼戾眚 茵囗耧铕 佯邃耱忄 玎 镳桎忤驸囗 彭屦沐蜩赅 + +项 噻狍麇 疱 + + + + If you don't speak Bulgarian, please visit our embassy. + +佯钿龛 镳铄牝 + + 予觇鲨蜞 予觇鲨蜞 +骤蜞蜩, 圄铕桤扈, 牮桦囹 麴噻 予觇疱黜桕 予觇疱黜桕 + 添钽铄玷麇 疱黜桕 予觇觏桡 予觇觏桡 +薯桡, 篦遽龛鲨 瘊觐忸漶蜮 予觇眍忤龛 予觇眍忤龛 + 皖忤龛 + 吾戾滂 吾戾滂 +砚钺钿眍 躔囗桦棂 予觇桤蝾黜桕 予觇桤蝾黜桕 +砚钺钿龛 桤蝾黜桷 予觇忤漕忮 予觇忤漕忮 + 绣汨耱 磬 忤漕忮蝈 体蜞箬觇 体蜞箬觇 + 漾汶囫筲囗 磬 镳铄牝栩 +佯钿龛蝈 磬 予觇镥滂 镳铄牝 皴 镱滗驵 铗 灶礓圉 予觇戾滂. + + 亦玷 耱疣龛鲟 玎蝈磬. 狸 驽豚弪 溧 磬镳噔栩 镳铎屙, 祛 + 疱溧牝桊嚅蝈 蝈耱钼囹 耱疣龛鲟 桦 龛 铖蜞忮蝈 徨脲骊 磬 礤轫囹 + 滂耜篑桀眄 耱疣龛鲟. + 络弪 铗 + +髓黜 桧耱痼戾眚 + + * 绣汨耱痂疣礤 桦 怆桤囗 + +褥屙龛 镳铖蝠囗耱忄 + + * 羊囹 + * 铃皴溧 + +锣痂囗蜩 + +橡邈脲滂 + + * 橡邈脲 + * 橡邈脲 磬 觐溧 + * 锐蝾痂 + +腻轳蜮 + +寅瘃屙 + + ____________________ (Submit) 寅瘃屙 + +袜忤汔鲨 + + * 袜鬣腠 耱疣龛鲟 + * 项痱嚯 磬 钺铖蝌 + * 漾潸疰囗桢 + * 项耠邃龛 镳铎屙 + * 央篦嚅磬 耱囹 + * 项祛 + * 泥疱龛 + +软耱痼戾眚 + + * 枢赈 耦麒 磬襦 + * 砚玎龛 镳铎屙 + * 枢麾囗 吾戾滂 + * 扬弼栲腠 耱疣龛鲨 + * 洛瘃 玎 镥鬣 + * 项耱眄 镳屣疣蜿 + * 骤蜩疣礤 磬 耱囹蜞 + +袜 漯筱 彗桷 + * 项耠邃磬 镳铎磬 磬 耱疣龛鲟蜞: 20:16, 27 眢囵 2011. + * 义犟蝥 漕耱屙 镳 篑腩忤蜞 磬 腓鲥礴 署桢轵桠 暑禚眈 + 橡桤磬龛 扬钿咫礤 磬 耧钿咫屙铗 3.0; 耔豚 祛驽 溧 桁 + 漕嵇腠栩咫龛 篑腩忤. 青 镱漯钺眍耱 忤骝 玉腩忤蜞 玎 镱腌忄礤. + + * 青蜞 磬 腓黜栩 溧眄 + * 青 予觇镥滂 + * 玉腩忤 玎 镱腌忄礤 diff --git a/test/testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt b/test/testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt new file mode 100644 index 0000000..4d4a787 --- /dev/null +++ b/test/testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt @@ -0,0 +1,417 @@ +Hlavn strana + + Z Wikipedie, otev鴈n encyklopedie + Sko鑙t na: Navigace, Hled醤 + + V韙ejte ve Wikipedii, + internetov encyklopedii, kterou me ka綿 upravovat. + + Kultura Kultura + Geografie Geografie + Historie Historie + + Matematika Matematika + Lid Lid + Filosofie Filosofie + + V靌a V靌a + Spole鑞ost Spole鑞ost + Technologie Technologie + 萫sk verze Wikipedie zah醞ila svoji 鑙nnost v roce 2002, nyn m ji + 209 883 鑜醤k. + Prohl閐n靦e si nejlep鬼 z nich, na p韘kovi箃i si vyzkou筫jte, jak se + edituje, nebo diskutujte na str醤ce Pod l韕ou. + Pr鵹odce N醦ov靌a Pt醫e se (FAQ) AZ Port醠 Wikipedie (rychl + orientace) Ozn醡en Pod l韕ou Kontakt + Other languages icon.svg + Jin jazyky | Embassy + Clanektydne.gif + 萳醤ek t齞ne + HMS Victory v bitv u Trafalgaru + + England expects that every man will do his duty (鑕sky Anglie + o鑕k醰, 緀 ka綿 mu spln svou povinnost) byl n醡o鴑 vlajkov + sign醠 vyslan z vlajkov lodi viceadmir醠a Horatia Nelsona HMS Victory + jako zah醞en bitvy u Trafalgaru proti n醡o鴑ictvu napoleonsk Francie + 21. jna 1805. Bitva u Trafalgaru byla osudov pro Napoleonovo + Francouzsk c韘a鴖tv jako n醡o鴑 velmoc. Spojen kr醠ovstv z韘kalo + p鴈vahu na mo鴌 a zma鴌lo tak v筫chny nad靔e na francouzsk vylod靚 na + britsk齝h ostrovech. + + Jakmile se britsk lod p鴌bl砭ily ke spojen閙u neptelsk閙u lo飐tvu, + viceadmir醠 Nelson signalizoval ze sv lodi nezbytn instrukce ostatn韒 + lod韒 britsk閔o lo飐tva. V靌om si nast醰aj韈韈h nesnadn齝h ud醠ost, + pova緊val za nezbytn u鑙nit n靋o zvl峁tn韍o. Nadil proto sv閙u + sign醠n韒u d鵶tojn韐ovi, poru桧ku Johnu Pascovi, aby co nejrychleji + signalizoval ostatn韒 zpr醰u England confides that every man will do + his duty Anglie spol閔, 緀 ka綿 mu spln svou povinnost. + Poru桧k Pasco viceadmir醠ovi navrhl zam靚it v齬az confides za + expects, proto緀 sign醠 expect se ji nach醶el v knize n醡o鴑韈h + k骴, zat韒co slovo confides by se muselo signalizovat p韘meno po + p韘menu. Nelson se zm靚ou souhlasil, p鴈sto緀 v齬az expect nevyjad鴒val + takovou m韗u osobn zodpov靌nosti, jakou by si b齰al pl. + A鑛oliv ohledn p鴈sn閔o zn靚 sign醠u se po bitv vedla 鴄da spor, + v齴nam v韙靭stv u Trafalgaru a smrt viceadmir醠a Nelsona v bitv + zp鵶obily, 緀 se toto 鷖lov mezi Brity roz鬼鴌lo a b齰 od t doby + 鑑sto u卷v醤o a parafr醶ov醤o a do dne筺韈h dn. + Archiv Nejlep鬼 鑜醤ky Dal鬼 dobr 鑜醤ky + Viteze.gif + V韙e, 緀 + Mlad plodnice v醕lavky obecn + * podhoub v醕lavky obecn v noci sv靦閘kuje? + * dirigent Jevgenij Mravinskij m靗 f骲ii z vystupov醤 a n靕dy + p鴈nech醰al na posledn chv韑i zen koncert sv齧 pomocn韐鵰? + * prvn bojov let uskute鑞il 22. jna 1911 kapit醤 Riccardo Moizo? + * Karibsk Nizozemsko nepou卷v jako svoji m靚u euro, n齜r americk + dolar? + + Nejnov靔鬼 鑜醤ky Dal鬼 zaj韒avosti + Kategorie.gif + Listov醤 kategoriemi + + Exquisite-opera.png + +Prodn v靌y + + Astronomie Biologie Fyzika Geografie Geologie Chemie + Informatika Logika Matematika + Gohomenew.png + +Humanitn a spole鑕nsk v靌y + + Architektura Ekonomie Filosofie Historie Lingvistika + Pedagogika Pr醰o Psychologie Sociologie Teologie + Exquisite-kfm home.png + +Znalosti a technika + + Doprava Dorozum韛醤 Obchod Pr鵰ysl Vojenstv Zdravotnictv + Zem靌靗stv + Exquisite-amorok.png + +Kultura a spole鑞ost + + Divadlo Film Fotografie Gastronomie Hudba Lid Literatura + Mytologie N醔o緀nstv Politika Sport Tanec Turistika + Um靚 Z醠iby + +Jin rejstky + + Seznamy Kalend狲 Stalet a roky V靌a V靌y o Zemi Strom + kategori V筫chny kategorie Port醠y + Dal鬼 informace + Portal.svg + Tematick port醠y + * Geografie: Alb醤ie 羫erb醞d踞n Balk醤 Belgie Bosna a + Hercegovina Brno 萫rn Hora 萫sko 软na Estonsko EU + Faersk ostrovy Finsko Francie Gruzie Hradec Kr醠ov + Chorvatsko Indie 蛂醤 Irsko Island It醠ie Izrael + Japonsko Kanada Karlovy Vary Kazachst醤 Korea Kosovo + Krom禅砭 Latinsk Amerika Liberec Litva Loty箂ko + Lucembursko Ma颽rsko Makedonie Morava Most N靘ecko + Nizozemsko Om醤 Ostrava Plze Polsko Portugalsko + Praha Prost靔ov Rakousko Rusko 豦cko Skotsko + Slovensko Slovinsko Spojen kr醠ovstv Srbsko St鴈dn + Amerika a Karibik ﹍uknovsk v齜炀ek ﹑an靗sko ﹙閐sko + ﹙齝arsko Tibet T鴈b龛 T鴈b龛sko USA Vatik醤 Vietnam + Vy筴ov Washington + + * V靌y: Astronomie Biologie Ekonomie Fytoenergetika a + kompost醨enstv Fyzika Chemie Informa鑞 v靌a a + knihovnictv Jazyk Kosmonautika Matematika Medic韓a + Planet醨n v靌y Pr醰o Psychologie + + * Historie: Prav靕 Starov靕 Starov靕 Egypt Starov靕 仨m + Antika St鴈dov靕 Byzantsk 筫 K緊v v齪ravy Osmansk + 筫 Novov靕 Kolonialismus Prvn sv靦ov v醠ka + 萫skoslovensk opevn靚 Druh sv靦ov v醠ka Komunistick re緄m + v 萫skoslovensku + + * Um靚: Anime & Manga N醔ytk狲stv Harry Potter Hudba + Hv靭dn br醤a Film Fotografie Literatura Simpsonovi Star + Trek Televize Tolkien Vet鴈lec vs. Pred醫or + + * N醔o緀nstv: Bible Hebraistika K鴈s籥nstv Buddhismus + Hinduismus J骻a + + * Doprava: Autobusov Automobil Letectv Lo飐tvo Metro + Tramvajov Trolejbusov 甧leznice + + * Sport: Florbal Formule 1 Fotbal Ledn hokej Orienta鑞 + b靐 Ralye ゛chy Tenis + + * Proda: Dinosau鴌 Entomologie Houby Kon Psi Pt醕i + Rostliny 甶vo鑙chov 甶votn prost鴈d + + * Ostatn: BDSM 萢j 萫sk jazyk Filosofie Linux Lid + Pivo Po桧ta鑟v hry Politika Sexualita Svobodn software + T炀ba V醠ka Zahrada a zahradnictv + + Dal鬼 informace + Crystal 128 xpaint.gif + Obr醶ek t齞ne + Ledovec Gornergletscher + Ledovec Gornergletscher nedaleko Zermattu ve ﹙齝arsku + Archiv Dal鬼 informace + Aktuality.gif + Aktuality + + 21. jen p醫ek + + * Flag of Slovenia.svg Slovinsk prezident Danilo T黵k minutu po + p鵯noci rozpustil St醫n shrom峋d靚 Republiky Slovinsko a vyhl醩il + p鴈d鑑sn volby. + + 20. jen 鑤vrtek + + * Flag of Libya.svg St鴈ln齧 zran靚韒 p鴌 zat齥醤 podlehl libyjsk + v鵧ce plukovn韐 Muammar Kadd醘. + + 18. jna 鷗er + + * Flag of Israel.svg Flag of Hamas.svg Po v韈e ne p靦i letech + v靭n靚 Ham醩em byl propu箃靚 izraelsk voj醟 Gilad ゛lit. + Podm韓kou v齧靚y je propu箃靚 v韈e ne 1000 palestinsk齝h v靭n a + tyto nerovn podm韓ky jsou p鑙nou siln kritiky ze strany + izraelsk齝h radik醠. + + 15. jna sobota + + * Flag of World.svg Po cel閙 sv靦 vypukly v r醡ci projektu Jednotn + za zm靚u sv靦a, inspirovan閔o hnut韒 Occupy Wall Street, + demonstrace, na kter齝h lid protestuj proti vl醖n韒 筴rt鵰 a + 鷇ajn nemravn閙u chov醤 velk齝h finan鑞韈h korporac. Demonstrace + byly napl醤ov醤y v 951 m靤tech, mezi nimi nechyb靗a ani Praha. + * Flag of Europe.svg Flag of Greece.svg N醰rh na zdvojn醩oben jm靚 + Mezin醨odn韍o m靚ov閔o fondu tak, aby mohl inn pomoci + zadlu緀n閙u 豦cku, byl na zased醤 ministr financ zem G20 + zam韙nut. ﹍o o n醰rh Braz韑ie, Ruska, Indie, 软ny a Jihoafrick + republiky. Nepro筫l hlavn kv鵯i odporu Spojen齝h st醫 a Kanady. + + 13. jna 鑤vrtek + + * Flag of Slovakia.svg Slovensk parlament schv醠il psp靨ek do + z醕hrann閔o fondu euroz髇y (EFSF) na pomoc zadlu緀n齧 zem韒 ve vi + 7,7 miliardy eur (190 miliard K). Poslanci ji p鴈dt韒 odhlasovali + vl醖n n醰rh 鷖tavn韍o z醟ona o zkr醕en volebn韍o obdob, kter + umo緉 kon醤 p鴈d鑑sn齝h voleb. Opozi鑞 soci醠n demokrat za to + vl醖 sl韇ili podporu schv醠en eurofondu. + + 11. jna 鷗er + + * Flag of Slovakia.svg Slovensk vl醖a Ivety Radi鑟v prohr醠a + hlasov醤 o d鵹禅e, se kter齧 spojila schvalov醤 pomoci + zadlu緀n閙u 豦cku. + * Flag of Ukraine.svg B齰al premi閞ka Ukrajiny Julija Tymo筫nkov + byla odsouzena k sedmilet閙u trestu v靭en za p鴈kro鑕n pravomoc + p鴌 podpisu smlouvy o dod醰k醕h rusk閔o plynu. Podrobn靔鬼 鑜醤ek + na Wikizpr醰醕h: Tymo筫nkov m j韙 na sedm let do v靭en + + 10. jna pond靗 + + * Flag of the Czech Republic.svg V韙靭em 17. ro鑞韐u sout炀e Czech + Press Photo se stal Stanislav Krupa z 鑑sopisu Reflex se sn韒kem z + nepokoj na ﹍uknovsku. + * Flag of Sweden.svg Flag of the United States.svg Laure醫y Nobelovy + cena za ekonomii se stali ameri鑤 ekonomov Christopher A. Sims a + Thomas J. Sargent. Podrobn靔鬼 鑜醤ek na Wikizpr醰醕h: Sargent a + Sims vyznamen醤i Nobelovou cenou za ekonomii + + Wikizpr醰y Wikizpr醰y + Exquisite-kalarm.gif + 21. jen v minulosti + + HoratioNelson1.jpg + * 1125 Zem鴈l Kosmas, autor Kroniky 鑕sk (Chronica Boemorum). + * 1435 Jan Rokycana byl 鑕sk齧 sn靘em zvolen za spole鑞閔o + pra緎k閔o arcibiskupa katol韐 i kali筺韐. + * 1600 Iejasu Tokugawa porazil v鵧ce soupec韈h japonsk齝h klan + v bitv u Sekigahary, co je pokl醖醤o za po栳tek 贵gun醫u + Tokugawa. + * 1805 Bitva u Trafalgaru: admir醠 Nelson (na obr醶ku) rozdrtil + v 鑕le britsk閔o lo飐tva francouzsk a 筽an靗sk n醡o鴑 s韑y. + * 1940 Uskute鑞ila se prvn ofici醠n j韟da visut lanovky + Tatransk Lomnica Lomnick 箃韙. + * 1941 萫skoslovensk p旃 prapor 11 V齝hodn pod velen韒 + podplukovn韐a Karla Klap醠ka pos韑il obranu Tobr鷎u. + + Dal鬼 v齬o桧 + Redakce.gif + Redakce + + Pomoc + V韙ejte ve Wikipedii Rady a informace pro p鴌sp靨atele 萢sto + kladen ot醶ky Jak vytvo鴌t 鑜醤ek Jak editovat str醤ku Vzhled a + styl Obr醶ky Pravopisn pravidla O kategori韈h Psan dat + 萢st chyby Pot鴈buji pomoc Wikipedist Diskuse o smaz醤 + ゛blony Jak citovat Wikipedii + + O Wikipedii + Po綼dovan 鑜醤ky U緄te鑞 informace Kompletn seznam 鑜醤k + Velvyslanectv Wikipedie + Dal鬼 informace + Nuvola apps kdf.gif + Ostatn projekty + + Wikipedii provozuje neziskov nadace Wikimedia Foundation, kter + spravuje i 鴄du dal鬼ch otev鴈n齝h mnohojazy鑞齝h wiki projekt: + logo Wikislovn韐 logo Wikizdroje logo Wikicit醫y logo Wikiknihy logo + Wikizpr醰y logo Wikiverzita logo Wikidruhy logo Wikimedia Commons logo + Meta-Wiki + Wikislovn韐 Wikizdroje Wikicit醫y Wikiknihy Wikizpr醰y Wikiverzita + Wikidruhy Commons Meta-Wiki + V齥ladov slovn韐 Voln dostupn dokumenty Sb韗ka cit醫 Voln dostupn + knihy a manu醠y Otev鴈n zpravodajstv Voln dostupn vzd靗醤 Adres狲 + biologick齝h druh Sd韑en sb韗ka m閐i Koordinace v筫ch projekt + Wikimedia + Crystal 128 locale.gif + Ostatn jazyky + + Flag of the United Kingdom.svg Angli鑤ina (English) Flag of + France.svg Francouz箃ina (Fran鏰is) Flag of Germany.svg N靘鑙na + (Deutsch) Flag of Poland.svg Pol箃ina (Polski) Flag of Russia.svg +Ru箃ina () Flag of Slovakia.svg Sloven箃ina (Sloven鑙na) + Flag of Spain.svg ﹑an靗箃ina (Espaol) + + Vybran dal鬼 jazyky (Wikipedie s v韈e ne 150 000 鑜醤ky jsou uvedeny + tu鑞): + + Angli鑤ina zjednodu筫n (Simple English) Arab箃ina + ( Al-'arabiy) Baski鑤ina (Euskara) B靗oru箃ina + (/Belaruskaja) Bulhar箃ina (/B鉲garski) 软n箃ina + ( Zhngw閚) D醤箃ina (Dansk) Dolnolu緄ck srb箃ina (Dolnoserbski) + Esperanto Eston箃ina (Eesti) Fin箃ina (Suomi) Galicij箃ina + (Galego) Hebrej箃ina ( 'Ivrt) Hind箃ina (Hind) + Hornolu緄ck srb箃ina (Hornjoserbsce) Chorvat箃ina (Hrvatski) Ido + Indon楣tina (Bahasa Indonesia) Interlingua Ir箃ina (Gaeilge) + Ital箃ina (Italiano) Japon箃ina ( Nihongo) Katal醤箃ina (Catal) + Korej箃ina ( Hangukeo) Latina Litev箃ina (Lietuvi) + Loty箃ina (Latvie箄) Ma颽r箃ina (Magyar) Malaj箃ina (Bahasa Melayu) + Nizozem箃ina (Nederlands) Nor箃ina (Norsk nynorsk) + Nor箃ina (Norsk bokml) Per箃ina ( P鈘si) Portugal箃ina + (Portugus) Rumun箃ina (Rom鈔) Rus韓箃ina () + 豦鑤ina (/Ellinika) Slez箃ina (鵱ski) + Slovin箃ina (Sloven硅ina) Srb箃ina (/srpski) ﹙閐箃ina + (Svenska) Thaj箃ina ( phasa thai) Ture鑤ina (T黵k鏴) + Ukrajin箃ina (/Ukrajinska) Vel箃ina (Cymraeg) + Vietnam箃ina (Ting Vit) + __________________________________________________________________ + + Seznam jazyk Wikipedie + + V筫chny 鑜醤ky | Nov 鑜醤ky | Sirot桧 str醤ky | Kategorie | Obnovit + cache + +NAHORU + + Citov醤o z + http://cs.wikipedia.org/w/index.php?title=Hlavn%C3%AD_strana&oldid=630 + 0268 + +Osobn n醩troje + + * P鴌hl峁en / vytvo鴈n tu + +Jmenn prostory + + * 萳醤ek + * Diskuse + +Varianty + +Zobrazen + + * 软st + * Zobrazit zdroj + * Zobrazit historii + +Akce + +Hled醤 + + ____________________ (Submit) Hledat + +Navigace + + * Hlavn strana + * Port醠 Wikipedie + * Aktuality + * Pod l韕ou + * Posledn zm靚y + * N醜odn 鑜醤ek + * N醦ov靌a + * Podpo鴗e Wikipedii + +Tisk/export + + * Vytvo鴌t knihu + * St醜nout jako PDF + * Verze k tisku + +N醩troje + + * Odkazuje sem + * Souvisej韈 zm靚y + * Na桧st soubor + * Speci醠n str醤ky + * Trval odkaz + * Citovat str醤ku + +V jin齝h jazyc韈h + + * + * + * Catal + * Dansk + * Deutsch + * Dolnoserbski + * + * English + * Espaol + * Eesti + * Esperanto + * Euskara + * + * Suomi + * Fran鏰is + * Galego + * + * Hrvatski + * Hornjoserbsce + * Magyar + * Bahasa Indonesia + * Italiano + * + * + * Lietuvi + * Bahasa Melayu + * Nederlands + * Norsk (nynorsk) + * Norsk (bokml) + * Polski + * Portugus + * Rom鈔 + * + * Sloven鑙na + * Sloven硅ina + * Simple English + * / Srpski + * Svenska + * T黵k鏴 + * + * Ting Vit + * + * + + * Str醤ka byla naposledy editov醤a 5. 1. 2011 v 12:51. + * Text je dostupn pod licenc Creative Commons Uve飔e autora + Zachovejte licenci 3.0 Unported, ppadn za dal鬼ch podm韓ek. + Podrobnosti naleznete na str醤ce Podm韓ky u緄t. + + * Ochrana osobn韈h 鷇aj + * O Wikipedii + * Vylou鑕n odpov靌nosti + * Mobiln verze + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt b/test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt new file mode 100644 index 0000000..ec4b8c4 --- /dev/null +++ b/test/testdata/cz/UTF-8/wikitop_cz_UTF-8.txt @@ -0,0 +1,415 @@ + Z Wikipedie, otev艡en茅 encyklopedie + Sko膷it na: Navigace, Hled谩n铆 + + V铆tejte ve Wikipedii, + internetov茅 encyklopedii, kterou m暖啪e ka啪d媒 upravovat. + + Kultura Kultura + Geografie Geografie + Historie Historie + + Matematika Matematika + Lid茅 Lid茅 + Filosofie Filosofie + + V臎da V臎da + Spole膷nost Spole膷nost + Technologie Technologie + 膶esk谩 verze Wikipedie zah谩jila svoji 膷innost v roce 2002, nyn铆 m谩 ji啪 + 209 883 膷l谩nk暖. + Prohl茅dn臎te si nejlep拧铆 z nich, na p铆skovi拧ti si vyzkou拧ejte, jak se + edituje, nebo diskutujte na str谩nce Pod l铆pou. + Pr暖vodce 鈥 N谩pov臎da 鈥 Pt谩te se (FAQ) 鈥 A鈥揨 鈥 Port谩l Wikipedie (rychl谩 + orientace) 鈥 Ozn谩men铆 鈥 Pod l铆pou 鈥 Kontakt + Other languages icon.svg + Jin茅 jazyky | Embassy + Clanektydne.gif + 膶l谩nek t媒dne + HMS Victory v bitv臎 u Trafalgaru + + 鈥濫ngland expects that every man will do his duty鈥 (膷esky 鈥濧nglie + o膷ek谩v谩, 啪e ka啪d媒 mu啪 spln铆 svou povinnost鈥) byl n谩mo艡n铆 vlajkov媒 + sign谩l vyslan媒 z vlajkov茅 lodi viceadmir谩la Horatia Nelsona HMS Victory + jako zah谩jen铆 bitvy u Trafalgaru proti n谩mo艡nictvu napoleonsk茅 Francie + 21. 艡铆jna 1805. Bitva u Trafalgaru byla osudov谩 pro Napoleonovo + Francouzsk茅 c铆sa艡stv铆 jako n谩mo艡n铆 velmoc. Spojen茅 kr谩lovstv铆 z铆skalo + p艡evahu na mo艡i a zma艡ilo tak v拧echny nad臎je na francouzsk茅 vylod臎n铆 na + britsk媒ch ostrovech. + + Jakmile se britsk茅 lod臎 p艡ibl铆啪ily ke spojen茅mu nep艡谩telsk茅mu lo膹stvu, + viceadmir谩l Nelson signalizoval ze sv茅 lodi nezbytn茅 instrukce ostatn铆m + lod铆m britsk茅ho lo膹stva. V臎dom si nast谩vaj铆c铆ch nesnadn媒ch ud谩lost铆, + pova啪oval za nezbytn茅 u膷init n臎co zvl谩拧tn铆ho. Na艡铆dil proto sv茅mu + sign谩ln铆mu d暖stojn铆kovi, poru膷铆ku Johnu Pascovi, aby co nejrychleji + signalizoval ostatn铆m zpr谩vu 鈥濫ngland confides that every man will do + his duty鈥 鈥 鈥濧nglie spol茅h谩, 啪e ka啪d媒 mu啪 spln铆 svou povinnost鈥. + Poru膷铆k Pasco viceadmir谩lovi navrhl zam臎nit v媒raz 鈥瀋onfides鈥 za + 鈥瀍xpects鈥, proto啪e sign谩l 鈥瀍xpect鈥 se ji啪 nach谩zel v knize n谩mo艡n铆ch + k贸d暖, zat铆mco slovo 鈥瀋onfides鈥 by se muselo signalizovat p铆smeno po + p铆smenu. Nelson se zm臎nou souhlasil, p艡esto啪e v媒raz expect nevyjad艡oval + takovou m铆ru osobn铆 zodpov臎dnosti, jakou by si b媒val p艡谩l. + A膷koliv ohledn臎 p艡esn茅ho zn臎n铆 sign谩lu se po bitv臎 vedla 艡ada spor暖, + v媒znam v铆t臎zstv铆 u Trafalgaru a smrt viceadmir谩la Nelsona v bitv臎 + zp暖sobily, 啪e se toto 煤slov铆 mezi Brity roz拧铆艡ilo a b媒v谩 od t茅 doby + 膷asto u啪铆v谩no a parafr谩zov谩no a啪 do dne拧n铆ch dn铆. + Archiv 鈥 Nejlep拧铆 膷l谩nky 鈥 Dal拧铆 dobr茅 膷l谩nky鈥 + Viteze.gif + V铆te, 啪e鈥 + Mlad茅 plodnice v谩clavky obecn茅 + * 鈥odhoub铆 v谩clavky obecn茅 v noci sv臎t茅lkuje? + * 鈥irigent Jevgenij Mravinskij m臎l f贸bii z vystupov谩n铆 a n臎kdy + p艡enech谩val na posledn铆 chv铆li 艡铆zen铆 koncert暖 sv媒m pomocn铆k暖m? + * 鈥rvn铆 bojov媒 let uskute膷nil 22. 艡铆jna 1911 kapit谩n Riccardo Moizo? + * 鈥aribsk茅 Nizozemsko nepou啪铆v谩 jako svoji m臎nu euro, n媒br啪 americk媒 + dolar? + + Nejnov臎j拧铆 膷l谩nky 鈥 Dal拧铆 zaj铆mavosti鈥 + Kategorie.gif + Listov谩n铆 kategoriemi + + Exquisite-opera.png + +P艡铆rodn铆 v臎dy + + Astronomie 鈥 Biologie 鈥 Fyzika 鈥 Geografie 鈥 Geologie 鈥 Chemie 鈥 + Informatika 鈥 Logika 鈥 Matematika + Gohomenew.png + +Humanitn铆 a spole膷ensk茅 v臎dy + + Architektura 鈥 Ekonomie 鈥 Filosofie 鈥 Historie 鈥 Lingvistika 鈥 + Pedagogika 鈥 Pr谩vo 鈥 Psychologie 鈥 Sociologie 鈥 Teologie + Exquisite-kfm home.png + +Znalosti a technika + + Doprava 鈥 Dorozum铆v谩n铆 鈥 Obchod 鈥 Pr暖mysl 鈥 Vojenstv铆 鈥 Zdravotnictv铆 鈥 + Zem臎d臎lstv铆 + Exquisite-amorok.png + +Kultura a spole膷nost + + Divadlo 鈥 Film 鈥 Fotografie 鈥 Gastronomie 鈥 Hudba 鈥 Lid茅 鈥 Literatura 鈥 + Mytologie 鈥 N谩bo啪enstv铆 鈥 Politika 鈥 Sport 鈥 Tanec 鈥 Turistika 鈥 + Um臎n铆 鈥 Z谩liby + +Jin茅 rejst艡铆ky + + Seznamy 鈥 Kalend谩艡 鈥 Stalet铆 a roky 鈥 V臎da 鈥 V臎dy o Zemi 鈥 Strom + kategori铆 鈥 V拧echny kategorie 鈥 Port谩ly + Dal拧铆 informace鈥 + Portal.svg + Tematick茅 port谩ly + * Geografie: Alb谩nie 鈥 脕zerb谩jd啪谩n 鈥 Balk谩n 鈥 Belgie 鈥 Bosna a + Hercegovina 鈥 Brno 鈥 膶ern谩 Hora 鈥 膶esko 鈥 膶铆na 鈥 Estonsko 鈥 EU 鈥 + Faersk茅 ostrovy 鈥 Finsko 鈥 Francie 鈥 Gruzie 鈥 Hradec Kr谩lov茅 鈥 + Chorvatsko 鈥 Indie 鈥 脥r谩n 鈥 Irsko 鈥 Island 鈥 It谩lie 鈥 Izrael 鈥 + Japonsko 鈥 Kanada 鈥 Karlovy Vary 鈥 Kazachst谩n 鈥 Korea 鈥 Kosovo 鈥 + Krom臎艡铆啪 鈥 Latinsk谩 Amerika 鈥 Liberec 鈥 Litva 鈥 Loty拧sko 鈥 + Lucembursko 鈥 Ma膹arsko 鈥 Makedonie 鈥 Morava 鈥 Most 鈥 N臎mecko 鈥 + Nizozemsko 鈥 Om谩n 鈥 Ostrava 鈥 Plze艌 鈥 Polsko 鈥 Portugalsko 鈥 + Praha 鈥 Prost臎jov 鈥 Rakousko 鈥 Rusko 鈥 艠ecko 鈥 Skotsko 鈥 + Slovensko 鈥 Slovinsko 鈥 Spojen茅 kr谩lovstv铆 鈥 Srbsko 鈥 St艡edn铆 + Amerika a Karibik 鈥 艩luknovsk媒 v媒b臎啪ek 鈥 艩pan臎lsko 鈥 艩v茅dsko 鈥 + 艩v媒carsko 鈥 Tibet 鈥 T艡eb铆膷 鈥 T艡eb铆膷sko 鈥 USA 鈥 Vatik谩n 鈥 Vietnam 鈥 + Vy拧kov 鈥 Washington + + * V臎dy: Astronomie 鈥 Biologie 鈥 Ekonomie 鈥 Fytoenergetika a + kompost谩renstv铆 鈥 Fyzika 鈥 Chemie 鈥 Informa膷n铆 v臎da a + knihovnictv铆 鈥 Jazyk 鈥 Kosmonautika 鈥 Matematika 鈥 Medic铆na 鈥 + Planet谩rn铆 v臎dy 鈥 Pr谩vo 鈥 Psychologie + + * Historie: Prav臎k 鈥 Starov臎k 鈥 Starov臎k媒 Egypt 鈥 Starov臎k媒 艠铆m 鈥 + Antika 鈥 St艡edov臎k 鈥 Byzantsk谩 艡铆拧e 鈥 K艡铆啪ov茅 v媒pravy 鈥 Osmansk谩 + 艡铆拧e 鈥 Novov臎k 鈥 Kolonialismus 鈥 Prvn铆 sv臎tov谩 v谩lka 鈥 + 膶eskoslovensk茅 opevn臎n铆 鈥 Druh谩 sv臎tov谩 v谩lka 鈥 Komunistick媒 re啪im + v 膶eskoslovensku + + * Um臎n铆: Anime & Manga 鈥 N谩bytk谩艡stv铆 鈥 Harry Potter 鈥 Hudba 鈥 + Hv臎zdn谩 br谩na 鈥 Film 鈥 Fotografie 鈥 Literatura 鈥 Simpsonovi 鈥 Star + Trek 鈥 Televize 鈥 Tolkien 鈥 Vet艡elec vs. Pred谩tor + + * N谩bo啪enstv铆: Bible 鈥 Hebraistika 鈥 K艡es钮anstv铆 鈥 Buddhismus 鈥 + Hinduismus 鈥 J贸ga + + * Doprava: Autobusov谩 鈥 Automobil 鈥 Letectv铆 鈥 Lo膹stvo 鈥 Metro 鈥 + Tramvajov谩 鈥 Trolejbusov谩 鈥 沤eleznice + + * Sport: Florbal 鈥 Formule 1 鈥 Fotbal 鈥 Ledn铆 hokej 鈥 Orienta膷n铆 + b臎h 鈥 Ralye 鈥 艩achy 鈥 Tenis + + * P艡铆roda: Dinosau艡i 鈥 Entomologie 鈥 Houby 鈥 Kon臎 鈥 Psi 鈥 Pt谩ci 鈥 + Rostliny 鈥 沤ivo膷ichov茅 鈥 沤ivotn铆 prost艡ed铆 + + * Ostatn铆: BDSM 鈥 膶aj 鈥 膶esk媒 jazyk 鈥 Filosofie 鈥 Linux 鈥 Lid茅 鈥 + Pivo 鈥 Po膷铆ta膷ov茅 hry 鈥 Politika 鈥 Sexualita 鈥 Svobodn媒 software 鈥 + T臎啪ba 鈥 V谩lka 鈥 Zahrada a zahradnictv铆 + + Dal拧铆 informace鈥 + Crystal 128 xpaint.gif + Obr谩zek t媒dne + Ledovec Gornergletscher + Ledovec Gornergletscher nedaleko Zermattu ve 艩v媒carsku + Archiv 鈥 Dal拧铆 informace鈥 + Aktuality.gif + Aktuality + + 21. 艡铆jen 鈥 p谩tek + + * Flag of Slovenia.svg Slovinsk媒 prezident Danilo T眉rk minutu po + p暖lnoci rozpustil St谩tn铆 shrom谩啪d臎n铆 Republiky Slovinsko a vyhl谩sil + p艡ed膷asn茅 volby. + + 20. 艡铆jen 鈥 膷tvrtek + + * Flag of Libya.svg St艡eln媒m zran臎n铆m p艡i zat媒k谩n铆 podlehl libyjsk媒 + v暖dce plukovn铆k Muammar Kadd谩f铆. + + 18. 艡铆jna 鈥 煤ter媒 + + * Flag of Israel.svg Flag of Hamas.svg Po v铆ce ne啪 p臎ti letech + v臎zn臎n铆 Ham谩sem byl propu拧t臎n izraelsk媒 voj谩k Gilad 艩alit. + Podm铆nkou v媒m臎ny je propu拧t臎n铆 v铆ce ne啪 1000 palestinsk媒ch v臎zn暖 a + tyto nerovn茅 podm铆nky jsou p艡铆膷inou siln茅 kritiky ze strany + izraelsk媒ch radik谩l暖. + + 15. 艡铆jna 鈥 sobota + + * Flag of World.svg Po cel茅m sv臎t臎 vypukly v r谩mci projektu 鈥濲ednotn臎 + za zm臎nu sv臎ta鈥, inspirovan茅ho hnut铆m Occupy Wall Street, + demonstrace, na kter媒ch lid茅 protestuj铆 proti vl谩dn铆m 拧krt暖m a + 煤dajn臎 nemravn茅mu chov谩n铆 velk媒ch finan膷n铆ch korporac铆. Demonstrace + byly napl谩nov谩ny v 951 m臎stech, mezi nimi啪 nechyb臎la ani Praha. + * Flag of Europe.svg Flag of Greece.svg N谩vrh na zdvojn谩soben铆 jm臎n铆 + Mezin谩rodn铆ho m臎nov茅ho fondu tak, aby mohl 煤膷inn臎 pomoci + zadlu啪en茅mu 艠ecku, byl na zased谩n铆 ministr暖 financ铆 zem铆 G20 + zam铆tnut. 艩lo o n谩vrh Braz铆lie, Ruska, Indie, 膶铆ny a Jihoafrick茅 + republiky. Nepro拧el hlavn臎 kv暖li odporu Spojen媒ch st谩t暖 a Kanady. + + 13. 艡铆jna 鈥 膷tvrtek + + * Flag of Slovakia.svg Slovensk媒 parlament schv谩lil p艡铆sp臎vek do + z谩chrann茅ho fondu euroz贸ny (EFSF) na pomoc zadlu啪en媒m zem铆m ve v媒拧i + 7,7 miliardy eur (190 miliard K膷). Poslanci ji啪 p艡edt铆m odhlasovali + vl谩dn铆 n谩vrh 煤stavn铆ho z谩kona o zkr谩cen铆 volebn铆ho obdob铆, kter媒 + umo啪n铆 kon谩n铆 p艡ed膷asn媒ch voleb. Opozi膷n铆 soci谩ln铆 demokrat茅 za to + vl谩d臎 sl铆bili podporu schv谩len铆 eurofondu. + + 11. 艡铆jna 鈥 煤ter媒 + + * Flag of Slovakia.svg Slovensk谩 vl谩da Ivety Radi膷ov茅 prohr谩la + hlasov谩n铆 o d暖v臎艡e, se kter媒m spojila schvalov谩n铆 pomoci + zadlu啪en茅mu 艠ecku. + * Flag of Ukraine.svg B媒val谩 premi茅rka Ukrajiny Julija Tymo拧enkov谩 + byla odsouzena k sedmilet茅mu trestu v臎zen铆 za p艡ekro膷en铆 pravomoc铆 + p艡i podpisu smlouvy o dod谩vk谩ch rusk茅ho plynu. Podrobn臎j拧铆 膷l谩nek + na Wikizpr谩v谩ch: Tymo拧enkov谩 m谩 j铆t na sedm let do v臎zen铆 + + 10. 艡铆jna 鈥 pond臎l铆 + + * Flag of the Czech Republic.svg V铆t臎zem 17. ro膷n铆ku sout臎啪e Czech + Press Photo se stal Stanislav Krupa艡 z 膷asopisu Reflex se sn铆mkem z + nepokoj暖 na 艩luknovsku. + * Flag of Sweden.svg Flag of the United States.svg Laure谩ty Nobelovy + cena za ekonomii se stali ameri膷t铆 ekonomov茅 Christopher A. Sims a + Thomas J. Sargent. Podrobn臎j拧铆 膷l谩nek na Wikizpr谩v谩ch: Sargent a + Sims vyznamen谩ni Nobelovou cenou za ekonomii + + Wikizpr谩vy Wikizpr谩vy + Exquisite-kalarm.gif + 21. 艡铆jen v minulosti + + HoratioNelson1.jpg + * 1125 鈥 Zem艡el Kosmas, autor Kroniky 膷esk茅 (Chronica Boemorum). + * 1435 鈥 Jan Rokycana byl 膷esk媒m sn臎mem zvolen za spole膷n茅ho + pra啪sk茅ho arcibiskupa katol铆k暖 i kali拧n铆k暖. + * 1600 鈥 Iejasu Tokugawa porazil v暖dce soupe艡铆c铆ch japonsk媒ch klan暖 + v bitv臎 u Sekigahary, co啪 je pokl谩d谩no za po膷谩tek 拧贸gun谩tu + Tokugawa. + * 1805 鈥 Bitva u Trafalgaru: admir谩l Nelson (na obr谩zku) rozdrtil + v 膷ele britsk茅ho lo膹stva francouzsk茅 a 拧pan臎lsk茅 n谩mo艡n铆 s铆ly. + * 1940 鈥 Uskute膷nila se prvn铆 ofici谩ln铆 j铆zda visut茅 lanovky + Tatransk谩 Lomnica 鈥 Lomnick媒 拧t铆t. + * 1941 鈥 膶eskoslovensk媒 p臎拧铆 prapor 11 鈥 V媒chodn铆 pod velen铆m + podplukovn铆ka Karla Klap谩lka pos铆lil obranu Tobr煤ku. + + Dal拧铆 v媒ro膷铆鈥 + Redakce.gif + Redakce + + Pomoc + V铆tejte ve Wikipedii 鈥 Rady a informace pro p艡isp臎vatele 鈥 膶asto + kladen茅 ot谩zky 鈥 Jak vytvo艡it 膷l谩nek 鈥 Jak editovat str谩nku 鈥 Vzhled a + styl 鈥 Obr谩zky 鈥 Pravopisn谩 pravidla 鈥 O kategori铆ch 鈥 Psan铆 dat 鈥 + 膶ast茅 chyby 鈥 Pot艡ebuji pomoc 鈥 Wikipedist茅 鈥 Diskuse o smaz谩n铆 鈥 + 艩ablony 鈥 Jak citovat Wikipedii + + O Wikipedii + Po啪adovan茅 膷l谩nky 鈥 U啪ite膷n茅 informace 鈥 Kompletn铆 seznam 膷l谩nk暖 鈥 + Velvyslanectv铆 Wikipedie + Dal拧铆 informace鈥 + Nuvola apps kdf.gif + Ostatn铆 projekty + + Wikipedii provozuje neziskov谩 nadace Wikimedia Foundation, kter谩 + spravuje i 艡adu dal拧铆ch otev艡en媒ch mnohojazy膷n媒ch wiki projekt暖: + logo Wikislovn铆k logo Wikizdroje logo Wikicit谩ty logo Wikiknihy logo + Wikizpr谩vy logo Wikiverzita logo Wikidruhy logo Wikimedia Commons logo + Meta-Wiki + Wikislovn铆k Wikizdroje Wikicit谩ty Wikiknihy Wikizpr谩vy Wikiverzita + Wikidruhy Commons Meta-Wiki + V媒kladov媒 slovn铆k Voln臎 dostupn茅 dokumenty Sb铆rka cit谩t暖 Voln臎 dostupn茅 + knihy a manu谩ly Otev艡en茅 zpravodajstv铆 Voln臎 dostupn茅 vzd臎l谩n铆 Adres谩艡 + biologick媒ch druh暖 Sd铆len谩 sb铆rka m茅di铆 Koordinace v拧ech projekt暖 + Wikimedia + Crystal 128 locale.gif + Ostatn铆 jazyky + + Flag of the United Kingdom.svg Angli膷tina (English) 路 Flag of + France.svg Francouz拧tina (Fran莽ais) 路 Flag of Germany.svg N臎m膷ina + (Deutsch) 路 Flag of Poland.svg Pol拧tina (Polski) 路 Flag of Russia.svg +Ru拧tina (袪褍褋褋泻懈泄) 路 Flag of Slovakia.svg Sloven拧tina (Sloven膷ina) 路 + Flag of Spain.svg 艩pan臎l拧tina (Espa帽ol) + + Vybran茅 dal拧铆 jazyky (Wikipedie s v铆ce ne啪 150 000 膷l谩nky jsou uvedeny + tu膷n臎): + + Angli膷tina zjednodu拧en谩 (Simple English) 路 Arab拧tina + (丕賱毓乇亘賷賾丞 Al-'arabiy芒) 路 Baski膷tina (Euskara) 路 B臎loru拧tina + (袘械谢邪褉褍褋泻邪褟/Belaruskaja) 路 Bulhar拧tina (袘褗谢谐邪褉褋泻懈/B膬lgarski) 路 膶铆n拧tina + (涓枃 Zh艒ngw茅n) 路 D谩n拧tina (Dansk) 路 Dolnolu啪ick谩 srb拧tina (Dolnoserbski) + 路 Esperanto 路 Eston拧tina (Eesti) 路 Fin拧tina (Suomi) 路 Galicij拧tina + (Galego) 路 Hebrej拧tina (注讘专讬转 'Ivr墨t) 路 Hind拧tina (Hind墨) 路 + Hornolu啪ick谩 srb拧tina (Hornjoserbsce) 路 Chorvat拧tina (Hrvatski) 路 Ido 路 + Indon茅拧tina (Bahasa Indonesia) 路 Interlingua 路 Ir拧tina (Gaeilge) 路 + Ital拧tina (Italiano) 路 Japon拧tina (鏃ユ湰瑾 Nihongo) 路 Katal谩n拧tina (Catal脿) + 路 Korej拧tina (頃滉淡鞏 Hangukeo) 路 Latina 路 Litev拧tina (Lietuvi懦) 路 + Loty拧tina (Latvie拧u) 路 Ma膹ar拧tina (Magyar) 路 Malaj拧tina (Bahasa Melayu) + 路 Nizozem拧tina (Nederlands) 路 Nor拧tina (Norsk nynorsk) 路 + Nor拧tina (Norsk bokm氓l) 路 Per拧tina (賮丕乇爻蹖 P芒rsi) 路 Portugal拧tina + (Portugu锚s) 路 Rumun拧tina (Rom芒n膬) 路 Rus铆n拧tina (袪褍褋懈薪褜褋泻褘泄) 路 + 艠e膷tina (螘位位畏谓喂魏维/Ellinika) 路 Slez拧tina (艢l暖nski) 路 + Slovin拧tina (Sloven拧膷ina) 路 Srb拧tina (褋褉锌褋泻懈/srpski) 路 艩v茅d拧tina + (Svenska) 路 Thaj拧tina (喙勦笚喔 phasa thai) 路 Ture膷tina (T眉rk莽e) 路 + Ukrajin拧tina (校泻褉邪褩薪褋褜泻邪/Ukrajinska) 路 Vel拧tina (Cymraeg) 路 + Vietnam拧tina (Ti岷縩g Vi峄噒) + __________________________________________________________________ + + Seznam jazyk暖 Wikipedie + + V拧echny 膷l谩nky | Nov茅 膷l谩nky | Sirot膷铆 str谩nky | Kategorie | Obnovit + cache + +NAHORU + + Citov谩no z + 鈥瀐ttp://cs.wikipedia.org/w/index.php?title=Hlavn%C3%AD_strana&oldid=630 + 0268鈥 + +Osobn铆 n谩stroje + + * P艡ihl谩拧en铆 / vytvo艡en铆 煤膷tu + +Jmenn茅 prostory + + * 膶l谩nek + * Diskuse + +Varianty + +Zobrazen铆 + + * 膶铆st + * Zobrazit zdroj + * Zobrazit historii + +Akce + +Hled谩n铆 + + ____________________ (Submit) Hledat + +Navigace + + * Hlavn铆 strana + * Port谩l Wikipedie + * Aktuality + * Pod l铆pou + * Posledn铆 zm臎ny + * N谩hodn媒 膷l谩nek + * N谩pov臎da + * Podpo艡te Wikipedii + +Tisk/export + + * Vytvo艡it knihu + * St谩hnout jako PDF + * Verze k tisku + +N谩stroje + + * Odkazuje sem + * Souvisej铆c铆 zm臎ny + * Na膷铆st soubor + * Speci谩ln铆 str谩nky + * Trval媒 odkaz + * Citovat str谩nku + +V jin媒ch jazyc铆ch + + * 丕賱毓乇亘賷丞 + * 袘褗谢谐邪褉褋泻懈 + * Catal脿 + * Dansk + * Deutsch + * Dolnoserbski + * 螘位位畏谓喂魏维 + * English + * Espa帽ol + * Eesti + * Esperanto + * Euskara + * 賮丕乇爻蹖 + * Suomi + * Fran莽ais + * Galego + * 注讘专讬转 + * Hrvatski + * Hornjoserbsce + * Magyar + * Bahasa Indonesia + * Italiano + * 鏃ユ湰瑾 + * 頃滉淡鞏 + * Lietuvi懦 + * Bahasa Melayu + * Nederlands + * 鈥狽orsk (nynorsk)鈥 + * 鈥狽orsk (bokm氓l)鈥 + * Polski + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Sloven膷ina + * Sloven拧膷ina + * Simple English + * 小褉锌褋泻懈 / Srpski + * Svenska + * T眉rk莽e + * 喙勦笚喔 + * Ti岷縩g Vi峄噒 + * 校泻褉邪褩薪褋褜泻邪 + * 涓枃 + + * Str谩nka byla naposledy editov谩na 5. 1. 2011 v 12:51. + * Text je dostupn媒 pod licenc铆 Creative Commons Uve膹te autora 鈥 + Zachovejte licenci 3.0 Unported, p艡铆padn臎 za dal拧铆ch podm铆nek. + Podrobnosti naleznete na str谩nce Podm铆nky u啪it铆. + + * Ochrana osobn铆ch 煤daj暖 + * O Wikipedii + * Vylou膷en铆 odpov臎dnosti + * Mobiln铆 verze + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/de/UTF-8/wikitop_de_UTF-8.txt b/test/testdata/de/UTF-8/wikitop_de_UTF-8.txt new file mode 100644 index 0000000..ee1f197 --- /dev/null +++ b/test/testdata/de/UTF-8/wikitop_de_UTF-8.txt @@ -0,0 +1,219 @@ + Wikipedia ist ein Projekt zum Aufbau einer Enzyklop盲die aus freien + Inhalten in allen Sprachen der Welt. Jeder kann mit seinem Wissen + beitragen. Seit Mai 2001 sind so 1.301.685 Artikel in deutscher Sprache + entstanden. Gute Autorinnen und Autoren sind stets willkommen. + + Geographie Geschichte Gesellschaft Kunst und Kultur + Religion Sport Technik Wissenschaft + + Artikel nach Themen 路 Alphabetischer Index 路 Artikel nach Kategorien 路 + Gesprochene Wikipedia + + Kontakt 路 Presse 路 Statistik 路 Andere Sprachen 路 Mentorenprogramm + + Wikipedia aktuell + + Bis zum 31. Oktober k枚nnen Stimmen f眉r den Publikumspreis des + Schreibwettbewerbs abgegeben werden. + +Artikel des Tages + + Ku-ring-gai-Chase-Nationalpark + + Der Ku-ring-gai-Chase-Nationalpark ist ein Nationalpark bei Sydney in + Australien. Er wurde 1894 gegr眉ndet und ist damit einer der 盲ltesten + Nationalparks Australiens. Der Park umfasst etwa 150 km虏 von Eukalyptus + dominiertes Buschland auf Sandstein-H枚henz眉gen sowie einige Rias, vom + Pazifischen Ozean 眉berflutete Flusst盲ler. Traditionelle Eigent眉mer des + Landes waren die Guringai, ein Stamm der Aborigines. Im Nationalpark + befinden sich viele Artefakte ihrer Besiedlung, unter anderem + Petroglyphen im Stil der Sydney-Felsgravuren. Ab 1834 siedelten Wei脽e + im Gebiet; heute befindet sich mit Cottage Point aber nur noch ein + bewohnter Ort im Park. F眉r die Bewohner Sydneys ist der Nationalpark + ein beliebtes Naherholungsgebiet mit j盲hrlich rund zwei Millionen + Besuchern. mehr + Archiv 路 Weitere exzellente und lesenswerte Artikel 路 RSS-Feed + RSS-Feed + +Was geschah am 21. Oktober? + + * Erzherzog Karl und Prinzessin Zita im Juli 1911 + 1911 鈥 In Schwarzau am Steinfeld heiraten Erzherzog Karl von + 脰sterreich und Prinzessin Zita von Bourbon-Parma, von 1916 bis 1918 + 脰sterreichs letztes Kaiserpaar. + * 1941 鈥 Massenerschie脽ung von Kragujevac: Einheiten der deutschen + Wehrmacht ermorden mehr als 2300 serbische Zivilisten. + * 1971 鈥 Dem chilenischen Dichter Pablo Neruda wird der Nobelpreis + f眉r Literatur zuerkannt. + * 1986 鈥 Die Afrikanische Charta der Menschenrechte und der Rechte + der V枚lker tritt in Kraft. + * 2006 鈥 In Danzig nimmt sich eine am Tag zuvor vor ihrer Klasse von + Mitsch眉lern sexuell erniedrigte 14-j盲hrige Gymnasiastin das Leben. + + Weitere Ereignisse + +In den Nachrichten + + ETA 路 Occupy Wall Street 路 T眉rkisch-kurdischer Konflikt + __________________________________________________________________ + + Muammar al-Gaddafi (2009) + * Mit dem ersten Start einer russischen Sojus-Rakete vom europ盲ischen + Weltraumbahnhof Kourou sind die ersten beiden Satelliten des + Navigationssatellitensystems Galileo ins All gebracht worden. + * Muammar al-Gaddafi (Bild), der fr眉here Machthaber Libyens, ist in + seiner Heimatstadt Sirte erschossen worden. + * Der britische Autor Julian Barnes hat f眉r seinen Roman The Sense of + an Ending den renommierten Booker Prize erhalten. + + Weitere aktuelle Ereignisse 路 Wikinews + +K眉rzlich Verstorbene + + * Jean J眉lich (82), deutscher Widerstandsk盲mpfer (鈥 19. Oktober) + * Bohdan Osadczuk (91), ukrainischer Autor (鈥 19. Oktober) + * Norman Corwin (101), US-amerikanischer Autor (鈥 18. Oktober) + + Weitere k眉rzlich Verstorbene + +Schon gewusst? + + Westseite der Burg Friedestrom + * Die niederrheinische Burg Friedestrom in Zons ist sowohl Bau- als + auch Bodendenkmal. + * 脺ber die Herkunft des Komponisten Sigismondo d鈥橧ndias ist wenig + bekannt, aber er gilt als Wegbereiter der Barockmusik in Italien. + * Die USS Newport News (CA-148) war der letzte Kreuzer im aktiven + Dienst der United States Navy, der nur mit Gesch眉tzen bewaffnet + war. + * Rosa Manus war 眉ber 30 Jahre lang bis zum deutschen Einmarsch 1940 + eine der wichtigsten Leitfiguren der niederl盲ndischen + Frauenbewegung. + + Weitere neue Artikel 路 Fr眉here Schon-gewusst-Artikel + +Schwesterprojekte + + Meta-Wiki 鈥 Koordination Commons 鈥 Medien + Wiktionary 鈥 W枚rterbuch Wikibooks 鈥 Lehrb眉cher + Wikiquote 鈥 Zitate Wikiversity 鈥 Lernplattform + Wikisource 鈥 Quellen Wikinews 鈥 Nachrichten + + Von + 鈥瀐ttp://de.wikipedia.org/w/index.php?title=Wikipedia:Hauptseite&oldid=9 + 3440822鈥 + Kategorie: + * Wikipedia:Hauptseite + +Meine Werkzeuge + + * Anmelden / Benutzerkonto erstellen + +Namensr盲ume + + * Hauptseite + * Diskussion + +Varianten + +Ansichten + + * Lesen + * Quelltext anzeigen + * Versionsgeschichte + +Aktionen + +Suche + + ____________________ (Submit) Volltext + +Navigation + + * Hauptseite + * 脺ber Wikipedia + * Themenportale + * Von A bis Z + * Zuf盲lliger Artikel + +Mitmachen + + * Neuen Artikel anlegen + * Autorenportal + * Hilfe + * Letzte 脛nderungen + * Kontakt + * Spenden + +Drucken/exportieren + + * Buch erstellen + * Als PDF herunterladen + * Druckversion + +Werkzeuge + + * Links auf diese Seite + * 脛nderungen an verlinkten Seiten + * Spezialseiten + * Permanenter Link + +In anderen Sprachen + + * Alemannisch + * 丕賱毓乇亘賷丞 + * Boarisch + * Catal脿 + * 膶esky + * Dansk + * 螘位位畏谓喂魏维 + * English + * Espa帽ol + * Fran莽ais + * Nordfriisk + * Frysk + * 啶灌た啶ㄠ啶︵ + * Hrvatski + * Hornjoserbsce + * Magyar + * Italiano + * 鏃ユ湰瑾 + * Ripoarisch + * Latina + * L毛tzebuergesch + * Limburgs + * Plattd眉眉tsch + * Nederlands + * 鈥狽orsk (bokm氓l)鈥 + * Deitsch + * Polski + * Portugu锚s + * Rumantsch + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Sloven膷ina + * Sloven拧膷ina + * Shqip + * 小褉锌褋泻懈 / Srpski + * Seeltersk + * Svenska + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * 讬讬执讚讬砖 + * 涓枃 + + * Diese Seite wurde zuletzt am 9. September 2011 um 12:07 Uhr + ge盲ndert. + * Der Text ist unter der Lizenz 鈥濩reative Commons Attribution/Share + Alike鈥 verf眉gbar; zus盲tzliche Bedingungen k枚nnen anwendbar sein. + Einzelheiten sind in den Nutzungsbedingungen beschrieben. + Wikipedia庐 ist eine eingetragene Marke der Wikimedia Foundation + Inc. + + * Datenschutz + * 脺ber Wikipedia + * Impressum + * Mobile Ansicht + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt b/test/testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt new file mode 100644 index 0000000..d8dc10f --- /dev/null +++ b/test/testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt @@ -0,0 +1,219 @@ + Wikipedia ist ein Projekt zum Aufbau einer Enzyklop鋎ie aus freien + Inhalten in allen Sprachen der Welt. Jeder kann mit seinem Wissen + beitragen. Seit Mai 2001 sind so 1.301.685 Artikel in deutscher Sprache + entstanden. Gute Autorinnen und Autoren sind stets willkommen. + + Geographie Geschichte Gesellschaft Kunst und Kultur + Religion Sport Technik Wissenschaft + + Artikel nach Themen Alphabetischer Index Artikel nach Kategorien + Gesprochene Wikipedia + + Kontakt Presse Statistik Andere Sprachen Mentorenprogramm + + Wikipedia aktuell + + Bis zum 31. Oktober k鰊nen Stimmen f黵 den Publikumspreis des + Schreibwettbewerbs abgegeben werden. + +Artikel des Tages + + Ku-ring-gai-Chase-Nationalpark + + Der Ku-ring-gai-Chase-Nationalpark ist ein Nationalpark bei Sydney in + Australien. Er wurde 1894 gegr黱det und ist damit einer der 鋖testen + Nationalparks Australiens. Der Park umfasst etwa 150 km von Eukalyptus + dominiertes Buschland auf Sandstein-H鰄enz黦en sowie einige Rias, vom + Pazifischen Ozean 黚erflutete Flusst鋖er. Traditionelle Eigent黰er des + Landes waren die Guringai, ein Stamm der Aborigines. Im Nationalpark + befinden sich viele Artefakte ihrer Besiedlung, unter anderem + Petroglyphen im Stil der Sydney-Felsgravuren. Ab 1834 siedelten Wei遝 + im Gebiet; heute befindet sich mit Cottage Point aber nur noch ein + bewohnter Ort im Park. F黵 die Bewohner Sydneys ist der Nationalpark + ein beliebtes Naherholungsgebiet mit j鋒rlich rund zwei Millionen + Besuchern. mehr + Archiv Weitere exzellente und lesenswerte Artikel RSS-Feed + RSS-Feed + +Was geschah am 21. Oktober? + + * Erzherzog Karl und Prinzessin Zita im Juli 1911 + 1911 In Schwarzau am Steinfeld heiraten Erzherzog Karl von + 謘terreich und Prinzessin Zita von Bourbon-Parma, von 1916 bis 1918 + 謘terreichs letztes Kaiserpaar. + * 1941 Massenerschie遳ng von Kragujevac: Einheiten der deutschen + Wehrmacht ermorden mehr als 2300 serbische Zivilisten. + * 1971 Dem chilenischen Dichter Pablo Neruda wird der Nobelpreis + f黵 Literatur zuerkannt. + * 1986 Die Afrikanische Charta der Menschenrechte und der Rechte + der V鰈ker tritt in Kraft. + * 2006 In Danzig nimmt sich eine am Tag zuvor vor ihrer Klasse von + Mitsch黮ern sexuell erniedrigte 14-j鋒rige Gymnasiastin das Leben. + + Weitere Ereignisse + +In den Nachrichten + + ETA Occupy Wall Street T黵kisch-kurdischer Konflikt + __________________________________________________________________ + + Muammar al-Gaddafi (2009) + * Mit dem ersten Start einer russischen Sojus-Rakete vom europ鋓schen + Weltraumbahnhof Kourou sind die ersten beiden Satelliten des + Navigationssatellitensystems Galileo ins All gebracht worden. + * Muammar al-Gaddafi (Bild), der fr黨ere Machthaber Libyens, ist in + seiner Heimatstadt Sirte erschossen worden. + * Der britische Autor Julian Barnes hat f黵 seinen Roman The Sense of + an Ending den renommierten Booker Prize erhalten. + + Weitere aktuelle Ereignisse Wikinews + +K黵zlich Verstorbene + + * Jean J黮ich (82), deutscher Widerstandsk鋗pfer ( 19. Oktober) + * Bohdan Osadczuk (91), ukrainischer Autor ( 19. Oktober) + * Norman Corwin (101), US-amerikanischer Autor ( 18. Oktober) + + Weitere k黵zlich Verstorbene + +Schon gewusst? + + Westseite der Burg Friedestrom + * Die niederrheinische Burg Friedestrom in Zons ist sowohl Bau- als + auch Bodendenkmal. + * 躡er die Herkunft des Komponisten Sigismondo d扞ndias ist wenig + bekannt, aber er gilt als Wegbereiter der Barockmusik in Italien. + * Die USS Newport News (CA-148) war der letzte Kreuzer im aktiven + Dienst der United States Navy, der nur mit Gesch黷zen bewaffnet + war. + * Rosa Manus war 黚er 30 Jahre lang bis zum deutschen Einmarsch 1940 + eine der wichtigsten Leitfiguren der niederl鋘dischen + Frauenbewegung. + + Weitere neue Artikel Fr黨ere Schon-gewusst-Artikel + +Schwesterprojekte + + Meta-Wiki Koordination Commons Medien + Wiktionary W鰎terbuch Wikibooks Lehrb點her + Wikiquote Zitate Wikiversity Lernplattform + Wikisource Quellen Wikinews Nachrichten + + Von + 刪ttp://de.wikipedia.org/w/index.php?title=Wikipedia:Hauptseite&oldid=9 + 3440822 + Kategorie: + * Wikipedia:Hauptseite + +Meine Werkzeuge + + * Anmelden / Benutzerkonto erstellen + +Namensr鋟me + + * Hauptseite + * Diskussion + +Varianten + +Ansichten + + * Lesen + * Quelltext anzeigen + * Versionsgeschichte + +Aktionen + +Suche + + ____________________ (Submit) Volltext + +Navigation + + * Hauptseite + * 躡er Wikipedia + * Themenportale + * Von A bis Z + * Zuf鋖liger Artikel + +Mitmachen + + * Neuen Artikel anlegen + * Autorenportal + * Hilfe + * Letzte 膎derungen + * Kontakt + * Spenden + +Drucken/exportieren + + * Buch erstellen + * Als PDF herunterladen + * Druckversion + +Werkzeuge + + * Links auf diese Seite + * 膎derungen an verlinkten Seiten + * Spezialseiten + * Permanenter Link + +In anderen Sprachen + + * Alemannisch + * + * Boarisch + * Catal + * esky + * Dansk + * + * English + * Espa駉l + * Fran鏰is + * Nordfriisk + * Frysk + * + * Hrvatski + * Hornjoserbsce + * Magyar + * Italiano + * + * Ripoarisch + * Latina + * L雝zebuergesch + * Limburgs + * Plattdtsch + * Nederlands + * Norsk (bokm錶) + * Deitsch + * Polski + * Portugu阺 + * Rumantsch + * Rom鈔 + * + * Slovenina + * Sloven歩na + * Shqip + * / Srpski + * Seeltersk + * Svenska + * T黵k鏴 + * + * + * + + * Diese Seite wurde zuletzt am 9. September 2011 um 12:07 Uhr + ge鋘dert. + * Der Text ist unter der Lizenz 凜reative Commons Attribution/Share + Alike verf黦bar; zus鋞zliche Bedingungen k鰊nen anwendbar sein. + Einzelheiten sind in den Nutzungsbedingungen beschrieben. + Wikipedia ist eine eingetragene Marke der Wikimedia Foundation + Inc. + + * Datenschutz + * 躡er Wikipedia + * Impressum + * Mobile Ansicht + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt b/test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt new file mode 100644 index 0000000..4add81f --- /dev/null +++ b/test/testdata/dk/UTF-8/wikitop_dk_UTF-8.txt @@ -0,0 +1,332 @@ + Der findes nu over 19 millioner artikler i Wikipedia, hvoraf 156.678 er + p氓 dansk. + Skribentforside 鈥 Hj忙lp 鈥 A鈥撁 鈥 Projekter 鈥 Bekendtg酶relser 鈥 + Ambassaden - Embassy 鈥 Wikipedia Mobil 鈥 Kontakt os + Emblem-star.svg + Ugens artikel + Winston Churchill, 1942 + + Sir Winston Leonard Spencer Churchill (1874 - 1965) var en britisk + politiker og statsmand, som is忙r er kendt for sit lederskab af + Storbritannien under 2. verdenskrig. Han var premierminister i + Storbritannien fra 1940 til 1945 og igen fra 1951 til 1955. Han + betragtes i vide kredse som en af de st酶rste ledere i krigstid. + + Ved siden af sit politiske arbejde var han forfatter til 37 b酶ger + fordelt p氓 i alt 58 bind, og han n氓ede at male over 500 malerier. Som + forfatter skrev han navnlig popul忙rhistoriske v忙rker samt + oversigtsv忙rker over samtiden. Han er den eneste britiske + premierminister, som har modtaget Nobelprisen i litteratur, og han var + den f酶rste, som blev udn忙vnt til 忙resborger i De forenede Stater. + + Churchill blev f酶dt ind i en aristokratisk familie. Hans far Lord + Randolph Churchill, som var efterkommer af hertugen af Marlborough, var + en karismatisk politiker, som bl.a. var britisk finansminister. Hans + mor, Jenny Jerome, stammede fra en velhavende amerikansk familie. + Da det konservative parti havde tabt parlamentsvalget i 1945, blev han + leder af oppositionen. I 1951 dannede han igen regering, og han beholdt + posten indtil han trak sig tilbage i 1955. Da han d酶de i 1965 tilstod + dronningen ham en statsbegravelse, som tiltrak et af de st酶rste antal + af verdens statsm忙nd, som nogensinde har v忙ret samlet. L忙s mere + + Seneste tre uger: Telefonkiosk 鈥 Svalbard Lufthavn, Longyear 鈥 Caf茅 + Bernina + + Mere om Ugens artikel 鈥 Arkiv + Norway-sweden2.svg + Dagens skandinaviske artikel + H盲rskarringen ges till den som i spelet d枚dar Gollum. + + Slaget om Midg氓rd 2 鈥 Ringarnas Herre 盲r ett realtidsstrategi-datorspel + fr氓n 2006 utvecklat och utgivet av Electronic Arts. Det baseras p氓 + fantasyromanen Sagan om Ringen av Tolkien och dess ombearbetning till + filmtrilogin. Spelet 盲r efterf枚ljare till Electronic Arts spel Slaget + om Midg氓rd 鈥 H盲rskarringen fr氓n 2004. + + Historien i Slaget om Midg氓rd 2 鈥 Ringarnas Herre 盲r uppdelad i tv氓 + spelv盲rldar, den Goda och den Onda. Den Goda spelv盲rlden fokuserar p氓 + Glorfindel, en alv som varnas om en kommande attack mot alvhelgedomen + Vattnadal. Med hj盲lp fr氓n dv盲rgar och andra styrkor p氓 den goda sidan + f枚rs枚ker alverna att eliminera Sauron och dennes arm茅 f枚r att + 氓terst盲lla freden i Midg氓rd. I den Onda spelv盲rlden s盲nder Sauron ut + sitt spr氓kr枚r och sina Nazg没ler f枚r att samla ihop vilda v盲ttar. Med + arm茅n samlad kan Sauron forts盲tta med sin plan att krossa de + 氓terst氓ende Goda styrkorna i norr. L盲s mer + Mere om Dagens skandinaviske artikel 鈥 Skanwiki + Searchtool right.svg + Fremh忙vede artikler + + Fremragende artikler + +De nyeste fremragende artikler + + Islands Brygge 鈥 Jorden 鈥 M氓nen 鈥 Nordisk religion 鈥 The Final Cut + Gode artikler + +De nyeste gode artikler + + Terrorangrebet den 11. september 2001 鈥 Svalbard Lufthavn, Longyear 鈥 + Winston Churchill + Lovende artikler + +De nyeste lovende artikler + + 12. til 21. etape af Giro d'Italia 2009 鈥 God Put a Smile upon Your + Face 鈥 The Scientist + Rediger 鈥 Mere fremh忙vet indhold + Gnome-fs-blockdev.svg + Kategorier + Naturvidenskab + +Naturvidenskab + + Astronomi 鈥 Biologi 鈥 Datalogi 鈥 Fysik 鈥 Geografi 鈥 Geologi 鈥 Kemi 鈥 + Logik 鈥 L忙gevidenskab 鈥 Matematik + Humaniora + +Humaniora og samfundsvidenskab + + Antropologi 鈥 Arkitektur 鈥 Filosofi 鈥 Historie 鈥 Jura 鈥 Kommunikation 鈥 + Psykologi 鈥 P忙dagogik 鈥 Sociologi 鈥 Sprogforskning 鈥 Statskundskab 鈥 + Teologi 鈥 脴konomi + Teknik + +Teknik + + Elektronik 鈥 Energi 鈥 Industri 鈥 Jordbrug 鈥 Mekanik 鈥 Milit忙r 鈥 + Robotter 鈥 Sundhedsv忙sen 鈥 Transport + Kultur + +Kultur + + Dans 鈥 Film 鈥 Hobby 鈥 Kunst 鈥 Litteratur 鈥 Mad og drikke 鈥 Mode 鈥 + Musik 鈥 Mytologi 鈥 Personer 鈥 Politik 鈥 Religion 鈥 Sport 鈥 Teater 鈥 + Traditioner 鈥 Turisme 鈥 Underholdning + Flere kategorier + Internet-web-browser.svg + Aktuelle begivenheder + * Hungersn酶den p氓 Afrikas Horn 鈥 Opr酶ret i Libyen 2011 + ______________________________________________________________ + + Muammar al-Gaddafi at the AU summit.jpg + * Libyens statsleder Muammar al-Gaddafi (billedet) bliver dr忙bt under + opr酶ret i Libyen. + * Danmarks fodboldlandshold kvalificerer sig til EM-slutrunden 2012 + efter sejr i afg酶rende kamp over Portugal med 2-1 p氓 m氓l af Michael + Krohn-Dehli og Nicklas Bendtner. + * Ellen Johnson Sirleaf, Leymah Gbowee, og Tawakkul Karman deler + Nobels fredspris for deres ikke-voldelige kamp for kvinders + rettigheder i Afrika. + * Apples bestyrelsesformand Steve Jobs d酶r i en alder af 56 氓r. + + Rediger 鈥 Flere aktuelle begivenheder + Office-calendar.svg + I dag + + Den 21. oktober: + Den ny Lilleb忙ltsbro + * 1805 - Admiral Lord Nelson d酶r under Slaget ved Trafalgar. + Engl忙nderne vinder dette vigtige slag mod Napoleons kombinerede + franske og spanske fl氓der ud for Kap Trafalgar, sydvest for + Spanien. + * 1807 - Engl忙nderne sejler af sted med den danske fl氓de: 15 + linjeskibe, 15 fregatter, 8 brigger og 31 andre, mindre fart酶jer. + Danmark tvinges ind i Napoleonskrigene p氓 fransk side. + * 1970 - Den nye Lilleb忙ltsbro indvies af Frederik 9. + * + + Rediger 鈥 Alle m氓nedens dage + Help-browser.svg + Vidste du at... + Bosphore - Pont du conquerant.jpg + + Fra Wikipedias nyeste artikler鈥 + + * ...Fatih Sultan Mehmet Broen (billedet) i Istanbul er opkaldt efter + den osmanniske sultan Mehmed 2.? + + * ...den svenske operasanger Ingvar Wixell (1931-2011) blev regnet + blandt 1900-tallets betydeligste barytoner? + + * ... albummet Under the Mistletoe bliver den canadiske musiker + Justin Biebers andet studiealbum? + + Rediger 鈥 Flere vidste du at... + Gravestone icon2.svg + Nyligt afd酶de + * 20. oktober - Muammar al-Gaddafi, libysk statsleder (f酶dt 1942). + * 17. oktober - Poul Glargaard, dansk skuespiller (f酶dt 1942). + * 16. oktober - Henning Sj枚str枚m, svensk advokat (f酶dt 1922). + + Rediger 鈥 Flere nyligt afd酶de + Image-x-generic.svg + Dagens billede + + Schimpanse, Pan troglodytes 3.JPG Chimpanse (Pan troglodytes). + + Rediger 鈥 Arkiv + Wikipedia-logo.png + S酶sterprojekter + + Wikipedia ejes af paraplyorganisationen Wikimedia Foundation, som + driver andre flersproglige og frie projekter, hvor alle kan bidrage. + Meta-Wiki + Wiktionary + Wikisource + Wikiquote + Wikibooks + Wikinews + Wikispecies + Commons + Meta-Wiki Wiktionary Wikisource Wikiquote Wikibooks Wikinews + Wikispecies Commons + Om Wikiprojekterne Flersproget ordbog Kildemateriale Citatsamling + Gratis b酶ger og manualer Nyhedstjeneste Videnskabelig artsoversigt + Fildeling af billeder og lyd + Mere om Wikimedia 鈥 Serverstatus + Preferences-desktop-locale.svg + Wikipedia p氓 andre sprog + + F酶royskt | 脥slenska | Kalaallisut | Norsk (bokm氓l) | Nynorsk | + Suomi | Svenska + + * Flere end 300.000 artikler: + Catal脿 路 Deutsch 路 English 路 Espa帽ol 路 Fran莽ais 路 Italiano 路 + Nederlands 路 鏃ユ湰瑾 路 Norsk (bokm氓l) 路 Polski 路 Portugu锚s 路 袪褍褋褋泻懈泄 路 + Svenska 路 校泻褉邪褩薪褋褜泻邪 路 涓枃 + + * Flere end 125.000 artikler: + 丕賱毓乇亘賷丞 路 Bahasa Indonesia 路 膶e拧tina 路 Dansk 路 Esperanto 路 賮丕乇爻蹖 路 + 頃滉淡鞏 路 Lietuvi懦 路 Magyar 路 Rom芒n膬 路 Sloven膷ina 路 小褉锌褋泻懈 / Srpski 路 + Suomi 路 Ti岷縩g Vi峄噒 路 T眉rk莽e + + * Flere end 50.000 artikler: Az蓹rbaycan 路 Bahasa Melayu 路 袘褗谢谐邪褉褋泻懈 路 + Eesti 路 螘位位畏谓喂魏维 路 English (simple) 路 Euskara 路 Galego 路 注讘专讬转 路 + 啶灌た啶ㄠ啶︵ 路 Hrvatski 路 醿メ儛醿犪儣醿a儦醿 路 Kr猫yol ayisyen 路 Latina 路 啶ㄠ啶ぞ啶 啶ぞ啶粪ぞ + 路 Norsk (nynorsk) 路 Sloven拧膷ina 路 Tagalog 路 喙勦笚喔 路 Volap眉k + + Komplet liste + Wikimedia-logo.svg + Donationer + + Moderselskabet Wikimedia Foundation er uafh忙ngigt af alle interesser og + beh酶ver derfor 酶konomisk st酶tte fra l忙sere og brugere for at holde + driften i gang. Giv et bidrag til Wikimedia og v忙r med til at sikre + udbygningen af de servere, som Wikipedia og s酶sterprojekterne afvikles + p氓. + St酶t Wikipedia + +Til toppen af siden + + Hentet fra + "http://da.wikipedia.org/w/index.php?title=Forside&oldid=2692411" + Kategori: + * Wikipedia + +Personlige v忙rkt酶jer + + * Opret en konto eller log p氓 + +Navnerum + + * Artikel + * Diskussion + +Varianter + +Visninger + + * Vis + * Vis kilden + * Se historik + +Handlinger + +S酶g + + ____________________ (Submit) S酶g + +Navigation + + * Forside + * Kategorier + * Fremh忙vet indhold + * Tilf忙ldig artikel + * Aktuelle begivenheder + +Deltagelse + + * Velkommen + * Skribentforside + * Projekter + * Seneste 忙ndringer + * Hj忙lp + +V忙rkt酶jer + + * Hvad henviser hertil + * Relaterede 忙ndringer + * Specialsider + * Permanent link + * Cit茅r denne artikel + +Organisation + + * Donation + * Kontakt Wikipedia + * Wikimedia Danmark + +Udskriv/eksport茅r + + * Lav en bog + * Download som PDF + * Udskriftsvenlig udgave + +Andre sprog + + * 丕賱毓乇亘賷丞 + * 沤emait臈拧ka + * Bosanski + * Catal脿 + * 袧芯褏褔懈泄薪 + * 小谢芯胁眩虂薪褜褋泻褗 / 獍斺皫獍戔皞獍♀皭獍犫皵獍嶁盁 + * Deutsch + * English + * Espa帽ol + * Suomi + * F酶royskt + * Fran莽ais + * Hrvatski + * 脥slenska + * Italiano + * 鏃ユ湰瑾 + * Kalaallisut + * Lietuvi懦 + * Latvie拧u + * Nederlands + * 鈥狽orsk (nynorsk)鈥 + * 鈥狽orsk (bokm氓l)鈥 + * Polski + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Srpskohrvatski / 小褉锌褋泻芯褏褉胁邪褌褋泻懈 + * Simple English + * 小褉锌褋泻懈 / Srpski + * Svenska + * T眉rk莽e + * 孝邪褌邪褉褔邪/Tatar莽a + * 涓枃 + + * Denne side blev senest 忙ndret den 27. december 2008 kl. 22:01. + * Tekst er tilg忙ngelig under Creative Commons Navngivelse/Del p氓 + samme vilk氓r 3.0; yderligere betingelser kan v忙re g忙ldende. Se + brugsbetingelserne for flere oplysninger. + + * Behandling af personlige oplysninger + * Om Wikipedia + * Forbehold + * Mobil visning + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt b/test/testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt new file mode 100644 index 0000000..239ea83 --- /dev/null +++ b/test/testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt @@ -0,0 +1,324 @@ + + politiker og statsmand, som is鎟 er kendt for sit lederskab af + Storbritannien under 2. verdenskrig. Han var premierminister i + Storbritannien fra 1940 til 1945 og igen fra 1951 til 1955. Han + betragtes i vide kredse som en af de st鴕ste ledere i krigstid. + + Ved siden af sit politiske arbejde var han forfatter til 37 b鴊er + fordelt p i alt 58 bind, og han n錯de at male over 500 malerier. Som + forfatter skrev han navnlig popul鎟historiske v鎟ker samt + oversigtsv鎟ker over samtiden. Han er den eneste britiske + premierminister, som har modtaget Nobelprisen i litteratur, og han var + den f鴕ste, som blev udn鎣nt til 鎟esborger i De forenede Stater. + + Churchill blev f鴇t ind i en aristokratisk familie. Hans far Lord + Randolph Churchill, som var efterkommer af hertugen af Marlborough, var + en karismatisk politiker, som bl.a. var britisk finansminister. Hans + mor, Jenny Jerome, stammede fra en velhavende amerikansk familie. + Da det konservative parti havde tabt parlamentsvalget i 1945, blev han + leder af oppositionen. I 1951 dannede han igen regering, og han beholdt + posten indtil han trak sig tilbage i 1955. Da han d鴇e i 1965 tilstod + dronningen ham en statsbegravelse, som tiltrak et af de st鴕ste antal + af verdens statsm鎛d, som nogensinde har v鎟et samlet. L鎠 mere + + Seneste tre uger: Telefonkiosk Svalbard Lufthavn, Longyear Caf + Bernina + + Mere om Ugens artikel Arkiv + Norway-sweden2.svg + Dagens skandinaviske artikel + H鋜skarringen ges till den som i spelet d鰀ar Gollum. + + Slaget om Midg錼d 2 Ringarnas Herre 鋜 ett realtidsstrategi-datorspel + fr錸 2006 utvecklat och utgivet av Electronic Arts. Det baseras p + fantasyromanen Sagan om Ringen av Tolkien och dess ombearbetning till + filmtrilogin. Spelet 鋜 efterf鰈jare till Electronic Arts spel Slaget + om Midg錼d H鋜skarringen fr錸 2004. + + Historien i Slaget om Midg錼d 2 Ringarnas Herre 鋜 uppdelad i tv + spelv鋜ldar, den Goda och den Onda. Den Goda spelv鋜lden fokuserar p + Glorfindel, en alv som varnas om en kommande attack mot alvhelgedomen + Vattnadal. Med hj鋖p fr錸 dv鋜gar och andra styrkor p den goda sidan + f鰎s鰇er alverna att eliminera Sauron och dennes arm f鰎 att + 錿erst鋖la freden i Midg錼d. I den Onda spelv鋜lden s鋘der Sauron ut + sitt spr錵r鰎 och sina Nazg鹟er f鰎 att samla ihop vilda v鋞tar. Med + arm閚 samlad kan Sauron forts鋞ta med sin plan att krossa de + 錿erst錯nde Goda styrkorna i norr. L鋝 mer + Mere om Dagens skandinaviske artikel Skanwiki + Searchtool right.svg + Fremh鎣ede artikler + + Fremragende artikler + +De nyeste fremragende artikler + + Islands Brygge Jorden M錸en Nordisk religion The Final Cut + Gode artikler + +De nyeste gode artikler + + Terrorangrebet den 11. september 2001 Svalbard Lufthavn, Longyear + Winston Churchill + Lovende artikler + +De nyeste lovende artikler + + 12. til 21. etape af Giro d'Italia 2009 God Put a Smile upon Your + Face The Scientist + Rediger Mere fremh鎣et indhold + Gnome-fs-blockdev.svg + Kategorier + Naturvidenskab + +Naturvidenskab + + Astronomi Biologi Datalogi Fysik Geografi Geologi Kemi + Logik L鎔evidenskab Matematik + Humaniora + +Humaniora og samfundsvidenskab + + Antropologi Arkitektur Filosofi Historie Jura Kommunikation + Psykologi P鎑agogik Sociologi Sprogforskning Statskundskab + Teologi 豮onomi + Teknik + +Teknik + + Elektronik Energi Industri Jordbrug Mekanik Milit鎟 + Robotter Sundhedsv鎠en Transport + Kultur + +Kultur + + Dans Film Hobby Kunst Litteratur Mad og drikke Mode + Musik Mytologi Personer Politik Religion Sport Teater + Traditioner Turisme Underholdning + Flere kategorier + Internet-web-browser.svg + Aktuelle begivenheder + * Hungersn鴇en p Afrikas Horn Opr鴕et i Libyen 2011 + ______________________________________________________________ + + Muammar al-Gaddafi at the AU summit.jpg + * Libyens statsleder Muammar al-Gaddafi (billedet) bliver dr鎎t under + opr鴕et i Libyen. + * Danmarks fodboldlandshold kvalificerer sig til EM-slutrunden 2012 + efter sejr i afg鴕ende kamp over Portugal med 2-1 p m錶 af Michael + Krohn-Dehli og Nicklas Bendtner. + * Ellen Johnson Sirleaf, Leymah Gbowee, og Tawakkul Karman deler + Nobels fredspris for deres ikke-voldelige kamp for kvinders + rettigheder i Afrika. + * Apples bestyrelsesformand Steve Jobs d鴕 i en alder af 56 錼. + + Rediger Flere aktuelle begivenheder + Office-calendar.svg + I dag + + Den 21. oktober: + Den ny Lilleb鎙tsbro + * 1805 - Admiral Lord Nelson d鴕 under Slaget ved Trafalgar. + Engl鎛derne vinder dette vigtige slag mod Napoleons kombinerede + franske og spanske fl錮er ud for Kap Trafalgar, sydvest for + Spanien. + * 1807 - Engl鎛derne sejler af sted med den danske fl錮e: 15 + linjeskibe, 15 fregatter, 8 brigger og 31 andre, mindre fart鴍er. + Danmark tvinges ind i Napoleonskrigene p fransk side. + * 1970 - Den nye Lilleb鎙tsbro indvies af Frederik 9. + * + + Rediger Alle m錸edens dage + Help-browser.svg + Vidste du at... + Bosphore - Pont du conquerant.jpg + + Fra Wikipedias nyeste artikler + + * ...Fatih Sultan Mehmet Broen (billedet) i Istanbul er opkaldt efter + den osmanniske sultan Mehmed 2.? + + * ...den svenske operasanger Ingvar Wixell (1931-2011) blev regnet + blandt 1900-tallets betydeligste barytoner? + + * ... albummet Under the Mistletoe bliver den canadiske musiker + Justin Biebers andet studiealbum? + + Rediger Flere vidste du at... + Gravestone icon2.svg + Nyligt afd鴇e + * 20. oktober - Muammar al-Gaddafi, libysk statsleder (f鴇t 1942). + * 17. oktober - Poul Glargaard, dansk skuespiller (f鴇t 1942). + * 16. oktober - Henning Sj鰏tr鰉, svensk advokat (f鴇t 1922). + + Rediger Flere nyligt afd鴇e + Image-x-generic.svg + Dagens billede + + Schimpanse, Pan troglodytes 3.JPG Chimpanse (Pan troglodytes). + + Rediger Arkiv + Wikipedia-logo.png + S鴖terprojekter + + Wikipedia ejes af paraplyorganisationen Wikimedia Foundation, som + driver andre flersproglige og frie projekter, hvor alle kan bidrage. + Meta-Wiki + Wiktionary + Wikisource + Wikiquote + Wikibooks + Wikinews + Wikispecies + Commons + Meta-Wiki Wiktionary Wikisource Wikiquote Wikibooks Wikinews + Wikispecies Commons + Om Wikiprojekterne Flersproget ordbog Kildemateriale Citatsamling + Gratis b鴊er og manualer Nyhedstjeneste Videnskabelig artsoversigt + Fildeling af billeder og lyd + Mere om Wikimedia Serverstatus + Preferences-desktop-locale.svg + Wikipedia p andre sprog + + F鴕oyskt | 蛃lenska | Kalaallisut | Norsk (bokm錶) | Nynorsk | + Suomi | Svenska + + * Flere end 300.000 artikler: + Catal Deutsch English Espa駉l Fran鏰is Italiano + Nederlands Norsk (bokm錶) Polski Portugu阺 + Svenska + + * Flere end 125.000 artikler: + Bahasa Indonesia e歵ina Dansk Esperanto + Lietuvi Magyar Rom鈔 Slovenina / Srpski + Suomi Ting Vit T黵k鏴 + + * Flere end 50.000 artikler: Azrbaycan Bahasa Melayu + Eesti English (simple) Euskara Galego + Hrvatski Kr鑩ol ayisyen Latina + Norsk (nynorsk) Sloven歩na Tagalog Volap黭 + + Komplet liste + Wikimedia-logo.svg + Donationer + + Moderselskabet Wikimedia Foundation er uafh鎛gigt af alle interesser og + beh鴙er derfor 鴎onomisk st鴗te fra l鎠ere og brugere for at holde + driften i gang. Giv et bidrag til Wikimedia og v鎟 med til at sikre + udbygningen af de servere, som Wikipedia og s鴖terprojekterne afvikles + p. + St鴗 Wikipedia + +Til toppen af siden + + Hentet fra + "http://da.wikipedia.org/w/index.php?title=Forside&oldid=2692411" + Kategori: + * Wikipedia + +Personlige v鎟kt鴍er + + * Opret en konto eller log p + +Navnerum + + * Artikel + * Diskussion + +Varianter + +Visninger + + * Vis + * Vis kilden + * Se historik + +Handlinger + +S鴊 + + ____________________ (Submit) S鴊 + +Navigation + + * Forside + * Kategorier + * Fremh鎣et indhold + * Tilf鎙dig artikel + * Aktuelle begivenheder + +Deltagelse + + * Velkommen + * Skribentforside + * Projekter + * Seneste 鎛dringer + * Hj鎙p + +V鎟kt鴍er + + * Hvad henviser hertil + * Relaterede 鎛dringer + * Specialsider + * Permanent link + * Cit閞 denne artikel + +Organisation + + * Donation + * Kontakt Wikipedia + * Wikimedia Danmark + +Udskriv/eksport閞 + + * Lav en bog + * Download som PDF + * Udskriftsvenlig udgave + +Andre sprog + + * + * 巈mait歬a + * Bosanski + * Catal + * + * / + * Deutsch + * English + * Espa駉l + * Suomi + * F鴕oyskt + * Fran鏰is + * Hrvatski + * 蛃lenska + * Italiano + * + * Kalaallisut + * Lietuvi + * Latvie歶 + * Nederlands + * Norsk (nynorsk) + * Norsk (bokm錶) + * Polski + * Portugu阺 + * Rom鈔 + * + * Srpskohrvatski / + * Simple English + * / Srpski + * Svenska + * T黵k鏴 + * /Tatar鏰 + * + + * Denne side blev senest 鎛dret den 27. december 2008 kl. 22:01. + * Tekst er tilg鎛gelig under Creative Commons Navngivelse/Del p + samme vilk錼 3.0; yderligere betingelser kan v鎟e g鎙dende. Se + brugsbetingelserne for flere oplysninger. + + * Behandling af personlige oplysninger + * Om Wikipedia + * Forbehold + * Mobil visning + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt b/test/testdata/el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt new file mode 100644 index 0000000..f9572d3 --- /dev/null +++ b/test/testdata/el/.WINDOWS-1253/wikitop_el_WINDOWS-1253.txt @@ -0,0 +1,239 @@ +旋腌:数耖 + + 琉 翮 麻觊疳咪彘, 翮 咫妪桢耒 邈牾觌镳徇溴獒 + 体糗忉箸 箦: 痣镛沌箸, 犴徭摁珞 + + 梳膻 揠栳翦 篝 麻觊疳咪彘, + 翮 咫妪桢耒 邈牾觌镳徇溴獒 痫 泷荟秕戾 篚祆弭秣殛. + 咫腌黹贽 蓐滹箸 翮 邈牾觌镳徇溴獒 疱耖脶焘茼彘 狨艮 翮 篝殂燹 + 65.691 荞桉. + + 誊桢翦 疱耖篌羼 汩 翮 邈牾觌镳徇溴獒 溟徕苕镯翎 狃犴艮箦轵 箦 + 篚礴栝箪蓓弪 羼摅彘 赆 翮 箦脒溽 怙掼彘狎 汩 翮 黢摅 赆 麸 蓠泔 + 狨麸 麸 邈麇轳揿狒矧. + 戈滹箸 汩 觊礴糗 赆 躔镫镢轶糨 麇轳 + + Nuvola filesystems services.svg 硼殡邈燧盹 荞桉 + 审麸襁 翮 悬脲 豉 嗅赳 暹磲 轶麸耖挈 忾怆唢 麸 郁蓥犴秕 + 腮禳痫蹼秕 痫 尻潼桤赍 汩 瘃 鲲褴 麸 1888 篝珥 凌揄 赆 + 屦犴尻潼桤赍 狃 麸 漱篝 择獒眙狯腼 戾 磔 蹼殛 痫 暹麇 + 瘃矬栎箦 篚沣襻鲚狎 麸 1950 犭胲 赆 麸 1990 戾 瘃矬柁赙 篝镩麇啭 + 赆 篦镫啭 狃 麸 轶麸耖挈 箩筮腌 塑驷耒. 梳臊痿彘 翮 轶麸襁 翮 + 瘘腌 狃 翎 狁麽哚 黢獒 燧黢 翮 烹腌黹贽 硼犴荏翎箸 麸 1821. 燥 + 忾怆唢 赆 镩 屦犴尻潼箦轵 麸 蓣秕 黢珞殪镳镩玷暹  忾怆轱泷狯哚 赆 + 暹磲 蓠汜 犴狯锺茯 汩 翮 轶麸襁 翮 熊赳狎. + + 镫镪腌聩燧盹 暨綦矧 麸 忾怆唢 暹磲 审麸襁 翮 悬脲 嗅赳 狃 + 豉 狁麽轱糗豉 黢 燧黢 麸 1821. 抨潼桤赍 狃 麸 忉箝腴挈 + 趱痫泷狯暹 摄汶蒹 篝珥 凌揄 麸 1888 赆 狃雉咫暹 麸 瘃 蓠泔 + 糨麸獒 屐廨脲獒 汩 翮 轶麸襁 扉狎 咫腌黹贽 瘘腌.(疱耖篌羼...) + ㈦脶 犷辄腼汜 荞桉... + Gnome globe current event.svg 择蓣镯翎 沐泔睃翎 + * 洼矧 旭躔秕胥 麸 湾疖 尻胼沐翎 甜犰痫躐莒 甜狒狁荛. + * 嗅襻轸暹翎 狃 翮 瘃躔秕胥哚 翮 舍瘗磉狎 歪 梳. + * 祥 犴糗耵弪 翮 碎恺珧 赆翎脶焘茼秕 翮 择唣镫 赆 翦耢狒哝弭衢 + 麸 赆桢篝 麸 田犰荞 梳眙荟. + * 提盹踺 羞眙 眙 庶篝 赆 泣矜 受耠矧 诛眢蓐 赍皲哝秕 糸 + 瘃镥漶殛蒡 尻腼爿 篝轵 瘃 痫耵镢犭殛蒡 狃镩赀弪 榆 燥燧 赆 + 旭唔箝疱 赆 旭荏轫 陵聩艮耖 犴暨篝镩麽. + + 绣耖篌羼 赳蓣镯翎 沐泔睃翎... + Nuvola apps date.svg 庆羼镫轱 + 21 详豉怦唢 + + * 1944 - 燥 HMAS Australia 黥躔掼珀 赆糗 翮 瘃 屦哞弩 梳扉贶骈. + 30 茼赳弪 箨雉珀犴, 戾翎铨 豉 镳镞 赆 溟镩赙艮 麸 痣镞秕. + (' 嗅汴扉矧 悬脲祜) + * 1972 - 疙 NAMC YS-11A 翮 想蹯痖彡掾 铃耧痫襁狎 篚礤赳哜 篝轵 + 彡糨 翮 嘛狎 留糸贽. 37 狃 麸躜 屦殁徇盹眙弪 痦咩珀犴, 屙 19 + 赆糗鲥襻 磲 簌栾 鲷茼镯翎 篝珥 彡艮. + +绣耖篌羼 汩 狨酎 麸 燹磲, 狨艮 翮 珈蓠. + + Nuvola apps filetypes.svg 庙哝弭 ... + * 榴麸 休皴-彦廨耵 暹磲 审疳睃 篚沣襻鲚狎 赆 溏祜箝镢褴鲲, + 燧腼 翮 箩箝腴贽 陵徜珈哚 豉 民犰燔豉; + * 汪蓍耥赳 狃雉咫暹 唧 翮 赳徙殛羼 鲩泔 翮 轳犭礓殛掾 + 祯栾腼氵狎; + * 梳睃 罪汴荛 摁犴 绍瘗磲 赆腚轸蓣礴 麸 19秕 赆 蓓狎 狃 麸躜 + 翦脲豸徇秕 纟泷荟秕 翮 篦镫掾 篦镫掾 梳睃; + * 蛛屙 蛙轸轫汴妃 摁犴 瘃镳矧 翮 簖泖耧礴 盹箸脲豸殛掾 + 犭胲 赆 溟彡尻耖燧礴 篝狒轶糸挈; + + 绣耖篌羼 + + Nuvola apps email.png 旭觌珞 篚祆弭秣掾 + 咫腌黹贽 麻觊疳咪彘 黢彘苕弭衢 翮 彖咫镯糸贽 筢 篚礤轶鲲褴 汩 磲 + 犴狃趱麒暹. 另 怦揸狒 贶痫轱 荞桉 痫 筢 屙溟狯蓠彘 犭胲 暹磲 + 犴屦狁贻, 篚祓腌颃篝 麸. 另 沩哝弭 赆胲 贶痫轱 栎灬, 祓锺暹翦 磲 + 铄觊磙箦翦 蓓 磔 荞桉 狃 翮 狁鬓. 陵 赆 狃艴桢哚 戾翎鲴荏彘 + 荞桉 狃 尻潼箦轵 翮 麻觊疳咪彘狎 箦 茈脲 汶箦 暹磲 + 赆腼溴黠屙弪. 拈徕荏翦 糸 篦弭殛蒡 镤玢咤 赆 ... 赆朦 泷茗殪! + Nuvola apps kpdf.png 陪牾觌镳徇溴獒 + 儒灬糸挈 赆糗腼泔 + + Nuvola apps kcoloredit.svg + 酗腴糸箪 赆 暂黜弪 + + 迄泷狯殛 容狒耧 书礴灬麸泷荟矧 孙泔翦黜哚 田躞殛 + 榴鏖翦牯镯殛 秒躔糸贽 凌腌糸箪 条栾腼氵 锐珞赍哚 + + Nuvola apps kalzium.png + 儒糸贻 赆 瞩箝贻 硼轶艮戾 + + 馏赳镯镬哚 麻镫镢哚 缅镢哚 拈荏翮灬 震镫镢轶糨 提桤灬糸贶 + 藻黜镫镢哚 瞩箝贽 诅戾哚 舍赳殛 + + Nuvola apps edu phi.png + 珠腼箫鲞 赆 曙轫殛蒡 硼轶艮戾 + + 另桉镫镢哚 妨聍衢镫镢哚 秒筢 祥觑盹爝 珠腼箫鲞 仵黠腼氵 + + Gnome-globe.svg + 缅襻鲞 + + 馏哚 瘤耖贽 领羼殛 捧颃痃 訇遽磉 悬脲轵 皴 溶脶篌弪 + + Nuvola apps bookcase.png + 审麸襁 + + 榴麽辄翮翎 体筢啭磲 湾羼镩 黢镩 悬脲祜 + 绣耖篌羼 栎灬翎... + 岭鲠忡糸挈 赆糗腼泔 + + 1 2 3 4 5 6 7 8 9 0 + Information icon.svg 麻觊疳咪彘 + Wikipedia-logo.png + 麻觊疳咪彘 + + 嘛掼彘 Ⅰ桉 瘃矧 屦殪蓦彘 Ⅰ桉 瘃矧 戾糗鲴狍 许艴灬糸贶 + 溟赆辋灬翎 Ⅰ桉 瘃矧 屦蓐翎箸 + 曙轫玺 + Nuvola apps kuser.svg + 零锺 吁黜蒡 羼摅彘 (FAQ) 酗腴糸贽 酗腴糸贽 溟徙襻鲛 + 领祜潼黠 旭雉彘睃戾磲 栎灬翎 汩 磔 荞桉 Ⅰ桉 纟糸贽 箸灬筮狎 + 洼 荞桉 拈狩彘耖篝蒡 + 箱玢咤 汩 磔秕 黢摅翦 + Monobook icon.svg + 箱玢 汩 磔秕 黢摅翦 蚤 暹磲 麻觊疳咪彘 蚤 溴 暹磲 + 麻觊疳咪彘 琉腼 赆睃礤 硝溴翦顸翮翎 砰挈礤 玄 磲 + 屦孱羼汜篝暹翦 扉 箦脒溽 箱玢 戾翎鲴荏妁 硼轹豉箸 狁麇唢 + +㈦脶 邈麇轳揿狒 + + 脲轸秕胥哚 翮 麻觊疳咪彘狎 躔矬翮襁驽翎 狃 麸 扃 赍皲矬觑痖挈 + 锺汜黹箪 Wikimedia Foundation, 镳镞矧 脲轸秕胥暹 赆 茈腼躜 + 痫臊汶箫躜 赆 咫妪桢耧 疱耖鬻镬蓓秕 轶麸齄耧躜: + + Wikisource-logo.svg + + 麻觊柁赙 + 烹妪桢襻 葶泷狯 赆 痃爿 + + Wiktprintable without text.svg + + 麻觊脲铋挈 + 隋铋挈 赆 如筢躐 + + Wikinews-logo.svg + + 麻觊磔 + 烹妪桢皴 砰滢箦轵 + + Commons-logo.svg + + Commons + 曙轫 狃镨揸 痫膈燧簌 + + Wikibooks-logo.svg + + 麻觊忾怆哚 +抨疳殇艴糸贶 忾怆哚 赆 邈麇轳咪獒 咫妪桢耒 瘃忉箸 + + Wikiquote-logo.svg + + 麻觊鲨葶灬翎 + 吁腚镢 狃秭桢沆荇 + + Wikiversity-logo.svg + + 麻觊屦轶艮扉 +烹妪桢耧 溟溽牯殛 蹼殛 赆 漶狍翮耖玺弪 + + Wikispecies-logo.svg + + Wikispecies + 梳糗腼泔 豉 彘濑 + + Wikimedia Community Logo.svg + + Meta-Wiki + 吁眙镯轶禳  豉 瘃镢襻祆荇 Wikimedia + + 另彡艮桤赍 狃 + +旭矬殛 羼汜脲哚 + + * 溺扉秕胥哚 孙汜耖狍祜/胚箫滹 + +绣耖秣蒡 镯镬荇 + + * 旋腌 + * 吁孓翮箸 + +嗅襻腚徙蒡 + +澎鲠磉箦轵 + + * 另茔睐箸 + * 澎鲕黹箸 掰溟赆 + * 旭镡镫 轶麸耖觑 + +彭蓠沐殄 + +另徭摁珞 + + ____________________ (Submit) 另徭摁珞 + +须镛沌箸 + + * 数耖 瘕腌 + * 梳糗腼泔 荞桉 + * 令辄腼汜 荞桉 + * 择蓣镯翎 沐泔睃翎 + * 怎麽哚 箦脒溽 + +吁祆弭秣 + + * 旋腌 曙轫玺狎 + * 零锺 + * 旭鲠翦 犭脶爿 + * 嘛掼彘 + * 硼殛镩睐磉 + * 涅皴蒡 + +抨酏瘗箸/孱徙 + + * 溺扉秕胥哚 忾怆唢 + * 梳糨忉箪  PDF + * 戈滹箸 尻酏瘗箸 + +篷汜脲轱柁赙 + + * 吁礓蒹彘 瘃矧 邃 + * 喻弭殛蒡 犭脶爿 + * 砰溟贻 箦脒溴 + * 郁徼羼 簖礓弩祜 + +㈦脲 汶箦 + + * 藻脲豸徇 赳镳镳镞珞 20:32, 8 渝痿屐怦唢 2011. + * 茧 翎 赍哽屙 暹磲 溟徼蒹殪 躔 翮 Creative Commons + Attribution/Share-Alike License 祓锺暹 磲 轶鼾秕 赆 瘃桢麸 + 镩. 腻唪 麸躜 捡秕 遵摅珧 汩 脲痿镬蓠彘弪. + + * 酗腴糸贽 瘃矬殛 溴滹燧睐 + * 瞄 翮 麻觊疳咪彘 + * 琉镳镞珞 艴桴睨 + * 旭镡镫 觊礴麸 + diff --git a/test/testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt b/test/testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt new file mode 100644 index 0000000..84c521c --- /dev/null +++ b/test/testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt @@ -0,0 +1,226 @@ + 琉 翮 麻觊疳咪彘, 翮 咫妪桢耒 邈牾觌镳徇溴獒 + 体糗忉箸 箦: 痣镛沌箸, 犴徭摁珞 + + 梳膻 揠栳翦 篝 麻觊疳咪彘, + 翮 咫妪桢耒 邈牾觌镳徇溴獒 痫 泷荟秕戾 篚祆弭秣殛. + 咫腌黹贽 蓐滹箸 翮 邈牾觌镳徇溴獒 疱耖脶焘茼彘 狨艮 翮 篝殂燹 + 65.691 荞桉. + + 誊桢翦 疱耖篌羼 汩 翮 邈牾觌镳徇溴獒 溟徕苕镯翎 狃犴艮箦轵 箦 + 篚礴栝箪蓓弪 羼摅彘 赆 翮 箦脒溽 怙掼彘狎 汩 翮 黢摅 赆 麸 蓠泔 + 狨麸 麸 邈麇轳揿狒矧. + 戈滹箸 汩 觊礴糗 赆 躔镫镢轶糨 麇轳 + + 硼殡邈燧盹 荞桉 + 审麸襁 翮 悬脲 豉 嗅赳 暹磲 轶麸耖挈 忾怆唢 麸 郁蓥犴秕 + 腮禳痫蹼秕 痫 尻潼桤赍 汩 瘃 鲲褴 麸 1888 篝珥 凌揄 赆 + 屦犴尻潼桤赍 狃 麸 漱篝 择獒眙狯腼 戾 磔 蹼殛 痫 暹麇 + 瘃矬栎箦 篚沣襻鲚狎 麸 1950 犭胲 赆 麸 1990 戾 瘃矬柁赙 篝镩麇啭 + 赆 篦镫啭 狃 麸 轶麸耖挈 箩筮腌 塑驷耒. 梳臊痿彘 翮 轶麸襁 翮 + 瘘腌 狃 翎 狁麽哚 黢獒 燧黢 翮 烹腌黹贽 硼犴荏翎箸 麸 1821. 燥 + 忾怆唢 赆 镩 屦犴尻潼箦轵 麸 蓣秕 黢珞殪镳镩玷暹  忾怆轱泷狯哚 赆 + 暹磲 蓠汜 犴狯锺茯 汩 翮 轶麸襁 翮 熊赳狎. + + 镫镪腌聩燧盹 暨綦矧 麸 忾怆唢 暹磲 审麸襁 翮 悬脲 嗅赳 狃 + 豉 狁麽轱糗豉 黢 燧黢 麸 1821. 抨潼桤赍 狃 麸 忉箝腴挈 + 趱痫泷狯暹 摄汶蒹 篝珥 凌揄 麸 1888 赆 狃雉咫暹 麸 瘃 蓠泔 + 糨麸獒 屐廨脲獒 汩 翮 轶麸襁 扉狎 咫腌黹贽 瘘腌.(疱耖篌羼...) + 峨脶 犷辄腼汜 荞桉... + Gnome globe current event.svg 择蓣镯翎 沐泔睃翎 + * 洼矧 旭躔秕胥 麸 湾疖 尻胼沐翎 甜犰痫躐莒 甜狒狁荛. + * 嗅襻轸暹翎 狃 翮 瘃躔秕胥哚 翮 舍瘗磉狎 歪 梳. + * 祥 犴糗耵弪 翮 碎恺珧 赆翎脶焘茼秕 翮 择唣镫 赆 翦耢狒哝弭衢 + 麸 赆桢篝 麸 田犰荞 梳眙荟. + * 提盹踺 羞眙 眙 庶篝 赆 泣矜 受耠矧 诛眢蓐 赍皲哝秕 糸 + 瘃镥漶殛蒡 尻腼爿 篝轵 瘃 痫耵镢犭殛蒡 狃镩赀弪 榆 燥燧 赆 + 旭唔箝疱 赆 旭荏轫 陵聩艮耖 犴暨篝镩麽. + + 绣耖篌羼 赳蓣镯翎 沐泔睃翎... + Nuvola apps date.svg 庆羼镫轱 + 21 详豉怦唢 + + * 1944 - 燥 HMAS Australia 黥躔掼珀 赆糗 翮 瘃 屦哞弩 梳扉贶骈. + 30 茼赳弪 箨雉珀犴, 戾翎铨 豉 镳镞 赆 溟镩赙艮 麸 痣镞秕. + (' 嗅汴扉矧 悬脲祜) + * 1972 - 疙 NAMC YS-11A 翮 想蹯痖彡掾 铃耧痫襁狎 篚礤赳哜 篝轵 + 彡糨 翮 嘛狎 留糸贽. 37 狃 麸躜 屦殁徇盹眙弪 痦咩珀犴, 屙 19 + 赆糗鲥襻 磲 簌栾 鲷茼镯翎 篝珥 彡艮. + +绣耖篌羼 汩 狨酎 麸 燹磲, 狨艮 翮 珈蓠. + + Nuvola apps filetypes.svg 庙哝弭 ... + * 榴麸 休皴-彦廨耵 暹磲 审疳睃 篚沣襻鲚狎 赆 溏祜箝镢褴鲲, + 燧腼 翮 箩箝腴贽 陵徜珈哚 豉 民犰燔豉; + * 汪蓍耥赳 狃雉咫暹 唧 翮 赳徙殛羼 鲩泔 翮 轳犭礓殛掾 + 祯栾腼氵狎; + * 梳睃 罪汴荛 摁犴 绍瘗磲 赆腚轸蓣礴 麸 19秕 赆 蓓狎 狃 麸躜 + 翦脲豸徇秕 纟泷荟秕 翮 篦镫掾 篦镫掾 梳睃; + * 蛛屙 蛙轸轫汴妃 摁犴 瘃镳矧 翮 簖泖耧礴 盹箸脲豸殛掾 + 犭胲 赆 溟彡尻耖燧礴 篝狒轶糸挈; + + 绣耖篌羼 + + Nuvola apps email.png 旭觌珞 篚祆弭秣掾 + 咫腌黹贽 麻觊疳咪彘 黢彘苕弭衢 翮 彖咫镯糸贽 筢 篚礤轶鲲褴 汩 磲 + 犴狃趱麒暹. 另 怦揸狒 贶痫轱 荞桉 痫 筢 屙溟狯蓠彘 犭胲 暹磲 + 犴屦狁贻, 篚祓腌颃篝 麸. 另 沩哝弭 赆胲 贶痫轱 栎灬, 祓锺暹翦 磲 + 铄觊磙箦翦 蓓 磔 荞桉 狃 翮 狁鬓. 陵 赆 狃艴桢哚 戾翎鲴荏彘 + 荞桉 狃 尻潼箦轵 翮 麻觊疳咪彘狎 箦 茈脲 汶箦 暹磲 + 赆腼溴黠屙弪. 拈徕荏翦 糸 篦弭殛蒡 镤玢咤 赆 ... 赆朦 泷茗殪! + Nuvola apps kpdf.png 陪牾觌镳徇溴獒 + 儒灬糸挈 赆糗腼泔 + + Nuvola apps kcoloredit.svg + 酗腴糸箪 赆 暂黜弪 + + 迄泷狯殛 容狒耧 书礴灬麸泷荟矧 孙泔翦黜哚 田躞殛 + 榴鏖翦牯镯殛 秒躔糸贽 凌腌糸箪 条栾腼氵 锐珞赍哚 + + Nuvola apps kalzium.png + 儒糸贻 赆 瞩箝贻 硼轶艮戾 + + 馏赳镯镬哚 麻镫镢哚 缅镢哚 拈荏翮灬 震镫镢轶糨 提桤灬糸贶 + 藻黜镫镢哚 瞩箝贽 诅戾哚 舍赳殛 + + Nuvola apps edu phi.png + 珠腼箫鲞 赆 曙轫殛蒡 硼轶艮戾 + + 另桉镫镢哚 妨聍衢镫镢哚 秒筢 祥觑盹爝 珠腼箫鲞 仵黠腼氵 + + Gnome-globe.svg + 缅襻鲞 + + 馏哚 瘤耖贽 领羼殛 捧颃痃 訇遽磉 悬脲轵 皴 溶脶篌弪 + + Nuvola apps bookcase.png + 审麸襁 + + 榴麽辄翮翎 体筢啭磲 湾羼镩 黢镩 悬脲祜 + 绣耖篌羼 栎灬翎... + 岭鲠忡糸挈 赆糗腼泔 + + 1 2 3 4 5 6 7 8 9 0 + Information icon.svg 麻觊疳咪彘 + Wikipedia-logo.png + 麻觊疳咪彘 + + 嘛掼彘 恶桉 瘃矧 屦殪蓦彘 恶桉 瘃矧 戾糗鲴狍 许艴灬糸贶 + 溟赆辋灬翎 恶桉 瘃矧 屦蓐翎箸 + 曙轫玺 + Nuvola apps kuser.svg + 零锺 吁黜蒡 羼摅彘 (FAQ) 酗腴糸贽 酗腴糸贽 溟徙襻鲛 + 领祜潼黠 旭雉彘睃戾磲 栎灬翎 汩 磔 荞桉 恶桉 纟糸贽 箸灬筮狎 + 洼 荞桉 拈狩彘耖篝蒡 + 箱玢咤 汩 磔秕 黢摅翦 + Monobook icon.svg + 箱玢 汩 磔秕 黢摅翦 蚤 暹磲 麻觊疳咪彘 蚤 溴 暹磲 + 麻觊疳咪彘 琉腼 赆睃礤 硝溴翦顸翮翎 砰挈礤 玄 磲 + 屦孱羼汜篝暹翦 扉 箦脒溽 箱玢 戾翎鲴荏妁 硼轹豉箸 狁麇唢 + +峨脶 邈麇轳揿狒 + + 脲轸秕胥哚 翮 麻觊疳咪彘狎 躔矬翮襁驽翎 狃 麸 扃 赍皲矬觑痖挈 + 锺汜黹箪 Wikimedia Foundation, 镳镞矧 脲轸秕胥暹 赆 茈腼躜 + 痫臊汶箫躜 赆 咫妪桢耧 疱耖鬻镬蓓秕 轶麸齄耧躜: + + + 麻觊柁赙 + 烹妪桢襻 葶泷狯 赆 痃爿 + + 麻觊脲铋挈 + 隋铋挈 赆 如筢躐 + + 麻觊磔 + 烹妪桢皴 砰滢箦轵 + + 曙轫 狃镨揸 痫膈燧簌 + + + 麻觊忾怆哚 +抨疳殇艴糸贶 忾怆哚 赆 邈麇轳咪獒 咫妪桢耒 瘃忉箸 + + Wikiquote-logo.svg + + 麻觊鲨葶灬翎 + 吁腚镢 狃秭桢沆荇 + + Wikiversity-logo.svg + + 麻觊屦轶艮扉 +烹妪桢耧 溟溽牯殛 蹼殛 赆 漶狍翮耖玺弪 + + Wikispecies-logo.svg + + Wikispecies + 梳糗腼泔 豉 彘濑 + + Wikimedia Community Logo.svg + + Meta-Wiki + 吁眙镯轶禳  豉 瘃镢襻祆荇 Wikimedia + + 另彡艮桤赍 狃 + +旭矬殛 羼汜脲哚 + + * 溺扉秕胥哚 孙汜耖狍祜/胚箫滹 + +绣耖秣蒡 镯镬荇 + + * 旋腌 + * 吁孓翮箸 + +嗅襻腚徙蒡 + +澎鲠磉箦轵 + + * 另茔睐箸 + * 澎鲕黹箸 掰溟赆 + * 旭镡镫 轶麸耖觑 + +彭蓠沐殄 + +另徭摁珞 + + ____________________ (Submit) 另徭摁珞 + +须镛沌箸 + + * 数耖 瘕腌 + * 梳糗腼泔 荞桉 + * 令辄腼汜 荞桉 + * 择蓣镯翎 沐泔睃翎 + * 怎麽哚 箦脒溽 + +吁祆弭秣 + + * 旋腌 曙轫玺狎 + * 零锺 + * 旭鲠翦 犭脶爿 + * 嘛掼彘 + * 硼殛镩睐磉 + * 涅皴蒡 + +抨酏瘗箸/孱徙 + + * 溺扉秕胥哚 忾怆唢 + * 梳糨忉箪  PDF + * 戈滹箸 尻酏瘗箸 + +篷汜脲轱柁赙 + + * 吁礓蒹彘 瘃矧 邃 + * 喻弭殛蒡 犭脶爿 + * 砰溟贻 箦脒溴 + * 郁徼羼 簖礓弩祜 + +峨脲 汶箦 + * 藻脲豸徇 赳镳镳镞珞 20:32, 8 渝痿屐怦唢 2011. + * 茧 翎 赍哽屙 暹磲 溟徼蒹殪 躔 翮 Creative Commons + Attribution/Share-Alike License 祓锺暹 磲 轶鼾秕 赆 瘃桢麸 + 镩. 腻唪 麸躜 捡秕 遵摅珧 汩 脲痿镬蓠彘弪. + + * 酗腴糸贽 瘃矬殛 溴滹燧睐 + * 瞄 翮 麻觊疳咪彘 + * 琉镳镞珞 艴桴睨 + * 旭镡镫 觊礴麸 diff --git a/test/testdata/el/UTF-8/wikitop_el_UTF-8.txt b/test/testdata/el/UTF-8/wikitop_el_UTF-8.txt new file mode 100644 index 0000000..5ab4960 --- /dev/null +++ b/test/testdata/el/UTF-8/wikitop_el_UTF-8.txt @@ -0,0 +1,239 @@ +螤蠉位畏:螝蠉蟻喂伪 + + 螒蟺蠈 蟿畏 螔喂魏喂蟺伪委未蔚喂伪, 蟿畏谓 蔚位蔚蠉胃蔚蟻畏 蔚纬魏蠀魏位慰蟺伪委未蔚喂伪 + 螠蔚蟿维尾伪蟽畏 蟽蔚: 蟺位慰萎纬畏蟽畏, 伪谓伪味萎蟿畏蟽畏 + + 螝伪位蠋蟼 萎位胃伪蟿蔚 蟽蟿畏 螔喂魏喂蟺伪委未蔚喂伪, + 蟿畏谓 蔚位蔚蠉胃蔚蟻畏 蔚纬魏蠀魏位慰蟺伪委未蔚喂伪 蟺慰蠀 纬蟻维蠁慰蠀渭蔚 蟽蠀渭渭蔚蟿慰蠂喂魏维. + 螚 蔚位位畏谓喂魏萎 苇魏未慰蟽畏 蟿畏蟼 蔚纬魏蠀魏位慰蟺伪委未蔚喂伪蟼 蟺蔚蟻喂位伪渭尾维谓蔚喂 伪蠀蟿萎 蟿畏 蟽蟿喂纬渭萎 + 65.691 维蟻胃蟻伪. + + 螠维胃蔚蟿蔚 蟺蔚蟻喂蟽蟽蠈蟿蔚蟻伪 纬喂伪 蟿畏谓 蔚纬魏蠀魏位慰蟺伪委未蔚喂伪 未喂伪尾维味慰谓蟿伪蟼 伪蟺伪谓蟿萎蟽蔚喂蟼 蟽蔚 + 蟽蠀谓畏胃喂蟽渭苇谓蔚蟼 蔚蟻蠅蟿萎蟽蔚喂蟼 魏伪喂 蟿畏 蟽蔚位委未伪 尾慰萎胃蔚喂伪蟼 纬喂伪 蟿畏 蠂蟻萎蟽畏 魏伪喂 蟿慰 苇蟻纬慰 + 伪蠀蟿慰蠉 蟿慰蠀 蔚纬蠂蔚喂蟻萎渭伪蟿慰蟼. + 螆魏未慰蟽畏 纬喂伪 魏喂谓畏蟿维 魏伪喂 蠀蟺慰位慰纬喂蟽蟿苇蟼 蠂蔚喂蟻蠈蟼 + + Nuvola filesystems services.svg 螘蟺喂位蔚纬渭苇谓慰 维蟻胃蟻慰 + 螚 螜蟽蟿慰蟻委伪 蟿畏蟼 螤蠈位蔚蠅蟼 蟿蠅谓 螤伪蟿蟻蠋谓 蔚委谓伪喂 喂蟽蟿慰蟻喂魏蠈 尾喂尾位委慰 蟿慰蠀 危蟿苇蠁伪谓慰蠀 + 螛蠅渭蠈蟺慰蠀位慰蠀 蟺慰蠀 蔚魏未蠈胃畏魏蔚 纬喂伪 蟺蟻蠋蟿畏 蠁慰蟻维 蟿慰 1888 蟽蟿畏谓 螒胃萎谓伪 魏伪喂 + 蔚蟺伪谓蔚魏未蠈胃畏魏蔚 伪蟺蠈 蟿慰谓 螝蠋蟽蟿伪 韦蟻喂伪谓蟿伪蠁蠉位位慰蠀 渭蔚 谓苇慰 蠀位喂魏蠈 蟺慰蠀 蔚委蠂蔚 + 蟺蟻慰蟽胃苇蟽蔚喂 慰 蟽蠀纬纬蟻伪蠁苇伪蟼 蟿慰 1950 伪位位维 魏伪喂 蟿慰 1990 渭蔚 蟺蟻慰蟽胃萎魏畏 蟽蟿慰喂蠂蔚委蠅谓 + 魏伪喂 蟽蠂慰位委蠅谓 伪蟺蠈 蟿慰谓 喂蟽蟿慰蟻喂魏蠈 螔伪蟽委位畏 螞维味伪蟻畏. 螝伪位蠉蟺蟿蔚喂 蟿畏谓 喂蟽蟿慰蟻委伪 蟿畏蟼 + 蟺蠈位畏蟼 伪蟺蠈 蟿伪 伪蟻蠂伪委伪 蠂蟻蠈谓喂伪 渭苇蠂蟻喂 蟿畏谓 螘位位畏谓喂魏萎 螘蟺伪谓维蟽蟿伪蟽畏 蟿慰蠀 1821. 韦慰 + 尾喂尾位委慰 魏伪喂 慰喂 蔚蟺伪谓蔚魏未蠈蟽蔚喂蟼 蟿慰蠀 苇蠂慰蠀谓 蠂蟻畏蟽喂渭慰蟺慰喂畏胃蔚委 蠅蟼 尾喂尾位喂慰纬蟻伪蠁委伪 魏伪喂 + 蔚委谓伪喂 苇蟻纬伪 伪谓伪蠁慰蟻维蟼 纬喂伪 蟿畏谓 喂蟽蟿慰蟻委伪 蟿畏蟼 螤维蟿蟻伪蟼. + + 螣 慰位慰魏位畏蟻蠅渭苇谓慰蟼 蟿委蟿位慰蟼 蟿慰蠀 尾喂尾位委慰蠀 蔚委谓伪喂 螜蟽蟿慰蟻委伪 蟿畏蟼 螤蠈位蔚蠅蟼 螤伪蟿蟻蠋谓 伪蟺蠈 + 蟿蠅谓 伪蟻蠂伪喂慰蟿维蟿蠅谓 蠂蟻蠈谓蠅谓 渭苇蠂蟻喂 蟿慰蠀 1821. 螘魏未蠈胃畏魏蔚 伪蟺蠈 蟿慰 尾伪蟽喂位喂魏蠈 + 蟿蠀蟺慰纬蟻伪蠁蔚委慰 螜纬纬位苇蟽畏 蟽蟿畏谓 螒胃萎谓伪 蟿慰 1888 魏伪喂 伪蟺慰蟿蔚位蔚委 蟿慰 蟺蟻蠋蟿慰 苇蟻纬慰 + 蟿苇蟿慰喂伪蟼 蔚渭尾苇位蔚喂伪蟼 纬喂伪 蟿畏谓 喂蟽蟿慰蟻委伪 渭喂伪蟼 蔚位位畏谓喂魏萎蟼 蟺蠈位畏蟼.(蟺蔚蟻喂蟽蟽蠈蟿蔚蟻伪...) + 螁位位伪 伪尉喂蠈位慰纬伪 维蟻胃蟻伪... + Gnome globe current event.svg 韦蟻苇蠂慰谓蟿伪 纬蔚纬慰谓蠈蟿伪 + * 螡苇慰蟼 螤蟻蠅胃蠀蟺慰蠀蟻纬蠈蟼 蟿慰蠀 螡蔚蟺维位 蔚魏位苇纬蔚蟿伪喂 慰 螠蟺伪渭蟺慰蠀蟻维渭 螠蟺伪蟿伪蟻维喂. + * 螤伪蟻伪喂蟿蔚委蟿伪喂 伪蟺蠈 蟿畏谓 蟺蟻蠅胃蠀蟺慰蠀蟻纬委伪 蟿畏蟼 螜伪蟺蠅谓委伪蟼 慰 螡伪蠈蟿慰 螝伪谓. + * 螣喂 伪谓蟿维蟻蟿蔚蟼 蟿畏蟼 螞喂尾蠉畏蟼 魏伪蟿伪位伪渭尾维谓慰蠀谓 蟿畏谓 韦蟻委蟺慰位畏 魏伪喂 蟿蔚蟻渭伪蟿委味蔚蟿伪喂 + 蟿慰 魏伪胃蔚蟽蟿蠋蟼 蟿慰蠀 螠慰伪渭维蟻 螝伪谓蟿维蠁喂. + * 螣 螠伪谓慰蠀苇位 螤委谓蟿慰 谓蟿伪 螝蠈蟽蟿伪 魏伪喂 慰 螙蠈蟻味蔚 螝维蟻位慰蟼 桅慰谓蟽苇魏伪 魏蔚蟻未委味慰蠀谓 蟿喂蟼 + 蟺蟻慰蔚未蟻喂魏苇蟼 蔚魏位慰纬苇蟼 蟽蟿喂蟼 蟺蟻蠋畏谓 蟺慰蟻蟿慰纬伪位喂魏苇蟼 伪蟺慰喂魏委蔚蟼 危维慰 韦慰渭苇 魏伪喂 + 螤蟻委谓蟽喂蟺蔚 魏伪喂 螤蟻维蟽喂谓慰 螒魏蟻蠅蟿萎蟻喂慰 伪谓蟿委蟽蟿慰喂蠂伪. + + 螤蔚蟻喂蟽蟽蠈蟿蔚蟻伪 蟿蟻苇蠂慰谓蟿伪 纬蔚纬慰谓蠈蟿伪... + Nuvola apps date.svg 螚渭蔚蟻慰位蠈纬喂慰 + 21 螣魏蟿蠅尾蟻委慰蠀 + + * 1944 - 韦慰 HMAS Australia 蠂蟿蠀蟺萎胃畏魏蔚 魏伪蟿维 蟿畏谓 蟺蟻蠋蟿畏 蔚蟺委胃蔚蟽畏 螝伪渭喂魏维味喂. + 30 维谓蟿蟻蔚蟼 蟽魏慰蟿蠋胃畏魏伪谓, 渭蔚蟿伪尉蠉 蟿蠅谓 慰蟺慰委蠅谓 魏伪喂 慰 未喂慰喂魏畏蟿萎蟼 蟿慰蠀 蟺位慰委慰蠀. + (螔' 螤伪纬魏蠈蟽渭喂慰蟼 螤蠈位蔚渭慰蟼) + * 1972 - 螆谓伪 NAMC YS-11A 蟿畏蟼 螣位蠀渭蟺喂伪魏萎蟼 螒蔚蟻慰蟺慰蟻委伪蟼 蟽蠀谓蔚蟿蟻委尾畏 蟽蟿喂蟼 + 伪魏蟿苇蟼 蟿畏蟼 螔慰蠉位伪蟼 螒蟿蟿喂魏萎蟼. 37 伪蟺蠈 蟿慰蠀蟼 蔚蟺喂尾伪委谓慰谓蟿蔚蟼 蟺谓委纬畏魏伪谓, 蔚谓蠋 19 + 魏伪蟿维蠁蔚蟻伪谓 谓伪 蟽蠅胃慰蠉谓 蠁蟿维谓慰谓蟿伪蟼 蟽蟿畏谓 伪魏蟿萎. + +螤蔚蟻喂蟽蟽蠈蟿蔚蟻伪 纬喂伪 伪蠀蟿蠈 蟿慰谓 渭萎谓伪, 伪蠀蟿萎 蟿畏谓 畏渭苇蟻伪. + + Nuvola apps filetypes.svg 螕谓蠅蟻委味蔚蟿蔚 蠈蟿喂... + * 慰 螒蟻蟿慰蠉蟻慰 螤苇蟻蔚胃-巍蔚尾苇蟻蟿蔚 蔚委谓伪喂 螜蟽蟺伪谓蠈蟼 蟽蠀纬纬蟻伪蠁苇伪蟼 魏伪喂 未畏渭慰蟽喂慰纬蟻维蠁慰蟼, + 渭苇位慰蟼 蟿畏蟼 螔伪蟽喂位喂魏萎蟼 螒魏伪未畏渭委伪蟼 蟿蠅谓 螕蟻伪渭渭维蟿蠅谓; + * 畏 螡蟿苇喂蟻谓蟿蟻蔚 伪蟺慰蟿蔚位蔚委 委蟽蠅蟼 蟿畏谓 蟿蟻伪纬喂魏蠈蟿蔚蟻畏 蠁喂纬慰蠉蟻伪 蟿畏蟼 喂蟻伪位谓未喂魏萎蟼 + 渭蠀胃慰位慰纬委伪蟼; + * 慰 螝伪谓蠈 围慰纬魏维喂 萎蟿伪谓 螜维蟺蠅谓伪蟼 魏伪位位喂蟿苇蠂谓畏蟼 蟿慰蠀 19慰蠀 魏伪喂 苇谓伪蟼 伪蟺蠈 蟿慰蠀蟼 + 蟿蔚位蔚蠀蟿伪委慰蠀蟼 味蠅纬蟻维蠁慰蠀蟼 蟿畏蟼 蟽蠂慰位萎蟼 蟽蠂慰位萎蟼 螝伪谓蠈; + * 畏 桅位蠈蟻蔚谓蟼 螡维喂蟿喂谓纬魏蔚蠆位 萎蟿伪谓 蟺蟻蠅蟿慰蟺蠈蟻慰蟼 蟿畏蟼 蟽蠉纬蠂蟻慰谓畏蟼 谓慰蟽畏位蔚蠀蟿喂魏萎蟼 + 伪位位维 魏伪喂 未喂伪魏蔚魏蟻喂渭苇谓畏 蟽蟿伪蟿喂蟽蟿喂魏蠈蟼; + + 螤蔚蟻喂蟽蟽蠈蟿蔚蟻伪 + + Nuvola apps email.png 螤蟻蠈蟽魏位畏蟽畏 蟽蠀渭渭蔚蟿慰蠂萎蟼 + 螚 蔚位位畏谓喂魏萎 螔喂魏喂蟺伪委未蔚喂伪 蠂蟻蔚喂维味蔚蟿伪喂 蟿畏谓 蔚胃蔚位慰谓蟿喂魏萎 蟽伪蟼 蟽蠀谓蔚喂蟽蠁慰蟻维 纬喂伪 谓伪 + 伪谓伪蟺蟿蠀蠂胃蔚委. 螒谓 尾蟻萎魏伪蟿蔚 魏维蟺慰喂慰 维蟻胃蟻慰 蟺慰蠀 蟽伪蟼 蔚谓未喂伪蠁苇蟻蔚喂 伪位位维 蔚委谓伪喂 + 伪谓蔚蟺伪蟻魏苇蟼, 蟽蠀渭蟺位畏蟻蠋蟽蟿蔚 蟿慰. 螒谓 纬谓蠅蟻委味蔚蟿蔚 魏伪位维 魏维蟺慰喂慰 胃苇渭伪, 渭蟺慰蟻蔚委蟿蔚 谓伪 + 尉蔚魏喂谓萎蟽蔚蟿蔚 苇谓伪 谓苇慰 维蟻胃蟻慰 伪蟺蠈 蟿畏谓 伪蟻蠂萎. 螒魏蠈渭伪 魏伪喂 伪蟺蔚蠀胃蔚委伪蟼 渭蔚蟿伪蠁蟻维蟽蔚喂蟼 + 维蟻胃蟻蠅谓 伪蟺蠈 蔚魏未蠈蟽蔚喂蟼 蟿畏蟼 螔喂魏喂蟺伪委未蔚喂伪蟼 蟽蔚 维位位蔚蟼 纬位蠋蟽蟽蔚蟼 蔚委谓伪喂 + 魏伪位慰未蔚蠂慰蠉渭蔚谓蔚蟼. 螖喂伪尾维蟽蟿蔚 蟿喂蟼 蟽蠂蔚蟿喂魏苇蟼 慰未畏纬委蔚蟼 魏伪喂 ... 魏伪位蠈 纬蟻维蠄喂渭慰! + Nuvola apps kpdf.png 螘纬魏蠀魏位慰蟺伪委未蔚喂伪 + 螛蔚渭伪蟿喂魏蠈蟼 魏伪蟿维位慰纬慰蟼 + + Nuvola apps kcoloredit.svg + 螤慰位喂蟿喂蟽渭蠈蟼 魏伪喂 韦苇蠂谓蔚蟼 + + 螙蠅纬蟻伪蠁喂魏萎 路 螛苇伪蟿蟻慰 路 螝喂谓畏渭伪蟿慰纬蟻维蠁慰蟼 路 螞慰纬慰蟿蔚蠂谓委伪 路 螠慰蠀蟽喂魏萎 路 + 螒蟻蠂喂蟿蔚魏蟿慰谓喂魏萎 路 螕位蠀蟺蟿喂魏萎 路 螒胃位畏蟿喂蟽渭蠈蟼 路 螠蠀胃慰位慰纬委伪 路 螛蟻畏蟽魏蔚委伪 + + Nuvola apps kalzium.png + 螛蔚蟿喂魏苇蟼 魏伪喂 桅蠀蟽喂魏苇蟼 螘蟺喂蟽蟿萎渭蔚蟼 + + 螒蟽蟿蟻慰谓慰渭委伪 路 螔喂慰位慰纬委伪 路 螕蔚蠅位慰纬委伪 路 螖喂维蟽蟿畏渭伪 路 违蟺慰位慰纬喂蟽蟿苇蟼 路 螠伪胃畏渭伪蟿喂魏维 + 路 韦蔚蠂谓慰位慰纬委伪 路 桅蠀蟽喂魏萎 路 围畏渭蔚委伪 路 螜伪蟿蟻喂魏萎 + + Nuvola apps edu phi.png + 桅喂位慰蟽慰蠁委伪 魏伪喂 螝慰喂谓蠅谓喂魏苇蟼 螘蟺喂蟽蟿萎渭蔚蟼 + + 螒谓胃蟻蠅蟺慰位慰纬委伪 路螒蟻蠂伪喂慰位慰纬委伪 路 螕位蠋蟽蟽伪 路 螣喂魏慰谓慰渭委伪 路 桅喂位慰蟽慰蠁委伪 路 唯蠀蠂慰位慰纬委伪 + + Gnome-globe.svg + 螕蔚蠅纬蟻伪蠁委伪 + + 螒蟽委伪 路 螒蠁蟻喂魏萎 路 螒渭蔚蟻喂魏萎 路 螘蠀蟻蠋蟺畏 路 惟魏蔚伪谓委伪 路 螤蠈位蔚喂蟼 路 围蠋蟻蔚蟼 路 螛维位伪蟽蟽蔚蟼 + + Nuvola apps bookcase.png + 螜蟽蟿慰蟻委伪 + + 螒蟻蠂伪喂蠈蟿畏蟿伪 路 螠蔚蟽伪委蠅谓伪蟼 路 螡蔚蠈蟿蔚蟻慰喂 蠂蟻蠈谓慰喂 路 螤蠈位蔚渭慰蟼 + 螤蔚蟻喂蟽蟽蠈蟿蔚蟻伪 胃苇渭伪蟿伪... + 螒位蠁伪尾畏蟿喂魏蠈蟼 魏伪蟿维位慰纬慰蟼 + 螒 螁 螔 螕 螖 螘 螆 螙 螚 螇 螛 螜 螉 螝 螞 螠 螡 螢 螣 螌 螤 巍 危 韦 违 螏 桅 围 唯 惟 螐 + 1 2 3 4 5 6 7 8 9 0 + Information icon.svg 螔喂魏喂蟺伪委未蔚喂伪 + Wikipedia-logo.png + 螔喂魏喂蟺伪委未蔚喂伪 + + 螔慰萎胃蔚喂伪 路 螁蟻胃蟻伪 蟺蟻慰蟼 蔚蟺喂渭苇位蔚喂伪 路 螁蟻胃蟻伪 蟺蟻慰蟼 渭蔚蟿维蠁蟻伪蟽畏 路 螤谓蔚蠀渭伪蟿喂魏维 + 未喂魏伪喂蠋渭伪蟿伪 路 螁蟻胃蟻伪 蟺蟻慰蟼 蔚蟺苇魏蟿伪蟽畏 + 螝慰喂谓蠈蟿畏蟿伪 + Nuvola apps kuser.svg + 螒纬慰蟻维 路 危蠀蠂谓苇蟼 蔚蟻蠅蟿萎蟽蔚喂蟼 (FAQ) 路 螤慰位喂蟿喂魏萎 路 螤慰位喂蟿喂魏萎 未喂伪纬蟻伪蠁萎蟼 路 + 螒渭渭慰未蠈蠂慰蟼 路 螤蟻慰蟿蔚喂谓蠈渭蔚谓伪 胃苇渭伪蟿伪 纬喂伪 谓苇伪 维蟻胃蟻伪 路 螁蟻胃蟻伪 味蠅蟿喂魏萎蟼 蟽畏渭伪蟽委伪蟼 + 路 螡苇伪 维蟻胃蟻伪 路 螖喂伪蠂蔚喂蟻喂蟽蟿苇蟼 + 螣未畏纬委蔚蟼 纬喂伪 谓苇慰蠀蟼 蠂蟻萎蟽蟿蔚蟼 + Monobook icon.svg + 螣未畏纬蠈蟼 纬喂伪 谓苇慰蠀蟼 蠂蟻萎蟽蟿蔚蟼 路 韦喂 蔚委谓伪喂 畏 螔喂魏喂蟺伪委未蔚喂伪 路 韦喂 未蔚谓 蔚委谓伪喂 畏 + 螔喂魏喂蟺伪委未蔚喂伪 路 螒蟺位慰委 魏伪谓蠈谓蔚蟼 路 螣蠀未蔚蟿蔚蟻蠈蟿畏蟿伪 路 螘喂魏蠈谓蔚蟼 路 螤蠋蟼 谓伪 + 蔚蟺蔚尉蔚蟻纬伪蟽蟿蔚委蟿蔚 渭喂伪 蟽蔚位委未伪 路 螣未畏纬蠈蟼 渭蔚蟿伪蠁蟻维蟽蔚蠅谓 路 螘蟺喂蠁蠈蟻蟿蠅蟽畏 伪蟻蠂蔚委慰蠀 + +螁位位伪 蔚纬蠂蔚喂蟻萎渭伪蟿伪 + + 螚 位蔚喂蟿慰蠀蟻纬委伪 蟿畏蟼 螔喂魏喂蟺伪委未蔚喂伪蟼 蠀蟺慰蟽蟿畏蟻委味蔚蟿伪喂 伪蟺蠈 蟿慰谓 渭畏 魏蔚蟻未慰蟽魏慰蟺喂魏蠈 + 慰蟻纬伪谓喂蟽渭蠈 Wikimedia Foundation, 慰 慰蟺慰委慰蟼 位蔚喂蟿慰蠀蟻纬蔚委 魏伪喂 维位位慰蠀蟼 + 蟺慰位蠉纬位蠅蟽蟽慰蠀蟼 魏伪喂 蔚位蔚蠉胃蔚蟻慰蠀 蟺蔚蟻喂蔚蠂慰渭苇谓慰蠀 喂蟽蟿慰蠂蠋蟻慰蠀蟼: + + Wikisource-logo.svg + + 螔喂魏喂胃萎魏畏 + 螘位蔚蠉胃蔚蟻伪 苇纬纬蟻伪蠁伪 魏伪喂 蟺畏纬苇蟼 + + Wiktprintable without text.svg + + 螔喂魏喂位蔚尉喂魏蠈 + 螞蔚尉喂魏蠈 魏伪喂 螛畏蟽伪蠀蟻蠈蟼 + + Wikinews-logo.svg + + 螔喂魏喂谓苇伪 + 螘位蔚蠉胃蔚蟻蔚蟼 螘喂未萎蟽蔚喂蟼 + + Commons-logo.svg + + Commons + 螝慰喂谓萎 伪蟺慰胃萎魏畏 蟺慰位蠀渭苇蟽蠅谓 + + Wikibooks-logo.svg + + 螔喂魏喂尾喂尾位委伪 +螘魏蟺伪喂未蔚蠀蟿喂魏维 尾喂尾位委伪 魏伪喂 蔚纬蠂蔚喂蟻委未喂伪 蔚位蔚蠉胃蔚蟻畏蟼 蟺蟻蠈蟽尾伪蟽畏蟼 + + Wikiquote-logo.svg + + 螔喂魏喂蠁胃苇纬渭伪蟿伪 + 危蠀位位慰纬萎 伪蟺慰蠁胃蔚纬渭维蟿蠅谓 + + Wikiversity-logo.svg + + 螔喂魏喂蔚蟺喂蟽蟿萎渭喂慰 +螘位蔚蠉胃蔚蟻慰 未喂未伪魏蟿喂魏蠈 蠀位喂魏蠈 魏伪喂 未蟻伪蟽蟿畏蟻喂蠈蟿畏蟿蔚蟼 + + Wikispecies-logo.svg + + Wikispecies + 螝伪蟿维位慰纬慰蟼 蟿蠅谓 蔚喂未蠋谓 + + Wikimedia Community Logo.svg + + Meta-Wiki + 危蠀谓蟿慰谓喂蟽渭蠈蟼 蠈位蠅谓 蟿蠅谓 蟺蟻慰纬蟻伪渭渭维蟿蠅谓 Wikimedia + + 螒谓伪魏蟿萎胃畏魏蔚 伪蟺蠈 + +螤蟻慰蟽蠅蟺喂魏维 蔚蟻纬伪位蔚委伪 + + * 螖畏渭喂慰蠀蟻纬委伪 螞慰纬伪蟻喂伪蟽渭慰蠉/螘委蟽慰未慰蟼 + +螤蔚蟻喂慰蠂苇蟼 慰谓慰渭维蟿蠅谓 + + * 螤蠉位畏 + * 危蠀味萎蟿畏蟽畏 + +螤伪蟻伪位位伪纬苇蟼 + +螘渭蠁伪谓委蟽蔚喂蟼 + + * 螒谓维纬谓蠅蟽畏 + * 螘渭蠁维谓喂蟽畏 魏蠋未喂魏伪 + * 螤蟻慰尾慰位萎 喂蟽蟿慰蟻喂魏慰蠉 + +螘谓苇蟻纬蔚喂蔚蟼 + +螒谓伪味萎蟿畏蟽畏 + + ____________________ (Submit) 螒谓伪味萎蟿畏蟽畏 + +螤位慰萎纬畏蟽畏 + + * 螝蠉蟻喂伪 蟺蠉位畏 + * 螝伪蟿维位慰纬慰蟼 维蟻胃蟻蠅谓 + * 螒尉喂蠈位慰纬伪 维蟻胃蟻伪 + * 韦蟻苇蠂慰谓蟿伪 纬蔚纬慰谓蠈蟿伪 + * 韦蠀蠂伪委伪 蟽蔚位委未伪 + +危蠀渭渭蔚蟿慰蠂萎 + + * 螤蠉位畏 螝慰喂谓蠈蟿畏蟿伪蟼 + * 螒纬慰蟻维 + * 螤蟻蠈蟽蠁伪蟿蔚蟼 伪位位伪纬苇蟼 + * 螔慰萎胃蔚喂伪 + * 螘蟺喂魏慰喂谓蠅谓委伪 + * 螖蠅蟻蔚苇蟼 + +螘魏蟿蠉蟺蠅蟽畏/蔚尉伪纬蠅纬萎 + + * 螖畏渭喂慰蠀蟻纬委伪 尾喂尾位委慰蠀 + * 螝伪蟿苇尾伪蟽渭伪 蠅蟼 PDF + * 螆魏未慰蟽畏 蔚魏蟿蠉蟺蠅蟽畏蟼 + +螘蟻纬伪位蔚喂慰胃萎魏畏 + + * 危蠀谓未苇蟽蔚喂蟼 蟺蟻慰蟼 蔚未蠋 + * 危蠂蔚蟿喂魏苇蟼 伪位位伪纬苇蟼 + * 螘喂未喂魏苇蟼 蟽蔚位委未蔚蟼 + * 危蟿伪胃蔚蟻蠈蟼 蟽蠉谓未蔚蟽渭慰蟼 + +螁位位蔚蟼 纬位蠋蟽蟽蔚蟼 + + * 韦蔚位蔚蠀蟿伪委伪 蟿蟻慰蟺慰蟺慰委畏蟽畏 20:32, 8 危蔚蟺蟿蔚渭尾蟻委慰蠀 2011. + * 螌位伪 蟿伪 魏蔚委渭蔚谓伪 蔚委谓伪喂 未喂伪胃苇蟽喂渭伪 蠀蟺蠈 蟿畏谓 Creative Commons + Attribution/Share-Alike License路 渭蟺慰蟻蔚委 谓伪 喂蟽蠂蠉慰蠀谓 魏伪喂 蟺蟻蠈蟽胃蔚蟿慰喂 + 蠈蟻慰喂. 螖蔚委蟿蔚 蟿慰蠀蟼 螌蟻慰蠀蟼 围蟻萎蟽畏蟼 纬喂伪 位蔚蟺蟿慰渭苇蟻蔚喂蔚蟼. + + * 螤慰位喂蟿喂魏萎 蟺蟻慰蟽蠅蟺喂魏蠋谓 未蔚未慰渭苇谓蠅谓 + * 螕喂伪 蟿畏 螔喂魏喂蟺伪委未蔚喂伪 + * 螒蟺慰蟺慰委畏蟽畏 蔚蠀胃蠀谓蠋谓 + * 螤蟻慰尾慰位萎 魏喂谓畏蟿慰蠉 + diff --git a/test/testdata/en/UTF-8/wikitop_en_UTF-8.txt b/test/testdata/en/UTF-8/wikitop_en_UTF-8.txt new file mode 100644 index 0000000..2ba6189 --- /dev/null +++ b/test/testdata/en/UTF-8/wikitop_en_UTF-8.txt @@ -0,0 +1,275 @@ + Henry Wood (1869鈥1944) was an English conductor best known for his + association with London's annual series of promenade concerts, known as + the Proms. Wood started his career as an organist. During his studies + at the Royal Academy of Music, he came under the influence of the voice + teacher Manuel Garcia and became his accompanist. After similar work + for Richard D'Oyly Carte's opera companies on the works of Arthur + Sullivan and others, Wood became the conductor of a small operatic + touring company. From the mid-1890s until his death, Wood focused on + concert conducting. He was engaged by the impresario Robert Newman to + conduct a series of promenade concerts at the Queen's Hall, offering a + mixture of classical and popular music at low prices. By the 1920s, + Wood had steered the repertoire entirely to classical music. In + addition to the Proms, he conducted concerts and festivals throughout + the country and also trained the student orchestra at the Royal Academy + of Music. He had an enormous influence on the musical life of Britain + over his long career: he and Newman greatly improved access to + classical music, and Wood raised the standard of orchestral playing and + nurtured the taste of the public, presenting a vast repertoire of music + spanning four centuries. (more...) + + Recently featured: Abdul Karim 鈥 Royal National College for the Blind 鈥 + Alexandre Banza + Archive 鈥 By email 鈥 More featured articles... + + Did you know... + + From Wikipedia's newest content: + + Black Kite, known in military slang as the 'shite-hawk' + * ... that, contrary to claims of a medieval origin for the term + shite-hawk, it originated as British military slang for the Black + Kite (pictured)? + * ... that Major League Baseball umpire Paul Sentell collapsed on the + field during a game and died a few days later? + * ... that Captain Thomas Fortescue Kennedy was first-lieutenant of + HMS Temeraire at Trafalgar in 1805, and her last commander at + Sheerness in 1838? + * ... that Bach finished the opening chorus of his cantata Wer sich + selbst erh枚het, der soll erniedriget werden, BWV 47, with a repeat + of the ritornello, adding the complete text of Luke 14:11? + * ... that poet Antonio Machado was born at the Palacio de las Due帽as + in Seville? + * ... that triathletes Chrissie Wellington and Emma Snowsill are + among the World and Olympic champions who have been coached by + Brett Sutton? + * ... that despite leaving school at age 14, Thomas Kirkman became + one of 19th-century England's leading mathematicians and helped + found combinatorial design theory? + Archive 鈥 Start a new article 鈥 Nominate an article + + + In the news + + Muammar Gaddafi + * Ousted Libyan leader Muammar Gaddafi (pictured) is killed in Sirte, + with National Transitional Council forces taking control of the + city. + * After five years in captivity, Israeli soldier Gilad Shalit is + freed in exchange for the release of 1,027 Palestinian prisoners. + * British writer Julian Barnes wins the Man Booker Prize for his + novel The Sense of an Ending. + * British IndyCar driver Dan Wheldon dies after a crash at the + IndyCar World Championship at Las Vegas Motor Speedway. + * The United States sends 100 military advisers to help defeat the + Lord's Resistance Army in central Africa. + Wikinews 鈥 Recent deaths 鈥 More current events... + + On this day... + + October 21: Trafalgar Day in various Commonwealth countries + + Solomon R. Guggenheim Museum + * 1096 鈥 The Seljuk forces of Kilij Arslan destroyed the army of the + People's Crusade as it marched toward Nicaea. + * 1520 鈥 The islands of Saint Pierre and Miquelon were discovered by + Portuguese explorer Jo茫o 脕lvares Fagundes, who named them "Islands + of the 11,000 Virgins". + * 1805 鈥 Napoleonic Wars: Lord Nelson signalled "England expects that + every man will do his duty" to the rest of his Royal Navy forces + before they defeated Pierre-Charles Villeneuve and his combined + French and Spanish navy at the Battle of Trafalgar off the coast of + Spain's Cape Trafalgar. + * 1959 鈥 The Solomon R. Guggenheim Museum (pictured), designed by + American architect Frank Lloyd Wright, opened in New York City. + * 1978 鈥 After reporting contact with an unidentified aircraft, + Frederick Valentich disappeared in unexplained circumstances while + piloting a Cessna 182L light aircraft over the Bass Strait to King + Island, Australia. + + More anniversaries: October 20 鈥 October 21 鈥 October 22 + Archive 鈥 By email 鈥 List of historical anniversaries + It is now October 21, 2011 (UTC) 鈥 Refresh this page + + Today's featured picture + + + Mount Tarawera rift crater + + Crumbling scoria cliffs surround the rift at the summit of Mount + Tarawera, a volcano near Rotorua in New Zealand's North Island. This + 500 m (1,600 ft) wide rift was created in 1886 in the country's largest + historical eruption. The famed Pink and White Terraces were lost during + the eruption, and over one hundred people were killed. + Photo: Avenue + + Recently featured: Big wave surfing 鈥 Heathland in Tasmania 鈥 + Plectroctena sp. ants + Archive 鈥 More featured pictures... + +Other areas of Wikipedia + + * Community portal 鈥 Bulletin board, projects, resources and + activities covering a wide range of Wikipedia areas. + * Help desk 鈥 Ask questions about using Wikipedia. + * Local embassy 鈥 For Wikipedia-related communication in languages + other than English. + * Reference desk 鈥 Serving as virtual librarians, Wikipedia + volunteers tackle your questions on a wide range of subjects. + * Site news 鈥 Announcements, updates, articles and press releases on + Wikipedia and the Wikimedia Foundation. + * Village pump 鈥 For discussions about Wikipedia itself, including + areas for technical issues and policies. + +Wikipedia's sister projects + + Wikipedia is hosted by the Wikimedia Foundation, a non-profit + organization that also hosts a range of other projects: + Commons Commons + Free media repository Wikiquote Wikiquote + Collection of quotations Wikiversity Wikiversity + Free learning materials and activities + Wikibooks Wikibooks + Free textbooks and manuals Wikisource Wikisource + Free-content library Wiktionary Wiktionary + Dictionary and thesaurus + Wikinews Wikinews + Free-content news Wikispecies Wikispecies + Directory of species Meta-Wiki Meta-Wiki + Wikimedia project coordination + +Wikipedia languages + + This Wikipedia is written in English. Started in 2001 (2001), it + currently contains 3,772,382 articles. Many other Wikipedias are + available; some of the largest are listed below. + * More than 650,000 articles: Deutsch 路 Espa帽ol 路 Fran莽ais 路 + Italiano 路 Nederlands 路 鏃ユ湰瑾 路 Polski 路 Portugu锚s 路 袪褍褋褋泻懈泄 + * More than 150,000 articles: 丕賱毓乇亘賷丞 路 Bahasa Indonesia 路 Catal脿 路 + 膶esky 路 Dansk 路 Esperanto 路 賮丕乇爻蹖 路 頃滉淡鞏 路 Magyar 路 鈥狽orsk + (bokm氓l)鈥 路 Rom芒n膬 路 Suomi 路 Svenska 路 Ti岷縩g Vi峄噒 路 T眉rk莽e 路 + 校泻褉邪褩薪褋褜泻邪 路 涓枃 + * More than 50,000 articles: Bahasa Melayu 路 袘褗谢谐邪褉褋泻懈 路 Eesti 路 + 螘位位畏谓喂魏维 路 Simple English 路 Euskara 路 Galego 路 注讘专讬转 路 Hrvatski 路 + Lietuvi懦 路 鈥狽orsk (nynorsk)鈥 路 Sloven膷ina 路 Sloven拧膷ina 路 小褉锌褋泻懈 / + Srpski 路 喙勦笚喔 + + Complete list of Wikipedias + Retrieved from + "http://en.wikipedia.org/w/index.php?title=Main_Page&oldid=447996010" + Hidden categories: + * Article Feedback Blacklist + +Personal tools + + * Log in / create account + +Namespaces + + * Main Page + * Discussion + +Variants + +Views + + * Read + * View source + * View history + +Actions + +Search + + ____________________ (Submit) Search + +Navigation + + * Main page + * Contents + * Featured content + * Current events + * Random article + * Donate to Wikipedia + +Interaction + + * Help + * About Wikipedia + * Community portal + * Recent changes + * Contact Wikipedia + +Toolbox + + * What links here + * Related changes + * Upload file + * Special pages + * Permanent link + * Cite this page + +Print/export + + * Create a book + * Download as PDF + * Printable version + +Languages + + * Simple English + * 丕賱毓乇亘賷丞 + * Bahasa Indonesia + * Bahasa Melayu + * 袘褗谢谐邪褉褋泻懈 + * Catal脿 + * 膶esky + * Dansk + * Deutsch + * Eesti + * 螘位位畏谓喂魏维 + * Espa帽ol + * Esperanto + * Euskara + * 賮丕乇爻蹖 + * Fran莽ais + * Galego + * 頃滉淡鞏 + * 注讘专讬转 + * Hrvatski + * Italiano + * Lietuvi懦 + * Magyar + * Nederlands + * 鏃ユ湰瑾 + * 鈥狽orsk (bokm氓l)鈥 + * 鈥狽orsk (nynorsk)鈥 + * Polski + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Sloven膷ina + * Sloven拧膷ina + * 小褉锌褋泻懈 / Srpski + * Suomi + * Svenska + * 喙勦笚喔 + * Ti岷縩g Vi峄噒 + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * 涓枃 + + * This page was last modified on 2 September 2011 at 06:18. + * Text is available under the Creative Commons Attribution-ShareAlike + License; additional terms may apply. See Terms of use for details. + Wikipedia庐 is a registered trademark of the Wikimedia Foundation, + Inc., a non-profit organization. + * Contact us + + * Privacy policy + * About Wikipedia + * Disclaimers + * Mobile view + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt b/test/testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt new file mode 100644 index 0000000..da9038e --- /dev/null +++ b/test/testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt @@ -0,0 +1,275 @@ + Henry Wood (18691944) was an English conductor best known for his + association with London's annual series of promenade concerts, known as + the Proms. Wood started his career as an organist. During his studies + at the Royal Academy of Music, he came under the influence of the voice + teacher Manuel Garcia and became his accompanist. After similar work + for Richard D'Oyly Carte's opera companies on the works of Arthur + Sullivan and others, Wood became the conductor of a small operatic + touring company. From the mid-1890s until his death, Wood focused on + concert conducting. He was engaged by the impresario Robert Newman to + conduct a series of promenade concerts at the Queen's Hall, offering a + mixture of classical and popular music at low prices. By the 1920s, + Wood had steered the repertoire entirely to classical music. In + addition to the Proms, he conducted concerts and festivals throughout + the country and also trained the student orchestra at the Royal Academy + of Music. He had an enormous influence on the musical life of Britain + over his long career: he and Newman greatly improved access to + classical music, and Wood raised the standard of orchestral playing and + nurtured the taste of the public, presenting a vast repertoire of music + spanning four centuries. (more...) + + Recently featured: Abdul Karim Royal National College for the Blind + Alexandre Banza + Archive By email More featured articles... + + Did you know... + + From Wikipedia's newest content: + + Black Kite, known in military slang as the 'shite-hawk' + * ... that, contrary to claims of a medieval origin for the term + shite-hawk, it originated as British military slang for the Black + Kite (pictured)? + * ... that Major League Baseball umpire Paul Sentell collapsed on the + field during a game and died a few days later? + * ... that Captain Thomas Fortescue Kennedy was first-lieutenant of + HMS Temeraire at Trafalgar in 1805, and her last commander at + Sheerness in 1838? + * ... that Bach finished the opening chorus of his cantata Wer sich + selbst erh鰄et, der soll erniedriget werden, BWV 47, with a repeat + of the ritornello, adding the complete text of Luke 14:11? + * ... that poet Antonio Machado was born at the Palacio de las Due馻s + in Seville? + * ... that triathletes Chrissie Wellington and Emma Snowsill are + among the World and Olympic champions who have been coached by + Brett Sutton? + * ... that despite leaving school at age 14, Thomas Kirkman became + one of 19th-century England's leading mathematicians and helped + found combinatorial design theory? + Archive Start a new article Nominate an article + + + In the news + + Muammar Gaddafi + * Ousted Libyan leader Muammar Gaddafi (pictured) is killed in Sirte, + with National Transitional Council forces taking control of the + city. + * After five years in captivity, Israeli soldier Gilad Shalit is + freed in exchange for the release of 1,027 Palestinian prisoners. + * British writer Julian Barnes wins the Man Booker Prize for his + novel The Sense of an Ending. + * British IndyCar driver Dan Wheldon dies after a crash at the + IndyCar World Championship at Las Vegas Motor Speedway. + * The United States sends 100 military advisers to help defeat the + Lord's Resistance Army in central Africa. + Wikinews Recent deaths More current events... + + On this day... + + October 21: Trafalgar Day in various Commonwealth countries + + Solomon R. Guggenheim Museum + * 1096 The Seljuk forces of Kilij Arslan destroyed the army of the + People's Crusade as it marched toward Nicaea. + * 1520 The islands of Saint Pierre and Miquelon were discovered by + Portuguese explorer Jo鉶 羖vares Fagundes, who named them "Islands + of the 11,000 Virgins". + * 1805 Napoleonic Wars: Lord Nelson signalled "England expects that + every man will do his duty" to the rest of his Royal Navy forces + before they defeated Pierre-Charles Villeneuve and his combined + French and Spanish navy at the Battle of Trafalgar off the coast of + Spain's Cape Trafalgar. + * 1959 The Solomon R. Guggenheim Museum (pictured), designed by + American architect Frank Lloyd Wright, opened in New York City. + * 1978 After reporting contact with an unidentified aircraft, + Frederick Valentich disappeared in unexplained circumstances while + piloting a Cessna 182L light aircraft over the Bass Strait to King + Island, Australia. + + More anniversaries: October 20 October 21 October 22 + Archive By email List of historical anniversaries + It is now October 21, 2011 (UTC) Refresh this page + + Today's featured picture + + + Mount Tarawera rift crater + + Crumbling scoria cliffs surround the rift at the summit of Mount + Tarawera, a volcano near Rotorua in New Zealand's North Island. This + 500 m (1,600 ft) wide rift was created in 1886 in the country's largest + historical eruption. The famed Pink and White Terraces were lost during + the eruption, and over one hundred people were killed. + Photo: Avenue + + Recently featured: Big wave surfing Heathland in Tasmania + Plectroctena sp. ants + Archive More featured pictures... + +Other areas of Wikipedia + + * Community portal Bulletin board, projects, resources and + activities covering a wide range of Wikipedia areas. + * Help desk Ask questions about using Wikipedia. + * Local embassy For Wikipedia-related communication in languages + other than English. + * Reference desk Serving as virtual librarians, Wikipedia + volunteers tackle your questions on a wide range of subjects. + * Site news Announcements, updates, articles and press releases on + Wikipedia and the Wikimedia Foundation. + * Village pump For discussions about Wikipedia itself, including + areas for technical issues and policies. + +Wikipedia's sister projects + + Wikipedia is hosted by the Wikimedia Foundation, a non-profit + organization that also hosts a range of other projects: + Commons Commons + Free media repository Wikiquote Wikiquote + Collection of quotations Wikiversity Wikiversity + Free learning materials and activities + Wikibooks Wikibooks + Free textbooks and manuals Wikisource Wikisource + Free-content library Wiktionary Wiktionary + Dictionary and thesaurus + Wikinews Wikinews + Free-content news Wikispecies Wikispecies + Directory of species Meta-Wiki Meta-Wiki + Wikimedia project coordination + +Wikipedia languages + + This Wikipedia is written in English. Started in 2001 (2001), it + currently contains 3,772,382 articles. Many other Wikipedias are + available; some of the largest are listed below. + * More than 650,000 articles: Deutsch Espa駉l Fran鏰is + Italiano Nederlands Polski Portugu阺 + * More than 150,000 articles: Bahasa Indonesia Catal + esky Dansk Esperanto Magyar Norsk + (bokm錶) Rom鈔 Suomi Svenska Ting Vit T黵k鏴 + + * More than 50,000 articles: Bahasa Melayu Eesti + Simple English Euskara Galego Hrvatski + Lietuvi Norsk (nynorsk) Slovenina Sloven歩na / + Srpski + + Complete list of Wikipedias + Retrieved from + "http://en.wikipedia.org/w/index.php?title=Main_Page&oldid=447996010" + Hidden categories: + * Article Feedback Blacklist + +Personal tools + + * Log in / create account + +Namespaces + + * Main Page + * Discussion + +Variants + +Views + + * Read + * View source + * View history + +Actions + +Search + + ____________________ (Submit) Search + +Navigation + + * Main page + * Contents + * Featured content + * Current events + * Random article + * Donate to Wikipedia + +Interaction + + * Help + * About Wikipedia + * Community portal + * Recent changes + * Contact Wikipedia + +Toolbox + + * What links here + * Related changes + * Upload file + * Special pages + * Permanent link + * Cite this page + +Print/export + + * Create a book + * Download as PDF + * Printable version + +Languages + + * Simple English + * + * Bahasa Indonesia + * Bahasa Melayu + * + * Catal + * esky + * Dansk + * Deutsch + * Eesti + * + * Espa駉l + * Esperanto + * Euskara + * + * Fran鏰is + * Galego + * + * + * Hrvatski + * Italiano + * Lietuvi + * Magyar + * Nederlands + * + * Norsk (bokm錶) + * Norsk (nynorsk) + * Polski + * Portugu阺 + * Rom鈔 + * + * Slovenina + * Sloven歩na + * / Srpski + * Suomi + * Svenska + * + * Ting Vit + * T黵k鏴 + * + * + + * This page was last modified on 2 September 2011 at 06:18. + * Text is available under the Creative Commons Attribution-ShareAlike + License; additional terms may apply. See Terms of use for details. + Wikipedia is a registered trademark of the Wikimedia Foundation, + Inc., a non-profit organization. + * Contact us + + * Privacy policy + * About Wikipedia + * Disclaimers + * Mobile view + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/es/UTF-8/wikitop_es_UTF-8.txt b/test/testdata/es/UTF-8/wikitop_es_UTF-8.txt new file mode 100644 index 0000000..e50ad7f --- /dev/null +++ b/test/testdata/es/UTF-8/wikitop_es_UTF-8.txt @@ -0,0 +1,320 @@ +Wikipedia:Portada + + De Wikipedia, la enciclopedia libre + Saltar a: navegaci贸n, b煤squeda + + + Bienvenidos a Wikipedia, + la enciclopedia de contenido libre que todos pueden editar. + Acceso seguro 路 Acceso WAP (alternativo) 路 Contacto 路 Donaciones 路 + Libro de visitas + + 15:18 UTC 鈥 viernes, + 21 de octubre de 2011. + 837.132 art铆culos en espa帽ol. + + Participaci贸n y comunidad + + 驴C贸mo colaborar? 路 Bienvenida 路 Primeros pasos + Tutorial 路 Contenidos de ayuda + Caf茅 路 Preguntas frecuentes 路 Los cinco pilares + + B煤squedas y consultas + + 脥ndice de categor铆as 路 Todas las categor铆as + 脥ndice alfab茅tico 路 Todos los art铆culos + Portales tem谩ticos 路 Explorar Wikipedia + + Art铆culo destacado Art铆culo destacado + Radiohead + + In Rainbows (en espa帽ol, 芦en arco铆ris禄) es el s茅ptimo 谩lbum de estudio + de la banda inglesa de rock alternativo Radiohead. Originalmente se + lanz贸 el 10 de octubre de 2007 en formato digital y se convino que los + interesados en descargarlo pagaran lo que creyeran conveniente. En + segundo t茅rmino, se lanz贸 en formato CD en muchos pa铆ses durante la + 煤ltima semana de ese a帽o. En Estados Unidos, se puso a la venta el 1 de + enero de 2008. In Rainbows fue la primera producci贸n tras la + finalizaci贸n de su contrato con EMI, rematando tambi茅n la brecha m谩s + grande entre sus 谩lbumes de estudio. + + Radiohead trabaj贸 en el 谩lbum durante m谩s de dos a帽os con los + productores Mark Stent y Nigel Godrich, comenzando a principios de + 2005. Durante el proceso, la banda sali贸 de gira tres meses por Europa + y Estados Unidos a mediados de 2006. Las letras del disco fueron m谩s + personales que en otros trabajos de la banda. El vocalista Thom Yorke + describi贸 varios temas como sus propias versiones de 芦canciones de + seducci贸n禄. Radiohead incorpor贸 una amplia variedad de estilos + musicales e instrumentos en el 谩lbum, no haciendo uso exclusivo de + m煤sica electr贸nica y arreglos para instrumentos de cuerda, sino tambi茅n + de piano, celesta y ondas Martenot. + Leer m谩s... + Anteriores: Bas铆lica de San Pedro, Elizabeth Bowes-Lyon, Brad Pitt. + Art铆culo bueno Art铆culo bueno + Testudo hermanni hermanni Mallorca 02.jpg + La tortuga mediterr谩nea (Testudo hermanni) es una de las ocho especies + de tortuga clasificadas tradicionalmente dentro el g茅nero Testudo, + junto con especies pr贸ximas como por ejemplo la tortuga marginada (T. + marginata), la tortuga mora (T. graeca) o la tortuga rusa + (T.horsfieldii). + + Se trata de reptiles herb铆voros y diurnos que pueden alcanzar edades + comparables a las de los humanos, y que se distribuyen desde Catalu帽a, + al oeste, hasta el l铆mite sur del mar Negro, al este. Junto a la + tortuga marginada (T. marginata) es la 煤nica tortuga terrestre de + distribuci贸n 铆ntegramente europea. + Leer m谩s... + Anteriores: Batalla de Giti贸n, Orden de Malta, Lieja + Recurso del d铆a Recurso del d铆a + + Bloque de hielo en una playa cerca de J枚kuls谩rl贸n (Islandia) El hielo + es agua s贸lida cristalizada, congelada. Es uno de los tres estados + naturales del agua. Los otros dos estados son el estado l铆quido y el + estado gaseoso (a 100 掳C y a nivel del mar, el vapor). + Archivo + +Portales + + Ciencias naturales y formales + + Ciencias naturales y formales + Astronom铆a 鈥 Biolog铆a 鈥 Bot谩nica 鈥 F铆sica 鈥 Matem谩tica 鈥 Qu铆mica + Ciencias humanas y sociales + + Ciencias humanas y sociales + Comunicaci贸n 鈥 Derecho 鈥 Econom铆a 鈥 Egiptolog铆a 鈥 Filosof铆a 鈥 Historia + 鈥 Ling眉铆stica 鈥 Mitolog铆a 鈥 Pol铆tica 鈥 Psicolog铆a 鈥 Sociolog铆a + Artes + + Artes + Anime y manga 鈥 Arquitectura 鈥 Cine 鈥 Danza 鈥 Historieta 鈥 Literatura 鈥 + M煤sica 鈥 Pintura 鈥 Teatro 鈥 Televisi贸n + Sociedad + + Sociedad + Deporte 鈥 Gastronom铆a 鈥 LGBT 鈥 Religi贸n 鈥 Videojuegos + Tecnolog铆as + + Tecnolog铆as + Biotecnolog铆a 鈥 Exploraci贸n espacial 鈥 Inform谩tica 鈥 Ingenier铆a 鈥 + Medicina 鈥 Tecnolog铆a + Geograf铆a + + Geograf铆a + 脕frica 鈥 Am茅rica 鈥 Asia 鈥 Europa 鈥 Ocean铆a + + Actualidad Actualidad + Muamar el Gadafi en 2009 + * Erupci贸n de El Hierro de 2011 + * Erupci贸n del complejo volc谩nico Puyehue-Cord贸n Caulle de 2011 + * 23 de octubre: Elecciones presidenciales de Argentina de 2011 + * 22-29 de octubre: Semana Internacional de Cine de Valladolid 2011 + * 20 de octubre: Anuncio de un cese definitivo de la actividad armada + por parte de la banda terrorista Euskadi Ta Askatasuna + * 20 de octubre: Muerte de Muamar el Gadafi (en la imagen) + * 19-21 de octubre: Conferencia Mundial sobre los Determinantes + Sociales de la Salud + * 14-30 de octubre: Juegos Panamericanos de 2011 + * 9 de septiembre-23 de octubre: Copa Mundial de Rugby de 2011 + + Fallecimientos + + El militar libio Moatassem Gadafi en 2009 + * 20 de octubre: Muamar el Gadafi, l铆der libio (69) + * 20 de octubre: Moatassem Gadafi, militar libio (33-34; en la + imagen) + * 19 de octubre: Edison Char谩, futbolista colombiano (31) + * 19 de octubre: Nena Jim茅nez, humorista colombiana (82) + * 18 de octubre: Bernardo Valencia, torero venezolano (59) + * 17 de octubre: Manfred Gerlach, pol铆tico alem谩n (83) + * 17 de octubre: Osvaldo Guidi, actor y director argentino (47) + + Conmemoraciones y fiestas + + * 22 de octubre: D铆a Internacional de la Tartamudez + * 20 de octubre: D铆a Mundial de la Estad铆stica + + Efem茅rides: 22 de octubre, 21 de octubre, 20 de octubre + + V茅ase tambi茅n: Categor铆a:Actualidad, 2011, Categor铆a:2011 + +Efem茅rides + + Alfred Nobel + * 1805 - La Batalla de Trafalgar supuso la derrota de la escuadra + aliada franco-espa帽ola frente a la armada brit谩nica. + + * 1833 - Nace Alfred Nobel, inventor y qu铆mico sueco, famoso por la + dinamita y por los premios que llevan su nombre. + + * 2003 - Muere Arturo Warman, antrop贸logo, intelectual y pol铆tico + mexicano. + +Otros proyectos + + Wikipedia es uno de los m煤ltiples proyectos de la Fundaci贸n Wikimedia, + una organizaci贸n sin 谩nimo de lucro. + Wikimedia Commons Commons + Im谩genes y Multimedia Wikcionario Wikcionario + Diccionario libre + Wikisource Wikisource + La biblioteca libre Wikinoticias Wikinoticias + Noticias libres + Wikilibros Wikilibros + Libros de texto y manuales Wikiquote Wikiquote + Colecci贸n de citas + Wikiespecies Wikiespecies + Directorio de especies Meta-Wiki Meta-Wiki + Apoyo a los proyectos + Wikiversidad Wikiversidad + Recursos de aprendizaje + +Ediciones de Wikipedia en otros idiomas + + M谩s de 500 000 art铆culos: Deutsch (alem谩n) 鈥 English (ingl茅s) 鈥 + Fran莽ais (franc茅s) 鈥 Italiano 鈥 鏃ユ湰瑾 (japon茅s) 鈥 Nederlands (neerland茅s) + 鈥 Polski (polaco) 鈥 Portugu锚s (portugu茅s) 鈥 袪褍褋褋泻懈泄 (ruso) + + M谩s de 200 000 art铆culos: Catal脿 (catal谩n) 鈥 膶esky (checo) 鈥 涓枃 (chino) + 鈥 Suomi (finland茅s) 鈥 Bokm氓l (noruego bokm氓l) 鈥 Svenska (sueco) 鈥 Ti岷縩g + Vi峄噒 (vietnamita) 鈥 校泻褉邪褩薪褋褜泻邪 (ucraniano) + M谩s de 100 000 art铆culos: 丕賱毓乇亘賷丞 (谩rabe) 鈥 袘褗谢谐邪褉褋泻懈 (b煤lgaro) 鈥 頃滉淡鞏 + (coreano) 鈥 Hrvatski (croata) 鈥 Dansk (dan茅s) 鈥 Esperanto 鈥 Euskara + (euskera) 鈥 Sloven膷ina (eslovaco) 鈥 Sloven拧膷ina (esloveno) 鈥 注讘专讬转 + (hebreo) 鈥 Magyar (h煤ngaro) 鈥 Bahasa Indonesia (indonesio) 鈥 Lietuvi懦 + (lituano) 鈥 Bahasa Melayu (malayo) 鈥 賮丕乇爻蹖 (persa)鈥 Rom芒n膬 (rumano) 鈥 + Winaray (samare帽o) 鈥 小褉锌褋泻懈 (serbio) 鈥 T眉rk莽e (turco) 鈥 Volap眉k + Lista completa 鈥 Coordinaci贸n pluriling眉e + Obtenido de + 芦http://es.wikipedia.org/w/index.php?title=Wikipedia:Portada&oldid=5022 + 0931禄 + +Herramientas personales + + * Iniciar sesi贸n / crear cuenta + +Espacios de nombres + + * Portada + * Discusi贸n + +Variantes + +Vistas + + * Leer + * Ver fuente + * Ver historial + +Acciones + +Buscar + + ____________________ (Submit) Buscar + +Navegaci贸n + + * Portada + * Portal de la comunidad + * Actualidad + * Cambios recientes + * P谩ginas nuevas + * P谩gina aleatoria + * Ayuda + * Donaciones + * Notificar un error + +Imprimir/exportar + + * Crear un libro + * Descargar como PDF + * Versi贸n para imprimir + +Herramientas + + * Lo que enlaza aqu铆 + * Cambios en enlazadas + * Subir archivo + * P谩ginas especiales + * Enlace permanente + +En otros idiomas + + * Aragon茅s + * 丕賱毓乇亘賷丞 + * Asturianu + * Aymar aru + * 袘褗谢谐邪褉褋泻懈 + * 唳囙Ξ唳距Π 唳犩唳/唳唳粪唳`唳唳班唳唳 唳Γ唳苦Κ唰佮Π唰 + * Bosanski + * Catal脿 + * Chavacano de Zamboanga + * Cebuano + * Chamoru + * 膶esky + * Dansk + * Deutsch + * 螘位位畏谓喂魏维 + * English + * Esperanto + * Estreme帽u + * Eesti + * Euskara + * 賮丕乇爻蹖 + * Suomi + * Fran莽ais + * Galego + * Ava帽e'岷 + * 注讘专讬转 + * Hrvatski + * Magyar + * Bahasa Indonesia + * Italiano + * 鏃ユ湰瑾 + * 頃滉淡鞏 + * Ladino + * Latina + * Lumbaart + * Lietuvi懦 + * Bahasa Melayu + * Mirand茅s + * N膩huatl + * 啶ㄠ啶ぞ啶 啶ぞ啶粪ぞ + * Nederlands + * 鈥狽orsk (nynorsk)鈥 + * 鈥狽orsk (bokm氓l)鈥 + * Occitan + * Papiamentu + * Polski + * Portugu锚s + * Runa Simi + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Sloven膷ina + * Sloven拧膷ina + * 小褉锌褋泻懈 / Srpski + * Svenska + * 喟む眴喟侧眮喟椸眮 + * 喙勦笚喔 + * Tagalog + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * Ti岷縩g Vi峄噒 + * 涓枃 + + * Esta p谩gina fue modificada por 煤ltima vez el 2 oct 2011, a las + 19:22. + * El texto est谩 disponible bajo la Licencia Creative Commons + Atribuci贸n Compartir Igual 3.0; podr铆an ser aplicables cl谩usulas + adicionales. Lee los t茅rminos de uso para m谩s informaci贸n. + Wikipedia庐 es una marca registrada de la Fundaci贸n Wikimedia, Inc., + una organizaci贸n sin 谩nimo de lucro. + * Contacto + + * Pol铆tica de privacidad + * Acerca de Wikipedia + * Limitaci贸n de responsabilidad + * Versi贸n para m贸viles + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt b/test/testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt new file mode 100644 index 0000000..83cc6d5 --- /dev/null +++ b/test/testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt @@ -0,0 +1,92 @@ + In Rainbows (en espa駉l, 玡n arco韗is) es el s閜timo 醠bum de estudio + de la banda inglesa de rock alternativo Radiohead. Originalmente se + lanz el 10 de octubre de 2007 en formato digital y se convino que los + interesados en descargarlo pagaran lo que creyeran conveniente. En + segundo t閞mino, se lanz en formato CD en muchos pa韘es durante la + 鷏tima semana de ese a駉. En Estados Unidos, se puso a la venta el 1 de + enero de 2008. In Rainbows fue la primera producci髇 tras la + finalizaci髇 de su contrato con EMI, rematando tambi閚 la brecha m醩 + grande entre sus 醠bumes de estudio. + + Radiohead trabaj en el 醠bum durante m醩 de dos a駉s con los + productores Mark Stent y Nigel Godrich, comenzando a principios de + 2005. Durante el proceso, la banda sali de gira tres meses por Europa + y Estados Unidos a mediados de 2006. Las letras del disco fueron m醩 + personales que en otros trabajos de la banda. El vocalista Thom Yorke + describi varios temas como sus propias versiones de 玞anciones de + seducci髇. Radiohead incorpor una amplia variedad de estilos + musicales e instrumentos en el 醠bum, no haciendo uso exclusivo de + m鷖ica electr髇ica y arreglos para instrumentos de cuerda, sino tambi閚 + de piano, celesta y ondas Martenot. + Leer m醩... + Anteriores: Bas韑ica de San Pedro, Elizabeth Bowes-Lyon, Brad Pitt. + Art韈ulo bueno Art韈ulo bueno + Testudo hermanni hermanni Mallorca 02.jpg + La tortuga mediterr醤ea (Testudo hermanni) es una de las ocho especies + de tortuga clasificadas tradicionalmente dentro el g閚ero Testudo, + junto con especies pr髕imas como por ejemplo la tortuga marginada (T. + marginata), la tortuga mora (T. graeca) o la tortuga rusa + (T.horsfieldii). + + Se trata de reptiles herb韛oros y diurnos que pueden alcanzar edades + comparables a las de los humanos, y que se distribuyen desde Catalu馻, + al oeste, hasta el l韒ite sur del mar Negro, al este. Junto a la + tortuga marginada (T. marginata) es la 鷑ica tortuga terrestre de + distribuci髇 韓tegramente europea. + Leer m醩... + Anteriores: Batalla de Giti髇, Orden de Malta, Lieja + Recurso del d韆 Recurso del d韆 + + Bloque de hielo en una playa cerca de J鰇uls醨l髇 (Islandia) El hielo + es agua s髄ida cristalizada, congelada. Es uno de los tres estados + naturales del agua. Los otros dos estados son el estado l韖uido y el + estado gaseoso (a 100 癈 y a nivel del mar, el vapor). + Archivo + + Actualidad Actualidad + Muamar el Gadafi en 2009 + * Erupci髇 de El Hierro de 2011 + * Erupci髇 del complejo volc醤ico Puyehue-Cord髇 Caulle de 2011 + * 23 de octubre: Elecciones presidenciales de Argentina de 2011 + * 22-29 de octubre: Semana Internacional de Cine de Valladolid 2011 + * 20 de octubre: Anuncio de un cese definitivo de la actividad armada + por parte de la banda terrorista Euskadi Ta Askatasuna + * 20 de octubre: Muerte de Muamar el Gadafi (en la imagen) + * 19-21 de octubre: Conferencia Mundial sobre los Determinantes + Sociales de la Salud + * 14-30 de octubre: Juegos Panamericanos de 2011 + * 9 de septiembre-23 de octubre: Copa Mundial de Rugby de 2011 + + Fallecimientos + + El militar libio Moatassem Gadafi en 2009 + * 20 de octubre: Muamar el Gadafi, l韉er libio (69) + * 20 de octubre: Moatassem Gadafi, militar libio (33-34; en la + imagen) + * 19 de octubre: Edison Char, futbolista colombiano (31) + * 19 de octubre: Nena Jim閚ez, humorista colombiana (82) + * 18 de octubre: Bernardo Valencia, torero venezolano (59) + * 17 de octubre: Manfred Gerlach, pol韙ico alem醤 (83) + * 17 de octubre: Osvaldo Guidi, actor y director argentino (47) + + Conmemoraciones y fiestas + + * 22 de octubre: D韆 Internacional de la Tartamudez + * 20 de octubre: D韆 Mundial de la Estad韘tica + + Efem閞ides: 22 de octubre, 21 de octubre, 20 de octubre + + V閍se tambi閚: Categor韆:Actualidad, 2011, Categor韆:2011 + +Efem閞ides + + Alfred Nobel + * 1805 - La Batalla de Trafalgar supuso la derrota de la escuadra + aliada franco-espa駉la frente a la armada brit醤ica. + + * 1833 - Nace Alfred Nobel, inventor y qu韒ico sueco, famoso por la + dinamita y por los premios que llevan su nombre. + + * 2003 - Muere Arturo Warman, antrop髄ogo, intelectual y pol韙ico + mexicano. + diff --git a/test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt b/test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt new file mode 100644 index 0000000..1ed2ea1 --- /dev/null +++ b/test/testdata/fi/UTF-8/wikitop_fi_UTF-8.txt @@ -0,0 +1,271 @@ +Wikipedia:Etusivu + + Wikipedia + Loikkaa: valikkoon, hakuun + + Tervetuloa Wikipediaan, vapaaseen tietosanakirjaan. + + Suomenkielisess盲 Wikipediassa on t盲ll盲 hetkell盲 280 731 artikkelia. + + Haku Wikipediasta Haku 鈥 Ajankohtaista 鈥 Selaa luokittain 鈥 Luo + artikkeli + + Suositellut artikkelit 鈥 Hyv盲t artikkelit 鈥 Uudet sivut + + Tervetuloa Wikipediaan Tervetuloa Wikipediaan ja tietoja Wikipediasta + + UKK 鈥 Artikkelin luominen 鈥 Keskustelu 鈥 Neuvonta + + + Suositeltu artikkeli + + Bundesarchiv Bild 102-00457, Emanuel Lasker.jpg + + Emanuel Lasker (24. joulukuuta 1868 鈥 11. tammikuuta 1941) oli + saksalainen shakin suurmestari, matemaatikko ja filosofi. H盲n oli + shakin toinen maailmanmestari ja piti titteli盲 hallussaan + yht盲jaksoisesti 27 vuotta, 1894鈥1921, mik盲 on edelleen enn盲tys. + + Laskerista tuli shakin maailmanmestari voitettuaan Wilhelm Steinitzin + ottelussa vuonna 1894. H盲n puolusti mestaruuttaan onnistuneesti viisi + kertaa: kerran Steinitzia vastaan vuonna 1896, Marshallia vastaan 1907, + Tarraschia vastaan 1908 sek盲 kahdesti vuonna 1910 Schlechteri盲 ja + Janowskia vastaan. H盲n menetti mestaruutensa vuonna 1921 ottelussa + Capablancaa vastaan, mutta jatkoi aktiivista pelaamista viel盲 yli + vuosikymmenen ajan. H盲n julkaisi useita shakkilehti盲 ja -kirjoja sek盲 + ty枚skenteli matematiikan ja filosofian parissa. + + Lis盲盲 suositeltuja artikkeleita sek盲 hyvi盲 artikkeleita + + + Miten voit auttaa + + Wikipedia tarvitsee apuasi! Punainen linkki tarkoittaa, ett盲 aiheesta + ei viel盲 ole artikkelia. Voit auttaa kirjoittamalla puuttuvista + aiheista. + + Zungarin kaanikunta 路 Karl Gabrielsson 路 kehr盲盲j盲t (heimo) 路 Norfolk + Southern Railway 路 Miljoona ruusua 路 Ichthyornis dispar 路 + Interline-sopimus 路 laivanrakennus 路 it盲mainen kulttuuri 路 + varhaisnykyaika 路 Virgilio Hilario 路 盲盲nteensiirros 路 preemio 路 + energian varastointi 路 ven盲l盲ist盲minen 路 jukat 路 tariffi 路 + taloudellinen determinismi + + Viikon yhteisty枚artikkeleina ovat Florida ja v盲est枚pyramidi. + + Lis盲盲 artikkelitoiveita 路 Osallistu Wikiprojekteihin 路 Paranna sivuja + Arvioi artikkeleita 路 Laajenna minitynki盲 ja tynki盲 + + + 脛skett盲in kuolleita + + Muammar al-Gaddafi 1-1.jpg + + Muammar Gaddafi (1942鈥2011) oli Libyan diktaattori 1969鈥2011. H盲nell盲 + ei ollut virallista virkaa tai asemaa, mutta h盲nt盲 kunnioitettiin + vallankumouksen veljellisen盲 johtajana ja ohjaajana virallisissa + valtion tiedotuksissa. + + Katso my枚s: Dan Wheldon 路 Betty Driver 路 Abdoulaye Seye 路 Reijo Tani 路 + Heinz Bennent 路 J谩nos Hersk贸 路 Kim Brown + + Lis盲盲 盲skett盲in kuolleita + + + + Uutisissa + + Muammar al-Gaddafi at the AU summit.jpg Muammar Gaddafi + * Lapista l枚ytyi tieteelle uusi taigavarpuh盲m盲h盲kki-el盲inlaji. + (21.10.) + * Libyan v盲liaikaishallinnon mukaan Libyan entinen johtaja Muammar + Gaddafi kuoli kiinniotettaessa. (20.10.) + * Ukrainan entinen p盲盲ministeri Julija Tymo拧enko tuomittiin + seitsem盲ksi vuodeksi vankeuteen valtaoikeuksien v盲盲rink盲yt枚st盲. + (11.10.) + * Thomas Sargent ja Christopher A. Sims jakoivat Nobelin + taloustieteen palkinnon. (10.10.) + * Saksalaisesta Sebastian Vettelist盲 tuli Formula 1 -sarjan nuorin + kaksinkertainen maailmanmestari. (9.10.) + + Wikiuutiset 鈥 Lis盲盲 uutisia + + + 21. lokakuuta + + AlfredNobel2.jpg Alfred Nobel + * 1805 鈥 Napoleonin sodat: Amiraali Nelsonin johtama brittien + laivasto voitti ranskalaisten ja espanjalaisten laivaston Espanjan + rannikolla Trafalgarin taistelussa. Nelson sai taistelussa + surmansa. + * 1833 鈥 Dynamiitin keksij盲 ja Nobel-palkinnon perustaja Alfred Nobel + syntyi. + * 1879 鈥 Thomas Edison keksi ensimm盲isen k盲ytt枚kelpoisen hehkulampun. + * 1929 鈥 Yhdysvaltalainen kirjailija Ursula K. Le Guin syntyi. + * 1969 鈥 Yhdysvaltalainen beatnik-kirjailija Jack Kerouac kuoli. + * 1984 鈥 Ranskalainen elokuvaohjaaja Fran莽ois Truffaut kuoli. + + Lis盲盲 tapahtumia sek盲 vuosip盲ivi盲 + + + Tiesitk枚, ett盲... + + Apollo-12-LOGO.jpg Apollo 12 -lennon logo. + * ...Apollo 12 -kuulennon varamiehist枚 oli j盲tt盲nyt miehist枚n + teht盲v盲listan v盲liin Playboy-lehdest盲 leikatun alastoman naisen + kuvan ja kehotuksen 鈥漷arkata pinnanmuotoja鈥? + * ...Karjala ja Lappi ovat entisi盲 kuntia? + * ...Suomessa on Saaren kartano sek盲 Mietoisissa, M盲nts盲l盲ss盲, + Tammelassa ett盲 Ulvilassa, ja kaikki nelj盲 kartanoa kuuluvat + valtakunnallisesti merkitt盲viin rakennettuihin + kulttuuriymp盲rist枚ihin? + + Lis盲盲 nippelitietoa + +Wikipedian sisarhankkeet + + Wikipediaa yll盲pit盲盲 voittoa tavoittelematon Wikimedia Foundation, joka + yll盲pit盲盲 muitakin monikielisi盲 vapaan sis盲ll枚n hankkeita: + + Commons-logo.svg Commons + Yhteisi盲 mediatiedostoja Wikinews-logo.svg Wikiuutiset + Uutispalvelu Wiktionary-logo-en.svg Wikisanakirja + Sanakirjoja + Wikiquote-logo.svg Wikisitaatit + Sitaattikokoelmia Wikibooks-logo.svg Wikikirjasto + Vapaita oppikirjoja ja oppaita Wikisource-logo.svg Wikiaineisto + Vapaiden tekstien arkisto + Wikispecies-logo.svg Wikispecies + Lajien luettelo Wikiversity-logo.svg Wikiopisto + Vapaa oppimisen verkkoyhteis枚 Wikimedia Community Logo.svg Meta-Wiki + Wikimedian hankkeiden koordinaatio + +Wikipedia muilla kielill盲 + + Kymmenen suurinta Wikipediaa artikkeleiden m盲盲r盲ll盲 mitaten: + English (englanti) 路 Deutsch (saksa) 路 Fran莽ais (ranska) 路 Polski + (puola) 路 Italiano (italia) 路 鏃ユ湰瑾 (japani) 路 Espa帽ol (espanja) 路 + Nederlands (hollanti) 路 Portugu锚s (portugali) 路 袪褍褋褋泻懈泄 (ven盲j盲) + + T盲ydellinen luettelo 路 Viikon yhteisty枚k盲盲nn枚sartikkeli + Haettu osoitteesta + http://fi.wikipedia.org/w/index.php?title=Wikipedia:Etusivu&oldid=10567 + 816 + +Henkil枚kohtaiset ty枚kalut + + * Kirjaudu sis盲盲n tai luo tunnus + +Nimiavaruudet + + * Etusivu + * Keskustelu + +Muuttujat + +N盲kym盲t + + * Lue + * L盲hdekoodi + * N盲yt盲 historia + +Toiminnot + +Haku + + ____________________ (Submit) Etsi + +Valikko + + * Etusivu + * Tietoja Wikipediasta + * Kaikki sivut + * Satunnainen artikkeli + +Osallistuminen + + * Ohje + * Kahvihuone + * Ajankohtaista + * Tuoreet muutokset + * Lahjoitukset + +Tulosta tai vie + + * Luo kirja + * Lataa PDF-tiedostona + * Tulostettava versio + +Ty枚kalut + + * T盲nne viittaavat sivut + * Linkitettyjen sivujen muutokset + * Toimintosivut + * Ikilinkki + +Muilla kielill盲 + + * 丕賱毓乇亘賷丞 + * Arm茫neashce + * Bahasa Indonesia + * Bahasa Melayu + * 袘褗谢谐邪褉褋泻懈 + * Catal脿 + * Cebuano + * 膶esky + * Dansk + * Deutsch + * Eesti + * 螘位位畏谓喂魏维 + * English + * Espa帽ol + * Esperanto + * Euskara + * 賮丕乇爻蹖 + * Fran莽ais + * Galego + * 頃滉淡鞏 + * 啶灌た啶ㄠ啶︵ + * Hrvatski + * Italiano + * 注讘专讬转 + * 醿メ儛醿犪儣醿a儦醿 + * Krey貌l ayisyen + * Lietuvi懦 + * Magyar + * Nederlands + * 啶ㄠ啶ぞ啶 啶ぞ啶粪ぞ + * 鏃ユ湰瑾 + * 鈥狽orsk (bokm氓l)鈥 + * 鈥狽orsk (nynorsk)鈥 + * Polski + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Simple English + * Sloven膷ina + * Sloven拧膷ina + * 小褉锌褋泻懈 / Srpski + * Svenska + * 喟む眴喟侧眮喟椸眮 + * 喙勦笚喔 + * Ti岷縩g Vi峄噒 + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * Volap眉k + * Winaray + * 涓枃 + + * Sivua on viimeksi muutettu 19. elokuuta 2011 kello 10.04. + * Teksti on saatavilla Creative Commons Attribution/Share-Alike + -lisenssill盲; lis盲ehtoja voi sis盲lty盲. Katso k盲ytt枚ehdot. + Wikipedia庐 on Wikimedia Foundationin rekister枚im盲 tavaramerkki. + Ongelma artikkelissa? + + * Yksityisyydensuoja + * Tietoja Wikipediasta + * Vastuuvapaus + * Mobiilin盲kym盲 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt b/test/testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt new file mode 100644 index 0000000..ddeed57 --- /dev/null +++ b/test/testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt @@ -0,0 +1,271 @@ +Wikipedia:Etusivu + + Wikipedia + Loikkaa: valikkoon, hakuun + + Tervetuloa Wikipediaan, vapaaseen tietosanakirjaan. + + Suomenkielisess Wikipediassa on t鋖l hetkell 280 731 artikkelia. + + Haku Wikipediasta Haku Ajankohtaista Selaa luokittain Luo + artikkeli + + Suositellut artikkelit Hyv鋞 artikkelit Uudet sivut + + Tervetuloa Wikipediaan Tervetuloa Wikipediaan ja tietoja Wikipediasta + + UKK Artikkelin luominen Keskustelu Neuvonta + + + Suositeltu artikkeli + + Bundesarchiv Bild 102-00457, Emanuel Lasker.jpg + + Emanuel Lasker (24. joulukuuta 1868 11. tammikuuta 1941) oli + saksalainen shakin suurmestari, matemaatikko ja filosofi. H鋘 oli + shakin toinen maailmanmestari ja piti titteli hallussaan + yht鋔aksoisesti 27 vuotta, 18941921, mik on edelleen enn鋞ys. + + Laskerista tuli shakin maailmanmestari voitettuaan Wilhelm Steinitzin + ottelussa vuonna 1894. H鋘 puolusti mestaruuttaan onnistuneesti viisi + kertaa: kerran Steinitzia vastaan vuonna 1896, Marshallia vastaan 1907, + Tarraschia vastaan 1908 sek kahdesti vuonna 1910 Schlechteri ja + Janowskia vastaan. H鋘 menetti mestaruutensa vuonna 1921 ottelussa + Capablancaa vastaan, mutta jatkoi aktiivista pelaamista viel yli + vuosikymmenen ajan. H鋘 julkaisi useita shakkilehti ja -kirjoja sek + ty鰏kenteli matematiikan ja filosofian parissa. + + Lis滗 suositeltuja artikkeleita sek hyvi artikkeleita + + + Miten voit auttaa + + Wikipedia tarvitsee apuasi! Punainen linkki tarkoittaa, ett aiheesta + ei viel ole artikkelia. Voit auttaa kirjoittamalla puuttuvista + aiheista. + + Zungarin kaanikunta Karl Gabrielsson kehr滗j鋞 (heimo) Norfolk + Southern Railway Miljoona ruusua Ichthyornis dispar + Interline-sopimus laivanrakennus it鋗ainen kulttuuri + varhaisnykyaika Virgilio Hilario 滗nteensiirros preemio + energian varastointi ven鋖鋓st鋗inen jukat tariffi + taloudellinen determinismi + + Viikon yhteisty鯽rtikkeleina ovat Florida ja v鋏st鰌yramidi. + + Lis滗 artikkelitoiveita Osallistu Wikiprojekteihin Paranna sivuja + Arvioi artikkeleita Laajenna minitynki ja tynki + + + 膕kett鋓n kuolleita + + Muammar al-Gaddafi 1-1.jpg + + Muammar Gaddafi (19422011) oli Libyan diktaattori 19692011. H鋘ell + ei ollut virallista virkaa tai asemaa, mutta h鋘t kunnioitettiin + vallankumouksen veljellisen johtajana ja ohjaajana virallisissa + valtion tiedotuksissa. + + Katso my鰏: Dan Wheldon Betty Driver Abdoulaye Seye Reijo Tani + Heinz Bennent J醤os Hersk Kim Brown + + Lis滗 鋝kett鋓n kuolleita + + + + Uutisissa + + Muammar al-Gaddafi at the AU summit.jpg Muammar Gaddafi + * Lapista l鰕tyi tieteelle uusi taigavarpuh鋗鋒鋕ki-el鋓nlaji. + (21.10.) + * Libyan v鋖iaikaishallinnon mukaan Libyan entinen johtaja Muammar + Gaddafi kuoli kiinniotettaessa. (20.10.) + * Ukrainan entinen p滗ministeri Julija Tymo歟nko tuomittiin + seitsem鋕si vuodeksi vankeuteen valtaoikeuksien v滗rink鋣t鰏t. + (11.10.) + * Thomas Sargent ja Christopher A. Sims jakoivat Nobelin + taloustieteen palkinnon. (10.10.) + * Saksalaisesta Sebastian Vettelist tuli Formula 1 -sarjan nuorin + kaksinkertainen maailmanmestari. (9.10.) + + Wikiuutiset Lis滗 uutisia + + + 21. lokakuuta + + AlfredNobel2.jpg Alfred Nobel + * 1805 Napoleonin sodat: Amiraali Nelsonin johtama brittien + laivasto voitti ranskalaisten ja espanjalaisten laivaston Espanjan + rannikolla Trafalgarin taistelussa. Nelson sai taistelussa + surmansa. + * 1833 Dynamiitin keksij ja Nobel-palkinnon perustaja Alfred Nobel + syntyi. + * 1879 Thomas Edison keksi ensimm鋓sen k鋣tt鰇elpoisen hehkulampun. + * 1929 Yhdysvaltalainen kirjailija Ursula K. Le Guin syntyi. + * 1969 Yhdysvaltalainen beatnik-kirjailija Jack Kerouac kuoli. + * 1984 Ranskalainen elokuvaohjaaja Fran鏾is Truffaut kuoli. + + Lis滗 tapahtumia sek vuosip鋓vi + + + Tiesitk, ett... + + Apollo-12-LOGO.jpg Apollo 12 -lennon logo. + * ...Apollo 12 -kuulennon varamiehist oli j鋞t鋘yt miehist鰊 + teht鋠鋖istan v鋖iin Playboy-lehdest leikatun alastoman naisen + kuvan ja kehotuksen 攖arkata pinnanmuotoja? + * ...Karjala ja Lappi ovat entisi kuntia? + * ...Suomessa on Saaren kartano sek Mietoisissa, M鋘ts鋖鋝s, + Tammelassa ett Ulvilassa, ja kaikki nelj kartanoa kuuluvat + valtakunnallisesti merkitt鋠iin rakennettuihin + kulttuuriymp鋜ist鰅hin? + + Lis滗 nippelitietoa + +Wikipedian sisarhankkeet + + Wikipediaa yll鋚it滗 voittoa tavoittelematon Wikimedia Foundation, joka + yll鋚it滗 muitakin monikielisi vapaan sis鋖l鰊 hankkeita: + + Commons-logo.svg Commons + Yhteisi mediatiedostoja Wikinews-logo.svg Wikiuutiset + Uutispalvelu Wiktionary-logo-en.svg Wikisanakirja + Sanakirjoja + Wikiquote-logo.svg Wikisitaatit + Sitaattikokoelmia Wikibooks-logo.svg Wikikirjasto + Vapaita oppikirjoja ja oppaita Wikisource-logo.svg Wikiaineisto + Vapaiden tekstien arkisto + Wikispecies-logo.svg Wikispecies + Lajien luettelo Wikiversity-logo.svg Wikiopisto + Vapaa oppimisen verkkoyhteis Wikimedia Community Logo.svg Meta-Wiki + Wikimedian hankkeiden koordinaatio + +Wikipedia muilla kielill + + Kymmenen suurinta Wikipediaa artikkeleiden m滗r鋖l mitaten: + English (englanti) Deutsch (saksa) Fran鏰is (ranska) Polski + (puola) Italiano (italia) (japani) Espa駉l (espanja) + Nederlands (hollanti) Portugu阺 (portugali) (ven鋔) + + T鋣dellinen luettelo Viikon yhteisty鰇滗nn鰏artikkeli + Haettu osoitteesta + http://fi.wikipedia.org/w/index.php?title=Wikipedia:Etusivu&oldid=10567 + 816 + +Henkil鰇ohtaiset ty鰇alut + + * Kirjaudu sis滗n tai luo tunnus + +Nimiavaruudet + + * Etusivu + * Keskustelu + +Muuttujat + +N鋕ym鋞 + + * Lue + * L鋒dekoodi + * N鋣t historia + +Toiminnot + +Haku + + ____________________ (Submit) Etsi + +Valikko + + * Etusivu + * Tietoja Wikipediasta + * Kaikki sivut + * Satunnainen artikkeli + +Osallistuminen + + * Ohje + * Kahvihuone + * Ajankohtaista + * Tuoreet muutokset + * Lahjoitukset + +Tulosta tai vie + + * Luo kirja + * Lataa PDF-tiedostona + * Tulostettava versio + +Ty鰇alut + + * T鋘ne viittaavat sivut + * Linkitettyjen sivujen muutokset + * Toimintosivut + * Ikilinkki + +Muilla kielill + + * + * Arm鉵eashce + * Bahasa Indonesia + * Bahasa Melayu + * + * Catal + * Cebuano + * esky + * Dansk + * Deutsch + * Eesti + * + * English + * Espa駉l + * Esperanto + * Euskara + * + * Fran鏰is + * Galego + * + * + * Hrvatski + * Italiano + * + * + * Krey騦 ayisyen + * Lietuvi + * Magyar + * Nederlands + * + * + * Norsk (bokm錶) + * Norsk (nynorsk) + * Polski + * Portugu阺 + * Rom鈔 + * + * Simple English + * Slovenina + * Sloven歩na + * / Srpski + * Svenska + * + * + * Ting Vit + * T黵k鏴 + * + * Volap黭 + * Winaray + * + + * Sivua on viimeksi muutettu 19. elokuuta 2011 kello 10.04. + * Teksti on saatavilla Creative Commons Attribution/Share-Alike + -lisenssill; lis鋏htoja voi sis鋖ty. Katso k鋣tt鰁hdot. + Wikipedia on Wikimedia Foundationin rekister鰅m tavaramerkki. + Ongelma artikkelissa? + + * Yksityisyydensuoja + * Tietoja Wikipediasta + * Vastuuvapaus + * Mobiilin鋕ym + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt b/test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt new file mode 100644 index 0000000..744af0d --- /dev/null +++ b/test/testdata/fr/UTF-8/wikitop_fr_UTF-8.txt @@ -0,0 +1,292 @@ +Wikip茅dia:Accueil principal + + Une page de Wikip茅dia, l'encyclop茅die libre. + Aller 脿 : Navigation, rechercher + + Bienvenue sur Wikip茅dia + Le projet d鈥檈ncyclop茅die libre que vous pouvez am茅liorer 1 163 247 + articles en fran莽ais + Version pour appareil mobile + + Culture 鈥 G茅ographie 鈥 Histoire 鈥 Sciences 鈥 Soci茅t茅 鈥 Technologies + Liste des portails th茅matiques + + Lumi猫re sur + + L鈥檋istoire des Juifs en France, l鈥檜ne des plus anciennes communaut茅s + juives d鈥橢urope occidentale, semble remonter au I^er si猫cle de l鈥櫭╮e + commune et se poursuit jusqu鈥櫭 nos jours. + + Arriv茅s en Gaule peu apr猫s sa conqu锚te par l鈥橢mpire romain, les Juifs + s鈥檡 maintiennent sous les M茅rovingiens, et connaissent une p茅riode de + prosp茅rit茅 sous les Carolingiens. Au XI^e si猫cle, la France devient un + p么le florissant de la culture juive, abritant, au nord, les communaut茅s + ashk茅nazes, parmi lesquelles fleurit l鈥櫭ヽole de Rachi et de ses + continuateurs, et, au sud, les Juifs de Provence et du Languedoc. La + situation se d茅t茅riore fortement apr猫s les Croisades, auxquelles font + suite les proc猫s du Talmud, et les expulsions, temporaires puis + d茅finitives. Un mill茅naire apr猫s leur 茅tablissement, il ne reste plus + de Juifs que dans les 茅tats papaux. + + Environ un si猫cle apr猫s l鈥檈xpulsion des Juifs de la p茅ninsule ib茅rique, + des crypto-Juifs originaires du Portugal s鈥檌nstallent 脿 Bordeaux et + Bayonne. Au XVII^e si猫cle, les Juifs d鈥橝lsace et de Lorraine se + retrouvent eux aussi sous la juridiction de la France, suite aux + trait茅s de Westphalie. + + Les Juifs de France sont les premiers 脿 jouir de l鈥櫭﹎ancipation que la + France leur accorde au d茅but de la R茅volution fran莽aise, tant dans la + m茅tropole que dans les colonies. Cependant, au 芦 franco-juda茂sme 禄 + s鈥檌nscrivant dans le cadre de la la茂cit茅 en France, r茅pond un 芦 + antis茅mitisme 脿 la fran莽aise 禄, qui s鈥檈xacerbe notamment lors de + l鈥檃ffaire Dreyfus, et sous le r茅gime de Vichy. Brutalement isol茅s du + reste de la population et poursuivis avec un z猫le particulier par la + Milice, 75 000 Juifs meurent au cours de l鈥橭ccupation, parmi lesquels + de nombreux r茅fugi茅s d鈥橢urope de l鈥橢st ou d鈥橝llemagne. + + La France demeure cependant le choix naturel pour nombre de Juifs + contraints de quitter l鈥櫭塯ypte et l鈥橝frique du Nord dans les ann茅es + 1950 et 1960. La communaut茅 juive de France, jusqu鈥檃lors + essentiellement ashk茅naze et assimil茅e, devient majoritairement + s茅farade et attach茅e aux traditions. Elle est, de nos jours, la plus + importante d鈥橢urope, et comprend 483 500 personnes, qui habitent + principalement Paris, Marseille, Lyon, Nice, Toulouse et Strasbourg. + Toutes les tendances 芦 religieuses 禄 s鈥檡 rencontrent, depuis les Juifs + ultra-orthodoxes jusqu鈥檃ux Juifs assimil茅s. + * Lire la suite + + Contenus de qualit茅 鈥 Bons contenus 鈥 S茅lection 鈥 Programme + + Actualit茅s et 茅v猫nements + + 脡v猫nements en cours : Crise politique belge 路 Printemps arabe 路 Crise + de la dette dans la zone euro 路 Crise alimentaire dans la Corne de + l鈥橝frique 路 Mouvement Occupy Wall Street 路 Coupe du monde de rugby 脿 + XV 路 Jeux panam茅ricains + __________________________________________________________________ + + * 21 octobre : L'organisation terroriste basque ETA annonce l'arr锚t + d茅finitif de la lutte arm茅e, apr猫s plus de quarante ans d'actions + terroristes ayant caus茅 plus de huit cents morts. + + Muammar al-Gaddafi at the AU summit.jpg + * 20 octobre : le CNT annonce la mort de Mouammar Kadhafi (photo) + lors de la prise de Syrte, derni猫re ville sous son contr么le. + * 18 octobre : apr猫s cinq ann茅es de captivit茅, le soldat isra茅lien + Gilad Shalit est lib茅r茅 en 茅change de la lib茅ration de + 1 027 prisonniers palestiniens. + * 13 octobre : mariage de Jigme Khesar Namgyel Wangchuck, roi du + Bhoutan, et Jetsun Pema. + * 11 octobre : 茅lection pr茅sidentielle au Liberia. + * 11 octobre : l鈥檈x-Premier ministre et actuelle chef de l鈥檕pposition + en Ukraine Ioulia Tymochenko est condamn茅e 脿 sept ans de prison + pour abus de pouvoir. + + Octobre 2011 鈥 脡ph茅m茅ride du jour 鈥 Wikinews 鈥 Modifier + + Le saviez-vous ? + + vue en coupe d'un REP + * Les deux tiers des 440 r茅acteurs nucl茅aires qui produisent de + l'茅lectricit茅 dans le monde sont des r茅acteurs 脿 eau pressuris茅e + (REP). + * Le Britannique Fauja Singh d茅tient neuf records du monde + d鈥檃thl茅tisme pour les plus de cent ans, dont celui du marathon. + * Vakif, dans la province de Hatay, est le dernier village arm茅nien + de Turquie. + * Depuis le 27 mars 1901, l鈥櫭甽e des Faisans, sur la Bidassoa, change + de souverainet茅 tous les six mois entre la France et l鈥橢spagne. + * Entre 1990 et 2000, la d茅forestation a fait perdre 脿 la for锚t + amazonienne une superficie comparable 脿 celle de la France. + + Archives 鈥 Modifier + + Image du jour + + + Le Quintette de Stephan, du nom de l'astronome 脡douard Stephan, est un + groupement visuel de galaxies situ茅 dans la constellation de P茅gase. + (d茅finition r茅elle 6 064 脳 6 760) + + Le Quintette de Stephan, du nom de l'astronome 脡douard Stephan, est un + groupement visuel de galaxies situ茅 dans la constellation de P茅gase. + (d茅finition r茅elle 6 064 脳 6 760 鈥 obtenir en poster) + + Archives 鈥 Voir les images + Images de qualit茅 sur Wikim茅dia Commons + + + Pr茅sentation + + Wikip茅dia est un projet d鈥檈ncyclop茅die collective 茅tablie sur Internet, + universelle, multilingue et fonctionnant sur le principe du wiki. + Wikip茅dia a pour objectif d鈥檕ffrir un contenu librement r茅utilisable, + objectif et v茅rifiable, que chacun peut modifier et am茅liorer. + + Le cadre du projet est d茅fini par des principes fondateurs. Son contenu + est sous licence Creative Commons by-sa et peut 锚tre copi茅 et r茅utilis茅 + sous la m锚me licence 鈥 m锚me 脿 des fins commerciales 鈥 sous r茅serve d'en + respecter les conditions. + + Actuellement, Wikip茅dia en fran莽ais compte plus de deux mille articles + distingu茅s comme 芦 articles de qualit茅 禄 ou comme 芦 bons articles 禄. + 脌 propos de Wikip茅dia 鈥 Guide sur Wikip茅dia + + Participation + + Chacun peut publier imm茅diatement du contenu en ligne, 脿 condition de + respecter les r猫gles essentielles 茅tablies par la communaut茅 ; par + exemple, la v茅rifiabilit茅 du contenu ou l鈥檃dmissibilit茅 des articles. + + De nombreuses pages d鈥檃ide sont 脿 votre disposition, notamment pour + cr茅er un article, modifier un article ou ins茅rer une image. N鈥檋茅sitez + pas 脿 poser une question. + Premiers pas 鈥 L鈥檈ssentiel pour contribuer + + Communaut茅 + + 1 148 655 comptes d'utilisateur ont 茅t茅 cr茅茅s sur Wikip茅dia, et, parmi + eux, 15 702 ont 茅t茅 actifs durant le dernier mois. Tous les r茅dacteurs + des articles de Wikip茅dia sont b茅n茅voles ; ils constituent une + communaut茅 collaborative, sans dirigeant, o霉 les membres coordonnent + leurs efforts au sein des projets th茅matiques et de divers espaces de + discussion. + + Les d茅bats et remarques sur les articles sont bienvenus. Les pages de + discussion servent 脿 centraliser les r茅flexions et les 茅valuations + permettant d鈥檃m茅liorer les articles. + + Accueil de la communaut茅 + + Projets fr猫res + + + Meta-Wiki + Meta-Wiki + Coordination de tous les projets + Commons + Wikimedia Commons + Base de donn茅es multim茅dia + Wiktionnaire + Wiktionnaire + Dictionnaire universel + Wikinews + Wikinews + Actualit茅s libres + Wikibooks + Wikibooks + Livres et textes didactiques + Wikiquote + Wikiquote + Recueil de citations + Wikisource + Wikisource + Biblioth猫que universelle + Wikiversit茅 + Wikiversit茅 + Communaut茅 p茅dagogique libre + Wikispecies + Wikispecies + Inventaire du vivant + + Wikip茅dia ne garantit pas le contenu mis en ligne. + La Wikimedia Foundation 茅tant un h茅bergeur, elle ne saurait 锚tre tenue + responsable des erreurs 茅ventuelles contenues sur ce site. + Chaque r茅dacteur est responsable de ses contributions. + Contact Contact + Ce document provient de 芦 + http://fr.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Accueil_princi + pal&oldid=70578395 禄. + +Outils personnels + + * Cr茅er un compte ou se connecter + +Espaces de noms + + * Page + * Discussion + +Variantes + +Affichages + + * Lire + * Voir le texte source + * Afficher l鈥檋istorique + +Actions + +Rechercher + + ____________________ (Submit) Rechercher + +Navigation + + * Accueil + * Portails th茅matiques + * Index alphab茅tique + * Article au hasard + * Contacter Wikip茅dia + +Contribuer + + * Premiers pas + * Aide + * Communaut茅 + * Modifications r茅centes + * Faire un don + +Imprimer / exporter + + * Cr茅er un livre + * T茅l茅charger comme PDF + * Version imprimable + +Bo卯te 脿 outils + + * Pages li茅es + * Suivi des pages li茅es + * Importer un fichier + * Pages sp茅ciales + * Adresse de cette version + +Autres langues + + * Catal脿 + * 膶esky + * Deutsch + * English + * Espa帽ol + * Suomi + * Magyar + * Italiano + * 鏃ユ湰瑾 + * 頃滉淡鞏 + * Nederlands + * Polski + * Portugu锚s + * 鈥狽orsk (bokm氓l)鈥 + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Svenska + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * 涓枃 + + * Derni猫re modification de cette page le 30 septembre 2011 脿 12:18. + * Droit d'auteur : les textes sont disponibles sous licence Creative + Commons paternit茅 partage 脿 l鈥檌dentique ; d鈥檃utres conditions + peuvent s鈥檃ppliquer. Voyez les conditions d鈥檜tilisation pour plus + de d茅tails, ainsi que les cr茅dits graphiques. + Wikipedia庐 est une marque d茅pos茅e de la Wikimedia Foundation, Inc., + organisation de bienfaisance r茅gie par le paragraphe 501(c)(3) du + code fiscal des 脡tats-Unis. + + * Politique de confidentialit茅 + * 脌 propos de Wikip茅dia + * Avertissements + * Affichage mobile + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt b/test/testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt new file mode 100644 index 0000000..35fe742 --- /dev/null +++ b/test/testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt @@ -0,0 +1,217 @@ + L抙istoire des Juifs en France, l抲ne des plus anciennes communaut閟 + juives d扙urope occidentale, semble remonter au I^er si鑓le de l掕re + commune et se poursuit jusqu掄 nos jours. + + Arriv閟 en Gaule peu apr鑣 sa conqu阾e par l扙mpire romain, les Juifs + s抷 maintiennent sous les M閞ovingiens, et connaissent une p閞iode de + prosp閞it sous les Carolingiens. Au XI^e si鑓le, la France devient un + p鬺e florissant de la culture juive, abritant, au nord, les communaut閟 + ashk閚azes, parmi lesquelles fleurit l掗cole de Rachi et de ses + continuateurs, et, au sud, les Juifs de Provence et du Languedoc. La + situation se d閠閞iore fortement apr鑣 les Croisades, auxquelles font + suite les proc鑣 du Talmud, et les expulsions, temporaires puis + d閒initives. Un mill閚aire apr鑣 leur 閠ablissement, il ne reste plus + de Juifs que dans les 閠ats papaux. + + Environ un si鑓le apr鑣 l抏xpulsion des Juifs de la p閚insule ib閞ique, + des crypto-Juifs originaires du Portugal s抜nstallent Bordeaux et + Bayonne. Au XVII^e si鑓le, les Juifs d扐lsace et de Lorraine se + retrouvent eux aussi sous la juridiction de la France, suite aux + trait閟 de Westphalie. + + Les Juifs de France sont les premiers jouir de l掗mancipation que la + France leur accorde au d閎ut de la R関olution fran鏰ise, tant dans la + m閠ropole que dans les colonies. Cependant, au franco-juda飐me + s抜nscrivant dans le cadre de la la颿it en France, r閜ond un + antis閙itisme la fran鏰ise , qui s抏xacerbe notamment lors de + l抋ffaire Dreyfus, et sous le r間ime de Vichy. Brutalement isol閟 du + reste de la population et poursuivis avec un z鑜e particulier par la + Milice, 75 000 Juifs meurent au cours de l扥ccupation, parmi lesquels + de nombreux r閒ugi閟 d扙urope de l扙st ou d扐llemagne. + + La France demeure cependant le choix naturel pour nombre de Juifs + contraints de quitter l捝gypte et l扐frique du Nord dans les ann閑s + 1950 et 1960. La communaut juive de France, jusqu抋lors + essentiellement ashk閚aze et assimil閑, devient majoritairement + s閒arade et attach閑 aux traditions. Elle est, de nos jours, la plus + importante d扙urope, et comprend 483 500 personnes, qui habitent + principalement Paris, Marseille, Lyon, Nice, Toulouse et Strasbourg. + Toutes les tendances religieuses s抷 rencontrent, depuis les Juifs + ultra-orthodoxes jusqu抋ux Juifs assimil閟. + * Lire la suite + + Contenus de qualit Bons contenus S閘ection Programme + + Actualit閟 et 関鑞ements + + 蓈鑞ements en cours : Crise politique belge Printemps arabe Crise + de la dette dans la zone euro Crise alimentaire dans la Corne de + l扐frique Mouvement Occupy Wall Street Coupe du monde de rugby + XV Jeux panam閞icains + __________________________________________________________________ + + * 21 octobre : L'organisation terroriste basque ETA annonce l'arr阾 + d閒initif de la lutte arm閑, apr鑣 plus de quarante ans d'actions + terroristes ayant caus plus de huit cents morts. + + Muammar al-Gaddafi at the AU summit.jpg + * 20 octobre : le CNT annonce la mort de Mouammar Kadhafi (photo) + lors de la prise de Syrte, derni鑢e ville sous son contr鬺e. + * 18 octobre : apr鑣 cinq ann閑s de captivit, le soldat isra閘ien + Gilad Shalit est lib閞 en 閏hange de la lib閞ation de + 1 027 prisonniers palestiniens. + * 13 octobre : mariage de Jigme Khesar Namgyel Wangchuck, roi du + Bhoutan, et Jetsun Pema. + * 11 octobre : 閘ection pr閟identielle au Liberia. + * 11 octobre : l抏x-Premier ministre et actuelle chef de l抩pposition + en Ukraine Ioulia Tymochenko est condamn閑 sept ans de prison + pour abus de pouvoir. + + Octobre 2011 蓀h閙閞ide du jour Wikinews Modifier + + Le saviez-vous ? + + vue en coupe d'un REP + * Les deux tiers des 440 r閍cteurs nucl閍ires qui produisent de + l'閘ectricit dans le monde sont des r閍cteurs eau pressuris閑 + (REP). + * Le Britannique Fauja Singh d閠ient neuf records du monde + d抋thl閠isme pour les plus de cent ans, dont celui du marathon. + * Vakif, dans la province de Hatay, est le dernier village arm閚ien + de Turquie. + * Depuis le 27 mars 1901, l掝le des Faisans, sur la Bidassoa, change + de souverainet tous les six mois entre la France et l扙spagne. + * Entre 1990 et 2000, la d閒orestation a fait perdre la for阾 + amazonienne une superficie comparable celle de la France. + + Archives Modifier + + Image du jour + + + Le Quintette de Stephan, du nom de l'astronome 蒬ouard Stephan, est un + groupement visuel de galaxies situ dans la constellation de P間ase. + (d閒inition r閑lle 6 064 6 760) + + Le Quintette de Stephan, du nom de l'astronome 蒬ouard Stephan, est un + groupement visuel de galaxies situ dans la constellation de P間ase. + (d閒inition r閑lle 6 064 6 760 obtenir en poster) + + Archives Voir les images + Images de qualit sur Wikim閐ia Commons + + + Pr閟entation + + Wikip閐ia est un projet d抏ncyclop閐ie collective 閠ablie sur Internet, + universelle, multilingue et fonctionnant sur le principe du wiki. + Wikip閐ia a pour objectif d抩ffrir un contenu librement r閡tilisable, + objectif et v閞ifiable, que chacun peut modifier et am閘iorer. + + Le cadre du projet est d閒ini par des principes fondateurs. Son contenu + est sous licence Creative Commons by-sa et peut 阾re copi et r閡tilis + sous la m阭e licence m阭e des fins commerciales sous r閟erve d'en + respecter les conditions. + + Actuellement, Wikip閐ia en fran鏰is compte plus de deux mille articles + distingu閟 comme articles de qualit ou comme bons articles . + propos de Wikip閐ia Guide sur Wikip閐ia + + Participation + + Chacun peut publier imm閐iatement du contenu en ligne, condition de + respecter les r鑗les essentielles 閠ablies par la communaut ; par + exemple, la v閞ifiabilit du contenu ou l抋dmissibilit des articles. + + De nombreuses pages d抋ide sont votre disposition, notamment pour + cr閑r un article, modifier un article ou ins閞er une image. N抙閟itez + pas poser une question. + Premiers pas L抏ssentiel pour contribuer + + Communaut + + 1 148 655 comptes d'utilisateur ont 閠 cr殚s sur Wikip閐ia, et, parmi + eux, 15 702 ont 閠 actifs durant le dernier mois. Tous les r閐acteurs + des articles de Wikip閐ia sont b閚関oles ; ils constituent une + communaut collaborative, sans dirigeant, o les membres coordonnent + leurs efforts au sein des projets th閙atiques et de divers espaces de + discussion. + + Les d閎ats et remarques sur les articles sont bienvenus. Les pages de + discussion servent centraliser les r閒lexions et les 関aluations + permettant d抋m閘iorer les articles. + + Accueil de la communaut + + Wikip閐ia ne garantit pas le contenu mis en ligne. + La Wikimedia Foundation 閠ant un h閎ergeur, elle ne saurait 阾re tenue + responsable des erreurs 関entuelles contenues sur ce site. + Chaque r閐acteur est responsable de ses contributions. + Contact Contact + +Outils personnels + + * Cr閑r un compte ou se connecter + +Espaces de noms + + * Page + * Discussion + +Variantes + +Affichages + + * Lire + * Voir le texte source + * Afficher l抙istorique + +Actions + +Rechercher + + ____________________ (Submit) Rechercher + +Navigation + + * Accueil + * Portails th閙atiques + * Index alphab閠ique + * Article au hasard + * Contacter Wikip閐ia + +Contribuer + + * Premiers pas + * Aide + * Communaut + * Modifications r閏entes + * Faire un don + +Imprimer / exporter + + * Cr閑r un livre + * T閘閏harger comme PDF + * Version imprimable + +Bo顃e outils + + * Pages li閑s + * Suivi des pages li閑s + * Importer un fichier + * Pages sp閏iales + * Adresse de cette version + + * Derni鑢e modification de cette page le 30 septembre 2011 12:18. + * Droit d'auteur : les textes sont disponibles sous licence Creative + Commons paternit partage l抜dentique ; d抋utres conditions + peuvent s抋ppliquer. Voyez les conditions d抲tilisation pour plus + de d閠ails, ainsi que les cr閐its graphiques. + Wikipedia est une marque d閜os閑 de la Wikimedia Foundation, Inc., + organisation de bienfaisance r間ie par le paragraphe 501(c)(3) du + code fiscal des 蓆ats-Unis. + + * Politique de confidentialit + * propos de Wikip閐ia + * Avertissements + * Affichage mobile diff --git a/test/testdata/he/UTF-8/wikitop_he_UTF-8.txt b/test/testdata/he/UTF-8/wikitop_he_UTF-8.txt new file mode 100644 index 0000000..1331912 --- /dev/null +++ b/test/testdata/he/UTF-8/wikitop_he_UTF-8.txt @@ -0,0 +1,185 @@ + #讜讬拽讬驻讚讬讛 copyright Atom 砖诇 讜讬拽讬驻讚讬讛 + +注诪讜讚 专讗砖讬 + + 诪转讜讱 讜讬拽讬驻讚讬讛, 讛讗谞爪讬拽诇讜驻讚讬讛 讛讞讜驻砖讬转 + 拽驻讬爪讛 讗诇: 谞讬讜讜讟, 讞讬驻讜砖 + + 讘专讜讻讬诐 讛讘讗讬诐 诇讜讜讬拽讬驻讚讬讛! + + 讜讬拽讬驻讚讬讛 讛讬讗 诪讬讝诐 专讘 诇砖讜谞讬 诇讞讬讘讜专 讗谞爪讬拽诇讜驻讚讬讛 砖讬转讜驻讬转, 讞讜驻砖讬转 讜诪讛讬诪谞讛, + 砖讻讜诇诐 讬讻讜诇讬诐 诇注专讜讱. 讻注转 讬砖 讘讜讜讬拽讬驻讚讬讛 讛注讘专讬转 125,392 注专讻讬诐. + + P mathematics.svg 诪转诪讟讬拽讛 P physics.svg 驻讬讝讬拽讛 P chemistry.svg 讻讬诪讬讛 + Q space.svg 诪讚注讬 讛讞诇诇 P technology.png 讟讻谞讜诇讜讙讬讛 P biology.svg 讘讬讜诇讜讙讬讛 + P medicine.svg 专驻讜讗讛 P geography1.png 讙讗讜讙专驻讬讛 P Society.png 诪讚注讬 讛讞讘专讛 + P Economy.png 讻诇讻诇讛 P parthenon.svg 诪讚注 讛诪讚讬谞讛 P La Liberte.png + 讛讬住讟讜专讬讛 + P religion world.svg 讚转 P judaism.svg 讬讛讚讜转 P Israel Flag2.png 讬砖专讗诇 + P treble clef.svg 诪讜讝讬拽讛 P literature.svg 住驻专讜转 P vip.svg 讗讬砖讬诐 + P SPORT.png 住驻讜专讟 P art.png 讗诪谞讜转 P countries.png 诪讚讬谞讜转 讛注讜诇诐 + 驻讜专讟诇 讛讬讜诐 + P Football.png + + 驻讜专讟诇 讛讻讚讜专讙诇 讛讜讗 砖注专 诇讻诇 讛谞讜砖讗讬诐 讘讜讜讬拽讬驻讚讬讛 讛拽砖讜专讬诐 讘讻讚讜专讙诇. 讘驻讜专讟诇 + 谞诪爪讗讬诐 拽讬砖讜专讬诐 诇注专讻讬诐 讜诇转诪讜谞讜转 谞讘讞专讜转 讘谞讜砖讗, 诇讗讬砖讬诐 讘讜诇讟讬诐 讘转讞讜诐, + 诇诪讜砖讙讬诐 讞砖讜讘讬诐 讜诇谞讜砖讗讬 诪砖谞讛. + 驻讜专讟诇讬诐 讗拽专讗讬讬诐 + (讻诇 讛驻讜专讟诇讬诐 | 讟讜注谉 驻讜专讟诇讬诐...) P art.png 讗诪谞讜转 P physics.svg 驻讬讝讬拽讛 + P geography1.png 讙讗讜讙专驻讬讛 P chemistry.svg 讻讬诪讬讛 + 转诪讜谞转 讛讬讜诐 + 转诪讜谞转 讛讬讜诐 + [讝讬拽讬转 讛诪转讗讬诪讛 讗转 爪讘注 注讜专讛 诇住讘讬讘转讛, 诇诪讟专转 讛住讜讜讗讛. + + 讝讬拽讬转 讛诪转讗讬诪讛 讗转 爪讘注 注讜专讛 诇住讘讬讘转讛, 诇诪讟专转 讛住讜讜讗讛, 讬讻讜诇转 砖讘讛 讬讚讜注讛 讛讝讬拽讬转 + 讘诪讬讜讞讚. 讛讝讬拽讬讜转 谞驻讜爪讜转 讘注讬拽专 讘讗驻专讬拽讛, 讜讘讗讬 诪讚讙住拽专 诪爪讜讬 讛诪讙讜讜谉 讛专讞讘 + 讘讬讜转专 砖诇 诪讬谞讬 讝讬拽讬讜转, 讜讻谉 讛讬讗 谞驻讜爪讛 讘讗讝讜专讬诐 讟专讜驻讬讬诐 谞讜住驻讬诐 讘注讜诇诐. + 讛讝讬拽讬讜转 讘讚专讱 讻诇诇 砖讜讻谞讜转 注爪讬诐 讗讜 砖讬讞讬诐, 讗诐 讻讬 讬砖谞诐 诪讬谞讬诐 砖诇 讝讬拽讬讜转 拽讟谞讜转 + 讛砖讜讻谞讜转 注诇 讛拽专拽注 转讞转 诪讞住讛 注诇讬 讛砖诇讻转. + 转诪讜谞讜转 诪讜诪诇爪讜转 谞讜住驻讜转 + 转诪讜谞讛 诪讜诪诇爪转 讗拽专讗讬转 + 注专讱 诪讜诪诇抓 + 注专讱 诪讜诪诇抓 + + 讗讞专讬讜转 谞讻住讬诐 讗讜 砖注讘讜讚 谞讻住讬诐, 讛讜讗 诪讜谞讞 讛诇讻转讬-诪砖驻讟讬, 讛诪转讗专 砖注讘讜讚 砖诇 谞讻住讬诐 + 讗讜 讗讞专讬讜转 砖诇 讗讚诐, 讛讬讜爪专讬诐 注专讘讜转 诪砖驻讟讬转 讘转讞讜诪讬诐 砖讜谞讬诐. 讚讜讙诪讛 拽诇讗住讬转 + 诇讗讞专讬讜转 谞讻住讬诐 讛讬讗 讘诇讜讜讬讬转 讻住祝, 讘讛 诇注转讬诐 谞讬转谉 诇讙讘讜转 讗转 讛讞讜讘 诪讛谞讻住讬诐 砖讛讬讜 + 砖讬讬讻讬诐 诇诇讜讜讛 讘讝诪谉 砖讘讜爪注讛 讛讛诇讜讜讗讛 讗祝 讗诐 讛诐 讻讘专 谞诪讻专讜 诇讗讞专, 诪讻讬讜讜谉 砖注讜讚 + 诪砖注转 讛讛诇讜讜讗讛 讞诇 注诇 谞讻住讬讜 砖注讘讜讚 讻诇驻讬 讛讞讜讘. 讛诪讜谞讞 讛诪拽讘讬诇 诇砖注讘讜讚 讘诪砖驻讟 + 讛讻诇诇讬 讛讜讗 "砖注讘讜讚 爪祝", 砖砖讜谞讛 讘讗讜驻谉 诪讛讜转讬 诪讛诪讜谞讞 讛讛诇讻转讬 讘讻讱 砖讛讜讗 讞诇 专拽 注诇 + 谞讻住讬 讞讘专讜转 讜诇讗 注诇 谞讻住讬 讬讞讬讚讬诐. + + 住讜讙 诪住讜讬诐 砖诇 讗讞专讬讜转 谞讻住讬诐 讛讜讗 讛"讗址驻旨讜止转值旨讬拽值讬", 讘诪住讙专转讜 讛砖注讘讜讚 砖讞诇 注诇 + 谞讻住讬 讛讞讬讬讘 诪转讬讬讞住 诇谞讻住 诪住讜讬诐 讗讞讚, 砖诪诪谞讜 谞讙讘讛 讛讞讜讘. 讛诪讜谞讞 讛诪拽讘讬诇 诇砖注讘讜讚 + 诪住讜讙 讝讛 讘诪砖驻讟 讛讻诇诇讬 讛讜讗 砖注讘讜讚 诪住讜讙 "讘讟讜讞讛". + 诇注专讱 讛诪诇讗 - 诪讜诪诇爪讬诐 谞讜住驻讬诐 + 讛讬讚注转? + 讛讬讚注转? + 讗诇讬注讝专 拽驻诇谉, 砖专 讛讗讜爪专 讛专讗砖讜谉 砖诇 讬砖专讗诇 + + 讘讞诇拽转 讙讚讜诇讬 讛讗讜诪讛 砖讘讛专 讛专爪诇 砖讘讬专讜砖诇讬诐 拽讘讜专讬诐 讙讚讜诇讬 讛诪谞讛讬讙讬诐 砖诇 诪讚讬谞转 + 讬砖专讗诇. 讘讬谉 讛砖讗专 讝讻讗讬诐 诇讛讬拽讘专 讘讘讬转 讛注诇诪讬谉 谞砖讬讗讬 诪讚讬谞转 讬砖专讗诇, 专讗砖讬 + 讛诪诪砖诇讛, 讬讜砖讘讬 专讗砖 讛讻谞住转 讜讘谞讬 讝讜讙诐 讜讻谉 诪注讜讟专讬 注讬讟讜专 讛讙讘讜专讛. 注诐 讝讗转, 讘砖谞讬 + 诪拽专讬诐 讞专讙讜 诪讻诇诇 讝讛: 砖专 讛讗讜爪专 讛专讗砖讜谉 讗诇讬注讝专 拽驻诇谉 讛讬讛 诇专讗砖讜谉 诇讛讬拽讘专 + 讘讞诇拽讛, 诇讗讞专 砖谞驻讟专 讘注转 讻讛讜谞转讜 讜讘讟专诐 谞拽讘注讜 讗诪讜转 讛诪讬讚讛 诇讝讻讗讜转. 讘-2007 + 讛讜讞诇讟 诇拽讘讜专 讘诪拽讜诐 讙诐 讗转 专讗砖 注讬专讬讬转 讬专讜砖诇讬诐 讟讚讬 拽讜诇拽. 诪谞讙讚, 讬砖 讝讻讗讬诐 + 砖讘讞专讜 诇讛讬拽讘专 讘诪拽讜诐 讗讞专, 讻讙讜谉 谞砖讬讗讛 讛专讘讬注讬 砖诇 讬砖专讗诇 讗驻专讬诐 拽爪讬专, 砖讘讬拽砖 + 诇讛讬拽讘专 讘讘讬转 讛拽讘专讜转 砖讘专讞讜讘讜转 诇爪讚 专注讬讬转讜, 讜专讗砖 诪诪砖诇转讛 讛砖讬砖讬 诪谞讞诐 讘讙讬谉, + 砖讘讬拽砖 诇讛讬拽讘专 讘讞诇拽转 注讜诇讬 讛讙专讚讜诐 砖讘讛专 讛讝讬转讬诐. + 诇拽讟注讬 "讛讬讚注转?" 谞讜住驻讬诐 + 拽讟注 "讛讬讚注转?" 讗拽专讗讬 + 讛讬讜诐 讘讛讬住讟讜专讬讛 + 讛讬讜诐 讘讛讬住讟讜专讬讛 + 砖注讜谉 诪转拽讜驻转 诇讜讞 讛砖谞讛 讛诪讛驻讻谞讬 讘爪专驻转, 砖讘讜 讞讜诇拽 讛讬讜诐 讘讞诇讜拽讛 注砖专讜谞讬转 + * 1648 - 谞讞转诪讬诐 讛住讻诪讬 讜住讟驻诇讬讛, 讛诪讘讬讗讬诐 诇住讬讜诪讛 砖诇 诪诇讞诪转 砖诇讜砖讬诐 讛砖谞讬诐 + * 1793 - 讛讗住驻讛 讛诇讗讜诪讬转 砖诇 爪专驻转 诪拽讘诇转 讗转 诇讜讞 讛砖谞讛 讛诪讛驻讻谞讬 讘爪专驻转 + * 1929 - 讬讜诐 讞诪讬砖讬 讛砖讞讜专 - 讛转诪讜讟讟讜转 讛讘讜专住讛 砖诇 谞讬讜 讬讜专拽, 讬讞讚 注诐 + 讛转诪讜讟讟讜转 谞讜住驻转 讘讬讜诐 砖诇讬砖讬 讛砖讞讜专, 讛-29 讘讗讜拽讟讜讘专, 诪住诪谞转 讗转 转讞讬诇转 讛砖驻诇 + 讛讙讚讜诇 + * 1945 - 讜讬讚拽讜谉 拽讜讜讬讝诇讬谞讙 诪讜爪讗 诇讛讜专讙 讘谞讜专讘讙讬讛 讘注讜讜谉 讘讙讬讚讛 + * 1964 - 讝诪讘讬讛 讝讜讻讛 诇注爪诪讗讜转讛 诪讛讗讬诪驻专讬讛 讛讘专讬讟讬转 + * 1973 - 讛驻住拽转 讛讗砖 讘讬谉 讬砖专讗诇, 诪爪专讬诐 讜住讜专讬讛 谞讻谞住转 诇转讜拽驻讛 讜诪讘讬讗讛 诇住讬讜诐 + 诪诇讞诪转 讬讜诐 讛讻讬驻讜专讬诐 + + 24 讘讗讜拽讟讜讘专 - 讞讜讚砖 讗讜拽讟讜讘专 - 讛讬讜诐 讘讛讬住讟讜专讬讛 + 讗讬专讜注讬诐 讘诇讜讞 讛注讘专讬 + 讗讬专讜注讬诐 讘诇讜讞 讛注讘专讬 + 讘谞讬讬谉 讛讗讜"诐 讘谞讬讜 讬讜专拽 + * 讛'转专谞"讜 - 谞讜诇讚讛 讘讘讛 讗讬讚诇住讜谉, 讞讘专转 讻谞住转, 诪诪谞讛讬讙讜转 转谞讜注转 讛注讘讜讚讛 + 讜诪诪讬讬住讚讜转 诪讜注爪转 讛驻讜注诇讜转. + * 讛'转砖"讟 - 转讞讬诇转 诪讘爪注 讞讬专诐, 诇砖讞专讜专 讛讙诇讬诇 讛注诇讬讜谉, 讘诪诇讞诪转 讛注爪诪讗讜转. + * 讛'转砖诇"讚 - 诪讜注爪转 讛讘讬讟讞讜谉 砖诇 讛讗讜"诐 诪讗砖专转 讗转 讛讞诇讟讛 诪住' 338. + + 驻专砖转 讛砖讘讜注: 谞讞, 砖讘转 专讗砖 讞讜讚砖 + 讻"讜 讘转砖专讬 讛'转砖注"讘 - 讗讬专讜注讬诐 讘诇讜讞 讛注讘专讬 + 讞讚砖讜转 讜讗拽讟讜讗诇讬讛 + 讞讚砖讜转 讜讗拽讟讜讗诇讬讛 + 讻专讬住讟讬谞讛 驻专谞谞讚住 讚讛 拽讬专砖谞专 + * 诪讗讜转 讛专讜讙讬诐 讘专注讬讚转 讗讚诪讛 讘注讜爪诪讛 7.2 讘住讜诇诐 专讬讻讟专 砖驻拽讚讛 讗转 诪讝专讞 讟讜专拽讬讛 + (鈥弝net) + * 讘讘讞讬专讜转 诇谞砖讬讗讜转 讗专讙谞讟讬谞讛 讝讻转讛 讛谞砖讬讗讛 讛诪讻讛谞转 讻专讬住讟讬谞讛 驻专谞谞讚住 讚讛 + 拽讬专砖谞专; 讛讞讜拽 讘讗专讙谞讟讬谞讛 诇讗 诪讗驻砖专 讬讜转专 诪砖转讬 讻讛讜谞讜转 专爪讜驻讜转, 诇讻谉 诇讗 + 转讜讻诇 驻专谞谞讚住 讚讛 拽讬专砖谞专 诇砖讜讘 讜诇讛转诪讜讚讚 讘讘讞讬专讜转 讛讘讗讜转 (谞注谞注10) + * 讘转驻讬诇转 砖讞专讬转 砖诇 砖讘转 讘砖讟讬讘诇讱 诪讗讛 砖注专讬诐 驻专爪讛 拽讟讟讛 讗诇讬诪讛 讘讬谉 讞住讬讚讬 讙讜专 + 诇讘讬谉 住讬拽专讬拽讬诐 讗砖专 讘诪讛诇讻讛 谞驻讙注 讗讞讚 讛诪转驻诇诇讬诐, 讚讘专 砖讙专诐 诇讛转注专讘讜转 + 讛诪砖讟专讛 (讻讬讻专 讛砖讘转) + + 注专讬讻讛 + 诪讬讝诪讬 讜讬拽讬诪讚讬讛 讗讞专讬诐 + 诪讬讝诪讬 讜讬拽讬诪讚讬讛 讗讞专讬诐 + + + 诇诇讗 讛讜讚注转 讛讙谞讛 讗讜讟讜诪讟讬转 + 诪拽讜专: + http://he.wikipedia.org/w/index.php?title=%D7%A2%D7%9E%D7%95%D7%93_%D7% + A8%D7%90%D7%A9%D7%99&oldid=11356476 + +讻诇讬诐 讗讬砖讬讬诐 + + * 讻谞讬住讛 诇讞砖讘讜谉 / 讛专砖诪讛 + +讙专住讗讜转 砖驻讛 + +诪专讞讘讬 砖诐 + + * 砖讬讞讛 + * 注专讱 + +讞讬驻讜砖 + + (Submit) 讞讬驻讜砖 ____________________ + +驻注讜诇讜转 + +爪驻讬讜转 + + * 讙专住讗讜转 拽讜讚诪讜转 + * 讛爪讙转 诪拽讜专 + * 拽专讬讗讛 + +谞讬讜讜讟 + + * 注诪讜讚 专讗砖讬 + * 讘专讜讻讬诐 讛讘讗讬诐 + * 砖讬谞讜讬讬诐 讗讞专讜谞讬诐 + * 注专讻讬诐 诪讜诪诇爪讬诐 + * 驻讜专讟诇讬诐 + * 注专讱 讗拽专讗讬 + * 转专讜诪讛 诇讜讜讬拽讬驻讚讬讛 + +拽讛讬诇讛 + + * 砖注专 讛拽讛讬诇讛 + * 注讝专讛 + * 讬讬注讜抓 + * 诪讝谞讜谉 + * 诇讜讞 诪讜讚注讜转 + * 讬爪讬专转 拽砖专 + * 住驻专 讗讜专讞讬诐 + +转讬讘转 讻诇讬诐 + + * 讚驻讬诐 讛诪拽讜砖专讬诐 诇讻讗谉 + * 砖讬谞讜讬讬诐 讘讚驻讬诐 讛诪拽讜砖专讬诐 + * 讚驻讬诐 诪讬讜讞讚讬诐 + * 拽讬砖讜专 拽讘讜注 + * 爪讬讟讜讟 讚祝 讝讛 + +讚祝 讝讛 讘砖驻讜转 讗讞专讜转 + + +讛讚驻住讛/讬爪讜讗 + + * 讬爪讬专转 住驻专 + * 讛讜专讚讛 讻志PDF + * 讙专住转 讛讚驻住讛 + + * 砖讜谞讛 诇讗讞专讜谞讛 讘志14:43, 14 讘讗讜拽讟讜讘专 2011. (爪讬讟讜讟) + * 讛讟拽住讟 诪讜讙砖 讘讻驻讜祝 诇专讬砖讬讜谉 CC 讬讬讞讜住-砖讬转讜祝 讝讛讛 3.0; 驻专讟讬 讛专讬砖讜讬 砖诇 + 讛转诪讜谞讜转 诪讜驻讬注讬诐 讘注诪讜讚讬 讛转诪讜谞讜转. 专讗讜 转谞讗讬 砖讬诪讜砖 诇驻专讟讬诐 谞讜住驻讬诐. + + * 诪讚讬谞讬讜转 讛驻专讟讬讜转 + * 讗讜讚讜转 讜讬拽讬驻讚讬讛 + * 讛讘讛专讛 诪砖驻讟讬转 + * 转爪讜讙讛 诇诪讻砖讬专讬诐 谞讬讬讚讬诐 + diff --git a/test/testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt b/test/testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt new file mode 100644 index 0000000..174805d --- /dev/null +++ b/test/testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt @@ -0,0 +1,185 @@ + #彘鏖翥殇 copyright Atom  彘鏖翥殇 + +蝾邈  + + 铤尻 彘鏖翥殇, 溧瘀轺戾翥殇 溏弭 + 黥轹 囔: 痖邋, 玳翦 + + 狲咫轫 溽嚅 戾彘鏖翥殇! + + 彘鏖翥殇 溟 铋骓  禊屦 扃獒屮 囵鲩黛弭汩 糸, 珏豉辁 孱溟铕, + 屐 殡屐轫 祢. 腧 轾 徨彘鏖翥殇 潋狲辁 125,392 蝤腴. + + P mathematics.svg 铤铊轺 P physics.svg 糸骈麂 P chemistry.svg 腴铋 + Q space.svg 钽蜷 溏祆 P technology.png 桦疱戾忾 P biology.svg 衢屐邂殇 + P medicine.svg 遴 P geography1.png 忄邂殇 P Society.png 钽蜷 溏狲 + P Economy.png 腱腱 P parthenon.svg 钽 漕汩痄 P La Liberte.png + 溟耔屮殇 + P religion world.svg 泮 P judaism.svg 殇沐 P Israel Flag2.png 轾 + P treble clef.svg 铄骈麂 P literature.svg 耵 P vip.svg 嚅 + P SPORT.png 耵屮 P art.png 囝疱 P countries.png 钽轲妃 潋屐 + 翦 溟屙 + P Football.png + + 翦 潆沐 溴  祀 漯妁嚅 徨彘鏖翥殇 澉 犭沐. 狒屮桁 + 痤鲟轫 鏖 祢轫 屐屦妃 疳瑛妃 狃妁, 爨轾轫 徨扈轫 狷珏, + 祛妁忾 琦遽轫 屐疱 铢痄. + 翦扉 圜殚 + (腱 漪屮桁轫 | 桢蝻 翦扉...) P art.png 囝疱 P physics.svg 糸骈麂 + P geography1.png 忄邂殇 P chemistry.svg 腴铋 + 屦 溟屙 + 屦 溟屙 + [骈鏖 漕轭 帔 鲠 蝈 祚衢狷, 祛桫 漶邋噤. + + 骈鏖 漕轭 帔 鲠 蝈 祚衢狷, 祛桫 漶邋噤, 殡屐  殂弪 滏轺辁 + 犷殄玢. 滏轺殄 痿弼妃 狎轺 徉豇轺, 遽嚅 钽怦鼬 铞彘 漕忮屣 澍玑 + 衢妃  铋痖 骈鏖妃, 咫 溟 痿弼 徉驽 桫弭殚 疱耵轫 狎屐. + 滏轺殄 徙 腱 腽妃 蝣轫 噱 玳, 囗 腴 轾痦 铋痖  骈鏖妃 麒疱 + 澌咫疱 蜢 澉  铉皲 蜢 澌祀. + 屦妃 铄铎鲥 疱耵妃 + 屦 铄铎鳅 圜辁 + 蝤 铄铎 + 蝤 铄铎 + + 噻妃 痣耖 噱 徨 痣耖, 溴 铄痃 潇膪-铢翳, 漕 徨  痣耖 + 噱 噻妃  嚆, 溟弼 蝤徨 铢翳辁 狷珏铋 痖. 沐忸 黛囫辁 + 爨瑛殄 痣耖 溟 犰邋殚 腭, 徜 祢 痖 焘徨 帔 溏遽 钿痣耖 殄 + 殡轫 祆邋 徭铒 弼蜾 滗戾遴 囿 囗 漤 脶 痤滕 爨瑛, 铍殄屣 邈 + 铢蝥 滗戾遴 珈 蜢 痣耖 徨 腱糸 溏遽. 漕屦 漕麽殪 禊蜥邈 犷 + 潆祆 溴 "徨 鲶", 屦 徉弭 钿妃 钿铄痃 滗祀 犭 遴 珈  蜢 + 痣耖 玑 屐 蜢 痣耖 殓殂轫. + + 皴 铖彘  噻妃 痣耖 溴 "嗲籼迳涕髋", 犷疋 澌蜥邈  蜢 + 痣耖 溏殚 铤殚珩 祓腭 铖彘 噻, 铕 疴徜 溏遽. 漕屦 漕麽殪 禊蜥邈 + 铖邂 驿 犷 潆祆 溴 徨 铖邂 "徼彗". + 祢 漕爨 - 铄铎鲩 疱耵轫 + 溟泸? + 溟泸? + 囔轵骧 黥祜,  溧弼 澍帙屣  轾 + + 徵祺 忏屐 溧孱 澍 澍鲮 轼妁扉 麽屮轫 忏屐 漕痄殁轫  钽轲 + 轾. 衢 澌帏 骐嚅 熹轺狲 後辁 潋祛轱 瘗猷 钽轲 轾,  + 漕铢熹, 殄  潆瘃 遽痖 驽忭 咫 铗彖 蜷桢 溻徨. 蝽 驵, 狴痖 + 铟 瑛忮 铍祆 驿:  溧弼 澍帙屣 囔轵骧 黥祜 溟 禅帙屣 熹轺狲 + 徵祺, 爨瑛 翳 狎 脘屦 遽桫 瘅狎 囝妃 漕殂 戽豚妃. -2007 + 溴珈 祺徨 犷麇 忭 帔  蜷辁 轼妁扉 桡 麇祺. 铕忏, 轾 骐嚅 + 瑛 熹轺狲 犷麇 噻, 脞屣 瘗猷 澍衢蜷  轾 圄 黯轼, 轺 + 熹轺狲 後辁 澉狲妃 遽妃 祧 殚, 屮帙 铑 澌轾 铕珥 徕轱, + 轺 熹轺狲 徵祺 蝈扉 溻屙 澍 滏辁轫. + 祺栩 "溟泸?" 疱耵轫 + 麒 "溟泸?" 圜 + 溟屙 徜轳桢 + 溟屙 徜轳桢 + 屣 铤麇酊 戾 澌痄 漕漪腽 狯,  珏祺 溟屙 徵戾麂 蝙痖 + * 1648 - 痃轫 漶腩 羼梏扉, 漕衢嚅 祚殄钿  铎珙 妁轫 澌痖 + * 1793 - 溧耵 潇噱铋  鲽酊 铟犰 帔 戾 澌痄 漕漪腽 狯 + * 1929 - 殄 珙轾 澌珏 - 潸铄梃妃 溽屮皲  痖 殄, 殓 蝽 + 潸铄梃妃 疱耵 衢屙 轾 澌珏, -29 徉鬻桢狲, 铖铕 帔 殪 澌綮 + 溻沐 + * 1945 - 彘泖屣 麇彘骒轲 铄鲟 熹屮 狃屮徕殇 狎邋 徕殂 + * 1964 - 骖衢 驽脘 祢鲱噱 钿嚅铘 溽栝 + * 1973 - 漪聍 溧 衢 轾, 铞 羼屮殇 痣瘃 禚鬻翡 孱衢噤 祚殄 + 铎珙 殄 潆轸屮轫 + + 24 徉鬻桢狲 - 珏泫 噱麒遽 - 溟屙 徜轳桢 + 嚅蜷 犰彗 潋狲 + 嚅蜷 犰彗 潋狲 + 狃殚 溧" 狃殄 殄 + * '" - 疱煦 後 嚅沆皴, 玑 腽聱, 铑痄殁妃 弪 潋徨沅 + 孱铋轳沐 铄蝣 漪弪戾. + * '" - 殪 钺鲵 玳, 禊瑛屮 溻扉 潋扉屣, 犷扃铤 潋鲱噱. + * '" - 铄蝣 溽殍珏  溧" 钹 帔 溏扈 铖' 338. + + 豇 澌徨: 痃,   珏泫 + " 狷 '" - 嚅蜷 犰彗 潋狲 + 玢 遴麒遴扉 + 玢 遴麒遴扉 + 滕轳栝痄 豇痧泷 沅 鏖瘌 + * 钹妃 澍邂轫 狲蜷泮 嚆钿 狎弼钿 7.2 狁屐 腓 縻 帔 铈 桢殇 + (⺻net) + * 後玳 祓噱 帏怵栝痄 骐 漯噤 漕脘瘊 滕轳栝痄 豇痧泷 沅 + 鏖瘌; 溏鬻 徉痂轲 爨 钹豉 殄 铢 脘屦妃 弭妃, 祀 爨 + 腱 豇痧泷 沅 鏖瘌 禊遽 屐潸铄沣 後玳 溽噱 (痱痱10) + * 狷糸禚    狴栝犰 钹  豇鲣 麒桎 囔轭 衢 珩殂 忮 + 灬轱 耖鼬轺轫 帙 犷潇脘 痿怛 噻 漕祆轫, 汜  熹妃 + 漕 (腴滕 澌狷) + + 蝤殡 + 铋骖 彘鏖钽殇 噻 + 铋骖 彘鏖钽殇 噻 + + + 祆 溴泸 溻痄 噱桢铊辁 + 铟屮: + http://he.wikipedia.org/w/index.php?title=%D7%A2%D7%9E%D7%95%D7%93_%D7% + A8%D7%90%D7%A9%D7%99&oldid=11356476 + +腱轫 嚅轫 + + * 腽轳 扃屣 / 澍 + +怿襦妃  + +铠玑  + + * 玟 + * 蝤 + +玳翦 + + (Submit) 玳翦 ____________________ + +趄屐妃 + +鲷殄 + + * 怿襦妃 麇泐妃 + * 漩恸 铟屮 + * 鼬猷 + +痖邋 + + * 蝾邈  + * 狲咫轫 溽嚅 + * 疱殚 噻痖 + * 蝤腴 铄铎鲩 + * 翦扉 + * 蝤 圜 + * 孱 戾彘鏖翥殇 + +麂殪 + + *  澉溟熹 + * 蜴 + * 殚蝈 + * 铈疱 + * 戾 铄泸妃 + * 轹轼 鼯 + * 耵 噱轫 + +狷 腱轫 + + * 泗轫 漕麇轫 祀囡 + * 疱殚 徙糸 漕麇轫 + * 泗轫 铋彗汩 + * 鏖 麽弪 + * 鲩桢 泱 驿 + +泱 驿 狴翦 噻 + + +溷赳/轹遴 + + * 轹轼 耵 + * 溴 胛PDF + * 怿聱 溷赳 + + * 痄 爨瑛屦 嵛14:43, 14 徉鬻桢狲 2011. (鲩桢) + * 滂黢 铄怡 犭翦 禅轾殄 CC 殚珏- 驿 3.0; 豇栝 澍轾彘  + 潸铄疱 铄糸蜷 狎铄汩 潸铄疱.  嚅 铄 祠轫 疱耵轫. + + * 钽轲殄 漪殄 + * 噱沐 彘鏖翥殇 + * 溽澍 铢翳辁 + * 邂 祛膣轼轫 痖殂轫 + diff --git a/test/testdata/hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt b/test/testdata/hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt new file mode 100644 index 0000000..9473dea --- /dev/null +++ b/test/testdata/hu/.WINDOWS-1250/wikitop_hu_WINDOWS-1250.txt @@ -0,0 +1,388 @@ +Kezd鮨ap + + A Wikip閐i醔髄, a szabad enciklop閐i醔髄 + Ez a lap egy ellen鮮z鰐t v醠tozata r閟zletek megjelen韙閟e/elrejt閟e + Ez a k鰖z閠ett v醠tozat, ellen鮮izve: 2011. m醨cius 31. + + Pontoss醙 ellen鮮z鰐t + + Ugr醩: navig醕i, keres閟 + + 躣v鰖l黱k a Wikip閐i醔an! + Ezt az enciklop閐i醫 az olvas骾 szerkesztik + A magyar v醠tozatnak 202 963 sz骳ikke van, + ebb鮨 623 kiemelt. + + * T醨sadalom + * T鰎t閚elem + * F鰈drajz + + * Kult鷕a + * M鹶閟zet + * Sport + + * Term閟zet + * Fizika + * Biol骻ia + + * Matematika + * Technika + * 謘szes port醠 + + Mobilos v醠tozatKapcsolatfelv閠el / Contact + + Kiemelt cikk + + Liszt-kaulbach.jpg + + Liszt Ferenc (n閙et黮 Franz Liszt) (Doborj醤, 1811. okt骲er 22. + Bayreuth, 1886. j鷏ius 31.) a 19. sz醶ad egyik legjelent鮯ebb + romantikus zeneszerz鮦e, minden id鮧 egyik legnagyobb zongoram鹶閟ze. + + Apja, Liszt 羋醡, Esterh醶y herceg uradalmi hivatalnoka, kor醤 + felismerte fi醤ak kiv閠eles zenei tehets間閠, 閟 minden lehet鮯間et + megragadott kibontakoztat醩醨a. Liszt kilenc関es kor醔an m醨 + nyilv醤oss醙 el鮰t zongor醶ott Sopronban 閟 Pozsonyban, majd m鹥醨tol + f鮱rak t醡ogat醩醰al hamarosan B閏sben folytathatta tanulm醤yait Czerny + 閟 Salieri tan韙v醤yak閚t. 1822. december 1-j閚 mutatkozott be az + osztr醟 f鮲醨osban. Els, nagy felt鹡閟t kelt b閏si koncertj閚 az + akkor 11 関es m鹶閟zre m間 Beethoven is felfigyelt. Itt jelent meg + nyomtat醩ban els m鹶e, vari醕i骾 ugyanarra a Diabelli-t閙醨a + (kering鮮e), amelyre Beethoven h韗es zongoram鹶閠 韗ta. Az ifj Liszt + b閏si szerepl閟e, majd n間y nagy siker pesti, illetve budai koncertje + ut醤 1823 鮯z閚 atyj醰al az eur髉ai m鹶閟zeti 閘et k鰖pontj醔a, + P醨izsba utazott. + + Felv閠el閠 a p醨izsi Conservatoire-ba Cherubini, az int閦m閚y vezet鮦e + g醫olta meg, ez閞t B閏sben maradt, ahol zeneelm閘etet 閟 ellenpontot + tanult mag醤鷗on, k鰖ben hangversenyk鰎鷗ra indult. Londoni + bemutatkoz醩醫 sz醡os 鷍abb megh韛醩 k鰒ette Franciaorsz醙ba, Sv醞cba, + majd ism閠 Angli醔a. M鹲or醤 t鯾bnyire a n閜szer oper醟ra 韗t + 醔r醤dok, parafr醶isok szerepeltek. 1827-ben egy id鮮e a francia + f鮲醨osban telepedett le, ahol tehets間閚ek k鰏z鰊het鮡n a t醨sas醙i + 閘et 黱nepelt h鮯e lett. Itt ismerkedett meg Chopinnal, akit鮨 + eltanulta a zongoraj醫閗 醨nyalatait, valamint Berliozzal, akit鮨 a + zenekari nyelvet 閟 a programzene 鷍 v韛m醤yait saj醫韙otta el. Az + 1830-as 関ek v間閚 鷍abb hangversenyk鰎utakra indult, bej醨ta eg閟z + Eur髉醫 Portug醠i醫髄 Oroszorsz醙ig. 1835-ben a genfi konzervat髍ium + tan醨a lett. Az 1838-as pesti 醨v韟katasztr骹a k醨osultjait B閏sben + rendezett hangversenyeinek j鰒edelm関el t醡ogatta. Ugyanilyen b鮧ez鹐n + j醨ult hozz n閔醤y 関vel k閟鮞b a bonni Beethoven-eml閗m + l閠rehoz醩醜oz. Az oroszorsz醙i hangversenyk鰎utakon ismerte meg az + orosz komponist醟 m鹶閟zet閠, valamint szerelm閠, Carolyne zu + Sayn-Wittgenstein hercegn鮰, aki a k閟鮞b irodalmi munk醩s醙醔an is + k鰖rem鹝鰀鰐t. A negyvenes 関ek elej閚 Weimarban az udvari sz韓h醶 + karmestere lett: n閜szer鹲韙ette 閟 vez閚yelte kort醨sai m鹶eit, + tan韙otta a kontinens minden sark醔髄 閞kez p醠yakezd muzsikusokat 閟 + komponist醟at. Liszt 閘ete utols 関tizedeit Weimar, R髆a 閟 Budapest + k鰖鰐t osztotta meg. A budapesti Zeneakad閙ia els 関eiben k閟zs間gel + seg韙ette a magyar zenekult鷕a 鷍onnan kialakul k鰖pontj醫, 閟 az 関 + n閔醤y h髇apj醔an tan韙ott is itt. + + Tov醔b a sz骳ikkhez + __________________________________________________________________ + + A kezd鮨apon legut骲b megjelent sz骳ikkek: I. K醨oly magyar kir醠y + Aerosmith Giuseppe Verdi Harisnya K鰖鰊s間es cserepestekn鮯 + N黵nbergi per Bart髃 B閘a + + Tov醔bi kiemelt lapok Kiemelt sz骳ikk RSS + + + A nap k閜e + + K鰖鰊s間es csimp醤z (Pan troglodytes) + + K鰖鰊s間es csimp醤z (Pan troglodytes) + + Teljes m閞et Arch韛um Kiemelt k閜 RSS + +Tudtad? + + Tudtad-e, hogy + * 卆 m醩odik vil醙h醔or ut醤i Budapesten egy villamoskocsiban + k鰊yvt醨at m鹝鰀tettek? + * 卆 k韓ai cs醩z醨okat, majd Mao Ce-tungot is a + 剉anszuj-k鰏z鰊t閟sel 黡v鰖鰈t閗, aminek jelent閟e 則韟ezer 関, + 閟 amib鮨 a jap醤 banz醞 sz is ered? + * 卆 dzsih醖 鰐 jelent閟e k鰖黮 csak az egyik a 剆zent h醔or鷶 閟 nem + is a legfontosabb, az els鮠leges a 剆z韛/l閘ek dzsih醖ja (dzsih醖 + bin nafsz/kalb): 刡els k鼁delem a gonoszs醙 ellen? + * 匥anada neve a Szent L鮮inc-foly髇醠 besz閘t irok閦 kanata sz骲髄 + ered, melynek jelent閟e 刦alu, 則elep黮閟? + + + Aktu醠is + + Az Eml閗m + Az Eml閗m + Transtr鰉er + Transtr鰉er + Dan Shechtman + Dan Shechtman + Steve Jobs + Steve Jobs + * Okt骲er 21-閚 Szojuz rak閠醰al p醠y醨a 醠l韙ott醟 az eur髉ai + Galileo navig醕i髎 rendszer els k閠 m鹔oldj醫. + * Okt骲er 16-醤 felavatt醟 Martin Luther King Nobel-b閗ed韏as + polg醨jogi harcos 9 m閠eres szobr醫 is mag醔a foglal eml閙鹶閠 + Washington sz韛閎en a National Mall nemzeti Eml閗parkban George + Washington 閟 Abraham Lincoln eml閗m鹶e mellett. + * Okt骲er 15-閚 felavatt醟 Boldog II. J醤os P醠 els szobr醫 + Oroszorsz醙ban, melyet a moszkvai nemzetk鰖i irodalmi k鰊yvt醨 + udvar醤 醠l韙ottak fel. + * Okt骲er 11-閚 elhunyt M閟z鰈y Dezs Kossuth-d韏as magyar 韗, + k鰈t, m鹒ord韙, dramaturg, Villon 閟 Shakespeare m鹶einek avatott + tolm醕sol骿a. + * Okt骲er 10-閚, a Nobel-d韏as h閠 utols napj醤 a 2011-es + k鰖gazdas醙i Nobel-eml閗d韏at Thomas J. Sargent 閟 Christopher A. + Sims r閟z閞e 韙閘t閗 oda a gazdas醙i folyamatokban az okok 閟 + hat醩ok k黮鰊v醠aszt醩醨髄 sz髄 elm閘eteik閞t. + * Okt骲er 7-閚, a Nobel-d韏as h閠 鰐鰀ik napj醤 a 2011-es + Nobel-b閗ed韏at Ellen Johnson-Sirleaf lib閞iai eln鰇, Leymah Gbowee + lib閞iai b閗eaktivista 閟 Tavakkul Karm醤 jemeni jogv閐 r閟z閞e + 韙閘t閗 oda megosztva a n鮧 jogainak v閐elm殚rt jelentett閗 be az + osl骾 Norv間 Nobel Int閦etben. + * Okt骲er 6-醤, a Nobel-d韏as h閠 negyedik napj醤 az idei irodalmi + Nobel-d韏at Tomas Transtr鰉er sv閐 韗, k鰈t, m鹒ord韙 r閟z閞e + 韙閘t閗 oda 刾ontos, letisztult k鰈t鮥 k閜ei閞t, amelyek r関閚 鷍 + f閚yben l醫hatjuk a val髎醙ot. + * Okt骲er 5-閚, a Nobel-d韏as h閠 harmadik napj醤 az idei k閙iai + Nobel-d韏at Daniel Shechtman kutat r閟z閞e 韙閘t閗 oda a + kv醶ikrist醠yok felfedez閟殚rt. + * Okt骲er 5-閚 elhunyt Steve Jobs, az Apple Inc. eln鰇e, kor醔bi + vez閞igazgat骿a, az informatikai 閟 a sz髍akoztat ipar kiemelked + alakja. + * Okt骲er 4-閚, a Nobel-d韏as h閠 m醩odik napj醤 az idei fizikai + Nobel-d韏at Saul Perlmutter, Brian P. Schmidt 閟 Adam G. Riess + csillag醩zoknak megosztva 韙閘t閗 oda a vil醙egyetem gyorsul + 黷emben val t醙ul醩醤ak t醰oli szupern髒醟 megfigyel閟関el t鰎t閚t + felfedez閟殚rt. + * Okt骲er 3-醤 megkezd鮠鰐t a 2011. 関ben Nobel-d韏jal kit黱tettek + n関sor醤ak kihirdet閟e; az 閘ettani-orvosi Nobel-d韏 fel閠 Ralph + Steinman r閟z閞e 韙閘t閗 oda a dendritikus sejtekkel kapcsolatos + munk醩s醙衢rt (a d韏azott a kihirdet閟 el鮰t n閔醤y nappal hunyt + el), m醩ik fel閠 megosztva veheti 醫 december 10-閚 Bruce A. + Beutler 閟 Jules Hoffmann az 鷊ynevezett term閟zetes vagy + velesz黮etett immunrendszer kutat醩衢rt. + __________________________________________________________________ + + Hal醠esetek a k鰖elm鷏tban + + + Ezen a napon + + Ma 2011. okt骲er 21. van, + * Orsolya n関napja + + Nobel Alfr閐 + Nobel Alfr閐 + T髍a-tekercs + T髍a-tekercs + * Alfred Nobel 黱nepnapja + * F鰈d黱k閞t vil醙nap (Magyarorsz醙on 1992 髏a) + * Szent Orsolya 閟 v閞tan鷗醨sainak eml閗napja + * Szimchat T髍 (a T髍a 鰎鰉黱nepe, napnyugt醝g) + * Boldog IV. K醨oly kir醠y eml閗napja (2004 髏a) + * almanap, az almaf醟 閟 a gy黰鰈cs鰏鰇 napja az Egyes黮t + Kir醠ys醙ban + * a nachos nemzetk鰖i napja Mexik骲an 閟 az Amerikai Egyes黮t + 羖lamokban + * 醦ol髃 napja Thaif鰈d鰊 + * tengerent鷏i k韓aiak napja Tajvanon + * Trafalgar-nap az Egyes黮t Kir醠ys醙ban + * Dizzy Gillespie sz黮et閟napja + + 蓈fordul髃 + * 247 関e, 1764-ben sz黮etett Bihari J醤os cig醤y sz醨maz醩 magyar + zeneszerz 閟 heged鹠鹶閟z, a R醟骳zi-indul v閘elmezett szerz鮦e, + akinek virtu髗 j醫閗醫 Liszt Ferenc is hallgatta 閟 nagy + elismer閟sel eml閗ezett meg r髄a ( 1827). + * 150 関e, 1861-ben sz黮etett Klupathy Jen fizikus, az MTA tagja, a + gyakorlati fizika kiemelked alakja( 1931). + * 140 関e, 1871-ben sz黮etett P醠fy M髍ic geol骻us, hidrogeol骻us, + egyetemi mag醤tan醨; a budapesti F鰈dtani Int閦et f鮣eol骻usa, a + Magyarhoni F鰈dtani T醨sulat titk醨a, majd eln鰇e, az MTA tagja + ( 1930). + * 100 関e, 1911-ben k鰐鰐t h醶ass醙ot Habsburg朙otaringiai K醨oly + f鮤erceg 閟 Zita Bourbon杙醨mai hercegn (1916-t髄 IV. K醨oly + magyar kir醠y 閟 Zita magyar kir醠yn, illetve I. K醨oly osztr醟 + cs醩z醨 閟 Zita osztr醟 cs醩z醨n). + * 80 関e, 1931-ben hunyt el Arthur Schnitzler osztr醟 韗, dr醡a韗 + (* 1862) . + * 70 関e, 1941-ben sz黮etett Jankovics Marcell Kossuth-d韏as + rajzfilmrendez, k鰊yvillusztr醫or, kult鷕t鰎t閚閟z, + kult鷕politikus. + + Jankovics Marcell + Jankovics Marcell + Arthur Schnitzler + Arthur Schnitzler + H醶ass醙k鰐閟 + H醶ass醙k鰐閟 + Bihari J醤os + Bihari J醤os + + Tov醔bi 黱nepek 躰nepek RSS Tov醔bi 関fordul髃 蓈fordul髃 RSS + + + Ismerked閟 a Wikip閐i醰al + + * 躣v鰖l鮨ap Bemutatkozik a Wikip閐ia. + * Els l閜閟ek Didaktikusan fel閜韙ett bevezet a Wikip閐ia + szerkeszt閟閎e. + * Seg韙s間 Egyszer, k鰖epes 閟 halad szerkeszt閟i tippek, + 鷗mutat髃. + * Wikifogalmak Minden, ami els鮮e k韓aiul hangzik a Wikip閐i醤, itt + magyar醶atra lel. + * Kocsmafal kezd鮧nek Az 鷍 szerkeszt k閞dez, aki tud, v醠aszol. + * Homokoz 趈dons黮t szerkeszt鮥nk szabadon gar醶d醠kodhatnak + benne. + * Mentor醠醩 Kezdeti l閜閟eidhez t醡ogat醩t kaphatsz egy + tapasztaltabb szerkeszt鮰鮨. + + Szerkeszt鮥 k鰖鰏s間 + + * K鰖鰏s間i port醠 A magyar Wikip閐ia szerkeszt鮥 k鰖鰏s間閚ek + virtu醠is dolgoz髎zob醞a. + * Kapcsolatfelv閠el / Contact Kapcsolatfelv閠eli lehet鮯間ek + 醫tekint閟e. + * Nagyk鰒ets間 / Embassy Kapcsolat m醩 nyelv Wikip閐i醟kal. + * 躾en鮢al A Wikip閐ia k黮鰊b鰖 tiszts間visel鮥hez int閦het + k閞閟ek 閟 k閞d閟ek platformja. + * Adminisztr醫orok 鼁en鮢ala Az adminisztr醫ori beavatkoz醩t + ig閚yl rendk韛黮i esetekre. + * Wikip閐ia-IRC Instant csevej, 閞tekezlet 閘鮞en a t鯾bi + szerkeszt鮲el (bel閜閟). + * Esem閚yek - A Wikip閐ia 閘et閎en soron k鰒etkez esem閚yek. + + + Wikip閐ia m醩 nyelveken + + Ez a magyar nyelv Wikip閐ia. 2003-ban indult, jelenleg 202 963 + sz骳ikket tartalmaz. A Wikip閐ia sok m醩 nyelven is el閞het. + * A legnagyobb Wikip閐i醟 (t鯾b mint 500 000 sz骳ikkel): angol, + francia, holland, jap醤, lengyel, n閙et, olasz, orosz, portug醠, + spanyol. + + * Wikip閐i醟 a Magyarorsz醙on hivatalosan elismert nemzetis間ek + nyelvein: bolg醨, cig醤y, g鰎鰃, horv醫, lengyel, n閙et, 鰎m閚y, + rom醤, ruszin, szerb, szerbhorv醫, szlov醟, szlov閚, ukr醤. + + Tov醔bi nyelvek (magyarul) Tov醔bi nyelvek (angolul, legfrissebb) + +Wikim閐ia-t醨slapok + + A Wikip閐i醫 a nonprofit Wikim閐ia Alap韙v醤y 鼁emelteti. A Wikim閐ia + sz醡os t鯾bnyelv 閟 ny韑t tartalm t醨slapot 鼁emeltet: + + Wikisz髏醨 Wikisz髏醨 + T鯾bnyelv sz髏醨 閟 szinonimasz髏醨 Wikid閦et Wikid閦et + T鯾bnyelv id閦et- 閟 sz髄醩gy鹙tem閚y Wikifajok Wikifajok + Rendszertani adatb醶is Wikik鰊yvek Wikik鰊yvek + Szabad k閦ik鰊yvek 閟 鷗mutat髃 + Wikimedia Commons Wikimedia Commons + Szabad m閐ia醠lom醤yok gy鹙tem閚ye Wikiegyetem Wikiegyetem + Jegyzetek 閟 tanul醩i seg閐letek Wikiforr醩 Wikiforr醩 + Szabad forr醩munk醟 Meta-Wiki Meta-Wiki + A Wikimedia projektek koordin醕i骿a + + Felhaszn醠醩i felt閠elek + + A Wikip閐i醔an tal醠hat sz鰒egekre 閟 egyes k閜ekre a Creative Commons + Nevezd meg! 蚲y add tov醔b! 3.0 (CC-BY-SA-3.0) licenc vonatkozik. + Cc.logo.circle.svg + Cc-by new.svg + Cc-sa.svg + * Minden szerkeszt閟ed ezen licenc elfogad醩醫 閟 alkalmaz醩醫 + jelenti, mellyel hozz醞醨ulsz, hogy a m鹶et b醨ki m骴os韙hatja, azt + b醨milyen c閘ra felhaszn醠hatja. + * A Wikip閐ia tartalm醤ak 鷍rafelhaszn醠醩akor (醫dolgoz醩 eset閚 is) + meg kell adnod, hogy a m鹯e a fenti licenc vonatkozik, tov醔b meg + kell nevezned a forr醩ul szolg醠 sz骳ikket; internetes k鰖z閠閠el + eset閚 a forr醩m鹯e mutat linket kell elhelyezned honlapodon. + * A k閜ek felhaszn醠醩i felt閠eleit k黮鰊 kell ellen鮮izned. + + Felhaszn醠醩i felt閠elek Jogi nyilatkozat 趈rafelhaszn醠醩i + 鷗mutat + A lap eredeti c韒e: + 刪ttp://hu.wikipedia.org/w/index.php?title=Kezd%C5%91lap&oldid=9469813 + Kateg髍ia: + * Hib醩 f醞lhivatkoz醩okat tartalmaz lapok + + Rejtett kateg髍ia: + * Kezd鮨ap + + Mit gondolsz err鮨 az oldalr髄? + + Arra k閞黱k, sz醤j egy percet a cikk 閞t閗el閟閞e! A visszajelz閟ek + seg韙enek az oldal fejleszt閟閎en. + Megb韟hat髎醙: [(bizonytalan)] Teljess間: [(bizonytalan)] + T醨gyilagoss醙: [(bizonytalan)] St韑us: [(bizonytalan)] K黮d閟 + ____________ + +Szem閘yes eszk鰖鰇 + + * Bejelentkez閟 / fi髃 l閠rehoz醩a + +N関terek + + * Kezd鮨ap + * Vitalap + +V醠toz髃 + +N閦etek + + * Olvas醩 + * Lapforr醩 + * Lapt鰎t閚et + +M鹶eletek + +Keres閟 + + ____________________ (Submit) Keres閟 + +Navig醕i + + * Kezd鮨ap + * Tartalom + * Kiemeltek + * Friss v醠toztat醩ok + * Lap tal醠omra + * Tudakoz + +R閟zv閠el + + * Kezd鮧nek + * Seg韙s間 + * K鰖鰏s間i port醠 + * Kapcsolatfelv閠el + * Adom醤yok + +Nyomtat醩/export醠醩 + + * K鰊yv k閟z韙閟e + * Let鰈t閟 mint PDF + * Nyomtathat v醠tozat + +Eszk鰖鰇 + + * Mi hivatkozik erre + * Kapcsol骴 v醠toztat醩ok + * Speci醠is lapok + * Link erre a v醠tozatra + * Hogyan hivatkozz erre a lapra + * Lap 閞t閗el閟e + +M醩 nyelveken + + * A lap utols m骴os韙醩a: 2011. m醨cius 31., 21:44 + * A lap sz鰒ege Creative Commons Nevezd meg! 蚲y add tov醔b! 3.0 + licenc alatt van; egyes esetekben m醩 m骴on is felhaszn醠hat. + R閟zletek閞t l醩d a felhaszn醠醩i felt閠eleket. + + * Adatv閐elmi ir醤yelvek + * A Wikip閐i醨髄 + * Jogi nyilatkozat diff --git a/test/testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt b/test/testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt new file mode 100644 index 0000000..7f326df --- /dev/null +++ b/test/testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt @@ -0,0 +1,444 @@ +Kezd鮨ap + + A Wikip閐i醔髄, a szabad enciklop閐i醔髄 + Ez a lap egy ellen鮮z鰐t v醠tozata r閟zletek megjelen韙閟e/elrejt閟e + Ez a k鰖z閠ett v醠tozat, ellen鮮izve: 2011. m醨cius 31. + + Pontoss醙 ellen鮮z鰐t + + Ugr醩: navig醕i, keres閟 + + 躣v鰖l黱k a Wikip閐i醔an! + Ezt az enciklop閐i醫 az olvas骾 szerkesztik + A magyar v醠tozatnak 202 963 sz骳ikke van, + ebb鮨 623 kiemelt. + + * T醨sadalom + * T鰎t閚elem + * F鰈drajz + + * Kult鷕a + * M鹶閟zet + * Sport + + * Term閟zet + * Fizika + * Biol骻ia + + * Matematika + * Technika + * 謘szes port醠 + + Mobilos v醠tozatKapcsolatfelv閠el / Contact + + Kiemelt cikk + + Liszt-kaulbach.jpg + + Liszt Ferenc (n閙et黮 Franz Liszt) (Doborj醤, 1811. okt骲er 22. + Bayreuth, 1886. j鷏ius 31.) a 19. sz醶ad egyik legjelent鮯ebb + romantikus zeneszerz鮦e, minden id鮧 egyik legnagyobb zongoram鹶閟ze. + + Apja, Liszt 羋醡, Esterh醶y herceg uradalmi hivatalnoka, kor醤 + felismerte fi醤ak kiv閠eles zenei tehets間閠, 閟 minden lehet鮯間et + megragadott kibontakoztat醩醨a. Liszt kilenc関es kor醔an m醨 + nyilv醤oss醙 el鮰t zongor醶ott Sopronban 閟 Pozsonyban, majd m鹥醨tol + f鮱rak t醡ogat醩醰al hamarosan B閏sben folytathatta tanulm醤yait Czerny + 閟 Salieri tan韙v醤yak閚t. 1822. december 1-j閚 mutatkozott be az + osztr醟 f鮲醨osban. Els, nagy felt鹡閟t kelt b閏si koncertj閚 az + akkor 11 関es m鹶閟zre m間 Beethoven is felfigyelt. Itt jelent meg + nyomtat醩ban els m鹶e, vari醕i骾 ugyanarra a Diabelli-t閙醨a + (kering鮮e), amelyre Beethoven h韗es zongoram鹶閠 韗ta. Az ifj Liszt + b閏si szerepl閟e, majd n間y nagy siker pesti, illetve budai koncertje + ut醤 1823 鮯z閚 atyj醰al az eur髉ai m鹶閟zeti 閘et k鰖pontj醔a, + P醨izsba utazott. + + Felv閠el閠 a p醨izsi Conservatoire-ba Cherubini, az int閦m閚y vezet鮦e + g醫olta meg, ez閞t B閏sben maradt, ahol zeneelm閘etet 閟 ellenpontot + tanult mag醤鷗on, k鰖ben hangversenyk鰎鷗ra indult. Londoni + bemutatkoz醩醫 sz醡os 鷍abb megh韛醩 k鰒ette Franciaorsz醙ba, Sv醞cba, + majd ism閠 Angli醔a. M鹲or醤 t鯾bnyire a n閜szer oper醟ra 韗t + 醔r醤dok, parafr醶isok szerepeltek. 1827-ben egy id鮮e a francia + f鮲醨osban telepedett le, ahol tehets間閚ek k鰏z鰊het鮡n a t醨sas醙i + 閘et 黱nepelt h鮯e lett. Itt ismerkedett meg Chopinnal, akit鮨 + eltanulta a zongoraj醫閗 醨nyalatait, valamint Berliozzal, akit鮨 a + zenekari nyelvet 閟 a programzene 鷍 v韛m醤yait saj醫韙otta el. Az + 1830-as 関ek v間閚 鷍abb hangversenyk鰎utakra indult, bej醨ta eg閟z + Eur髉醫 Portug醠i醫髄 Oroszorsz醙ig. 1835-ben a genfi konzervat髍ium + tan醨a lett. Az 1838-as pesti 醨v韟katasztr骹a k醨osultjait B閏sben + rendezett hangversenyeinek j鰒edelm関el t醡ogatta. Ugyanilyen b鮧ez鹐n + j醨ult hozz n閔醤y 関vel k閟鮞b a bonni Beethoven-eml閗m + l閠rehoz醩醜oz. Az oroszorsz醙i hangversenyk鰎utakon ismerte meg az + orosz komponist醟 m鹶閟zet閠, valamint szerelm閠, Carolyne zu + Sayn-Wittgenstein hercegn鮰, aki a k閟鮞b irodalmi munk醩s醙醔an is + k鰖rem鹝鰀鰐t. A negyvenes 関ek elej閚 Weimarban az udvari sz韓h醶 + karmestere lett: n閜szer鹲韙ette 閟 vez閚yelte kort醨sai m鹶eit, + tan韙otta a kontinens minden sark醔髄 閞kez p醠yakezd muzsikusokat 閟 + komponist醟at. Liszt 閘ete utols 関tizedeit Weimar, R髆a 閟 Budapest + k鰖鰐t osztotta meg. A budapesti Zeneakad閙ia els 関eiben k閟zs間gel + seg韙ette a magyar zenekult鷕a 鷍onnan kialakul k鰖pontj醫, 閟 az 関 + n閔醤y h髇apj醔an tan韙ott is itt. + + Tov醔b a sz骳ikkhez + __________________________________________________________________ + + A kezd鮨apon legut骲b megjelent sz骳ikkek: I. K醨oly magyar kir醠y + Aerosmith Giuseppe Verdi Harisnya K鰖鰊s間es cserepestekn鮯 + N黵nbergi per Bart髃 B閘a + + Tov醔bi kiemelt lapok Kiemelt sz骳ikk RSS + + + A nap k閜e + + K鰖鰊s間es csimp醤z (Pan troglodytes) + + K鰖鰊s間es csimp醤z (Pan troglodytes) + + Teljes m閞et Arch韛um Kiemelt k閜 RSS + +Tudtad? + + Tudtad-e, hogy + * a m醩odik vil醙h醔or ut醤i Budapesten egy villamoskocsiban + k鰊yvt醨at m鹝鰀tettek? + * a k韓ai cs醩z醨okat, majd Mao Ce-tungot is a + vanszuj-k鰏z鰊t閟sel 黡v鰖鰈t閗, aminek jelent閟e t韟ezer 関, + 閟 amib鮨 a jap醤 banz醞 sz is ered? + * a dzsih醖 鰐 jelent閟e k鰖黮 csak az egyik a szent h醔or 閟 nem + is a legfontosabb, az els鮠leges a sz韛/l閘ek dzsih醖ja (dzsih醖 + bin nafsz/kalb): bels k鼁delem a gonoszs醙 ellen? + * Kanada neve a Szent L鮮inc-foly髇醠 besz閘t irok閦 kanata sz骲髄 + ered, melynek jelent閟e falu, telep黮閟? + + + Aktu醠is + + Az Eml閗m + Az Eml閗m + Transtr鰉er + Transtr鰉er + Dan Shechtman + Dan Shechtman + Steve Jobs + Steve Jobs + * Okt骲er 21-閚 Szojuz rak閠醰al p醠y醨a 醠l韙ott醟 az eur髉ai + Galileo navig醕i髎 rendszer els k閠 m鹔oldj醫. + * Okt骲er 16-醤 felavatt醟 Martin Luther King Nobel-b閗ed韏as + polg醨jogi harcos 9 m閠eres szobr醫 is mag醔a foglal eml閙鹶閠 + Washington sz韛閎en a National Mall nemzeti Eml閗parkban George + Washington 閟 Abraham Lincoln eml閗m鹶e mellett. + * Okt骲er 15-閚 felavatt醟 Boldog II. J醤os P醠 els szobr醫 + Oroszorsz醙ban, melyet a moszkvai nemzetk鰖i irodalmi k鰊yvt醨 + udvar醤 醠l韙ottak fel. + * Okt骲er 11-閚 elhunyt M閟z鰈y Dezs Kossuth-d韏as magyar 韗, + k鰈t, m鹒ord韙, dramaturg, Villon 閟 Shakespeare m鹶einek avatott + tolm醕sol骿a. + * Okt骲er 10-閚, a Nobel-d韏as h閠 utols napj醤 a 2011-es + k鰖gazdas醙i Nobel-eml閗d韏at Thomas J. Sargent 閟 Christopher A. + Sims r閟z閞e 韙閘t閗 oda a gazdas醙i folyamatokban az okok 閟 + hat醩ok k黮鰊v醠aszt醩醨髄 sz髄 elm閘eteik閞t. + * Okt骲er 7-閚, a Nobel-d韏as h閠 鰐鰀ik napj醤 a 2011-es + Nobel-b閗ed韏at Ellen Johnson-Sirleaf lib閞iai eln鰇, Leymah Gbowee + lib閞iai b閗eaktivista 閟 Tavakkul Karm醤 jemeni jogv閐 r閟z閞e + 韙閘t閗 oda megosztva a n鮧 jogainak v閐elm殚rt jelentett閗 be az + osl骾 Norv間 Nobel Int閦etben. + * Okt骲er 6-醤, a Nobel-d韏as h閠 negyedik napj醤 az idei irodalmi + Nobel-d韏at Tomas Transtr鰉er sv閐 韗, k鰈t, m鹒ord韙 r閟z閞e + 韙閘t閗 oda pontos, letisztult k鰈t鮥 k閜ei閞t, amelyek r関閚 鷍 + f閚yben l醫hatjuk a val髎醙ot. + * Okt骲er 5-閚, a Nobel-d韏as h閠 harmadik napj醤 az idei k閙iai + Nobel-d韏at Daniel Shechtman kutat r閟z閞e 韙閘t閗 oda a + kv醶ikrist醠yok felfedez閟殚rt. + * Okt骲er 5-閚 elhunyt Steve Jobs, az Apple Inc. eln鰇e, kor醔bi + vez閞igazgat骿a, az informatikai 閟 a sz髍akoztat ipar kiemelked + alakja. + * Okt骲er 4-閚, a Nobel-d韏as h閠 m醩odik napj醤 az idei fizikai + Nobel-d韏at Saul Perlmutter, Brian P. Schmidt 閟 Adam G. Riess + csillag醩zoknak megosztva 韙閘t閗 oda a vil醙egyetem gyorsul + 黷emben val t醙ul醩醤ak t醰oli szupern髒醟 megfigyel閟関el t鰎t閚t + felfedez閟殚rt. + * Okt骲er 3-醤 megkezd鮠鰐t a 2011. 関ben Nobel-d韏jal kit黱tettek + n関sor醤ak kihirdet閟e; az 閘ettani-orvosi Nobel-d韏 fel閠 Ralph + Steinman r閟z閞e 韙閘t閗 oda a dendritikus sejtekkel kapcsolatos + munk醩s醙衢rt (a d韏azott a kihirdet閟 el鮰t n閔醤y nappal hunyt + el), m醩ik fel閠 megosztva veheti 醫 december 10-閚 Bruce A. + Beutler 閟 Jules Hoffmann az 鷊ynevezett term閟zetes vagy + velesz黮etett immunrendszer kutat醩衢rt. + __________________________________________________________________ + + Hal醠esetek a k鰖elm鷏tban + + + Ezen a napon + + Ma 2011. okt骲er 21. van, + * Orsolya n関napja + + Nobel Alfr閐 + Nobel Alfr閐 + T髍a-tekercs + T髍a-tekercs + * Alfred Nobel 黱nepnapja + * F鰈d黱k閞t vil醙nap (Magyarorsz醙on 1992 髏a) + * Szent Orsolya 閟 v閞tan鷗醨sainak eml閗napja + * Szimchat T髍 (a T髍a 鰎鰉黱nepe, napnyugt醝g) + * Boldog IV. K醨oly kir醠y eml閗napja (2004 髏a) + * almanap, az almaf醟 閟 a gy黰鰈cs鰏鰇 napja az Egyes黮t + Kir醠ys醙ban + * a nachos nemzetk鰖i napja Mexik骲an 閟 az Amerikai Egyes黮t + 羖lamokban + * 醦ol髃 napja Thaif鰈d鰊 + * tengerent鷏i k韓aiak napja Tajvanon + * Trafalgar-nap az Egyes黮t Kir醠ys醙ban + * Dizzy Gillespie sz黮et閟napja + + 蓈fordul髃 + * 247 関e, 1764-ben sz黮etett Bihari J醤os cig醤y sz醨maz醩 magyar + zeneszerz 閟 heged鹠鹶閟z, a R醟骳zi-indul v閘elmezett szerz鮦e, + akinek virtu髗 j醫閗醫 Liszt Ferenc is hallgatta 閟 nagy + elismer閟sel eml閗ezett meg r髄a ( 1827). + * 150 関e, 1861-ben sz黮etett Klupathy Jen fizikus, az MTA tagja, a + gyakorlati fizika kiemelked alakja( 1931). + * 140 関e, 1871-ben sz黮etett P醠fy M髍ic geol骻us, hidrogeol骻us, + egyetemi mag醤tan醨; a budapesti F鰈dtani Int閦et f鮣eol骻usa, a + Magyarhoni F鰈dtani T醨sulat titk醨a, majd eln鰇e, az MTA tagja + ( 1930). + * 100 関e, 1911-ben k鰐鰐t h醶ass醙ot HabsburgLotaringiai K醨oly + f鮤erceg 閟 Zita Bourbonp醨mai hercegn (1916-t髄 IV. K醨oly + magyar kir醠y 閟 Zita magyar kir醠yn, illetve I. K醨oly osztr醟 + cs醩z醨 閟 Zita osztr醟 cs醩z醨n). + * 80 関e, 1931-ben hunyt el Arthur Schnitzler osztr醟 韗, dr醡a韗 + (* 1862) . + * 70 関e, 1941-ben sz黮etett Jankovics Marcell Kossuth-d韏as + rajzfilmrendez, k鰊yvillusztr醫or, kult鷕t鰎t閚閟z, + kult鷕politikus. + + Jankovics Marcell + Jankovics Marcell + Arthur Schnitzler + Arthur Schnitzler + H醶ass醙k鰐閟 + H醶ass醙k鰐閟 + Bihari J醤os + Bihari J醤os + + Tov醔bi 黱nepek 躰nepek RSS Tov醔bi 関fordul髃 蓈fordul髃 RSS + + + Ismerked閟 a Wikip閐i醰al + + * 躣v鰖l鮨ap Bemutatkozik a Wikip閐ia. + * Els l閜閟ek Didaktikusan fel閜韙ett bevezet a Wikip閐ia + szerkeszt閟閎e. + * Seg韙s間 Egyszer, k鰖epes 閟 halad szerkeszt閟i tippek, + 鷗mutat髃. + * Wikifogalmak Minden, ami els鮮e k韓aiul hangzik a Wikip閐i醤, itt + magyar醶atra lel. + * Kocsmafal kezd鮧nek Az 鷍 szerkeszt k閞dez, aki tud, v醠aszol. + * Homokoz 趈dons黮t szerkeszt鮥nk szabadon gar醶d醠kodhatnak + benne. + * Mentor醠醩 Kezdeti l閜閟eidhez t醡ogat醩t kaphatsz egy + tapasztaltabb szerkeszt鮰鮨. + + Szerkeszt鮥 k鰖鰏s間 + + * K鰖鰏s間i port醠 A magyar Wikip閐ia szerkeszt鮥 k鰖鰏s間閚ek + virtu醠is dolgoz髎zob醞a. + * Kapcsolatfelv閠el / Contact Kapcsolatfelv閠eli lehet鮯間ek + 醫tekint閟e. + * Nagyk鰒ets間 / Embassy Kapcsolat m醩 nyelv Wikip閐i醟kal. + * 躾en鮢al A Wikip閐ia k黮鰊b鰖 tiszts間visel鮥hez int閦het + k閞閟ek 閟 k閞d閟ek platformja. + * Adminisztr醫orok 鼁en鮢ala Az adminisztr醫ori beavatkoz醩t + ig閚yl rendk韛黮i esetekre. + * Wikip閐ia-IRC Instant csevej, 閞tekezlet 閘鮞en a t鯾bi + szerkeszt鮲el (bel閜閟). + * Esem閚yek - A Wikip閐ia 閘et閎en soron k鰒etkez esem閚yek. + + + Wikip閐ia m醩 nyelveken + + Ez a magyar nyelv Wikip閐ia. 2003-ban indult, jelenleg 202 963 + sz骳ikket tartalmaz. A Wikip閐ia sok m醩 nyelven is el閞het. + * A legnagyobb Wikip閐i醟 (t鯾b mint 500 000 sz骳ikkel): angol, + francia, holland, jap醤, lengyel, n閙et, olasz, orosz, portug醠, + spanyol. + + * Wikip閐i醟 a Magyarorsz醙on hivatalosan elismert nemzetis間ek + nyelvein: bolg醨, cig醤y, g鰎鰃, horv醫, lengyel, n閙et, 鰎m閚y, + rom醤, ruszin, szerb, szerbhorv醫, szlov醟, szlov閚, ukr醤. + + Tov醔bi nyelvek (magyarul) Tov醔bi nyelvek (angolul, legfrissebb) + +Wikim閐ia-t醨slapok + + A Wikip閐i醫 a nonprofit Wikim閐ia Alap韙v醤y 鼁emelteti. A Wikim閐ia + sz醡os t鯾bnyelv 閟 ny韑t tartalm t醨slapot 鼁emeltet: + + Wikisz髏醨 Wikisz髏醨 + T鯾bnyelv sz髏醨 閟 szinonimasz髏醨 Wikid閦et Wikid閦et + T鯾bnyelv id閦et- 閟 sz髄醩gy鹙tem閚y Wikifajok Wikifajok + Rendszertani adatb醶is Wikik鰊yvek Wikik鰊yvek + Szabad k閦ik鰊yvek 閟 鷗mutat髃 + Wikimedia Commons Wikimedia Commons + Szabad m閐ia醠lom醤yok gy鹙tem閚ye Wikiegyetem Wikiegyetem + Jegyzetek 閟 tanul醩i seg閐letek Wikiforr醩 Wikiforr醩 + Szabad forr醩munk醟 Meta-Wiki Meta-Wiki + A Wikimedia projektek koordin醕i骿a + + Felhaszn醠醩i felt閠elek + + A Wikip閐i醔an tal醠hat sz鰒egekre 閟 egyes k閜ekre a Creative Commons + Nevezd meg! 蚲y add tov醔b! 3.0 (CC-BY-SA-3.0) licenc vonatkozik. + Cc.logo.circle.svg + Cc-by new.svg + Cc-sa.svg + * Minden szerkeszt閟ed ezen licenc elfogad醩醫 閟 alkalmaz醩醫 + jelenti, mellyel hozz醞醨ulsz, hogy a m鹶et b醨ki m骴os韙hatja, azt + b醨milyen c閘ra felhaszn醠hatja. + * A Wikip閐ia tartalm醤ak 鷍rafelhaszn醠醩akor (醫dolgoz醩 eset閚 is) + meg kell adnod, hogy a m鹯e a fenti licenc vonatkozik, tov醔b meg + kell nevezned a forr醩ul szolg醠 sz骳ikket; internetes k鰖z閠閠el + eset閚 a forr醩m鹯e mutat linket kell elhelyezned honlapodon. + * A k閜ek felhaszn醠醩i felt閠eleit k黮鰊 kell ellen鮮izned. + + Felhaszn醠醩i felt閠elek Jogi nyilatkozat 趈rafelhaszn醠醩i + 鷗mutat + A lap eredeti c韒e: + http://hu.wikipedia.org/w/index.php?title=Kezd%C5%91lap&oldid=9469813 + Kateg髍ia: + * Hib醩 f醞lhivatkoz醩okat tartalmaz lapok + + Rejtett kateg髍ia: + * Kezd鮨ap + + Mit gondolsz err鮨 az oldalr髄? + + Arra k閞黱k, sz醤j egy percet a cikk 閞t閗el閟閞e! A visszajelz閟ek + seg韙enek az oldal fejleszt閟閎en. + Megb韟hat髎醙: [(bizonytalan)] Teljess間: [(bizonytalan)] + T醨gyilagoss醙: [(bizonytalan)] St韑us: [(bizonytalan)] K黮d閟 + ____________ + +Szem閘yes eszk鰖鰇 + + * Bejelentkez閟 / fi髃 l閠rehoz醩a + +N関terek + + * Kezd鮨ap + * Vitalap + +V醠toz髃 + +N閦etek + + * Olvas醩 + * Lapforr醩 + * Lapt鰎t閚et + +M鹶eletek + +Keres閟 + + ____________________ (Submit) Keres閟 + +Navig醕i + + * Kezd鮨ap + * Tartalom + * Kiemeltek + * Friss v醠toztat醩ok + * Lap tal醠omra + * Tudakoz + +R閟zv閠el + + * Kezd鮧nek + * Seg韙s間 + * K鰖鰏s間i port醠 + * Kapcsolatfelv閠el + * Adom醤yok + +Nyomtat醩/export醠醩 + + * K鰊yv k閟z韙閟e + * Let鰈t閟 mint PDF + * Nyomtathat v醠tozat + +Eszk鰖鰇 + + * Mi hivatkozik erre + * Kapcsol骴 v醠toztat醩ok + * Speci醠is lapok + * Link erre a v醠tozatra + * Hogyan hivatkozz erre a lapra + * Lap 閞t閗el閟e + +M醩 nyelveken + + * English + * + * Azrbaycanca + * Armneashce + * + * Catal + * 萫sky + * Dansk + * Deutsch + * Eesti + * + * Simple English + * Espaol + * Esperanto + * Euskara + * + * Fran鏰is + * Galego + * + * + * + * Hrvatski + * Bahasa Indonesia + * Italiano + * + * Kreyl ayisyen + * Latina + * Lietuvi + * Bahasa Melayu + * Nederlands + * + * + * Norsk (bokml) + * Norsk (nynorsk) + * Polski + * Portugus + * Rom鈔 + * + * Sloven鑙na + * Sloven硅ina + * / Srpski + * Suomi + * Svenska + * Tagalog + * + * T黵k鏴 + * + * Ting Vit + * Volap黭 + * Winaray + * + + * A lap utols m骴os韙醩a: 2011. m醨cius 31., 21:44 + * A lap sz鰒ege Creative Commons Nevezd meg! 蚲y add tov醔b! 3.0 + licenc alatt van; egyes esetekben m醩 m骴on is felhaszn醠hat. + R閟zletek閞t l醩d a felhaszn醠醩i felt閠eleket. + + * Adatv閐elmi ir醤yelvek + * A Wikip閐i醨髄 + * Jogi nyilatkozat + * Mobile view + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt b/test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt new file mode 100644 index 0000000..01ed205 --- /dev/null +++ b/test/testdata/hu/UTF-8/wikitop_hu_UTF-8.txt @@ -0,0 +1,388 @@ +Kezd艖lap + + A Wikip茅di谩b贸l, a szabad enciklop茅di谩b贸l + Ez a lap egy ellen艖rz枚tt v谩ltozata r茅szletek megjelen铆t茅se/elrejt茅se + Ez a k枚zz茅tett v谩ltozat, ellen艖rizve: 2011. m谩rcius 31. + + Pontoss谩g ellen艖rz枚tt + + Ugr谩s: navig谩ci贸, keres茅s + + 脺dv枚zl眉nk a Wikip茅di谩ban! + Ezt az enciklop茅di谩t az olvas贸i szerkesztik + A magyar v谩ltozatnak 202 963 sz贸cikke van, + ebb艖l 623 kiemelt. + + * T谩rsadalom + * T枚rt茅nelem + * F枚ldrajz + + * Kult煤ra + * M疟v茅szet + * Sport + + * Term茅szet + * Fizika + * Biol贸gia + + * Matematika + * Technika + * 脰sszes port谩l + + Mobilos v谩ltozatKapcsolatfelv茅tel / Contact + + Kiemelt cikk + + Liszt-kaulbach.jpg + + Liszt Ferenc (n茅met眉l Franz Liszt) (Doborj谩n, 1811. okt贸ber 22. 鈥 + Bayreuth, 1886. j煤lius 31.) a 19. sz谩zad egyik legjelent艖sebb + romantikus zeneszerz艖je, minden id艖k egyik legnagyobb zongoram疟v茅sze. + + Apja, Liszt 脕d谩m, Esterh谩zy herceg uradalmi hivatalnoka, kor谩n + felismerte fi谩nak kiv茅teles zenei tehets茅g茅t, 茅s minden lehet艖s茅get + megragadott kibontakoztat谩s谩ra. Liszt kilenc茅ves kor谩ban m谩r + nyilv谩noss谩g el艖tt zongor谩zott Sopronban 茅s Pozsonyban, majd m疟p谩rtol贸 + f艖urak t谩mogat谩s谩val hamarosan B茅csben folytathatta tanulm谩nyait Czerny + 茅s Salieri tan铆tv谩nyak茅nt. 1822. december 1-j茅n mutatkozott be az + osztr谩k f艖v谩rosban. Els艖, nagy felt疟n茅st kelt艖 b茅csi koncertj茅n az + akkor 11 茅ves m疟v茅szre m茅g Beethoven is felfigyelt. Itt jelent meg + nyomtat谩sban els艖 m疟ve, vari谩ci贸i ugyanarra a Diabelli-t茅m谩ra + (kering艖re), amelyre Beethoven h铆res zongoram疟v茅t 铆rta. Az ifj煤 Liszt + b茅csi szerepl茅se, majd n茅gy nagy siker疟 pesti, illetve budai koncertje + ut谩n 1823 艖sz茅n atyj谩val az eur贸pai m疟v茅szeti 茅let k枚zpontj谩ba, + P谩rizsba utazott. + + Felv茅tel茅t a p谩rizsi Conservatoire-ba Cherubini, az int茅zm茅ny vezet艖je + g谩tolta meg, ez茅rt B茅csben maradt, ahol zeneelm茅letet 茅s ellenpontot + tanult mag谩n煤ton, k枚zben hangversenyk枚r煤tra indult. Londoni + bemutatkoz谩s谩t sz谩mos 煤jabb megh铆v谩s k枚vette Franciaorsz谩gba, Sv谩jcba, + majd ism茅t Angli谩ba. M疟sor谩n t枚bbnyire a n茅pszer疟 oper谩kra 铆rt + 谩br谩ndok, parafr谩zisok szerepeltek. 1827-ben egy id艖re a francia + f艖v谩rosban telepedett le, ahol tehets茅g茅nek k枚sz枚nhet艖en a t谩rsas谩gi + 茅let 眉nnepelt h艖se lett. Itt ismerkedett meg Chopinnal, akit艖l + eltanulta a zongoraj谩t茅k 谩rnyalatait, valamint Berliozzal, akit艖l a + zenekari nyelvet 茅s a programzene 煤j v铆vm谩nyait saj谩t铆totta el. Az + 1830-as 茅vek v茅g茅n 煤jabb hangversenyk枚rutakra indult, bej谩rta eg茅sz + Eur贸p谩t Portug谩li谩t贸l Oroszorsz谩gig. 1835-ben a genfi konzervat贸rium + tan谩ra lett. Az 1838-as pesti 谩rv铆zkatasztr贸fa k谩rosultjait B茅csben + rendezett hangversenyeinek j枚vedelm茅vel t谩mogatta. Ugyanilyen b艖kez疟en + j谩rult hozz谩 n茅h谩ny 茅vvel k茅s艖bb a bonni Beethoven-eml茅km疟 + l茅trehoz谩s谩hoz. Az oroszorsz谩gi hangversenyk枚rutakon ismerte meg az + orosz komponist谩k m疟v茅szet茅t, valamint szerelm茅t, Carolyne zu + Sayn-Wittgenstein hercegn艖t, aki a k茅s艖bb irodalmi munk谩ss谩g谩ban is + k枚zrem疟k枚d枚tt. A negyvenes 茅vek elej茅n Weimarban az udvari sz铆nh谩z + karmestere lett: n茅pszer疟s铆tette 茅s vez茅nyelte kort谩rsai m疟veit, + tan铆totta a kontinens minden sark谩b贸l 茅rkez艖 p谩lyakezd艖 muzsikusokat 茅s + komponist谩kat. Liszt 茅lete utols贸 茅vtizedeit Weimar, R贸ma 茅s Budapest + k枚z枚tt osztotta meg. A budapesti Zeneakad茅mia els艖 茅veiben k茅szs茅ggel + seg铆tette a magyar zenekult煤ra 煤jonnan kialakul贸 k枚zpontj谩t, 茅s az 茅v + n茅h谩ny h贸napj谩ban tan铆tott is itt. + + Tov谩bb a sz贸cikkhez + __________________________________________________________________ + + A kezd艖lapon legut贸bb megjelent sz贸cikkek: I. K谩roly magyar kir谩ly 鈥 + Aerosmith 鈥 Giuseppe Verdi 鈥 Harisnya 鈥 K枚z枚ns茅ges cserepestekn艖s 鈥 + N眉rnbergi per 鈥 Bart贸k B茅la + + Tov谩bbi kiemelt lapok Kiemelt sz贸cikk RSS + + + A nap k茅pe + + K枚z枚ns茅ges csimp谩nz (Pan troglodytes) + + K枚z枚ns茅ges csimp谩nz (Pan troglodytes) + + Teljes m茅ret 鈥 Arch铆vum Kiemelt k茅p RSS + +Tudtad? + + Tudtad-e, hogy鈥 + * 鈥 m谩sodik vil谩gh谩bor煤 ut谩ni Budapesten egy villamoskocsiban + k枚nyvt谩rat m疟k枚dtettek? + * 鈥 k铆nai cs谩sz谩rokat, majd Mao Ce-tungot is a + 鈥瀡anszuj鈥-k枚sz枚nt茅ssel 眉dv枚z枚lt茅k, aminek jelent茅se 鈥瀟铆zezer 茅v鈥, + 茅s amib艖l a jap谩n banz谩j sz贸 is ered? + * 鈥 dzsih谩d 枚t jelent茅se k枚z眉l csak az egyik a 鈥瀞zent h谩bor煤鈥 茅s nem + is a legfontosabb, az els艖dleges a 鈥瀞z铆v/l茅lek鈥 dzsih谩dja (dzsih谩d + bin nafsz/kalb): 鈥瀊els玫 k眉zdelem a gonoszs谩g ellen鈥? + * 鈥anada neve a Szent L艖rinc-foly贸n谩l besz茅lt irok茅z kanata sz贸b贸l + ered, melynek jelent茅se 鈥瀎alu鈥, 鈥瀟elep眉l茅s鈥? + + + Aktu谩lis + + Az Eml茅km疟 + Az Eml茅km疟 + Transtr枚mer + Transtr枚mer + Dan Shechtman + Dan Shechtman + Steve Jobs + Steve Jobs + * Okt贸ber 21-茅n Szojuz rak茅t谩val p谩ly谩ra 谩ll铆tott谩k az eur贸pai + Galileo navig谩ci贸s rendszer els艖 k茅t m疟holdj谩t. + * Okt贸ber 16-谩n felavatt谩k Martin Luther King Nobel-b茅ked铆jas + polg谩rjogi harcos 9 m茅teres szobr谩t is mag谩ba foglal贸 eml茅m疟v茅t + Washington sz铆v茅ben a National Mall nemzeti Eml茅kparkban George + Washington 茅s Abraham Lincoln eml茅km疟ve mellett. + * Okt贸ber 15-茅n felavatt谩k Boldog II. J谩nos P谩l els艖 szobr谩t + Oroszorsz谩gban, melyet a moszkvai nemzetk枚zi irodalmi k枚nyvt谩r + udvar谩n 谩ll铆tottak fel. + * Okt贸ber 11-茅n elhunyt M茅sz枚ly Dezs艖 Kossuth-d铆jas magyar 铆r贸, + k枚lt艖, m疟ford铆t贸, dramaturg, Villon 茅s Shakespeare m疟veinek avatott + tolm谩csol贸ja. + * Okt贸ber 10-茅n, a Nobel-d铆jas h茅t utols贸 napj谩n a 2011-es + k枚zgazdas谩gi Nobel-eml茅kd铆jat Thomas J. Sargent 茅s Christopher A. + Sims r茅sz茅re 铆t茅lt茅k oda a gazdas谩gi folyamatokban az okok 茅s + hat谩sok k眉l枚nv谩laszt谩s谩r贸l sz贸l贸 elm茅leteik茅rt. + * Okt贸ber 7-茅n, a Nobel-d铆jas h茅t 枚t枚dik napj谩n a 2011-es + Nobel-b茅ked铆jat Ellen Johnson-Sirleaf lib茅riai eln枚k, Leymah Gbowee + lib茅riai b茅keaktivista 茅s Tavakkul Karm谩n jemeni jogv茅d艖 r茅sz茅re + 铆t茅lt茅k oda megosztva a n艖k jogainak v茅delm茅茅rt 鈥 jelentett茅k be az + osl贸i Norv茅g Nobel Int茅zetben. + * Okt贸ber 6-谩n, a Nobel-d铆jas h茅t negyedik napj谩n az idei irodalmi + Nobel-d铆jat Tomas Transtr枚mer sv茅d 铆r贸, k枚lt艖, m疟ford铆t贸 r茅sz茅re + 铆t茅lt茅k oda 鈥瀙ontos, letisztult k枚lt艖i k茅pei茅rt, amelyek r茅v茅n 煤j + f茅nyben l谩thatjuk a val贸s谩got鈥. + * Okt贸ber 5-茅n, a Nobel-d铆jas h茅t harmadik napj谩n az idei k茅miai + Nobel-d铆jat Daniel Shechtman kutat贸 r茅sz茅re 铆t茅lt茅k oda a + kv谩zikrist谩lyok felfedez茅s茅茅rt. + * Okt贸ber 5-茅n elhunyt Steve Jobs, az Apple Inc. eln枚ke, kor谩bbi + vez茅rigazgat贸ja, az informatikai 茅s a sz贸rakoztat贸 ipar kiemelked艖 + alakja. + * Okt贸ber 4-茅n, a Nobel-d铆jas h茅t m谩sodik napj谩n az idei fizikai + Nobel-d铆jat Saul Perlmutter, Brian P. Schmidt 茅s Adam G. Riess + csillag谩szoknak megosztva 铆t茅lt茅k oda a vil谩gegyetem gyorsul贸 + 眉temben val贸 t谩gul谩s谩nak t谩voli szupern贸v谩k megfigyel茅s茅vel t枚rt茅nt + felfedez茅s茅茅rt. + * Okt贸ber 3-谩n megkezd艖d枚tt a 2011. 茅vben Nobel-d铆jjal kit眉ntettek + n茅vsor谩nak kihirdet茅se; az 茅lettani-orvosi Nobel-d铆j fel茅t Ralph + Steinman r茅sz茅re 铆t茅lt茅k oda a dendritikus sejtekkel kapcsolatos + munk谩ss谩g谩茅rt (a d铆jazott a kihirdet茅s el艖tt n茅h谩ny nappal hunyt + el), m谩sik fel茅t megosztva veheti 谩t december 10-茅n Bruce A. + Beutler 茅s Jules Hoffmann az 煤gynevezett term茅szetes vagy + velesz眉letett immunrendszer kutat谩s谩茅rt. + __________________________________________________________________ + + Hal谩lesetek a k枚zelm煤ltban + + + Ezen a napon + + Ma 2011. okt贸ber 21. van, + * Orsolya n茅vnapja + + Nobel Alfr茅d + Nobel Alfr茅d + T贸ra-tekercs + T贸ra-tekercs + * Alfred Nobel 眉nnepnapja + * F枚ld眉nk茅rt vil谩gnap (Magyarorsz谩gon 1992 贸ta) + * Szent Orsolya 茅s v茅rtan煤t谩rsainak eml茅knapja + * Szimchat T贸r谩 (a T贸ra 枚r枚m眉nnepe, napnyugt谩ig) + * Boldog IV. K谩roly kir谩ly eml茅knapja (2004 贸ta) + * almanap, az almaf谩k 茅s a gy眉m枚lcs枚s枚k napja az Egyes眉lt + Kir谩lys谩gban + * a nachos nemzetk枚zi napja Mexik贸ban 茅s az Amerikai Egyes眉lt + 脕llamokban + * 谩pol贸k napja Thaif枚ld枚n + * tengerent煤li k铆naiak napja Tajvanon + * Trafalgar-nap az Egyes眉lt Kir谩lys谩gban + * Dizzy Gillespie sz眉let茅snapja + + 脡vfordul贸k + * 247 茅ve, 1764-ben sz眉letett Bihari J谩nos cig谩ny sz谩rmaz谩s煤 magyar + zeneszerz艖 茅s heged疟m疟v茅sz, a R谩k贸czi-indul贸 v茅lelmezett szerz艖je, + akinek virtu贸z j谩t茅k谩t Liszt Ferenc is hallgatta 茅s nagy + elismer茅ssel eml茅kezett meg r贸la (鈥 1827). + * 150 茅ve, 1861-ben sz眉letett Klupathy Jen艖 fizikus, az MTA tagja, a + gyakorlati fizika kiemelked艖 alakja(鈥 1931). + * 140 茅ve, 1871-ben sz眉letett P谩lfy M贸ric geol贸gus, hidrogeol贸gus, + egyetemi mag谩ntan谩r; a budapesti F枚ldtani Int茅zet f艖geol贸gusa, a + Magyarhoni F枚ldtani T谩rsulat titk谩ra, majd eln枚ke, az MTA tagja + (鈥 1930). + * 100 茅ve, 1911-ben k枚t枚tt h谩zass谩got Habsburg鈥揕otaringiai K谩roly + f艖herceg 茅s Zita Bourbon鈥損谩rmai hercegn艖 (1916-t贸l IV. K谩roly + magyar kir谩ly 茅s Zita magyar kir谩lyn茅, illetve I. K谩roly osztr谩k + cs谩sz谩r 茅s Zita osztr谩k cs谩sz谩rn茅). + * 80 茅ve, 1931-ben hunyt el Arthur Schnitzler osztr谩k 铆r贸, dr谩ma铆r贸 + (* 1862) . + * 70 茅ve, 1941-ben sz眉letett Jankovics Marcell Kossuth-d铆jas + rajzfilmrendez艖, k枚nyvillusztr谩tor, kult煤rt枚rt茅n茅sz, + kult煤rpolitikus. + + Jankovics Marcell + Jankovics Marcell + Arthur Schnitzler + Arthur Schnitzler + H谩zass谩gk枚t茅s + H谩zass谩gk枚t茅s + Bihari J谩nos + Bihari J谩nos + + Tov谩bbi 眉nnepek 脺nnepek RSS Tov谩bbi 茅vfordul贸k 脡vfordul贸k RSS + + + Ismerked茅s a Wikip茅di谩val + + * 脺dv枚zl艖lap 鈥 Bemutatkozik a Wikip茅dia. + * Els艖 l茅p茅sek 鈥 Didaktikusan fel茅p铆tett bevezet艖 a Wikip茅dia + szerkeszt茅s茅be. + * Seg铆ts茅g 鈥 Egyszer疟, k枚zepes 茅s halad贸 szerkeszt茅si tippek, + 煤tmutat贸k. + * Wikifogalmak 鈥 Minden, ami els艖re k铆naiul hangzik a Wikip茅di谩n, itt + magyar谩zatra lel. + * Kocsmafal kezd艖knek 鈥 Az 煤j szerkeszt艖 k茅rdez, aki tud, v谩laszol. + * Homokoz贸 鈥 脷jdons眉lt szerkeszt艖ink szabadon gar谩zd谩lkodhatnak + benne. + * Mentor谩l谩s 鈥 Kezdeti l茅p茅seidhez t谩mogat谩st kaphatsz egy + tapasztaltabb szerkeszt艖t艖l. + + Szerkeszt艖i k枚z枚ss茅g + + * K枚z枚ss茅gi port谩l 鈥 A magyar Wikip茅dia szerkeszt艖i k枚z枚ss茅g茅nek + virtu谩lis dolgoz贸szob谩ja. + * Kapcsolatfelv茅tel / Contact 鈥 Kapcsolatfelv茅teli lehet艖s茅gek + 谩ttekint茅se. + * Nagyk枚vets茅g / Embassy 鈥 Kapcsolat m谩s nyelv疟 Wikip茅di谩kkal. + * 脺zen艖fal 鈥 A Wikip茅dia k眉l枚nb枚z艖 tiszts茅gvisel艖ihez int茅zhet艖 + k茅r茅sek 茅s k茅rd茅sek platformja. + * Adminisztr谩torok 眉zen艖fala 鈥 Az adminisztr谩tori beavatkoz谩st + ig茅nyl艖 rendk铆v眉li esetekre. + * Wikip茅dia-IRC 鈥 Instant csevej, 茅rtekezlet 茅l艖ben a t枚bbi + szerkeszt艖vel (bel茅p茅s). + * Esem茅nyek - A Wikip茅dia 茅let茅ben soron k枚vetkez艖 esem茅nyek. + + + Wikip茅dia m谩s nyelveken + + Ez a magyar nyelv疟 Wikip茅dia. 2003-ban indult, jelenleg 202 963 + sz贸cikket tartalmaz. A Wikip茅dia sok m谩s nyelven is el茅rhet艖. + * A legnagyobb Wikip茅di谩k (t枚bb mint 500 000 sz贸cikkel): angol, + francia, holland, jap谩n, lengyel, n茅met, olasz, orosz, portug谩l, + spanyol. + + * Wikip茅di谩k a Magyarorsz谩gon hivatalosan elismert nemzetis茅gek + nyelvein: bolg谩r, cig谩ny, g枚r枚g, horv谩t, lengyel, n茅met, 枚rm茅ny, + rom谩n, ruszin, szerb, szerbhorv谩t, szlov谩k, szlov茅n, ukr谩n. + + Tov谩bbi nyelvek (magyarul) 鈥 Tov谩bbi nyelvek (angolul, legfrissebb) + +Wikim茅dia-t谩rslapok + + A Wikip茅di谩t a nonprofit Wikim茅dia Alap铆tv谩ny 眉zemelteti. A Wikim茅dia + sz谩mos t枚bbnyelv疟 茅s ny铆lt tartalm煤 t谩rslapot 眉zemeltet: + + Wikisz贸t谩r Wikisz贸t谩r + T枚bbnyelv疟 sz贸t谩r 茅s szinonimasz贸t谩r Wikid茅zet Wikid茅zet + T枚bbnyelv疟 id茅zet- 茅s sz贸l谩sgy疟jtem茅ny Wikifajok Wikifajok + Rendszertani adatb谩zis Wikik枚nyvek Wikik枚nyvek + Szabad k茅zik枚nyvek 茅s 煤tmutat贸k + Wikimedia Commons Wikimedia Commons + Szabad m茅dia谩llom谩nyok gy疟jtem茅nye Wikiegyetem Wikiegyetem + Jegyzetek 茅s tanul谩si seg茅dletek Wikiforr谩s Wikiforr谩s + Szabad forr谩smunk谩k Meta-Wiki Meta-Wiki + A Wikimedia projektek koordin谩ci贸ja + + Felhaszn谩l谩si felt茅telek + + A Wikip茅di谩ban tal谩lhat贸 sz枚vegekre 茅s egyes k茅pekre a Creative Commons + Nevezd meg! 鈥 脥gy add tov谩bb! 3.0 (CC-BY-SA-3.0) licenc vonatkozik. + Cc.logo.circle.svg + Cc-by new.svg + Cc-sa.svg + * Minden szerkeszt茅sed ezen licenc elfogad谩s谩t 茅s alkalmaz谩s谩t + jelenti, mellyel hozz谩j谩rulsz, hogy a m疟vet b谩rki m贸dos铆thatja, azt + b谩rmilyen c茅lra felhaszn谩lhatja. + * A Wikip茅dia tartalm谩nak 煤jrafelhaszn谩l谩sakor (谩tdolgoz谩s eset茅n is) + meg kell adnod, hogy a m疟re a fenti licenc vonatkozik, tov谩bb谩 meg + kell nevezned a forr谩sul szolg谩l贸 sz贸cikket; internetes k枚zz茅t茅tel + eset茅n a forr谩sm疟re mutat贸 linket kell elhelyezned honlapodon. + * A k茅pek felhaszn谩l谩si felt茅teleit k眉l枚n kell ellen艖rizned. + + Felhaszn谩l谩si felt茅telek 鈥 Jogi nyilatkozat 鈥 脷jrafelhaszn谩l谩si + 煤tmutat贸 + A lap eredeti c铆me: + 鈥瀐ttp://hu.wikipedia.org/w/index.php?title=Kezd%C5%91lap&oldid=9469813鈥 + Kateg贸ria: + * Hib谩s f谩jlhivatkoz谩sokat tartalmaz贸 lapok + + Rejtett kateg贸ria: + * Kezd艖lap + + Mit gondolsz err艖l az oldalr贸l? + + Arra k茅r眉nk, sz谩nj egy percet a cikk 茅rt茅kel茅s茅re! A visszajelz茅sek + seg铆tenek az oldal fejleszt茅s茅ben. + Megb铆zhat贸s谩g: [(bizonytalan)] Teljess茅g: [(bizonytalan)] + T谩rgyilagoss谩g: [(bizonytalan)] St铆lus: [(bizonytalan)] K眉ld茅s + ____________ + +Szem茅lyes eszk枚z枚k + + * Bejelentkez茅s / fi贸k l茅trehoz谩sa + +N茅vterek + + * Kezd艖lap + * Vitalap + +V谩ltoz贸k + +N茅zetek + + * Olvas谩s + * Lapforr谩s + * Lapt枚rt茅net + +M疟veletek + +Keres茅s + + ____________________ (Submit) Keres茅s + +Navig谩ci贸 + + * Kezd艖lap + * Tartalom + * Kiemeltek + * Friss v谩ltoztat谩sok + * Lap tal谩lomra + * Tudakoz贸 + +R茅szv茅tel + + * Kezd艖knek + * Seg铆ts茅g + * K枚z枚ss茅gi port谩l + * Kapcsolatfelv茅tel + * Adom谩nyok + +Nyomtat谩s/export谩l谩s + + * K枚nyv k茅sz铆t茅se + * Let枚lt茅s mint PDF + * Nyomtathat贸 v谩ltozat + +Eszk枚z枚k + + * Mi hivatkozik erre + * Kapcsol贸d贸 v谩ltoztat谩sok + * Speci谩lis lapok + * Link erre a v谩ltozatra + * Hogyan hivatkozz erre a lapra + * Lap 茅rt茅kel茅se + +M谩s nyelveken + + * A lap utols贸 m贸dos铆t谩sa: 2011. m谩rcius 31., 21:44 + * A lap sz枚vege Creative Commons Nevezd meg! 鈥 脥gy add tov谩bb! 3.0 + licenc alatt van; egyes esetekben m谩s m贸don is felhaszn谩lhat贸. + R茅szletek茅rt l谩sd a felhaszn谩l谩si felt茅teleket. + + * Adatv茅delmi ir谩nyelvek + * A Wikip茅di谩r贸l + * Jogi nyilatkozat diff --git a/test/testdata/it/UTF-8/wikitop_it_UTF-8.txt b/test/testdata/it/UTF-8/wikitop_it_UTF-8.txt new file mode 100644 index 0000000..d298589 --- /dev/null +++ b/test/testdata/it/UTF-8/wikitop_it_UTF-8.txt @@ -0,0 +1,352 @@ +Pagina principale + + Da Wikipedia, l'enciclopedia libera. + Vai a: navigazione, cerca + + Benvenuti su Wikipedia + L'enciclopedia libera e collaborativa 851.600 voci in italiano + + Versione per dispositivi mobili + Sfoglia l'indice 路 Consulta il sommario 路 Naviga tra i portali tematici + + Vetrina + +Vetrina + + M44.jpg + + L'Ammasso del Presepe (Latino Pr忙sepe, -mangiatoia-, noto anche come + Ammasso Alveare o con le sigle di catalogo M 44 o NGC 2632) 猫 un + brillante ammasso aperto visibile nella costellazione del Cancro. 脠 uno + dei pi霉 vicini al sistema solare e contiene una ricca popolazione di + stelle, pi霉 ampia di quelle di altri ammassi aperti vicini. In un cielo + nitido l'ammasso appare a occhio nudo come un oggetto nebuloso; + definito da Tolomeo "la massa nebulosa nel seno del Cancro", fu il + primo oggetto che Galileo osserv貌 con il suo cannocchiale. + + Le sue componenti pi霉 luminose sono di magnitudine 6 e 7 e sono + perfettamente visibili con un binocolo anche dai centri urbani. L'et脿 e + il moto proprio sono paragonabili a quelli delle Iadi, suggerendo che + entrambi gli ammassi abbiano un'origine comune; sia il Presepe che le + Iadi contengono inoltre delle giganti rosse e delle nane bianche, che + rappresentano gli ultimi stadi dell'evoluzione stellare, pi霉 un gran + numero di stelle di sequenza principale di classe A, F, G, K e M. + + Stime sulla sua distanza forniscono cifre che variano fra i 160 e i 187 + parsec, equivalenti a 520-610 anni luce, mentre sull'et脿, stimata sui + 580 milioni di anni, vi 猫 maggiore accordo. + + Leggi la voce 路 Tutte le voci in vetrina 路 Voci di qualit脿 + + Lo sapevi che... + +Lo sapevi che... + + Innocenzo Manzetti.PNG + + Innocenzo Manzetti (Aosta, 17 marzo 1826 鈥 Aosta, 17 marzo 1877) 猫 + stato uno scienziato ed inventore italiano. + Mente creativa ma pragmatica, nella sua epoca Innocenzo Manzetti era + noto sia nella comunit脿 scientifica che nella sua citt脿 natale per le + sue invenzioni: un automa meccanico che suona il flauto, una automobile + a vapore, una pompa idraulica, uno speciale cemento idraulico, una + macchina per scolpire con eccezionale precisione, e altro ancora. + Secondo alcune fonti 猫 stato addirittura il precursore dell'invenzione + del telefono, che studi貌 e perfezion貌 tra il 1844 e il 1864 pur non + brevettandolo + + Leggi la voce 路 Proponi un'altra voce + + Ricorrenze + +Ricorrenze + + Alfred Nobel + Alfred Nobel + + Nati il 21 ottobre... + Alfred Nobel (1833) + Edmondo De Amicis (1846) + Martin Gardner (1914) + + e morti... + Pietro Aretino (1556) + Jack Kerouac (1969) + Fran莽ois Truffaut (1984) + + In questo giorno accadde... + 1879 - Thomas Edison testa la prima lampadina funzionante + 1941 - Seconda guerra mondiale: Le truppe tedesche in Jugoslavia si + scatenano uccidendo migliaia di civili. + 1945 - In Francia le donne vanno a votare per la prima volta. + 1959 - A New York apre al pubblico il Guggenheim Museum progettato da + Frank Lloyd Wright. + 1994 - Corea del Nord e Stati Uniti firmano un accordo che obbliga la + Corea del Nord a fermare il suo programma di armamento nucleare. + + Ricorre oggi: Buddhismo, Giainismo, Induismo e Sikhismo celebrano + Diwali; la Chiesa cattolica celebra la memoria di sant'Ilarione e di + sant'Orsola. + + Nelle altre lingue + +Nelle altre lingue + + Di seguito sono elencate le 10 versioni maggiori di Wikipedia e una + selezione casuale di altre edizioni con un numero minore di voci: + + Le 10 maggiori (al 17 ottobre 2011): English (inglese) (3.768.027+) 路 + Deutsch (tedesco) (1.300.176+) 路 Fran莽ais (francese) (1.161.858+) 路 + Italiano (851.600) 路 Polski (polacco) (836.970+) 路 Espa帽ol (spagnolo) + (836.128+) 路 袪褍褋褋泻懈泄 (russo) (778.550+) 路 鏃ユ湰瑾 (giapponese) (773.442+) 路 + Nederlands (olandese) (763.709+) 路 Portugu锚s (portoghese) (701.185+) + + Dal mondo di Wikipedia: 注讘专讬转 (ebraico) 路 Lietuvi懦 (lituano) 路 Norsk + nynorsk (norvegese nynorsk) 路 脥slenska (islandese) 路 Basa Jawa + (giavanese) 路 Asturianu (asturiano) 路 Winaray (waray-waray) 路 Lumbaart + (lombardo) 路 璐涜獮 (G脿ny怒) (gan) 路 賲氐乇賶 (Ma峁墨) (arabo d'Egitto) 路 Bikol + (bicolano centrale) 路 Oyghurque (uiguro) 路 袣芯屑懈 (komi) 路 軤塬堍軔 軔塥堋軡軔 + (assiro neo-aramaico) 路 Papiamentu (papiamento) 路 Dolnoserb拧膰ina (basso + sorabo) 路 袦芯泻褕械薪褜 泻褟谢褜 (mok拧a) 路 IsiZulu (zulu) 路 Fino' Chamoru + (chamorro) + + Oltre Wikipedia + +Oltre Wikipedia + + Wikipedia 猫 gestita da Wikimedia Foundation, fondazione senza fini di + lucro, che supporta diversi altri progetti wiki dal contenuto libero e + multilingue: + + + Commons-logo.svg + Commons + Risorse multimediali condivise + + Wikiquote-logo.svg + Wikiquote + Raccolta di citazioni + + Wiktprintable without text.svg + Wikizionario + Dizionario e lessico + + Wikinews-logo.svg + Wikinotizie + Notizie a contenuto aperto + + Wikispecies-logo.svg + Wikispecies + Catalogo delle specie + + Wikibooks-logo.svg + Wikibooks + Manuali e libri di testo liberi scritti ex-novo + Wikisource-logo.svg + Wikisource + Opere gi脿 pubblicate e libere da copyright + Wikiversity-logo.svg + Wikiversit脿 + Risorse e attivit脿 didattiche + Wikimedia Community Logo.svg + Meta-Wiki + Progetto di coordinamento Wikimedia + + Wikipedia + +Wikipedia + + Wikipedia 猫 un'enciclopedia online, collaborativa e gratuita. + Disponibile in oltre 270 lingue, Wikipedia affronta sia gli argomenti + tipici delle enciclopedie tradizionali sia quelli presenti in + almanacchi, dizionari geografici e pubblicazioni specialistiche. + + Wikipedia 猫 liberamente modificabile: chiunque pu貌 contribuire alle + voci esistenti o crearne di nuove. Ogni contenuto 猫 pubblicato sotto + licenza Creative Commons CC-BY-SA e pu貌 pertanto essere copiato e + riutilizzato adottando la medesima licenza. + + Cosa posso fare? + +Cosa posso fare? + + * Vuoi partecipare? Leggi le regole fondamentali e le altre linee + guida; rispetta la wikiquette; la registrazione 猫 consigliata ma + non obbligatoria. + * Vuoi provare? Modifica la pagina di prova o leggi come scrivere una + voce. + * Serve aiuto? Consulta le istruzioni o leggi dove fare una domanda. + * Cosa pensi di Wikipedia? Dacci il tuo parere. + + Novit脿 da Wikipedia + +Novit脿 da Wikipedia + + Voci nuove in evidenza: + + Isolotto di San Nicola 路 Siddhartha Mukherjee 路 Morris Motor + Company 路 Carrozze FS tipo TEE + + Sono nati i portali: + + Corea del Sud 路 Automobilismo 路 Aviazione 路 Arrampicata 路 Isole + + il Wikipediano, notizie dalla comunit脿 + + Dagli altri progetti + +Dagli altri progetti + + Wikiquote-logo.svg Citazione del giorno da Wikiquote + + Cquote1.png Credo che non ci sia nessuno al mondo che non abbia una + lepre in pancia, ossia un ramo di follia: perch茅 tutti siamo della + stessa pasta e dalle mie pere posso sapere quanto sian mature quelle + del vicino. Cquote2.png + Hans Grimmelshausen + + Commons-logo.svg Immagine del giorno da Commons + + Schimpanse, Pan troglodytes 3.JPG + + Scimpanz茅 comune (Pan troglodytes). + + Wikinews-logo.svg Ultime notizie da Wikinews + * Gheddafi 猫 morto + * Consumo record di cocaina a Milano + * 7 studenti su 10 vittime di bullismo omofobico + * 芦Se l'Italia vuole il Ponte se lo deve pagare da sola禄 + * Rilasciato Gilad Shalit + * Bielorussia: vietato Gay Pride + + Wikisource-logo.svg Rilettura del mese su Wikisource + + Zibaldone di Giacomo Leopardi (XIX secolo) + + Zibaldone di pensieri I.djvu + + Sei ai tuoi primissimi passi su Wikisource? clicca qui! + + + Wikipedia non d脿 garanzie sulla validit脿 dei contenuti + + Il progetto 猫 ospitato dalla Wikimedia Foundation, che non pu貌 essere + ritenuta responsabile di eventuali errori contenuti in questo sito. + Ogni contributore 猫 responsabile dei propri inserimenti. + Sala stampa 路 Contatti 路 FAQ 路 Copyright 路 Wikipedia sul tuo sito 路 + Citare Wikipedia 路 Donazioni 路 Not Italian? it-0? Click here + * Meta + * Wikizionario + * Wikibooks + * Wikinotizie + * Wikiquote + * Wikisource + * Wikiversit脿 + * Wikispecies + * Commons + + Estratto da + "http://it.wikipedia.org/w/index.php?title=Pagina_principale&oldid=4406 + 3559" + Categoria: + * Pagina principale + +Strumenti personali + + * Entra / Registrati + +Namespace + + * Voce + * Discussione + +Varianti + +Visite + + * Leggi + * Visualizza sorgente + * Visualizza cronologia + +Azioni + +Ricerca + + ____________________ (Submit) Ricerca + +Navigazione + + * Pagina principale + * Ultime modifiche + * Una voce a caso + * Vetrina + * Aiuto + +Comunit脿 + + * Portale Comunit脿 + * Bar + * Il Wikipediano + * Fai una donazione + * Contatti + +Stampa/esporta + + * Crea un libro + * Scarica come PDF + * Versione stampabile + +Strumenti + + * Puntano qui + * Modifiche correlate + * Pagine speciali + * Link permanente + * Cita questa voce + +Altre lingue + + * English + * Deutsch + * Fran莽ais + * Polski + * Espa帽ol + * 袪褍褋褋泻懈泄 + * 鏃ユ湰瑾 + * Nederlands + * Portugu锚s + * Svenska + * 涓枃 + * Catal脿 + * 校泻褉邪褩薪褋褜泻邪 + * 鈥狽orsk (bokm氓l)鈥 + * Suomi + * Ti岷縩g Vi峄噒 + * 膶esky + * Magyar + * 頃滉淡鞏 + * T眉rk莽e + * Bahasa Indonesia + * Rom芒n膬 + * 賮丕乇爻蹖 + * 丕賱毓乇亘賷丞 + * Dansk + * Esperanto + * 小褉锌褋泻懈 / Srpski + * Lietuvi懦 + * Sloven膷ina + * 注讘专讬转 + + * Ultima modifica per la pagina: 00:23, 12 ott 2011. + * Il testo 猫 disponibile secondo la licenza Creative Commons + Attribuzione-Condividi allo stesso modo; possono applicarsi + condizioni ulteriori. Vedi le condizioni d'uso per i dettagli. + Wikipedia庐 猫 un marchio registrato della Wikimedia Foundation, Inc. + + * Politica sulla privacy + * Informazioni su Wikipedia + * Avvertenze + * Mobile view + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt b/test/testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt new file mode 100644 index 0000000..a1011b1 --- /dev/null +++ b/test/testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt @@ -0,0 +1,335 @@ + L'Ammasso del Presepe (Latino Pr鎠epe, -mangiatoia-, noto anche come + Ammasso Alveare o con le sigle di catalogo M 44 o NGC 2632) un + brillante ammasso aperto visibile nella costellazione del Cancro. uno + dei pi vicini al sistema solare e contiene una ricca popolazione di + stelle, pi ampia di quelle di altri ammassi aperti vicini. In un cielo + nitido l'ammasso appare a occhio nudo come un oggetto nebuloso; + definito da Tolomeo "la massa nebulosa nel seno del Cancro", fu il + primo oggetto che Galileo osserv con il suo cannocchiale. + + Le sue componenti pi luminose sono di magnitudine 6 e 7 e sono + perfettamente visibili con un binocolo anche dai centri urbani. L'et e + il moto proprio sono paragonabili a quelli delle Iadi, suggerendo che + entrambi gli ammassi abbiano un'origine comune; sia il Presepe che le + Iadi contengono inoltre delle giganti rosse e delle nane bianche, che + rappresentano gli ultimi stadi dell'evoluzione stellare, pi un gran + numero di stelle di sequenza principale di classe A, F, G, K e M. + + Stime sulla sua distanza forniscono cifre che variano fra i 160 e i 187 + parsec, equivalenti a 520-610 anni luce, mentre sull'et, stimata sui + 580 milioni di anni, vi maggiore accordo. + + Leggi la voce Tutte le voci in vetrina Voci di qualit + + Lo sapevi che... + +Lo sapevi che... + + Innocenzo Manzetti.PNG + + Innocenzo Manzetti (Aosta, 17 marzo 1826 Aosta, 17 marzo 1877) + stato uno scienziato ed inventore italiano. + Mente creativa ma pragmatica, nella sua epoca Innocenzo Manzetti era + noto sia nella comunit scientifica che nella sua citt natale per le + sue invenzioni: un automa meccanico che suona il flauto, una automobile + a vapore, una pompa idraulica, uno speciale cemento idraulico, una + macchina per scolpire con eccezionale precisione, e altro ancora. + Secondo alcune fonti stato addirittura il precursore dell'invenzione + del telefono, che studi e perfezion tra il 1844 e il 1864 pur non + brevettandolo + + Leggi la voce Proponi un'altra voce + + Ricorrenze + +Ricorrenze + + Alfred Nobel + Alfred Nobel + + Nati il 21 ottobre... + Alfred Nobel (1833) + Edmondo De Amicis (1846) + Martin Gardner (1914) + + e morti... + Pietro Aretino (1556) + Jack Kerouac (1969) + Fran鏾is Truffaut (1984) + + In questo giorno accadde... + 1879 - Thomas Edison testa la prima lampadina funzionante + 1941 - Seconda guerra mondiale: Le truppe tedesche in Jugoslavia si + scatenano uccidendo migliaia di civili. + 1945 - In Francia le donne vanno a votare per la prima volta. + 1959 - A New York apre al pubblico il Guggenheim Museum progettato da + Frank Lloyd Wright. + 1994 - Corea del Nord e Stati Uniti firmano un accordo che obbliga la + Corea del Nord a fermare il suo programma di armamento nucleare. + + Ricorre oggi: Buddhismo, Giainismo, Induismo e Sikhismo celebrano + Diwali; la Chiesa cattolica celebra la memoria di sant'Ilarione e di + sant'Orsola. + + Nelle altre lingue + +Nelle altre lingue + + Di seguito sono elencate le 10 versioni maggiori di Wikipedia e una + selezione casuale di altre edizioni con un numero minore di voci: + + Le 10 maggiori (al 17 ottobre 2011): English (inglese) (3.768.027+) + Deutsch (tedesco) (1.300.176+) Fran鏰is (francese) (1.161.858+) + Italiano (851.600) Polski (polacco) (836.970+) Espa駉l (spagnolo) + (836.128+) (russo) (778.550+) (giapponese) (773.442+) + Nederlands (olandese) (763.709+) Portugu阺 (portoghese) (701.185+) + + Dal mondo di Wikipedia: (ebraico) Lietuvi (lituano) Norsk + nynorsk (norvegese nynorsk) 蛃lenska (islandese) Basa Jawa + (giavanese) Asturianu (asturiano) Winaray (waray-waray) Lumbaart + (lombardo) (G鄋y) (gan) (Mar) (arabo d'Egitto) Bikol + (bicolano centrale) Oyghurque (uiguro) (komi) + (assiro neo-aramaico) Papiamentu (papiamento) Dolnoserb歩na (basso + sorabo) (mok歛) IsiZulu (zulu) Fino' Chamoru + (chamorro) + + Oltre Wikipedia + +Oltre Wikipedia + + Wikipedia gestita da Wikimedia Foundation, fondazione senza fini di + lucro, che supporta diversi altri progetti wiki dal contenuto libero e + multilingue: + + + Commons-logo.svg + Commons + Risorse multimediali condivise + + Wikiquote-logo.svg + Wikiquote + Raccolta di citazioni + + Wiktprintable without text.svg + Wikizionario + Dizionario e lessico + + Wikinews-logo.svg + Wikinotizie + Notizie a contenuto aperto + + Wikispecies-logo.svg + Wikispecies + Catalogo delle specie + + Wikibooks-logo.svg + Wikibooks + Manuali e libri di testo liberi scritti ex-novo + Wikisource-logo.svg + Wikisource + Opere gi pubblicate e libere da copyright + Wikiversity-logo.svg + Wikiversit + Risorse e attivit didattiche + Wikimedia Community Logo.svg + Meta-Wiki + Progetto di coordinamento Wikimedia + + Wikipedia + +Wikipedia + + Wikipedia un'enciclopedia online, collaborativa e gratuita. + Disponibile in oltre 270 lingue, Wikipedia affronta sia gli argomenti + tipici delle enciclopedie tradizionali sia quelli presenti in + almanacchi, dizionari geografici e pubblicazioni specialistiche. + + Wikipedia liberamente modificabile: chiunque pu contribuire alle + voci esistenti o crearne di nuove. Ogni contenuto pubblicato sotto + licenza Creative Commons CC-BY-SA e pu pertanto essere copiato e + riutilizzato adottando la medesima licenza. + + Cosa posso fare? + +Cosa posso fare? + + * Vuoi partecipare? Leggi le regole fondamentali e le altre linee + guida; rispetta la wikiquette; la registrazione consigliata ma + non obbligatoria. + * Vuoi provare? Modifica la pagina di prova o leggi come scrivere una + voce. + * Serve aiuto? Consulta le istruzioni o leggi dove fare una domanda. + * Cosa pensi di Wikipedia? Dacci il tuo parere. + + Novit da Wikipedia + +Novit da Wikipedia + + Voci nuove in evidenza: + + Isolotto di San Nicola Siddhartha Mukherjee Morris Motor + Company Carrozze FS tipo TEE + + Sono nati i portali: + + Corea del Sud Automobilismo Aviazione Arrampicata Isole + + il Wikipediano, notizie dalla comunit + + Dagli altri progetti + +Dagli altri progetti + + Wikiquote-logo.svg Citazione del giorno da Wikiquote + + Cquote1.png Credo che non ci sia nessuno al mondo che non abbia una + lepre in pancia, ossia un ramo di follia: perch tutti siamo della + stessa pasta e dalle mie pere posso sapere quanto sian mature quelle + del vicino. Cquote2.png + Hans Grimmelshausen + + Commons-logo.svg Immagine del giorno da Commons + + Schimpanse, Pan troglodytes 3.JPG + + Scimpanz comune (Pan troglodytes). + + Wikinews-logo.svg Ultime notizie da Wikinews + * Gheddafi morto + * Consumo record di cocaina a Milano + * 7 studenti su 10 vittime di bullismo omofobico + * 玈e l'Italia vuole il Ponte se lo deve pagare da sola + * Rilasciato Gilad Shalit + * Bielorussia: vietato Gay Pride + + Wikisource-logo.svg Rilettura del mese su Wikisource + + Zibaldone di Giacomo Leopardi (XIX secolo) + + Zibaldone di pensieri I.djvu + + Sei ai tuoi primissimi passi su Wikisource? clicca qui! + + + Wikipedia non d garanzie sulla validit dei contenuti + + Il progetto ospitato dalla Wikimedia Foundation, che non pu essere + ritenuta responsabile di eventuali errori contenuti in questo sito. + Ogni contributore responsabile dei propri inserimenti. + Sala stampa Contatti FAQ Copyright Wikipedia sul tuo sito + Citare Wikipedia Donazioni Not Italian? it-0? Click here + * Meta + * Wikizionario + * Wikibooks + * Wikinotizie + * Wikiquote + * Wikisource + * Wikiversit + * Wikispecies + * Commons + + Estratto da + "http://it.wikipedia.org/w/index.php?title=Pagina_principale&oldid=4406 + 3559" + Categoria: + * Pagina principale + +Strumenti personali + + * Entra / Registrati + +Namespace + + * Voce + * Discussione + +Varianti + +Visite + + * Leggi + * Visualizza sorgente + * Visualizza cronologia + +Azioni + +Ricerca + + ____________________ (Submit) Ricerca + +Navigazione + + * Pagina principale + * Ultime modifiche + * Una voce a caso + * Vetrina + * Aiuto + +Comunit + + * Portale Comunit + * Bar + * Il Wikipediano + * Fai una donazione + * Contatti + +Stampa/esporta + + * Crea un libro + * Scarica come PDF + * Versione stampabile + +Strumenti + + * Puntano qui + * Modifiche correlate + * Pagine speciali + * Link permanente + * Cita questa voce + +Altre lingue + + * English + * Deutsch + * Fran鏰is + * Polski + * Espa駉l + * + * + * Nederlands + * Portugu阺 + * Svenska + * + * Catal + * + * Norsk (bokm錶) + * Suomi + * Ting Vit + * esky + * Magyar + * + * T黵k鏴 + * Bahasa Indonesia + * Rom鈔 + * + * + * Dansk + * Esperanto + * / Srpski + * Lietuvi + * Slovenina + * + + * Ultima modifica per la pagina: 00:23, 12 ott 2011. + * Il testo disponibile secondo la licenza Creative Commons + Attribuzione-Condividi allo stesso modo; possono applicarsi + condizioni ulteriori. Vedi le condizioni d'uso per i dettagli. + Wikipedia un marchio registrato della Wikimedia Foundation, Inc. + + * Politica sulla privacy + * Informazioni su Wikipedia + * Avvertenze + * Mobile view + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt b/test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt new file mode 100644 index 0000000..ac6ba21 --- /dev/null +++ b/test/testdata/nl/UTF-8/wikitop_nl_UTF-8.txt @@ -0,0 +1,440 @@ +Hoofdpagina + + Uit Wikipedia, de vrije encyclopedie + Ga naar: navigatie, zoeken + Pix.gif + Pix.gif + +Welkom op Wikipedia + + De vrije encyclopedie + + Overzicht van portalen + Pix.gif + De Nederlandstalige Wikipedia telt op dit moment 773.439 artikelen. + Help ook mee door artikelen te starten, te verbeteren of uit te + breiden. + + + + Icoon + + Uitgelicht + + De stripreeks Jommeke is een Vlaamse stripreeks voor de jeugd, getekend + en geschreven door de op 20 oktober 2009 overleden Jef Nys. De strips + vertellen de avonturen van het hoofdpersonage Jommeke, een avontuurlijk + elfjarig jongetje, en een reeks andere personages, zoals zijn vriend + Filiberke, de sprekende papegaai Flip, Professor Gobelijn en de + tweelingzussen De Miekes. + De strip verscheen voor het eerst eind 1955 in het weekblad Kerkelijk + Leven (nu Kerk en Leven), vervolgens in het dagblad Het Volk, en + momenteel verschijnt hij al jarenlang in meerdere kranten. Binnen de + reeks kwamen tot nu toe een 250-tal strips uit. (Lees verder) + + + + Icoon + + Actueel + + Moammar al-Qadhafi + * 20 oktober 鈥 De stad Sirte, de laatste Libische stad die in handen + was van Moammar al-Qadhafi, valt in handen van de Nationale + Overgangsraad. Qadhafi wordt gevangengenomen, maar overlijdt aan + verwondingen opgelopen tijdens zijn gevangenneming. + * 19 oktober 鈥 De Thaise minister-president Yingluck Shinawatra + verklaart dat haar regering geen controle meer heeft over de + situatie rond de zware overstromingen in 53 provincies, die de + afgelopen weken honderden doden hebben ge毛ist en miljoenen mensen + dakloos hebben gemaakt. + * 18 oktober 鈥 Bij gevechten tussen het Filipijnse leger en de + Islamitische afscheidingsbeweging MILF in Al-Barka, in de + zuidelijke Filipijnse provincie Basilan worden minstens 19 soldaten + en 6 rebellen gedood. + * 17 oktober 鈥 De Isra毛lische soldaat Gilad Shalit wordt na vijf jaar + gijzeling vrijgelaten in ruil voor 1027 Palestijnse gevangenen. + * 15 oktober 鈥 Het Nederlands honkbalteam behaalt in Panama-Stad voor + de eerste keer in de geschiedenis de wereldtitel door Cuba met 2-1 + te verslaan. + + + + + Icoon + + Wist je dat... + + Het oorspronkelijke Droste-effect + * 鈥et Droste-effect, een internationaal bekende aanduiding voor het + visuele effect waarbij een afbeelding een verkleinde versie van + zichzelf bevat, genoemd is naar een Nederlands cacao-merk? + * 鈥n historisch Tibet belastingafdrachten werden berekend met behulp + van een abacus met losse stenen? + * 鈥itler grootse plannen had om Berlijn te herbouwen en te hernoemen + tot Welthauptstadt Germania? + * ...De Indische Waterlelies in de Efteling gebaseerd is op een + sprookje geschreven door Koningin Fabiola van Belgi毛? + + + + + Icoon + + Recent overleden + + Manfred Gerlach + * Moammar al-Qadhafi (69), Libisch kolonel, 20 oktober + * Manfred Gerlach (83), Duits politicus, laatste voorzitter van de + Staatsraad van de DDR, 17 oktober + * Miguel 脕ngel Granados Chapa (70), Mexicaans journalist, 16 oktober + * Dan Wheldon (33), Brits autocoureur, 16 oktober + * Adam Hunter (48), Schots golfer, 14 oktober + + + + + Icoon + + 21 oktober in de geschiedenis + + Alfred Nobel + * 1805 - In de slag bij Trafalgar sneuvelt de Britse admiraal Horatio + Nelson. + * 1833 - Geboren: Alfred Nobel, Zweeds chemicus, naamgever van de + Nobelprijs. + * 1920 - Geboren: Coen Ooft, Surinaams politicus. + * 1940 - Geboren: Manfred Mann, Brits muzikant, naamgever van de + gelijknamige R&B band. + * 1945 - Invoering van het stemrecht voor vrouwen in Frankrijk. + * 1948 - Overleden: Koene Dirk Parmentier, Nederlands piloot en + luchtvaartpionier. + * 1959 - Het Guggenheim Museum in New York opent zijn deuren voor het + publiek. + * 1969 - Overleden: Jack Kerouac, Amerikaans schrijver. + * 2006 - Overleden: Paul Biegel, Nederlands kinderboekenschrijver. + + + + + Icoon + + Etalage + + Er staan op dit moment 249 artikelen in de etalage. + __________________________________________________________________ + + Nieuw in de etalage: + * Slot Loevestein + * Maurits van Oranje + + * Spinnen (dieren) + * Turfanosuchus + + Een greep uit de overige etalageartikelen: + * Montr茅al (Canada) + * Ribbensalamander + * Pape Jan + * Kredietcrisis + * The Who + + * Timaeus (Plato) + * Carl Lewis + * Rioolwaterzuiveringsinstallatie + __________________________________________________________________ + + Etalageaanmeldingen - Richtlijnen voor etalageartikelen - De zes + stappen naar een etalageartikel + + + + Icoon + + Wikipedia in andere talen + + Meer dan 1.000.000 artikelen: English (Engels) 鈥 Deutsch (Duits) 鈥 + Fran莽ais (Frans) + + Meer dan 250.000 artikelen: Italiano (Italiaans) 鈥 Polski (Pools) 鈥 + Espa帽ol (Spaans) 鈥 袪褍褋褋泻懈泄 (Russisch) 鈥 鏃ユ湰瑾 (Japans) 鈥 + Portugu锚s (Portugees) 鈥 Svenska (Zweeds) 鈥 涓枃 (Chinees) 鈥 + Catal脿 (Catalaans) 鈥 校泻褉邪褩薪褋褜泻邪 (Oekra茂ens) 鈥 鈥狽orsk (bokm氓l)鈥 (Noors) + 鈥 Suomi (Fins) + + Meer dan 125.000 artikelen: Ti岷縩g Vi峄噒 (Vietnamees) 鈥 + 膶esky (Tsjechisch) 鈥 Magyar (Hongaars) 鈥 頃滉淡鞏 (Koreaans) 鈥 + T眉rk莽e (Turks) 鈥 Bahasa Indonesia (Indonesisch) 鈥 Rom芒n膬 (Roemeens) 鈥 + 賮丕乇爻蹖 (Perzisch) - 丕賱毓乇亘賷丞 (Arabisch) 鈥 Dansk (Deens) 鈥 + Esperanto (Esperanto) 鈥 小褉锌褋泻懈 / Srpski (Servisch) 鈥 Lietuvi懦 (Litouws) + 鈥 Sloven膷ina (Slowaaks) 鈥 注讘专讬转 (Hebreeuws) + + Selectie van andere talen: Afrikaans 鈥 Frysk (Fries) 鈥 + L毛tzebuergesch (Luxemburgs) 鈥 Limburgs 鈥 Nedersaksisch 鈥 + Papiamentu (Papiaments) 鈥 Sranantongo (Surinaams) 鈥 Walon (Waals) 鈥 + West-Vlams (West-Vlaams) 鈥 Ze锚uws (Zeeuws) + Alle talen + Portaal van de week + + Portaal van de week + + Film + + Gebruikersportaal, Standaardinformatie, Uitleg + + Over Wikipedia 路 Hulp & Contact 路 Helpdocumentatie + Snelcursus: leer Wikipedia bewerken + Hoe kan ik meedoen? 路 Gebruikersportaal + Navigatie 路 Artikelindex 路 Categorie毛n 路 Portalen + Overzichten en lijsten 路 Biografie毛n + Etalage 路 Nieuwe artikelen 路 Gesproken Wikipedia + Conventies van Wikipedia 路 Neutraal standpunt + Mensenmaatschappij.png + + Mens & Maatschappij, Religie, Politiek + Antropologie 路 Dagelijks leven 路 Economie + Filosofie 路 Occultisme 路 Openbaar vervoer + Christendom 路 Islam 路 Jodendom + Tibetaans boeddhisme 路 Onderwijs + Geschiedenis, Landen & Volken, Taal + + Geschiedenis, Landen & Volken, Taal + Prehistorie 路 Oudheid 路 Middeleeuwen + Tweede Wereldoorlog 路 Steden + Afrika 路 Amerika 路 Azi毛 路 Europa 路 Oceani毛 + Spanje 路 Japan 路 Australi毛 路 Itali毛 + Esperanto 路 Spaans 路 Latijn + Kunst & Cultuur, Sport + + Kunst & Cultuur, Sport + Film 路 Literatuur 路 Muziek 路 Media + Autosport 路 Atletiek 路 Wielersport + Disney 路 Shakespeare 路 Strip + Wetenschap & Technologie + + Wetenschap & Technologie + Aardwetenschappen 路 Astronomie 路 Biologie + Geneeskunde 路 Civiele techniek en bouwkunde + Geografie 路 Informatica 路 Natuurkunde + Scheikunde 路 Verkeer en vervoer 路 Wiskunde + Ruimtevaart 路 Wetenschapsgeschiedenis 路 Maritiem + Afbeelding van de dag + + Schimpanse, Pan troglodytes 3.JPG Een chimpansee met jong in Walter + Zoo, een dierentuin in Gossau (Sankt Gallen). + + Zusterprojecten + + Wikipedia is onderdeel van de Wikimedia Foundation, een + non-profitorganisatie, en heeft diverse zusterprojecten die ook van + wikisoftware gebruikmaken: + + Wiktprintable without text.svg + + WikiWoordenboek + Vrij woordenboek met betekenissen, vertalingen, etymologie en uitspraak + + Wikibooks-logo.svg + + Wikibooks + Handleidingen en vrije boeken + + WikiquoteL.jpg + + Wikiquote + Een vrije collectie van citaten en spreekwoorden + + WikinotizieLnl.png + + Wikinews + Vrije nieuwsbron (Engelstalig) + + WikisourceL.jpg + + Wikisource + Documenten uit het publieke domein + + WikispeciesL.jpg + + Wikispecies + Catalogus van alle soorten levende wezens + + CommonsL.jpg + + Commons + Centrale opslagplaats voor mediabestanden van de projecten + + Wikimedia Community Logo.svg + + Meta-Wiki + Internationale website over de projecten van Wikimedia + + WikiversityL.jpg + + Wikiversity + Verzameling van vrije onderwijsprojecten + + IncubatorL.png + + Incubator + Opstarten van nieuwe projecten + + Perscontact 路 Publiekscontact 路 Statistieken + Ontvangen van + "http://nl.wikipedia.org/w/index.php?title=Hoofdpagina&oldid=25351209" + Categorie: + * Alles + +Persoonlijke instellingen + + * Aanmelden / registreren + +Naamruimten + + * Artikel + * Overleg + +Varianten + +Weergaven + + * Lezen + * Brontekst bekijken + * Geschiedenis + +Handelingen + +Zoeken + + ____________________ (Submit) Zoeken + +Navigatie + + * Hoofdpagina + * Vind een artikel + * Vandaag + * Etalage + * Categorie毛n + * Recente wijzigingen + * Nieuwe artikelen + * Willekeurige pagina + +Informatie + + * Gebruikersportaal + * Snelcursus + * Hulp en contact + * Donaties + +Hulpmiddelen + + * Links naar deze pagina + * Verwante wijzigingen + * Bestand uploaden + * Speciale pagina's + * Permanente verwijzing + * Deze pagina citeren + +Afdrukken/exporteren + + * Boek maken + * Downloaden als PDF + * Printervriendelijke versie + +In andere talen + + * Afrikaans + * Alemannisch + * 脝nglisc + * 丕賱毓乇亘賷丞 + * 軔塥堋軡軔 + * Aymar aru + * 袘械谢邪褉褍褋泻邪褟 + * 袘褗谢谐邪褉褋泻懈 + * Catal脿 + * 膶esky + * Cymraeg + * Dansk + * Deutsch + * 螘位位畏谓喂魏维 + * English + * Esperanto + * Espa帽ol + * Eesti + * 賮丕乇爻蹖 + * Suomi + * V玫ro + * Na Vosa Vakaviti + * Fran莽ais + * Frysk + * Gaeilge + * Galego + * Hawai`i + * 注讘专讬转 + * Hrvatski + * Magyar + * Bahasa Indonesia + * Ido + * 脥slenska + * Italiano + * 鏃ユ湰瑾 + * Kalaallisut + * 頃滉淡鞏 + * Kurd卯 + * Latina + * L毛tzebuergesch + * Limburgs + * Lietuvi懦 + * Latvie拧u + * M膩ori + * Dorerin Naoero + * Nedersaksisch + * 鈥狽orsk (nynorsk)鈥 + * 鈥狽orsk (bokm氓l)鈥 + * Papiamentu + * Deitsch + * Norfuk / Pitkern + * Polski + * 倬跉鬲賵 + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Simple English + * Sloven膷ina + * Sloven拧膷ina + * Gagana Samoa + * Shqip + * 小褉锌褋泻懈 / Srpski + * Sranantongo + * Svenska + * Kiswahili + * 喟む眴喟侧眮喟椸眮 + * 喙勦笚喔 + * lea faka-Tonga + * Tok Pisin + * T眉rk莽e + * 孝邪褌邪褉褔邪/Tatar莽a + * Reo M膩`ohi + * 校泻褉邪褩薪褋褜泻邪 + * Ti岷縩g Vi峄噒 + * West-Vlams + * Walon + * Winaray + * 鍚磋 + * Ze锚uws + * 涓枃 + * 鏂囪█ + + * Deze pagina is het laatst bewerkt op 25 apr 2011 om 13:03. + * De tekst is beschikbaar onder de licentie Creative Commons + Naamsvermelding/Gelijk delen, er kunnen aanvullende voorwaarden van + toepassing zijn. Zie de Gebruiksvoorwaarden voor meer informatie. + Wikipedia庐 is een geregistreerd handelsmerk van de Wikimedia + Foundation, Inc., een organisatie zonder winstoogmerk. + + * Privacybeleid + * Over Wikipedia + * Voorbehoud + * Mobiele weergave + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt b/test/testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt new file mode 100644 index 0000000..bfe960a --- /dev/null +++ b/test/testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt @@ -0,0 +1,437 @@ +Hoofdpagina + + Uit Wikipedia, de vrije encyclopedie + Ga naar: navigatie, zoeken + +Welkom op Wikipedia + + De vrije encyclopedie + + Overzicht van portalen + De Nederlandstalige Wikipedia telt op dit moment 773.439 artikelen. + Help ook mee door artikelen te starten, te verbeteren of uit te + breiden. + + + + Icoon + + Uitgelicht + + De stripreeks Jommeke is een Vlaamse stripreeks voor de jeugd, getekend + en geschreven door de op 20 oktober 2009 overleden Jef Nys. De strips + vertellen de avonturen van het hoofdpersonage Jommeke, een avontuurlijk + elfjarig jongetje, en een reeks andere personages, zoals zijn vriend + Filiberke, de sprekende papegaai Flip, Professor Gobelijn en de + tweelingzussen De Miekes. + De strip verscheen voor het eerst eind 1955 in het weekblad Kerkelijk + Leven (nu Kerk en Leven), vervolgens in het dagblad Het Volk, en + momenteel verschijnt hij al jarenlang in meerdere kranten. Binnen de + reeks kwamen tot nu toe een 250-tal strips uit. (Lees verder) + + + + Icoon + + Actueel + + Moammar al-Qadhafi + * 20 oktober De stad Sirte, de laatste Libische stad die in handen + was van Moammar al-Qadhafi, valt in handen van de Nationale + Overgangsraad. Qadhafi wordt gevangengenomen, maar overlijdt aan + verwondingen opgelopen tijdens zijn gevangenneming. + * 19 oktober De Thaise minister-president Yingluck Shinawatra + verklaart dat haar regering geen controle meer heeft over de + situatie rond de zware overstromingen in 53 provincies, die de + afgelopen weken honderden doden hebben ge雐st en miljoenen mensen + dakloos hebben gemaakt. + * 18 oktober Bij gevechten tussen het Filipijnse leger en de + Islamitische afscheidingsbeweging MILF in Al-Barka, in de + zuidelijke Filipijnse provincie Basilan worden minstens 19 soldaten + en 6 rebellen gedood. + * 17 oktober De Isra雔ische soldaat Gilad Shalit wordt na vijf jaar + gijzeling vrijgelaten in ruil voor 1027 Palestijnse gevangenen. + * 15 oktober Het Nederlands honkbalteam behaalt in Panama-Stad voor + de eerste keer in de geschiedenis de wereldtitel door Cuba met 2-1 + te verslaan. + + + + + Icoon + + Wist je dat... + + Het oorspronkelijke Droste-effect + * 卙et Droste-effect, een internationaal bekende aanduiding voor het + visuele effect waarbij een afbeelding een verkleinde versie van + zichzelf bevat, genoemd is naar een Nederlands cacao-merk? + * 卛n historisch Tibet belastingafdrachten werden berekend met behulp + van een abacus met losse stenen? + * 匟itler grootse plannen had om Berlijn te herbouwen en te hernoemen + tot Welthauptstadt Germania? + * ...De Indische Waterlelies in de Efteling gebaseerd is op een + sprookje geschreven door Koningin Fabiola van Belgi? + + + + + Icoon + + Recent overleden + + Manfred Gerlach + * Moammar al-Qadhafi (69), Libisch kolonel, 20 oktober + * Manfred Gerlach (83), Duits politicus, laatste voorzitter van de + Staatsraad van de DDR, 17 oktober + * Miguel 羘gel Granados Chapa (70), Mexicaans journalist, 16 oktober + * Dan Wheldon (33), Brits autocoureur, 16 oktober + * Adam Hunter (48), Schots golfer, 14 oktober + + + + + Icoon + + 21 oktober in de geschiedenis + + Alfred Nobel + * 1805 - In de slag bij Trafalgar sneuvelt de Britse admiraal Horatio + Nelson. + * 1833 - Geboren: Alfred Nobel, Zweeds chemicus, naamgever van de + Nobelprijs. + * 1920 - Geboren: Coen Ooft, Surinaams politicus. + * 1940 - Geboren: Manfred Mann, Brits muzikant, naamgever van de + gelijknamige R&B band. + * 1945 - Invoering van het stemrecht voor vrouwen in Frankrijk. + * 1948 - Overleden: Koene Dirk Parmentier, Nederlands piloot en + luchtvaartpionier. + * 1959 - Het Guggenheim Museum in New York opent zijn deuren voor het + publiek. + * 1969 - Overleden: Jack Kerouac, Amerikaans schrijver. + * 2006 - Overleden: Paul Biegel, Nederlands kinderboekenschrijver. + + + + + Icoon + + Etalage + + Er staan op dit moment 249 artikelen in de etalage. + __________________________________________________________________ + + Nieuw in de etalage: + * Slot Loevestein + * Maurits van Oranje + + * Spinnen (dieren) + * Turfanosuchus + + Een greep uit de overige etalageartikelen: + * Montr閍l (Canada) + * Ribbensalamander + * Pape Jan + * Kredietcrisis + * The Who + + * Timaeus (Plato) + * Carl Lewis + * Rioolwaterzuiveringsinstallatie + __________________________________________________________________ + + Etalageaanmeldingen - Richtlijnen voor etalageartikelen - De zes + stappen naar een etalageartikel + + + + Icoon + + Wikipedia in andere talen + + Meer dan 1.000.000 artikelen: English (Engels) Deutsch (Duits) + Fran鏰is (Frans) + + Meer dan 250.000 artikelen: Italiano (Italiaans) Polski (Pools) + Espa駉l (Spaans) (Russisch) (Japans) + Portugu阺 (Portugees) Svenska (Zweeds) (Chinees) + Catal (Catalaans) (Oekra飁ns) Norsk (bokm錶) (Noors) + Suomi (Fins) + + Meer dan 125.000 artikelen: Ting Vit (Vietnamees) + esky (Tsjechisch) Magyar (Hongaars) (Koreaans) + T黵k鏴 (Turks) Bahasa Indonesia (Indonesisch) Rom鈔 (Roemeens) + (Perzisch) - (Arabisch) Dansk (Deens) + Esperanto (Esperanto) / Srpski (Servisch) Lietuvi (Litouws) + Slovenina (Slowaaks) (Hebreeuws) + + Selectie van andere talen: Afrikaans Frysk (Fries) + L雝zebuergesch (Luxemburgs) Limburgs Nedersaksisch + Papiamentu (Papiaments) Sranantongo (Surinaams) Walon (Waals) + West-Vlams (West-Vlaams) Ze陁ws (Zeeuws) + Alle talen + Portaal van de week + + Portaal van de week + + Film + + Gebruikersportaal, Standaardinformatie, Uitleg + + Over Wikipedia Hulp & Contact Helpdocumentatie + Snelcursus: leer Wikipedia bewerken + Hoe kan ik meedoen? Gebruikersportaal + Navigatie Artikelindex Categorie雗 Portalen + Overzichten en lijsten Biografie雗 + Etalage Nieuwe artikelen Gesproken Wikipedia + Conventies van Wikipedia Neutraal standpunt + Mensenmaatschappij.png + + Mens & Maatschappij, Religie, Politiek + Antropologie Dagelijks leven Economie + Filosofie Occultisme Openbaar vervoer + Christendom Islam Jodendom + Tibetaans boeddhisme Onderwijs + Geschiedenis, Landen & Volken, Taal + + Geschiedenis, Landen & Volken, Taal + Prehistorie Oudheid Middeleeuwen + Tweede Wereldoorlog Steden + Afrika Amerika Azi Europa Oceani + Spanje Japan Australi Itali + Esperanto Spaans Latijn + Kunst & Cultuur, Sport + + Kunst & Cultuur, Sport + Film Literatuur Muziek Media + Autosport Atletiek Wielersport + Disney Shakespeare Strip + Wetenschap & Technologie + + Wetenschap & Technologie + Aardwetenschappen Astronomie Biologie + Geneeskunde Civiele techniek en bouwkunde + Geografie Informatica Natuurkunde + Scheikunde Verkeer en vervoer Wiskunde + Ruimtevaart Wetenschapsgeschiedenis Maritiem + Afbeelding van de dag + + Schimpanse, Pan troglodytes 3.JPG Een chimpansee met jong in Walter + Zoo, een dierentuin in Gossau (Sankt Gallen). + + Zusterprojecten + + Wikipedia is onderdeel van de Wikimedia Foundation, een + non-profitorganisatie, en heeft diverse zusterprojecten die ook van + wikisoftware gebruikmaken: + + Wiktprintable without text.svg + + WikiWoordenboek + Vrij woordenboek met betekenissen, vertalingen, etymologie en uitspraak + + Wikibooks-logo.svg + + Wikibooks + Handleidingen en vrije boeken + + WikiquoteL.jpg + + Wikiquote + Een vrije collectie van citaten en spreekwoorden + + WikinotizieLnl.png + + Wikinews + Vrije nieuwsbron (Engelstalig) + + WikisourceL.jpg + + Wikisource + Documenten uit het publieke domein + + WikispeciesL.jpg + + Wikispecies + Catalogus van alle soorten levende wezens + + CommonsL.jpg + + Commons + Centrale opslagplaats voor mediabestanden van de projecten + + Wikimedia Community Logo.svg + + Meta-Wiki + Internationale website over de projecten van Wikimedia + + WikiversityL.jpg + + Wikiversity + Verzameling van vrije onderwijsprojecten + + IncubatorL.png + + Incubator + Opstarten van nieuwe projecten + + Perscontact Publiekscontact Statistieken + Ontvangen van + "http://nl.wikipedia.org/w/index.php?title=Hoofdpagina&oldid=25351209" + Categorie: + * Alles + +Persoonlijke instellingen + + * Aanmelden / registreren + +Naamruimten + + * Artikel + * Overleg + +Varianten + +Weergaven + + * Lezen + * Brontekst bekijken + * Geschiedenis + +Handelingen + +Zoeken + + ____________________ (Submit) Zoeken + +Navigatie + + * Hoofdpagina + * Vind een artikel + * Vandaag + * Etalage + * Categorie雗 + * Recente wijzigingen + * Nieuwe artikelen + * Willekeurige pagina + +Informatie + + * Gebruikersportaal + * Snelcursus + * Hulp en contact + * Donaties + +Hulpmiddelen + + * Links naar deze pagina + * Verwante wijzigingen + * Bestand uploaden + * Speciale pagina's + * Permanente verwijzing + * Deze pagina citeren + +Afdrukken/exporteren + + * Boek maken + * Downloaden als PDF + * Printervriendelijke versie + +In andere talen + + * Afrikaans + * Alemannisch + * 苙glisc + * + * + * Aymar aru + * + * + * Catal + * esky + * Cymraeg + * Dansk + * Deutsch + * + * English + * Esperanto + * Espa駉l + * Eesti + * + * Suomi + * V鮮o + * Na Vosa Vakaviti + * Fran鏰is + * Frysk + * Gaeilge + * Galego + * Hawai`i + * + * Hrvatski + * Magyar + * Bahasa Indonesia + * Ido + * 蛃lenska + * Italiano + * + * Kalaallisut + * + * Kurd + * Latina + * L雝zebuergesch + * Limburgs + * Lietuvi + * Latvie歶 + * Mori + * Dorerin Naoero + * Nedersaksisch + * Norsk (nynorsk) + * Norsk (bokm錶) + * Papiamentu + * Deitsch + * Norfuk / Pitkern + * Polski + * + * Portugu阺 + * Rom鈔 + * + * Simple English + * Slovenina + * Sloven歩na + * Gagana Samoa + * Shqip + * / Srpski + * Sranantongo + * Svenska + * Kiswahili + * + * + * lea faka-Tonga + * Tok Pisin + * T黵k鏴 + * /Tatar鏰 + * Reo M`ohi + * + * Ting Vit + * West-Vlams + * Walon + * Winaray + * + * Ze陁ws + * + * + + * Deze pagina is het laatst bewerkt op 25 apr 2011 om 13:03. + * De tekst is beschikbaar onder de licentie Creative Commons + Naamsvermelding/Gelijk delen, er kunnen aanvullende voorwaarden van + toepassing zijn. Zie de Gebruiksvoorwaarden voor meer informatie. + Wikipedia is een geregistreerd handelsmerk van de Wikimedia + Foundation, Inc., een organisatie zonder winstoogmerk. + + * Privacybeleid + * Over Wikipedia + * Voorbehoud + * Mobiele weergave + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/no/UTF-8/wikitop_no_UTF-8.txt b/test/testdata/no/UTF-8/wikitop_no_UTF-8.txt new file mode 100644 index 0000000..045e4fb --- /dev/null +++ b/test/testdata/no/UTF-8/wikitop_no_UTF-8.txt @@ -0,0 +1,251 @@ +Portal:Forside + + Fra Wikipedia, den frie encyklopedi + G氓 til: navigasjon, s酶k + Velkommen til Wikipedia, + + den frie encyklopedi som du kan forbedre. + 315 168 artikler p氓 bokm氓l og riksm氓l + + Bla gjennom kategoriene 路 Alfabetisk liste 路 Portaler + Kategorier: Kultur 路 Geografi 路 Historie 路 Matematikk 路 Vitenskap 路 + Samfunn + Portaler: Kunst 路 Film 路 Historie 路 Samfunn 路 Geografi 路 Vitenskap 路 + Spr氓k + +Ukens artikkel (uke 42) + + Tittelbladet i Christian IIIs Bibel, fra 1550 + + Historien om Bibelen i Norge begynner p氓 slutten av 1200-tallet, da + deler av Det gamle testamente ble oversatt til gammelnorsk med navnet + Stj贸rn. Christian IIs nytestamente (1524) var den neste bibelteksten + som kom ut i Danmark-Norge. Christian II var i 1524 i Wittenberg, der + han ble inspirert av reformasjonen. + + Enkelte bibeloversettelser har f氓tt st酶rre betydning enn andre. For + noen, som for den nordsamiske oversettelsen fra 1895, kommer dette av + at de har v忙rt ener氓dende over lang tid. For andre, som Bibelselskapets + oversettelse fra 1930, kommer det av at det er sv忙rt gode + oversettelser. I 1891 kom den f酶rste hele oversettelsen av GT til + norsk, gjort direkte fra grunnspr氓kene. De f酶rste bibeltekstene p氓 + landsm氓l kom i 1859, da Ivar Aasen oversatte historien om den bortkomne + s酶nnen. Fyrebilsbibelen, som var den f酶rste hele bibeloversettelsen p氓 + nynorsk, kom i 1921. I oktober 2011 utkommer Bibel 2011, en ny + oversettelse fra Det Norske Bibelselskap. Les mer鈥 + + Om ukens artikkel 路 Arkiv over 氓rets artikler 路 209 utmerkede artikler + +Dagens skandinaviske artikkel (dansk) + + Winston Churchill, 1942 + + Winston Churchill (1874 - 1965) var en var en britisk politiker og + statsmand, som is忙r er kendt for sit lederskab af Storbritannien under + 2. verdenskrig. Han var premierminister i Storbritannien 1940鈥45 og + 1951鈥55. Han betragtes i vide kredse som en af de st酶rste ledere i + krigstid. + + Ved siden af sit politiske arbejde var han forfatter til 37 b酶ger, og + han n氓ede at male over 500 malerier. Som forfatter skrev han navnlig + popul忙rhistoriske v忙rker samt oversigtsv忙rker over samtiden. Han er den + eneste britiske premierminister, som har modtaget Nobelprisen i + litteratur, og han var den f酶rste, som blev udn忙vnt til 忙resborger i + USA. + + Churchill blev f酶dt ind i en aristokratisk familie. Hans far Randolph + Churchill, som var efterkommer af hertugen af Marlborough, var en + karismatisk politiker, som bl.a. var britisk finansminister. Hans mor, + Jenny Jerome, stammede fra en velhavende amerikansk familie. L忙s mere + + Arkiv 路 Dette er ukens artikkel p氓 dansk Wikipedia + +S酶sterprosjekter + + Wikipedia utgis av den ideelle organisasjonen Wikimedia Foundation, som + driver flere flerspr氓klige og frie prosjekter hvor alle kan bidra. + + + Wikimedia Community Logo.svg Meta-Wiki + Koordinasjonsside for Wikimedia-prosjekter Commons-logo.svg Commons + Lagringssted for delt multimedieinnhold + Wiktionary-logo-en.png Wiktionary + Fri ordbok Wikibooks-logo.svg Wikib酶ker + B酶ker og manualer + Wikiquote-logo.svg Wikiquote + Sitatsamling Wikisource-logo.svg Wikikilden + Originale tekster + Wikispecies-logo.svg Wikispecies + Oppslagsverk over dyre- og plantearter Wikinews-logo.png Wikinytt + Nyhetstjeneste med fritt innhold + +Om Wikipedia + + Wikipedia er en encyklopedi p氓 mer enn 270 spr氓k, som skrives av + frivillige bidragsytere fra hele verden. Innholdet kan kopieres og + brukes fritt. Vi startet i 2001 og arbeider n氓 p氓 mer enn 19 millioner + artikler, hvorav 315 168 i den norske utgaven p氓 bokm氓l og riksm氓l. P氓 + den nynorske versjonen arbeides det p氓 over 72 000 artikler. Les mer om + hvordan du kan bidra! + +Aktuelt + + Muammar al-Gaddafi at the AU summit.jpg + * Libyas tidligere leder Muammar al-Gaddafi (bildet) blir drept i + Surt. + + * Julian Barnes f氓r Bookerprisen for romanen The Sense of an Ending. + + * Sl氓ttehumle fotografert i Norge for f酶rste gang. + + * Nordisk R氓ds filmpris tildeles den svenske filmen Skyggesiden. + __________________________________________________________________ + + Bakgrunn: Terrorangrepene i Norge 鈥 Oppr酶r i den arabiske verden + Kultur: Bergen internasjonale filmfestival + Sport: Panamerikanske leker + +I dag + + Den 21. oktober: + Florence Nightingale + * 1805 鈥 Napoleonskrigene: Napoleon m氓tte oppgi planene om invasjon + av England etter tapet i Slaget ved Trafalgar. + * 1833 鈥 Alfred Nobel ble f酶dt. + * 1854 鈥 Florence Nightingale (bildet) og en stab p氓 38 sykepleiere + ble sendt til Krimkrigen. + * 1944 鈥 Andre verdenskrig: Slaget om Aachen tok slutt da de + gjenv忙rende tyske styrkene overga seg til amerikanerne. + * 1962 鈥 Hurtigruteskipet MS 芦Sanct Svithun禄 forliste ved Nord酶yan + fyr p氓 Folda. + * 1983 鈥 CGPM redefinerte en meter som den avstanden lyset + tilbakelegger i et vakuum i l酶pet av 1/299 792 458 av et sekund. + * 1984 鈥 Den franske filmskaperen Fran莽ois Truffaut d酶de. + +Nylig avd酶de + + Muammar al-Gaddafi + * 20. oktober 鈥 Muammar al-Gaddafi (bildet), libysk diktator (69) + * 17. oktober 鈥 Benito Nava, italienskf酶dt restaurat酶r og musiker + (75) + * 10. oktober 鈥 Ulf L枚fgren, svensk barnebokkunstner (79) + + Flere nylig avd酶de + +Visste du at ... + + Ringmerke + * 鈥 at mer enn 7 millioner fugl er ringmerket (bildet) i Norge? + * 鈥 John Eliot (1604鈥90) var den f酶rste som oversatte Bibelen til et + indianerspr氓k? + * 鈥 escolar eller 芦sm酶rfisk禄 er popul忙r i sushi, men har v忙rt forbudt + i Japan siden 1977? + + Fakta ovenfor er hentet fra noen av de nyeste artiklene v氓re. + + Hentet fra + 芦http://no.wikipedia.org/w/index.php?title=Portal:Forside&oldid=8939782 + 禄 + Kategori: + * Wikipedia + +Personlig + + * Logg inn eller opprett en konto + +Navnerom + + * Portal + * Diskusjon + +Varianter + +Visninger + + * Les + * Vis kildetekst + * Vis historikk + +Handlinger + +S酶k + + ____________________ (Submit) S酶k + +Navigasjon + + * Forside + * Svaksynte + * Anbefalte artikler + * Utmerkede artikler + * Hjelpesider + * Siste endringer + +Prosjekt + + * Prosjektportal + * Tinget + * Tilfeldig side + +Wikipedia + + * Kontakt Wikipedia + * Donasjoner + * Wikimedia Norge + +Andre + +Eksternt + +Lager + +Utskrift + + * Opprett en bok + * Last ned som PDF + * Utskriftsversjon + +Verkt酶y + + * Lenker hit + * Relaterte endringer + * Spesialsider + * Permanent lenke + +P氓 andre spr氓k + + * 鈥狽orsk (nynorsk)鈥 + * Dansk + * Svenska + * Catal脿 + * Deutsch + * English + * Espa帽ol + * Suomi + * F酶royskt + * Fran莽ais + * 脥slenska + * Italiano + * 鏃ユ湰瑾 + * Nederlands + * Polski + * Portugu锚s + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * S谩megiella + * T眉rk莽e + * 校泻褉邪褩薪褋褜泻邪 + * 涓枃 + + * Denne siden ble sist endret 14. jun 2011 kl. 21:30. + * Innholdet er tilgjengelig under Creative Commons-lisensen + Navngivelse-Del p氓 samme vilk氓r, men ytterligere betingelser kan + gjelde. Se bruksvilk氓rene for detaljer. + + * Personvern + * Om Wikipedia + * Forbehold + * Mobilvisning + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt b/test/testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt new file mode 100644 index 0000000..6f21bb3 --- /dev/null +++ b/test/testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt @@ -0,0 +1,253 @@ + #Wikipedia (no) copyright Wikipedia Atom-mating + +Portal:Forside + + Fra Wikipedia, den frie encyklopedi + G til: navigasjon, s鴎 + Velkommen til Wikipedia, + + den frie encyklopedi som du kan forbedre. + 315 168 artikler p bokm錶 og riksm錶 + + Bla gjennom kategoriene Alfabetisk liste Portaler + Kategorier: Kultur Geografi Historie Matematikk Vitenskap + Samfunn + Portaler: Kunst Film Historie Samfunn Geografi Vitenskap + Spr錵 + +Ukens artikkel (uke 42) + + Tittelbladet i Christian IIIs Bibel, fra 1550 + + Historien om Bibelen i Norge begynner p slutten av 1200-tallet, da + deler av Det gamle testamente ble oversatt til gammelnorsk med navnet + Stj髍n. Christian IIs nytestamente (1524) var den neste bibelteksten + som kom ut i Danmark-Norge. Christian II var i 1524 i Wittenberg, der + han ble inspirert av reformasjonen. + + Enkelte bibeloversettelser har f錿t st鴕re betydning enn andre. For + noen, som for den nordsamiske oversettelsen fra 1895, kommer dette av + at de har v鎟t ener錮ende over lang tid. For andre, som Bibelselskapets + oversettelse fra 1930, kommer det av at det er sv鎟t gode + oversettelser. I 1891 kom den f鴕ste hele oversettelsen av GT til + norsk, gjort direkte fra grunnspr錵ene. De f鴕ste bibeltekstene p + landsm錶 kom i 1859, da Ivar Aasen oversatte historien om den bortkomne + s鴑nen. Fyrebilsbibelen, som var den f鴕ste hele bibeloversettelsen p + nynorsk, kom i 1921. I oktober 2011 utkommer Bibel 2011, en ny + oversettelse fra Det Norske Bibelselskap. Les mer + + Om ukens artikkel Arkiv over 錼ets artikler 209 utmerkede artikler + +Dagens skandinaviske artikkel (dansk) + + Winston Churchill, 1942 + + Winston Churchill (1874 - 1965) var en var en britisk politiker og + statsmand, som is鎟 er kendt for sit lederskab af Storbritannien under + 2. verdenskrig. Han var premierminister i Storbritannien 194045 og + 195155. Han betragtes i vide kredse som en af de st鴕ste ledere i + krigstid. + + Ved siden af sit politiske arbejde var han forfatter til 37 b鴊er, og + han n錯de at male over 500 malerier. Som forfatter skrev han navnlig + popul鎟historiske v鎟ker samt oversigtsv鎟ker over samtiden. Han er den + eneste britiske premierminister, som har modtaget Nobelprisen i + litteratur, og han var den f鴕ste, som blev udn鎣nt til 鎟esborger i + USA. + + Churchill blev f鴇t ind i en aristokratisk familie. Hans far Randolph + Churchill, som var efterkommer af hertugen af Marlborough, var en + karismatisk politiker, som bl.a. var britisk finansminister. Hans mor, + Jenny Jerome, stammede fra en velhavende amerikansk familie. L鎠 mere + + Arkiv Dette er ukens artikkel p dansk Wikipedia + +S鴖terprosjekter + + Wikipedia utgis av den ideelle organisasjonen Wikimedia Foundation, som + driver flere flerspr錵lige og frie prosjekter hvor alle kan bidra. + + + Wikimedia Community Logo.svg Meta-Wiki + Koordinasjonsside for Wikimedia-prosjekter Commons-logo.svg Commons + Lagringssted for delt multimedieinnhold + Wiktionary-logo-en.png Wiktionary + Fri ordbok Wikibooks-logo.svg Wikib鴎er + B鴎er og manualer + Wikiquote-logo.svg Wikiquote + Sitatsamling Wikisource-logo.svg Wikikilden + Originale tekster + Wikispecies-logo.svg Wikispecies + Oppslagsverk over dyre- og plantearter Wikinews-logo.png Wikinytt + Nyhetstjeneste med fritt innhold + +Om Wikipedia + + Wikipedia er en encyklopedi p mer enn 270 spr錵, som skrives av + frivillige bidragsytere fra hele verden. Innholdet kan kopieres og + brukes fritt. Vi startet i 2001 og arbeider n p mer enn 19 millioner + artikler, hvorav 315 168 i den norske utgaven p bokm錶 og riksm錶. P + den nynorske versjonen arbeides det p over 72 000 artikler. Les mer om + hvordan du kan bidra! + +Aktuelt + + Muammar al-Gaddafi at the AU summit.jpg + * Libyas tidligere leder Muammar al-Gaddafi (bildet) blir drept i + Surt. + + * Julian Barnes f錼 Bookerprisen for romanen The Sense of an Ending. + + * Sl錿tehumle fotografert i Norge for f鴕ste gang. + + * Nordisk R錮s filmpris tildeles den svenske filmen Skyggesiden. + __________________________________________________________________ + + Bakgrunn: Terrorangrepene i Norge Oppr鴕 i den arabiske verden + Kultur: Bergen internasjonale filmfestival + Sport: Panamerikanske leker + +I dag + + Den 21. oktober: + Florence Nightingale + * 1805 Napoleonskrigene: Napoleon m錿te oppgi planene om invasjon + av England etter tapet i Slaget ved Trafalgar. + * 1833 Alfred Nobel ble f鴇t. + * 1854 Florence Nightingale (bildet) og en stab p 38 sykepleiere + ble sendt til Krimkrigen. + * 1944 Andre verdenskrig: Slaget om Aachen tok slutt da de + gjenv鎟ende tyske styrkene overga seg til amerikanerne. + * 1962 Hurtigruteskipet MS 玈anct Svithun forliste ved Nord鴜an + fyr p Folda. + * 1983 CGPM redefinerte en meter som den avstanden lyset + tilbakelegger i et vakuum i l鴓et av 1/299 792 458 av et sekund. + * 1984 Den franske filmskaperen Fran鏾is Truffaut d鴇e. + +Nylig avd鴇e + + Muammar al-Gaddafi + * 20. oktober Muammar al-Gaddafi (bildet), libysk diktator (69) + * 17. oktober Benito Nava, italienskf鴇t restaurat鴕 og musiker + (75) + * 10. oktober Ulf L鰂gren, svensk barnebokkunstner (79) + + Flere nylig avd鴇e + +Visste du at ... + + Ringmerke + * at mer enn 7 millioner fugl er ringmerket (bildet) i Norge? + * John Eliot (160490) var den f鴕ste som oversatte Bibelen til et + indianerspr錵? + * escolar eller 玸m鴕fisk er popul鎟 i sushi, men har v鎟t forbudt + i Japan siden 1977? + + Fakta ovenfor er hentet fra noen av de nyeste artiklene v錼e. + + Hentet fra + 玥ttp://no.wikipedia.org/w/index.php?title=Portal:Forside&oldid=8939782 + + Kategori: + * Wikipedia + +Personlig + + * Logg inn eller opprett en konto + +Navnerom + + * Portal + * Diskusjon + +Varianter + +Visninger + + * Les + * Vis kildetekst + * Vis historikk + +Handlinger + +S鴎 + + ____________________ (Submit) S鴎 + +Navigasjon + + * Forside + * Svaksynte + * Anbefalte artikler + * Utmerkede artikler + * Hjelpesider + * Siste endringer + +Prosjekt + + * Prosjektportal + * Tinget + * Tilfeldig side + +Wikipedia + + * Kontakt Wikipedia + * Donasjoner + * Wikimedia Norge + +Andre + +Eksternt + +Lager + +Utskrift + + * Opprett en bok + * Last ned som PDF + * Utskriftsversjon + +Verkt鴜 + + * Lenker hit + * Relaterte endringer + * Spesialsider + * Permanent lenke + +P andre spr錵 + + * Norsk (nynorsk) + * Dansk + * Svenska + * Catal + * Deutsch + * English + * Espa駉l + * Suomi + * F鴕oyskt + * Fran鏰is + * 蛃lenska + * Italiano + * + * Nederlands + * Polski + * Portugu阺 + * Rom鈔 + * + * S醡egiella + * T黵k鏴 + * + * + + * Denne siden ble sist endret 14. jun 2011 kl. 21:30. + * Innholdet er tilgjengelig under Creative Commons-lisensen + Navngivelse-Del p samme vilk錼, men ytterligere betingelser kan + gjelde. Se bruksvilk錼ene for detaljer. + + * Personvern + * Om Wikipedia + * Forbehold + * Mobilvisning + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt b/test/testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt new file mode 100644 index 0000000..f5626e1 --- /dev/null +++ b/test/testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt @@ -0,0 +1,272 @@ +Strona g丑wna + + Z Wikipedii, wolnej encyklopedii + Skocz do: nawigacji, szukaj + + Nauki 禼is砮 i przyrodnicze Nauki spo砮czne i humanistyczne + Technika Geografia + Historia Kultura Spo砮cze駍two Sport Religie Polska + Wi阠ej portali Indeks hase Przegl眃 kategorii + + Witaj w Wikipedii wolnej encyklopedii, kt髍 ka縟y mo縠 redagowa. + + W polskiej wersji mamy 837 872 has砤. + Gromadzimy i udost阷niamy wiedz. + Do潮cz do nas! + +Czy wiesz... + + Z nowych artyku丑w w Wikipedii: + Slushko Palace.jpg + + na jakim p蟪wyspie stan背 wile駍ki Pa砤c S硊szk體? + + dlaczego gro縪no 秏ierci ameryka駍kiej socjolo縞e Idzie + Wells-Barnett? + Antonowka 2.jpg + + jak zako馽zy砤 si obrona Anton體ki, o秗odka polskiej samoobrony na + Wo硑niu? + + jakim wydarzeniom w 1920 roku po秝i阠ony by kalendarzyk + ekspresjonistyczny? + + w kt髍ych obozach koncentracyjnych by wi陑iony Teodor Hilary + Drapiewski? + Zaproponuj artyku do ekspozycji Jak napisa nowe has硂? + +Wydarzenia + + G丑d w Rogu Afryki Puchar 秝iata w rugby + __________________________________________________________________ + + Muammar al-Kaddafi, 2 lutego 2009 + * W okolicach Syrty zgin背 by硑 przyw骴ca Libii Muammar al-Kaddafi + (na zdj阠iu). (20 pa糳ziernika) + + * W wyniku negocjacji Izraela z w砤dzami Autonomii Palesty駍kiej, + Gilad Szalit zosta uwolniony przez Hamas w zamian za 1027 + Palesty馽zyk體. (18 pa糳ziernika) + + * W trakcie wy禼igu Indy Racing League dosz硂 do karambolu, w kt髍ym + zgin背 Dan Wheldon. (16 pa糳ziernika) + + * W Moskwie ods硂ni阾o pierwszy w Rosji pomnik Jana Paw砤 II. Ma + ponad 1,8 m wysoko禼i i wa縴 dwie tony. (14 pa糳ziernika) + + * Julia Tymoszenko zosta砤 uznana za winn nadu縴 i skazana na + siedem lat wi陑ienia. (11 pa糳ziernika) + + Wi阠ej: w Wikipedii, w Wikinews + +Rocznice + + 21 pa糳ziernika: imieniny obchodz Celina, Jakub, Urszula + Willy Brandt + * 1824 Joseph Aspdin opatentowa cement portlandzki + * 1833 urodzi si Alfred Nobel, szwedzki chemik, wynalazca i + filantrop, fundator Nagrody Nobla + * 1929 urodzi砤 si Ursula K. Le Guin, ameryka駍ka pisarka + fantastyki + * 1956 I sekretarzem PZPR w miejsce Edwarda Ochaba zosta W砤dys砤w + Gomu砶a + * 1963 w ob砤wie SB i ZOMO zgin背 J髗ef Franczak ps. Lalek, ostatni + 縪硁ierz polskiego podziemia + * 1969 zmar Wac砤w Sierpi駍ki, polski matematyk + * 1969 Willy Brandt (na zdj阠iu), przyw骴ca SPD, zosta kanclerzem + Niemieckiej Republiki Federalnej + + 20 pa糳ziernika Kalendarium dzie po dniu 22 pa糳ziernika + +Artyku na medal + + Bazyli doroszkiewicz.jpg + Bazyli, imi 秝ieckie: W硂dzimierz Doroszkiewicz (ur. 15 marca 1914 w + Cisach w Prusach Wschodnich, zm. 11 lutego 1998 w Warszawie) pi眛y + metropolita warszawski i ca砮j Polski, zwierzchnik Polskiego + Autokefalicznego Ko禼io砤 Prawos砤wnego od 1970 do 秏ierci w 1998. W + 1938 przyj背 秝i阠enia kap砤駍kie. Do 1960 prowadzi prac + duszpastersk w r罂nych parafiach na Bia硂stocczy糿ie oraz + Grodzie駍zczy糿ie. W grudniu 1959 z硂縴 wieczyste 秎uby zakonne, + przyjmuj眂 imi Bazyli. W 1970 obj背 urz眃 metropolity warszawskiego i + ca砮j Polski. W okresie pe硁ienia przez niego zwierzchnictwa w PAKP + dosz硂 do znacznego o縴wienia kontakt體 z innymi lokalnymi Ko禼io砤mi + prawos砤wnymi, jak r體nie do otwarcia czterech monaster體 i powo砤nia + dw骳h nowych diecezji oraz Prawos砤wnego Ordynariatu Wojska Polskiego. + Medalowe artyku硑 Wikipedii Aktualne Jak wybieramy najlepsze? + +Dobry artyku + + Chinchilla lanigera (Wroclaw zoo)-2.JPG + + Jeszcze w czasach prekolumbijskich Indianie wykorzystywali sk髍ki + szynszyli do wykonywania okry wierzchnich, kt髍e z czasem sta硑 si + symbolem luksusu. Na pi阫ne futro tych zwierz眛 zwr骳ili uwag, po + podboju Ameryki Po硊dniowej, tak縠 Europejczycy, a w pocz眛ku XIX wieku + szynszyle zacz瓿y by zabijane na przemys硂w skal. Rabunkowa + gospodarka 硂wiecka doprowadzi砤 do wybicia niemal ca砮j populacji tych + zwierz眛 na wolno禼i. Szynszyla ma砤 縴je obecnie niemal wy潮cznie na + terenie Parku Narodowego Szynszyli (hiszp. Las Chinchillas National + Reserve) rezerwatu po硂縪nego w okolicy miasta Illapel w chilijskiej + prowincji Choapa. Szynszyla ma砤 jest obecnie zaliczana przez IUCN do + gatunk體 krytycznie zagro縪nych na wolno禼i, a liczebno舵 jej populacji + stale spada. + Zbi髍 dobrych artyku丑w Jak pisa w stylu encyklopedycznym? + +Ilustracja na medal + + Aurora Borealis NO.JPG + Zorza polarna aurora borealis + Katalog medalowych ilustracji Wikipedii Jak zilustrowa artyku? + +Z 縴cia Wikipedii + + Aby by na bie勘co z tym, co si dzieje w Wikipedii, przejrzyj tablic + og硂sze. + * W konkursie Wiki Lubi Zabytki pobito rekord Guinnessa przes砤no + ponad 160 000 fotografii. + * Zobacz co si dzieje na Planecie Wikimedia. + * Czym jest Wikipedia? Na jakich zasadach dzia砤? Podstawowe + informacje o Wikipedii. + * Zapoznaj si z interaktywnym wst阷em do edytowania. + * Masz pytania? Poszukaj odpowiedzi w FAQ. Zobacz te indeks + przydatnych stron. + + PL Wiki copyleft ikona.svg Prawa autorskie + PL Wiki NPOV ikona.svg Neutralny punkt widzenia + PL Wiki weryfikowalnosc ikona.svg Bez tw髍czo禼i w砤snej + oraz Weryfikowalno舵 + PL Wiki CWNJ ikona.svg Zobacz, czym Wikipedia nie jest + PL Wiki pomoc ikona.svg Wikietykieta + PL Wiki kopiowanie ikona.svg Jak legalnie kopiowa tre禼i z + Wikipedii + + +Siostrzane projekty Wikipedii + + Commons + + Commons + Repozytorium medi體 + Wikis硂wnik + + Wikis硂wnik + Wieloj陑yczny s硂wnik + Wikispecies + + Wikispecies + Katalog gatunk體 + Wiki紃骴砤 + + Wiki紃骴砤 + Dokumenty 紃骴硂we + Wikicytaty + + Wikicytaty + Kolekcja cytat體 + Wikiversytet + + Wikiwersytet + Wsp髄nota wolnej wiedzy + Wikibooks + + Wikibooks + Wolne podr阠zniki + Wikinews + + Wikinews + Serwis informacyjny + Meta-Wiki + + Meta-Wiki + Koordynacja projekt體 + + Prawn i techniczn odpowiedzialno舵 za Wikipedi ponosi Fundacja + Wikimedia. + + Partnerem Fundacji jest Stowarzyszenie Wikimedia Polska, zajmuj眂e si + promocj Wikipedii w Polsce. + + Nowi u縴tkownicy mog znale兼 pomoc u innych cz硂nk體 spo砮czno禼i + m.in. u przewodnik體 i administrator體. Zobacz te inne formy kontaktu + z Wikipedi. + 瑀骴硂 + http://pl.wikipedia.org/w/index.php?title=Strona_g%C5%82%C3%B3wna&oldi + d=28178940 + Kategoria: + * Strona g丑wna + +Osobiste + + * Logowanie i rejestracja + +Przestrzenie nazw + + * Strona g丑wna + * Dyskusja + +Warianty + +Widok + + * Czytaj + * Tekst 紃骴硂wy + * Historia i autorzy + +Dzia砤nia + +Szukaj + + ____________________ (Submit) Szukaj + +Nawigacja + + * Strona g丑wna + * Kategorie artyku丑w + * Najlepsze has砤 + * Losuj artyku + +Dla czytelnik體 + + * Zg硂 b潮d + * Zg硂 b潮d w pliku + * Cz阺te pytania (FAQ) + * Kontakt + * Wykluczenie odpowiedzialno禼i + * Wspom罂 Wikipedi + +Dla wikipedyst體 + + * Ostatnie zmiany + * Zasady edytowania + * Pomoc + * Portal wikipedyst體 + * Og硂szenia + +Drukuj lub eksportuj + + * Utw髍z ksi笨k + * Pobierz jako PDF + * Wersja do druku + +Narz阣zia + + * Linkuj眂e + * Zmiany w dolinkowanych + * Strony specjalne + * Link do tej wersji + * Cytowanie tego artyku硊 + +W innych j陑ykach + * T stron ostatnio zmodyfikowano 23:44, 29 wrz 2011. + * Tekst udost阷niany na licencji Creative Commons: uznanie autorstwa, + na tych samych warunkach, z mo縧iwo禼i obowi眤ywania dodatkowych + ogranicze. Zobacz szczeg蟪owe informacje o warunkach korzystania. + + * Zasady zachowania poufno禼i + * O Wikipedii + * Korzystasz z Wikipedii tylko na w砤sn odpowiedzialno舵 + * Wersja na kom髍k + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt b/test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt new file mode 100644 index 0000000..4707c99 --- /dev/null +++ b/test/testdata/pl/UTF-8/wikitop_pl_UTF-8.txt @@ -0,0 +1,271 @@ +Strona g艂贸wna + + Z Wikipedii, wolnej encyklopedii + Skocz do: nawigacji, szukaj + + Nauki 艣cis艂e i przyrodnicze 鈥 Nauki spo艂eczne i humanistyczne 鈥 + Technika 鈥 Geografia + Historia 鈥 Kultura 鈥 Spo艂ecze艅stwo 鈥 Sport 鈥 Religie 鈥 Polska + Wi臋cej portali 鈥 Indeks hase艂 鈥 Przegl膮d kategorii + + Witaj w Wikipedii wolnej encyklopedii, kt贸r膮 ka偶dy mo偶e redagowa膰. + + W polskiej wersji mamy 837 872 has艂a. + Gromadzimy i udost臋pniamy wiedz臋. + Do艂膮cz do nas! + +Czy wiesz... + + Z nowych artyku艂贸w w Wikipedii: + Slushko Palace.jpg + + 鈥a jakim p贸艂wyspie stan膮艂 wile艅ski Pa艂ac S艂uszk贸w? + + 鈥laczego gro偶ono 艣mierci膮 ameryka艅skiej socjolo偶ce Idzie + Wells-Barnett? + Antonowka 2.jpg + + 鈥ak zako艅czy艂a si臋 obrona Anton贸wki, o艣rodka polskiej samoobrony na + Wo艂yniu? + + 鈥akim wydarzeniom w 1920 roku po艣wi臋cony by艂 kalendarzyk + ekspresjonistyczny? + + 鈥 kt贸rych obozach koncentracyjnych by艂 wi臋ziony Teodor Hilary + Drapiewski? + Zaproponuj artyku艂 do ekspozycji 鈥 Jak napisa膰 nowe has艂o? + +Wydarzenia + + G艂贸d w Rogu Afryki 鈥 Puchar 艣wiata w rugby + __________________________________________________________________ + + Muammar al-Kaddafi, 2 lutego 2009 + * W okolicach Syrty zgin膮艂 by艂y przyw贸dca Libii Muammar al-Kaddafi + (na zdj臋ciu). (20 pa藕dziernika) + + * W wyniku negocjacji Izraela z w艂adzami Autonomii Palesty艅skiej, + Gilad Szalit zosta艂 uwolniony przez Hamas w zamian za 1027 + Palesty艅czyk贸w. (18 pa藕dziernika) + + * W trakcie wy艣cigu Indy Racing League dosz艂o do karambolu, w kt贸rym + zgin膮艂 Dan Wheldon. (16 pa藕dziernika) + + * W Moskwie ods艂oni臋to pierwszy w Rosji pomnik Jana Paw艂a II. Ma + ponad 1,8 m wysoko艣ci i wa偶y dwie tony. (14 pa藕dziernika) + + * Julia Tymoszenko zosta艂a uznana za winn膮 nadu偶y膰 i skazana na + siedem lat wi臋zienia. (11 pa藕dziernika) + + Wi臋cej: w Wikipedii, w Wikinews + +Rocznice + + 21 pa藕dziernika: imieniny obchodz膮 Celina, Jakub, Urszula + Willy Brandt + * 1824 鈥 Joseph Aspdin opatentowa艂 cement portlandzki + * 1833 鈥 urodzi艂 si臋 Alfred Nobel, szwedzki chemik, wynalazca i + filantrop, fundator Nagrody Nobla + * 1929 鈥 urodzi艂a si臋 Ursula K. Le Guin, ameryka艅ska pisarka + fantastyki + * 1956 鈥 I sekretarzem PZPR w miejsce Edwarda Ochaba zosta艂 W艂adys艂aw + Gomu艂ka + * 1963 鈥 w ob艂awie SB i ZOMO zgin膮艂 J贸zef Franczak ps. Lalek, ostatni + 偶o艂nierz polskiego podziemia + * 1969 鈥 zmar艂 Wac艂aw Sierpi艅ski, polski matematyk + * 1969 鈥 Willy Brandt (na zdj臋ciu), przyw贸dca SPD, zosta艂 kanclerzem + Niemieckiej Republiki Federalnej + + 20 pa藕dziernika 鈥 Kalendarium dzie艅 po dniu 鈥 22 pa藕dziernika + +Artyku艂 na medal + + Bazyli doroszkiewicz.jpg + Bazyli, imi臋 艣wieckie: W艂odzimierz Doroszkiewicz (ur. 15 marca 1914 w + Cisach w Prusach Wschodnich, zm. 11 lutego 1998 w Warszawie) 鈥 pi膮ty + metropolita warszawski i ca艂ej Polski, zwierzchnik Polskiego + Autokefalicznego Ko艣cio艂a Prawos艂awnego od 1970 do 艣mierci w 1998. W + 1938 przyj膮艂 艣wi臋cenia kap艂a艅skie. Do 1960 prowadzi艂 prac臋 + duszpastersk膮 w r贸偶nych parafiach na Bia艂ostocczy藕nie oraz + Grodzie艅szczy藕nie. W grudniu 1959 z艂o偶y艂 wieczyste 艣luby zakonne, + przyjmuj膮c imi臋 Bazyli. W 1970 obj膮艂 urz膮d metropolity warszawskiego i + ca艂ej Polski. W okresie pe艂nienia przez niego zwierzchnictwa w PAKP + dosz艂o do znacznego o偶ywienia kontakt贸w z innymi lokalnymi Ko艣cio艂ami + prawos艂awnymi, jak r贸wnie偶 do otwarcia czterech monaster贸w i powo艂ania + dw贸ch nowych diecezji oraz Prawos艂awnego Ordynariatu Wojska Polskiego. + Medalowe artyku艂y Wikipedii 鈥 Aktualne 鈥 Jak wybieramy najlepsze? + +Dobry artyku艂 + + Chinchilla lanigera (Wroclaw zoo)-2.JPG + + Jeszcze w czasach prekolumbijskich Indianie wykorzystywali sk贸rki + szynszyli do wykonywania okry膰 wierzchnich, kt贸re z czasem sta艂y si臋 + symbolem luksusu. Na pi臋kne futro tych zwierz膮t zwr贸cili uwag臋, po + podboju Ameryki Po艂udniowej, tak偶e Europejczycy, a w pocz膮tku XIX wieku + szynszyle zacz臋艂y by膰 zabijane na przemys艂ow膮 skal臋. Rabunkowa + gospodarka 艂owiecka doprowadzi艂a do wybicia niemal ca艂ej populacji tych + zwierz膮t na wolno艣ci. Szynszyla ma艂a 偶yje obecnie niemal wy艂膮cznie na + terenie Parku Narodowego Szynszyli (hiszp. Las Chinchillas National + Reserve) 鈥 rezerwatu po艂o偶onego w okolicy miasta Illapel w chilijskiej + prowincji Choapa. Szynszyla ma艂a jest obecnie zaliczana przez IUCN do + gatunk贸w krytycznie zagro偶onych na wolno艣ci, a liczebno艣膰 jej populacji + stale spada. + Zbi贸r dobrych artyku艂贸w 鈥 Jak pisa膰 w stylu encyklopedycznym? + +Ilustracja na medal + + Aurora Borealis NO.JPG + Zorza polarna aurora borealis + Katalog medalowych ilustracji Wikipedii 鈥 Jak zilustrowa膰 artyku艂? + +Z 偶ycia Wikipedii + + Aby by膰 na bie偶膮co z tym, co si臋 dzieje w Wikipedii, przejrzyj tablic臋 + og艂osze艅. + * W konkursie Wiki Lubi Zabytki pobito rekord Guinnessa 鈥 przes艂ano + ponad 160 000 fotografii. + * Zobacz co si臋 dzieje na Planecie Wikimedia. + * Czym jest Wikipedia? Na jakich zasadach dzia艂a? Podstawowe + informacje o Wikipedii. + * Zapoznaj si臋 z interaktywnym wst臋pem do edytowania. + * Masz pytania? Poszukaj odpowiedzi w FAQ. Zobacz te偶 indeks + przydatnych stron. + + PL Wiki copyleft ikona.svg Prawa autorskie + PL Wiki NPOV ikona.svg Neutralny punkt widzenia + PL Wiki weryfikowalnosc ikona.svg Bez tw贸rczo艣ci w艂asnej + oraz Weryfikowalno艣膰 + PL Wiki CWNJ ikona.svg Zobacz, czym Wikipedia nie jest + PL Wiki pomoc ikona.svg Wikietykieta + PL Wiki kopiowanie ikona.svg Jak legalnie kopiowa膰 tre艣ci z + Wikipedii + + +Siostrzane projekty Wikipedii + + Commons + + Commons + Repozytorium medi贸w + Wikis艂ownik + + Wikis艂ownik + Wieloj臋zyczny s艂ownik + Wikispecies + + Wikispecies + Katalog gatunk贸w + Wiki藕r贸d艂a + + Wiki藕r贸d艂a + Dokumenty 藕r贸d艂owe + Wikicytaty + + Wikicytaty + Kolekcja cytat贸w + Wikiversytet + + Wikiwersytet + Wsp贸lnota wolnej wiedzy + Wikibooks + + Wikibooks + Wolne podr臋czniki + Wikinews + + Wikinews + Serwis informacyjny + Meta-Wiki + + Meta-Wiki + Koordynacja projekt贸w + + Prawn膮 i techniczn膮 odpowiedzialno艣膰 za Wikipedi臋 ponosi Fundacja + Wikimedia. + + Partnerem Fundacji jest Stowarzyszenie Wikimedia Polska, zajmuj膮ce si臋 + promocj膮 Wikipedii w Polsce. + + Nowi u偶ytkownicy mog膮 znale藕膰 pomoc u innych cz艂onk贸w spo艂eczno艣ci + m.in. u przewodnik贸w i administrator贸w. Zobacz te偶 inne formy kontaktu + z Wikipedi膮. + 殴r贸d艂o + 鈥瀐ttp://pl.wikipedia.org/w/index.php?title=Strona_g%C5%82%C3%B3wna&oldi + d=28178940鈥 + Kategoria: + * Strona g艂贸wna + +Osobiste + + * Logowanie i rejestracja + +Przestrzenie nazw + + * Strona g艂贸wna + * Dyskusja + +Warianty + +Widok + + * Czytaj + * Tekst 藕r贸d艂owy + * Historia i autorzy + +Dzia艂ania + +Szukaj + + ____________________ (Submit) Szukaj + +Nawigacja + + * Strona g艂贸wna + * Kategorie artyku艂贸w + * Najlepsze has艂a + * Losuj artyku艂 + +Dla czytelnik贸w + + * Zg艂o艣 b艂膮d + * Zg艂o艣 b艂膮d w pliku + * Cz臋ste pytania (FAQ) + * Kontakt + * Wykluczenie odpowiedzialno艣ci + * Wspom贸偶 Wikipedi臋 + +Dla wikipedyst贸w + + * Ostatnie zmiany + * Zasady edytowania + * Pomoc + * Portal wikipedyst贸w + * Og艂oszenia + +Drukuj lub eksportuj + + * Utw贸rz ksi膮偶k臋 + * Pobierz jako PDF + * Wersja do druku + +Narz臋dzia + + * Linkuj膮ce + * Zmiany w dolinkowanych + * Strony specjalne + * Link do tej wersji + * Cytowanie tego artyku艂u + + * T臋 stron臋 ostatnio zmodyfikowano 23:44, 29 wrz 2011. + * Tekst udost臋pniany na licencji Creative Commons: uznanie autorstwa, + na tych samych warunkach, z mo偶liwo艣ci膮 obowi膮zywania dodatkowych + ogranicze艅. Zobacz szczeg贸艂owe informacje o warunkach korzystania. + + * Zasady zachowania poufno艣ci + * O Wikipedii + * Korzystasz z Wikipedii tylko na w艂asn膮 odpowiedzialno艣膰 + * Wersja na kom贸rk臋 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt b/test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt new file mode 100644 index 0000000..a6837f2 --- /dev/null +++ b/test/testdata/pt/UTF-8/wikitop_pt_UTF-8.txt @@ -0,0 +1,309 @@ +Wikip茅dia:P谩gina principal + + Origem: Wikip茅dia, a enciclop茅dia livre. + Ir para: navega莽茫o, pesquisa + + Bem-vindo(a) 脿 Wikip茅dia, + a enciclop茅dia livre que todos podem editar. 13h47min (UTC); + sexta-feira, 21 de outubro de 2011 + 701 502 artigos (193 bons e 405 destacados) em portugu锚s. + Portais 路 Livros 路 脥ndice geral 路 Ajuda 路 Estat铆sticas + + Guia 路 Perguntas frequentes 路 Comunidade 路 Pol铆ticas da Wikip茅dia 路 + Doa莽玫es 路 WAP 路 Acessibilidade 路 Contato + + Predefini莽茫o:Em destaque Artigo em destaque + Abertura Jogos Panamericanos 2 13072007.jpg + + A cerim么nia de abertura dos Jogos Pan-Americanos de 2007 marcou o + in铆cio oficial dos XV Jogos Pan-Americanos, ocorridos na cidade do Rio + de Janeiro de 12 a 29 de julho de 2007. Sua realiza莽茫o ocorreu no dia + 13 de julho 脿s 18 horas (UTC鈭3) no Est谩dio do Maracan茫, localizado no + bairro hom么nimo, e teve dura莽茫o de tr锚s horas e meia. + Produzido pelo americano Scott Givens, que j谩 havia trabalhado em + diversas cerim么nias de abertura de Jogos Pan-Americanos e Jogos + Ol铆mpicos, o evento teve como diretores art铆sticos a carnavalesca Rosa + Magalh茫es e o designer Luiz Stein. (leia mais...) + Wikipedia:Efem茅rides/21 de outubro Neste dia鈥 + Pel茅 + + 21 de outubro: Dia do Ecumenismo. + * 1187 - 脡 eleito o Papa Greg贸rio VIII. + * 1838 - Dom Pedro II do Brasil funda o Instituto Hist贸rico e + Geogr谩fico Brasileiro. + * 1895 - For莽as japonesas invadem a capital de Taiwan, dando in铆cio + ao dom铆nio japon锚s naquele pa铆s. + + Nasceram neste dia鈥 + * 1833 - Alfred Nobel , inventor sueco fundador dos Pr茅mios Nobel (m. + 1896). + * 1917 - Dizzy Gillespie, trompetista, cantor e compositor de jazz + estadunidense (m. 1993). + * 1940 - Pel茅 (na foto), futebolista brasileiro. + + Morreram neste dia鈥 + * 1422 - Carlos VI de Valois, Rei de Fran莽a (n. 1368). + * 1805 - Horatio Nelson, almirante brit芒nico (n. 1758). + * 1984 - Fran莽ois Truffaut, director de cinema franc锚s. (n. 1932). + + Outros dias: 19 路 20 路 21 路 22 路 23 | ver todos鈥 + + Predefini莽茫o:Sabia que Sabia que鈥 + Contactlenzen Confortissimo.JPG + * ... cerca de 125 milh玫es de pessoas em todo mundo usam lentes de + contato (foto), quase 2% da popula莽茫o mundial? + * ... o AVE Mizar foi um prot贸tipo de carro voador criado no come莽o + da d茅cada de 1970 a partir da jun莽茫o de um Cessna Skymaster com um + Ford Pinto? + * ... 茅 poss铆vel velejar contra o vento, e que esta t茅cnica chama-se + bolina? + * ... a bandeira dos Estados Unidos colocada na Lua pela Apollo 11 + foi feita por uma portuguesa chamada Maria Isilda Ribeiro? + + + Predefini莽茫o:Eventos atuais Eventos recentes + Muammar al-Gaddafi at the AU summit-LR.jpg + * ETA anuncia fim de atividades terroristas ap贸s 51 anos e 800 + mortos. + * Muammar al-Gaddafi (foto), ex-ditador da L铆bia, morre em combate em + Sirte. + * Gilad Shalit, soldado de Israel, libertado ap贸s mais de cinco anos + de cativeiro em troca da liberta莽茫o de 1027 prisioneiros + palestinianos. + * Realizada a cerim么nia de abertura dos Jogos Pan-Americanos de 2011, + em Guadalajara, no M茅xico. + * Pr茅mio de Ci锚ncias Econ贸micas atribu铆do a Christopher Sims e Thomas + Sargent pelo trabalho sobre rela莽玫es causais entre pol铆tica + econ贸mica e vari谩veis macroecon贸micas. + + Mortes recentes 鈥 Mais eventos atuais鈥 + __________________________________________________________________ + + Veja mais no Wikinot铆cias + Wikipedia:Imagem em destaque/21 de outubro de 2011 Imagem do dia + Inside the Tarawera rift.jpg + + Monte Tarawera, Nova Zel芒ndia. + + Sobre a Wikip茅dia + + Importante! 鈥 Princ铆pio da imparcialidade 路 Vers玫es do portugu锚s 路 + Direitos de autor 路 Normas de conduta 路 Coisas a n茫o fazer + __________________________________________________________________ + + Escrevendo artigos 鈥 O que 茅 um wiki? 路 Livro de estilo 路 Como + contribuir 路 Tutorial 路 Recursos no dom铆nio p煤blico 路 Conte煤do + destacado + __________________________________________________________________ + + Ajude a Wikip茅dia 鈥 Artigos com problemas 路 P谩ginas a traduzir 路 + Artigos 脿 espera de autor 路 Estaleiro 路 Donativos + __________________________________________________________________ + + Sobre a Wikip茅dia 鈥 Esplanada 路 FAQ 路 Contato 路 Wikimedia 路 Software 路 + Estat铆sticas 路 Consulta e reprodu莽茫o 路 Decis玫es da comunidade 路 Informe + um erro + __________________________________________________________________ + + Dom铆nios 鈥 Wikip茅dia 路 MediaWiki 路 Predefini莽茫o 路 Anexo 路 Ajuda + + + + Interesse geral + + Filosofia 路 Matem谩tica 路 Epistemologia + Ci锚ncias humanas e sociais + + Antropologia 路 Arqueologia 路 Direito 路 Economia 路 Geografia 路 Hist贸ria + 路 Lingu铆stica 路 Psicologia 路 Sociologia + Arte + + Arquitetura e urbanismo 路 Cinema 路 Dan莽a 路 Escultura 路 Fotografia 路 + Literatura 路 M煤sica 路 M煤sica Cl谩ssica 路 Pintura 路 Teatro + Pol铆tica + + Diplomacia 路 Elei莽玫es 路 Movimentos 路 Partidos 路 Pol铆ticos 路 Regimes + pol铆ticos + Biografias + + Artistas 路 Chefes de Estado 路 Cientistas 路 Escritores 路 Fil贸sofos 路 + Pol铆ticos 路 Religiosos + Sa煤de + + Doen莽as 路 Drogas 路 Enfermagem 路 Farm谩cia 路 Medicina 路 Nutri莽茫o 路 + Odontologia 路 Sa煤de sexual + Ci锚ncias exatas, naturais e tecnologia + + Astronomia 路 Biologia 路 Ci锚ncias da Terra 路 Eletr么nica 路 F铆sica 路 + Inform谩tica 路 Meteorologia 路 Qu铆mica + Sociedade + + Comportamento 路 Culin谩ria 路 Cultura 路 Divers茫o 路 Esporte/desporto 路 + Religi茫o 路 Turismo + Wikip茅dia em outros idiomas + + Wikip茅dias com mais de 1 000 000 de artigos: + Deutsch (alem茫o) 路 English (ingl锚s) 路 Fran莽ais (franc锚s) + + Wikip茅dias com mais de 500 000 artigos: + Espa帽ol (espanhol) 路 Italiano 路 鏃ユ湰瑾 (japon锚s) 路 Nederlands +(neerland锚s) 路 Polski (polaco/polon锚s) 路 Portugu锚s 路 袪褍褋褋泻懈泄 (russo) + + Wikip茅dias com mais de 100 000 artigos: +丕賱毓乇亘賷丞 (谩rabe) 路 Euskara (basco) 路 袘褗谢谐邪褉褋泻懈 (b煤lgaro) 路 Catal脿 +(catal茫o) 路 頃滉淡鞏 (coreano) 路 涓枃 (chin锚s) 路 Hrvatski (croata) 路 Dansk + (dinamarqu锚s) 路 Slovencina (eslovaco) 路 Sloven拧膷ina (esloveno) 路 +Esperanto 路 Suomi (finland锚s) 路 注讘专讬转 (hebraico) 路 啶灌た啶ㄠ啶︵ (hindi) 路 + Magyar (h煤ngaro) 路 Bahasa Indonesia (indon茅sio) 路 Lietuviu (lituano) 路 +Bahasa Melayu (malaio) 路 Norsk (noruegu锚s) 路 賮丕乇爻蹖 (persa) 路 Rom芒n膬 + (romeno) 路 小褉锌褋泻懈 / Srpski (s茅rvio) 路 Svenska (sueco) 路 膶esk谩 +(tcheco/checo) 路 T眉rk莽e (turco) 路 校泻褉邪褩薪褋褜泻邪 (ucraniano) 路 Ti岷縩g Vi峄噒 + (vietnamita) 路 Volap眉k (volapuque) 路 Winaray + + Lista completa 路 Coordena莽茫o multil铆ngue 路 Come莽ar uma nova Wikip茅dia + +Projetos Wikimedia + + A Wikip茅dia existe gra莽as 脿 Wikimedia Foundation, entidade sem fins + lucrativos que gere projetos em diversos idiomas e de conte煤do livre: + + + Wikiquote Wikiquote + Colet芒nea de cita莽玫es + Wikcion谩rio Wikcion谩rio + Dicion谩rio de v谩rias l铆nguas + Wikispecies Wikispecies + Diret贸rio de esp茅cies + + Wikinot铆cias Wikinot铆cias + Fonte de not铆cias livres + Wikisource Wikisource + Documentos originais livres + Commons Wikimedia Commons + Imagens, sons e v铆deos + + Wikiversidade Wikiversidade + Centro ilimitado do aprender + Wikibooks Wikilivros + Livros e manuais livres + Meta-Wiki Meta-Wiki + Coordena莽茫o dos projetos + + Obtida de + "http://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:P%C3%A1gina_p + rincipal&oldid=24857386" + +Ferramentas pessoais + + * Entrar / criar conta + +Espa莽os nominais + + * P谩gina do projeto + * Discuss茫o + +Variantes + +Vistas + + * Ler + * Ver conte煤do + * Ver hist贸rico + +A莽玫es + +Busca + + ____________________ (Submit) Pesquisar + +Navega莽茫o + + * P谩gina principal + * Conte煤do destacado + * Eventos atuais + * Esplanada + * P谩gina aleat贸ria + * Portais + * Informar um erro + +Colabora莽茫o + + * Boas-vindas + * Ajuda + * P谩gina de testes + * Portal comunit谩rio + * Mudan莽as recentes + * Estaleiro + * Criar p谩gina + * P谩ginas novas + * Contato + * Donativos + +Imprimir/exportar + + * Criar um livro + * Descarregar como PDF + * Vers茫o para impress茫o + +Ferramentas + + * P谩ginas afluentes + * Altera莽玫es relacionadas + * Carregar ficheiro + * P谩ginas especiais + * Liga莽茫o permanente + +Noutras l铆nguas + + * 丕賱毓乇亘賷丞 + * Bahasa Indonesia + * 袘褗谢谐邪褉褋泻懈 + * Catal脿 + * 膶esky + * Dansk + * Deutsch + * English + * Eesti + * 螘位位畏谓喂魏维 + * Espa帽ol + * Esperanto + * Euskara + * 賮丕乇爻蹖 + * Fran莽ais + * Galego + * 注讘专讬转 + * Italiano + * 頃滉淡鞏 + * Lietuvi懦 + * Magyar + * Mirand茅s + * Nederlands + * 鏃ユ湰瑾 + * 鈥狽orsk (bokm氓l)鈥 + * 鈥狽orsk (nynorsk)鈥 + * Polski + * Rom芒n膬 + * 袪褍褋褋泻懈泄 + * Sloven膷ina + * Sloven拧膷ina + * 小褉锌褋泻懈 / Srpski + * Suomi + * Svenska + * T眉rk莽e + * Ti岷縩g Vi峄噒 + * 涓枃 + + * Esta p谩gina foi modificada pela 煤ltima vez 脿(s) 21h17min de 17 de + abril de 2011. + * Este texto 茅 disponibilizado nos termos da licen莽a Atribui莽茫o - + Partilha nos Mesmos Termos 3.0 N茫o Adaptada (CC BY-SA 3.0); pode + estar sujeito a condi莽玫es adicionais. Consulte as condi莽玫es de uso + para mais detalhes. + + * Pol铆tica de privacidade + * Sobre a Wikip茅dia + * Avisos gerais + * Vers茫o m贸vel + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt b/test/testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt new file mode 100644 index 0000000..3bc0e3e --- /dev/null +++ b/test/testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt @@ -0,0 +1,309 @@ +Wikip閐ia:P醙ina principal + + Origem: Wikip閐ia, a enciclop閐ia livre. + Ir para: navega玢o, pesquisa + + Bem-vindo(a) Wikip閐ia, + a enciclop閐ia livre que todos podem editar. 13h47min (UTC); + sexta-feira, 21 de outubro de 2011 + 701 502 artigos (193 bons e 405 destacados) em portugu阺. + Portais Livros 蚽dice geral Ajuda Estat韘ticas + + Guia Perguntas frequentes Comunidade Pol韙icas da Wikip閐ia + Doa珲es WAP Acessibilidade Contato + + Predefini玢o:Em destaque Artigo em destaque + Abertura Jogos Panamericanos 2 13072007.jpg + + A cerim鬾ia de abertura dos Jogos Pan-Americanos de 2007 marcou o + in韈io oficial dos XV Jogos Pan-Americanos, ocorridos na cidade do Rio + de Janeiro de 12 a 29 de julho de 2007. Sua realiza玢o ocorreu no dia + 13 de julho 鄐 18 horas (UTC3) no Est醖io do Maracan, localizado no + bairro hom鬾imo, e teve dura玢o de tr阺 horas e meia. + Produzido pelo americano Scott Givens, que j havia trabalhado em + diversas cerim鬾ias de abertura de Jogos Pan-Americanos e Jogos + Ol韒picos, o evento teve como diretores art韘ticos a carnavalesca Rosa + Magalh鉫s e o designer Luiz Stein. (leia mais...) + Wikipedia:Efem閞ides/21 de outubro Neste dia + Pel + + 21 de outubro: Dia do Ecumenismo. + * 1187 - eleito o Papa Greg髍io VIII. + * 1838 - Dom Pedro II do Brasil funda o Instituto Hist髍ico e + Geogr醘ico Brasileiro. + * 1895 - For鏰s japonesas invadem a capital de Taiwan, dando in韈io + ao dom韓io japon阺 naquele pa韘. + + Nasceram neste dia + * 1833 - Alfred Nobel , inventor sueco fundador dos Pr閙ios Nobel (m. + 1896). + * 1917 - Dizzy Gillespie, trompetista, cantor e compositor de jazz + estadunidense (m. 1993). + * 1940 - Pel (na foto), futebolista brasileiro. + + Morreram neste dia + * 1422 - Carlos VI de Valois, Rei de Fran鏰 (n. 1368). + * 1805 - Horatio Nelson, almirante brit鈔ico (n. 1758). + * 1984 - Fran鏾is Truffaut, director de cinema franc阺. (n. 1932). + + Outros dias: 19 20 21 22 23 | ver todos + + Predefini玢o:Sabia que Sabia que + Contactlenzen Confortissimo.JPG + * ... cerca de 125 milh鮡s de pessoas em todo mundo usam lentes de + contato (foto), quase 2% da popula玢o mundial? + * ... o AVE Mizar foi um prot髏ipo de carro voador criado no come鏾 + da d閏ada de 1970 a partir da jun玢o de um Cessna Skymaster com um + Ford Pinto? + * ... poss韛el velejar contra o vento, e que esta t閏nica chama-se + bolina? + * ... a bandeira dos Estados Unidos colocada na Lua pela Apollo 11 + foi feita por uma portuguesa chamada Maria Isilda Ribeiro? + + + Predefini玢o:Eventos atuais Eventos recentes + Muammar al-Gaddafi at the AU summit-LR.jpg + * ETA anuncia fim de atividades terroristas ap髎 51 anos e 800 + mortos. + * Muammar al-Gaddafi (foto), ex-ditador da L韇ia, morre em combate em + Sirte. + * Gilad Shalit, soldado de Israel, libertado ap髎 mais de cinco anos + de cativeiro em troca da liberta玢o de 1027 prisioneiros + palestinianos. + * Realizada a cerim鬾ia de abertura dos Jogos Pan-Americanos de 2011, + em Guadalajara, no M閤ico. + * Pr閙io de Ci阯cias Econ髆icas atribu韉o a Christopher Sims e Thomas + Sargent pelo trabalho sobre rela珲es causais entre pol韙ica + econ髆ica e vari醰eis macroecon髆icas. + + Mortes recentes Mais eventos atuais + __________________________________________________________________ + + Veja mais no Wikinot韈ias + Wikipedia:Imagem em destaque/21 de outubro de 2011 Imagem do dia + Inside the Tarawera rift.jpg + + Monte Tarawera, Nova Zel鈔dia. + + Sobre a Wikip閐ia + + Importante! Princ韕io da imparcialidade Vers鮡s do portugu阺 + Direitos de autor Normas de conduta Coisas a n鉶 fazer + __________________________________________________________________ + + Escrevendo artigos O que um wiki? Livro de estilo Como + contribuir Tutorial Recursos no dom韓io p鷅lico Conte鷇o + destacado + __________________________________________________________________ + + Ajude a Wikip閐ia Artigos com problemas P醙inas a traduzir + Artigos espera de autor Estaleiro Donativos + __________________________________________________________________ + + Sobre a Wikip閐ia Esplanada FAQ Contato Wikimedia Software + Estat韘ticas Consulta e reprodu玢o Decis鮡s da comunidade Informe + um erro + __________________________________________________________________ + + Dom韓ios Wikip閐ia MediaWiki Predefini玢o Anexo Ajuda + + + + Interesse geral + + Filosofia Matem醫ica Epistemologia + Ci阯cias humanas e sociais + + Antropologia Arqueologia Direito Economia Geografia Hist髍ia + Lingu韘tica Psicologia Sociologia + Arte + + Arquitetura e urbanismo Cinema Dan鏰 Escultura Fotografia + Literatura M鷖ica M鷖ica Cl醩sica Pintura Teatro + Pol韙ica + + Diplomacia Elei珲es Movimentos Partidos Pol韙icos Regimes + pol韙icos + Biografias + + Artistas Chefes de Estado Cientistas Escritores Fil髎ofos + Pol韙icos Religiosos + Sa鷇e + + Doen鏰s Drogas Enfermagem Farm醕ia Medicina Nutri玢o + Odontologia Sa鷇e sexual + Ci阯cias exatas, naturais e tecnologia + + Astronomia Biologia Ci阯cias da Terra Eletr鬾ica F韘ica + Inform醫ica Meteorologia Qu韒ica + Sociedade + + Comportamento Culin醨ia Cultura Divers鉶 Esporte/desporto + Religi鉶 Turismo + Wikip閐ia em outros idiomas + + Wikip閐ias com mais de 1 000 000 de artigos: + Deutsch (alem鉶) English (ingl阺) Fran鏰is (franc阺) + + Wikip閐ias com mais de 500 000 artigos: + Espa駉l (espanhol) Italiano (japon阺) Nederlands +(neerland阺) Polski (polaco/polon阺) Portugu阺 (russo) + + Wikip閐ias com mais de 100 000 artigos: + (醨abe) Euskara (basco) (b鷏garo) Catal +(catal鉶) (coreano) (chin阺) Hrvatski (croata) Dansk + (dinamarqu阺) Slovencina (eslovaco) Sloven歩na (esloveno) +Esperanto Suomi (finland阺) (hebraico) (hindi) + Magyar (h鷑garo) Bahasa Indonesia (indon閟io) Lietuviu (lituano) +Bahasa Melayu (malaio) Norsk (noruegu阺) (persa) Rom鈔 + (romeno) / Srpski (s閞vio) Svenska (sueco) esk +(tcheco/checo) T黵k鏴 (turco) (ucraniano) Ting Vit + (vietnamita) Volap黭 (volapuque) Winaray + + Lista completa Coordena玢o multil韓gue Come鏰r uma nova Wikip閐ia + +Projetos Wikimedia + + A Wikip閐ia existe gra鏰s Wikimedia Foundation, entidade sem fins + lucrativos que gere projetos em diversos idiomas e de conte鷇o livre: + + + Wikiquote Wikiquote + Colet鈔ea de cita珲es + Wikcion醨io Wikcion醨io + Dicion醨io de v醨ias l韓guas + Wikispecies Wikispecies + Diret髍io de esp閏ies + + Wikinot韈ias Wikinot韈ias + Fonte de not韈ias livres + Wikisource Wikisource + Documentos originais livres + Commons Wikimedia Commons + Imagens, sons e v韉eos + + Wikiversidade Wikiversidade + Centro ilimitado do aprender + Wikibooks Wikilivros + Livros e manuais livres + Meta-Wiki Meta-Wiki + Coordena玢o dos projetos + + Obtida de + "http://pt.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:P%C3%A1gina_p + rincipal&oldid=24857386" + +Ferramentas pessoais + + * Entrar / criar conta + +Espa鏾s nominais + + * P醙ina do projeto + * Discuss鉶 + +Variantes + +Vistas + + * Ler + * Ver conte鷇o + * Ver hist髍ico + +A珲es + +Busca + + ____________________ (Submit) Pesquisar + +Navega玢o + + * P醙ina principal + * Conte鷇o destacado + * Eventos atuais + * Esplanada + * P醙ina aleat髍ia + * Portais + * Informar um erro + +Colabora玢o + + * Boas-vindas + * Ajuda + * P醙ina de testes + * Portal comunit醨io + * Mudan鏰s recentes + * Estaleiro + * Criar p醙ina + * P醙inas novas + * Contato + * Donativos + +Imprimir/exportar + + * Criar um livro + * Descarregar como PDF + * Vers鉶 para impress鉶 + +Ferramentas + + * P醙inas afluentes + * Altera珲es relacionadas + * Carregar ficheiro + * P醙inas especiais + * Liga玢o permanente + +Noutras l韓guas + + * + * Bahasa Indonesia + * + * Catal + * esky + * Dansk + * Deutsch + * English + * Eesti + * + * Espa駉l + * Esperanto + * Euskara + * + * Fran鏰is + * Galego + * + * Italiano + * + * Lietuvi + * Magyar + * Mirand閟 + * Nederlands + * + * Norsk (bokm錶) + * Norsk (nynorsk) + * Polski + * Rom鈔 + * + * Slovenina + * Sloven歩na + * / Srpski + * Suomi + * Svenska + * T黵k鏴 + * Ting Vit + * + + * Esta p醙ina foi modificada pela 鷏tima vez (s) 21h17min de 17 de + abril de 2011. + * Este texto disponibilizado nos termos da licen鏰 Atribui玢o - + Partilha nos Mesmos Termos 3.0 N鉶 Adaptada (CC BY-SA 3.0); pode + estar sujeito a condi珲es adicionais. Consulte as condi珲es de uso + para mais detalhes. + + * Pol韙ica de privacidade + * Sobre a Wikip閐ia + * Avisos gerais + * Vers鉶 m髒el + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/ru/IBM855/wikitop_ru_IBM855.txt b/test/testdata/ru/IBM855/wikitop_ru_IBM855.txt new file mode 100644 index 0000000..0f768c4 --- /dev/null +++ b/test/testdata/ru/IBM855/wikitop_ru_IBM855.txt @@ -0,0 +1,312 @@ + #旆品亘Ψ (ru) copyright 旆品亘Ψ Atom-楔藻 + +魻犽誀 沐釥苑 + + 訝濞岱犘 敷 旆品亘Ψ 汶症枝灾 髟し菩重é贩 + 溴牏沸碓犧 毹徙忿 Ⅰ袪 蒯蛛ㄡㄔ 19 悒藻蔻徂 2011. 敢邈 + 渊蒯蛛ㄡㄔ择 敷舀渊苑 鯛⑿衷牭 沸 獱叫牭. + 妯歧鶢 毹徙忿 刂茽鬆屙/闫狁屙 刂︶症灾沐 + 溴牏沸碓犧 毹徙忿 Ⅰ袪 蒯蛛ㄡㄔ 19 悒藻蔻徂 2011. 敢邈 + 渊蒯蛛ㄡㄔ择 敷舀渊苑 鯛⑿衷牭 沸 獱叫牭. + 莰屺藉 : 誀敕瑺し, 刂枫 + + + е⑨ 刂闋兄霠屙 旆品亘Ψ, + + 汶症枝早 髟し菩重é窚, 浦逯徵 抑楱 屺棋丰蛛犲 茽棣窠. + 洙禁犮 旆品亘Ψ 779 821 沐犲磙 誀 徵沣浦 摅衿. + + 脂釥 + 搞歧沣咫 + 搞逯岱 + 隅篑茽 + + 諣缙 + 注沐胫 + 莰徙衷犘贩 + 猕蟹 + + 湄轴 + 妯翟菲 + 兄阒 + 煦 刂徨犘 + 渲螃犲 沐犲頊 ( 刂抑菲忠) 湄釥肫 浞沐ㄒ 徵⑨菲牑贩 葆ㄣ銧 + 旆品亘Ψ + +阁⑨犜誀 沐犲磙 + + 涞ㄒ 釥阖屺Θ楔苑 Θ冂鍫逯 II х荫 刂 犉し抟 + + 屺屙ǚ溤磴品 亘屺胫嶂瀵 醴嶂浦 釥阖嶂沐釥詣栽吱 誀箅犜法 + 蒯址笾酲︴ì 3 (16) 窚赞 1907  庵沣贩 χ汜蛀灾 嶂阖玢茽 II + 沌徙咫ㄔ灾 х荫, 阒蒯蛛珠膈ì帚 敷舀渊苑ㄒ 敷⒎釥濞许灾 + 惴沐ㄒ. + + 葆符吩纸 嶂阖玢茽 II х荫 刂阈玳沸 渊胫笠珠灾沐 誀袪Ψ屙 + 浦糟遽缙宸朐吱 塍牱抑Θ姐咫法 舀棣 蒯犽峰ㄐ磴咫忠, 胫蟋袪胄蕤荫 + 蒯ㄒ悫-曳苑沐嶂 . . 溴中褙吩褚, х抑, 笤狖峰ㄐ碓鐪 麪沐 浦逯嶂 + 阒沐犽修蟹 蒯é沐犽峰ㄐ 漆牻苑 楔腭 貭徨方 (阒し犘-Θ抑漆犲, + 阒し犘枫羼-屺胫袦し衷ㄡ, 誀嶂υ瘿 阒し犘枫羼) 蒯芬衿犽醴 苑 + 遽绂蛛菲. II х覡, 皱漆耠鯛捭 20 脶犘 1907 , 芬ㄐ 渊 舀渊 + 重刂蠓し衷灾 誀沐嶂ㄔ法,  釥渊 釥阖琦ㄔ誀 I х覡. х覡 蒯洲敕袪 + 濞驭ㄔし 皱菩衷ㄔ窚 脬ǖ 蒯犽峰ㄐ磴咫ㄔ择 鬆浦灾蒯吱棋蛛 ﹂ㄥ, + 鬆浦灾蒯吱棋, 蒯é袪瑺膈法戕 х抑, 鬆毹χ抑 渊 抑 Ⅰ屙 + 珏毹衢Θ择 沌徙咫ㄔ择 渲毹逯 芬亘釥逯嶂. 湫珠冯鯛捭 惴彗牑忿 + 蒯é沐犽修袪 阒⒅ 浦糟宸彗し衷择 漆敷枫 足灾朐瘿 沌徙咫ㄔ择 + 鬆浦择 (獱棋符ㄣ品 浦糟宸彗し 庵沣贩) 刂箅中扌 芬亘釥逯徵 袦⒅ + 抑舀藻 釥阖玢宸屙 х溢, 灾 衷 Ⅰ 症摅犜 阒箅犲 灾腌 х溢 渊 抑 + ⅷ ▌ 阒犮忿 敷舀苑屙 敷⒎釥濞许择 鬆浦; 灾 蒯 麇忠 阈é鐪鶢 + х覡, 蒯é刂兄榉濞许灾, 渊 皱蟹麪袪沩 Ⅰ 刂 重刂蠓し衷灾沐 皱 + 釥阖琦ㄔ灾. + + (楔) + п绗法 敷⑨犜择 沐犲矸 (471) | 菭驭乏犲 | 葆帚抑遽 + +吨嶂鯛 沐犲磙 + + 逊Θ 浦覡驭 19921996 ︸ 鰻品 渍沸 + + 嵝犜χ 喻﹂菲 (犜. Orlando Magic) 蒯知ㄣ惴衷犘碓窠 闫ㄥ⒅许择 + 菩纰, 腭沐缲牅 潿-熘沐蛀灾 Ψ敕蠓衷 熘沐蛀灾 浦元ㄡㄔし + 諣し衷犘碓纸 闫ㄥ⒅许灾 犮阒し牑贩. 切纰 蒯枫吱Ψ苑秀 蟹 1989 + ︾, 枝灾脶ㄒㄔ灾 吩渊阒逯 娣尧ㄡ腌须蟑, 屺箸许鍫濞 釥沲丰ㄔ忿 + 眨. 侵覡驭 蠓徵ㄥ戕 嶂Θ 揍袪驭, 轴乏, χ覡踉法 番狁 + 蒯蛛枝峰 誀 犪ㄔ 译ń-え藻釥, 刂沐嶂ㄔ灾 2010 ︾. ▌ + 阒沐犽 番釥蟹 鍫品 番嶂品, 茽 鰻品 渍沸, ≡嵩 稜幡琪, 犜 + 斗行, 鉅醴 柚行ㄣ, 驷鹘惴 訝片狩Ψ, х牻 吨霠幡, ( 柚行ㄣ 旆糟 + 菭徨ㄡ. 魻 22  眨 浦覡驭 13 釥 腭抵Ψ袪 匦ń-知, 5 釥 + 沐犜蛛沸犮 邑分灾 Ψ敕蠓衷 2 釥鬆 腭抵Ψ袪 誀 眨 ( 2004 + 2009 ). 葜 阒沐洲苑 誀 2011 , 菩纰 揠修ㄥ戕 é吩沐毹栽纸 + 浦覡驭纸 敷 犽择 阖轴宸朐竦 蟹 漩 揍袪驭. + (楔) + п绗法 抵嶂醴 沐犲矸 (1194) | 菭驭乏犲 | 葆帚抑遽 + +阁⑨犜择 阖枫品 刂徨犘 + + + 葜阈é苑 敷⑨犜择 阖枫制: + ESEFUL.jpg + 湄枫制 犽择 遽ㄔㄡ蛛, 腭番釥膈返 缲釥螃詣栽瘿 菩纰择 彗嵩丰 + 亲沼籽 (19882001) + 葜阈é苑 敷⑨犜择 刂徨犘: + Australia stub.svg + ‰沐釥蟹 + п绗法 敷⑨犜择 阖枫品 刂徨犘 | 菭驭乏犲 | 葆帚抑遽 + +阁症釥楱苑 υ + + 錉移 症衿灾毹栽脂 醴邑犜蟥 (Pan troglodytes) Θ鍎择酲. 糁重犪 + 沣犵, 鲭ń岱. + 錉移 症衿灾毹栽脂 醴邑犜蟥 (Pan troglodytes) Θ鍎择酲. 糁重犪 + 沣犵, 鲭ń岱. + 葆帚抑遽 + +粼牗濞 蟹 腭? + + 阁 灾腭 沐犲ń 旆品亘Ψ + 褷岱銧 夥屁许舀 + * ∑宸朐犧 刂Ζㄡ槠 汶吱 誀し衷犘碓纸 恽轴灾 誀 邑分誀濞 曳釥 刂 + 澧中 悝ㄐ犘 枝早 抑Θ许 (誀 逯) 銧抑 腭阒浦重袪霠ㄒ纸 + 轄釥牗. + * Halomonas titanicae ⑿烽牻酲 ㈢︾ 銥ㄣ 峰犜菲. + * Ж邈茽 亘袆云 沐犘 惴译中忠 犻糟浦 蒯皱ㄣ鍫 蒯皱冯 + Θ姐咫方 犪藻吩闫纸 电藻. + * 訝沐ㄡ, 敷逯胄揠醴 跣挢 π 许抑 瓲後 葜邋ㄡ, Θ袪 + 兄朐瘿 纰轴 π 浦嶂楔脬浦 悒翼. + + Ж屺胫 坟ㄡ分辕 + * 錉抑 腭阒浦 曳屺 Θ屺胫 (誀 逯) 绂犘帚 腭阈峰 逯许浦 5 + 楔 誀鬆. + *  阒螃犜忿 犲抑悛ㄡ 鍫吩沐毹栽帚宸 许 云纰 え蟹浦 阍掊 誀 + 摅衿 縻亘釥藻. + * ‰沐釥蟹姐品 蒯ㄒ悫-曳苑沐 汶謩 脶ㄒ 刂ⅷ棣犘 誀し衷犘碓纸 + 敕棋轴吩. + * 諣貭Θ苑 覡徙窢 誀 霠χ 鬆毹狨沸帚 ⅷ许 酲沐 兄毹. + * 葆症楔覡 逯, ㄣ蟹 Ⅰ V 阒螃犘 以珠ㄣ咫 曳嶂? 症沌棣犘犮  + 溽é渊毹浦腠 皱曳 え崞敕 阈玳峰 蒯符吩纸 屺蟹煮择 + Ψ阖珏蛛 刂择渊. + * 菭誀︺品 抵破ǚ沐 Ⅰ 誀沐中砥 釥 腭番狁蹒 晴⑵ 溴髟蟹,  + 屺醴 漆ㄣ宸屙 詣 汶譁 χ. + + 葆é兄楱苑 | ♂捣 | 葆帚抑遽 | 注沌Ψ屙 + + 麇皱 Θ皂 21 制遛⑨ + + 歙驭ㄔ闫方 鬆抑 + * 1097 漆ㄣ逯灾悚 帚牔沸 ≡宸值窚 + * 1520 嵩犜 訝行犜 皱漆裥 蒯中冯 舀棣 ″袪藻符ㄣ品 娣捣 + 制誀曳 + * 1578 刂釥楱苑 徵沣浦 犪曳 沐ㄔ 歙驭ㄔ闫脂 鬆移 (誀 沸.) + * 1727 徵沣品 缲中灾抑栽窠 錉腚 鉅蠓糟品 刂ω枫犘 χ胫 + 逯岈蛛楔 欠鍫ㄒ + * 1805 驷牚犘憩犪闫犧 ⒎咫 帚鍫敕袪 諣刂楔衷 ⅷ 皱 + * 1858 蒯ㄒ悫釥 重ㄡㄥ羼 转寓牭 岐ń 牔绡, 誀 浦逯嶂 + 胴ㄡ腭 Ⅰ 枫刂性ㄔ 茽云犜 + * 1895 脲轴楱苑 挢衷え 誀 鏍诫犜, 苑箅ㄡ楱苑 鏍诫犜磴浦 + 屺阖纰蟹品 + * 1967 帚牔 莰藻牞衷 蒯皱冯苑茽曳 胫皆 胫 祉ㄥ誀舀 + + 阎宸 菲吩蛛帚濞蒋 渲Ⅰ宸 21 制遛⑨ 2011  旆品灾胫沐薜 + 葆帚抑遽 + +渲胍ㄣ逶犧 釥⒅鍫 渊Θ蟹 + + 葆番袪鯛ㄒ 脬ǖ 楱袪滪返 蒯吩掊 琨犮宸 釥⒅濞 誀 沐犲磙曳 + 汜é渊毹浦腭 徵沣品 圃揲ㄣ咫牭 浦阋符ㄣ浦 蒯脂釥乙 + 渊岈忿-g釥辕. + 刂 + 侵阋符ㄣ茽 蒯脂釥乙 渊岈忿-g釥辕 + 侵邑衷ㄔ羼 g釥 ㄡ 臃 请犜-1 请犜-2 轻枫鍫行 + ≡︶脂吩灾-亘岱岱皆窠 牞屺瑺 沐衿蛛品 Buran.jpg + 揍⒎鍫许择 髌蟥邑修狁 g釥 1.01 g釥 1.02 g釥 2.01 g釥 + 2.02 g釥 2.03 + 妯沐蛛瘿 髌蟥邑修狁 犡貭釥羼 浊-友-1 (0.01; 浊-; f-01) 浊- + (0.02; f-02) 浊-卿 (0.03) 浊-友-2 (0.04) 浊-骒 (0.05) 浊-骒 + (0.06) 浊-渔 (0.15) 浊-? (0.08) W-4 W-5 + 莹沐 鬆冂闫 狡衷玑 + 莹沐 刂銧χ 帚灾朐吱: 潰沸ń择 屺蟥犭择: 嶂胫 熘沐蛀择 + (吨嶂许) 鬆貭阍瘿: 蒯蛀法 + 潆摅犜择 濞荫 注徵酲苑 漆聃 抑藻犻灾-枫伛鍫濞许灾 浦嶝玢 + 玑犜忠 + 葆芬峰 鍫崎 琨犮宸 莹菩ㄔ㈢岈 ㄆ楔寓玑浦 渊Θ楔. + 菭驭乏犲 | ♂捣 | 葆帚抑遽 + +庵︺咫ㄔ择 蒯吱棋 + + wikt: 旆品阈蛛犪 + 湫蛛犪 濞鬆玑玢 commons: 旆品闫袪 + 夺犜沸幅 舀Ψ牚牻兄 b: 旆品琨á苑 + 棼á苑品 徵浦胫︺咫 + q: 旆品し鍫逶菲 + 侵行ㄆし し鍫 m: 莹鍫-敕品 + 旆品 蒯吱棋牭 旆品舀Ψ n: 旆品灾胫沐 + 罩胫沐 + s: 旆品濞茽 + 揍番吩犘碓瘿 濞沏羼 wikispecies: 旆品敕︸ + 7中脂符ㄣ品 敕︸ v: 旆品毹徙峰ㄥ + 注琨ㄔ法 + + 葜阒许沐胫 / Embassy 又⒎许誀 毹徙忿 洧轴 汜é沐 驭 + 旆品舀Ψ 侵藻犉羼 п绗法 摅衿蛛瘿 釥螃ㄐ + 搞逯菲 + 甴ttp://ru.wikipedia.org/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0% + B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D + 0%B0&oldid=37831798 + 菭濞岱: + * 葜徨犘 + +逊瘿 吩沐徵舀藻 + + * 葆é沐犽峰磴 / 鬆屺沐岱嶂霠屙戕 + +葆帚遽犜沐霠 芬勗 + + * 魻犽誀 + * 注沌棣ㄔ法 + +鞝岱犜羼 + +葆帚抑遽 + + * ㄔ法 + * 妯歧鶢 毹徙忿 + * 葆帚抑遽 + * 搞逯岱 + +Ж姐咫忿 + +葜枫 + + ____________________ (Submit) 諣藉 + +諣敕瑺し + + * 魻犽誀 沐釥苑 + * 忡⑨菲牑忿 + * 杵狊犲ㄐ ∴ + * 阁⑨犜择 沐犲矸 + * 湫琨牻誀 沐犲磙 + * 妯歧 阒Ⅰ宸 + +棼犮宸 + + * 渲症屙 症 瞩发屁 + * 葜徨犘 阒症沐霠 + * 徵 + * 潆ㄩ法 蒯犽品 + * 罩腭 沐釥苑ゑ + * 湄釥肫 + * 葜楱徨胫霠苑 + +莰麪屙/髌阖轴 + + * 渲螃犲 圃番 + * 淦狖犲 茽 PDF + * 歙徙忿 π 亘麪宸 + +冈沐徵舀藻 + + * 溷裥品 銣 + * 潆摅犜择 蒯犽品 + * 湄à沐釥苑ゑ + * 葜沐洲栽犧 沣裥茽 + * シ宸嶂霠屙 沐釥苑ょ + +諣 ︶绗返 摅衿牭 + + * + * Azrbaycanca + * (袪徵闫犧 + * (袪徵闫犧 (鍫釥跗姢) + * 鞋犪闫 + * esky + * 狌袪 + * Dansk + * Deutsch + * + * English + * Espaol + * Eesti + * + * Suomi + * Franais + * + * Magyar + * + * Italiano + * + * + * 狊狌 + * + * Lietuvi + * Latvieu + * Nederlands + * Norsk (bokml) + * 羔衷 + * Polski + * Portugus + * Romn + * 錉禒 羼袪 + * 溽劂品 / Srpski + * Svenska + * Trke + * 鏍鍫猁/Tatara + * 杵釥屧沩茽 + * Ting Vit + * + + * 葜阈é渊 敷舀渊苑 麇纸 沐釥苑ゑ: 11:55, 19 悒藻蔻徂 2011. + * 妯沏 χ沐缲ㄔ 刂 蟹え泽贩 Creative Commons Attribution-ShareAlike; + 皱Θ许择 阈琨犧 抑 Θ姐咫蛛犲 χ刂性峰ㄐ碓瘿 玢兄敕. + 葜︶症渊 阋. 桡兄敕 枫刂许笾霠苑. + Wikipedia 鬆屺沐岱嶂霠栽犧 逯岈蛛犧 覡崞 Wikimedia + Foundation, Inc., 渊浦乙ㄡ闫纸 轴瑺苑鬆し. + * 潆揲峰ㄣ 誀曳 + + * 葜蟹宸茽 浦元乏ㄔし犘碓帚宸 + * 棕枫犜法 旆品亘Ψ + * 族茽 皱 皱毹邈咫ㄔ灾沐 + * 又⒎许誀 毹徙忿 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt b/test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt new file mode 100644 index 0000000..16ab218 --- /dev/null +++ b/test/testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt @@ -0,0 +1,312 @@ + #魃松信纳 (ru) copyright 魃松信纳 Atom-膛卧 + +翘磷瘟 釉伊紊昧 + + 砹耘疑撂 哨 魃松信纳 幼下夏蜗 芪蒙颂闲拍缮 + 笤谅商匚裂 着矣裳 沦塘 幸献乓盼 19 优卧崖已 2011. 橥爬杂 + 闻幸献乓盼钨 哨团闻紊 哿绿衔寥 商 屏侍寥. + 襞苏萘 着矣裳 邢肆诹载/铀屹载 邢囊下蜗釉 + 笤谅商匚裂 着矣裳 沦塘 幸献乓盼 19 优卧崖已 2011. 橥爬杂 + 闻幸献乓盼钨 哨团闻紊 哿绿衔寥 商 屏侍寥. + 鹋遗试 : 瘟咨橇蒙, 邢捎 + + + 湎乱 邢至滔琢载 魃松信纳, + + 幼下夏握 芪蒙颂闲拍衫, 讼韵艺 拖峙 遗牧嗽梢献猎 肆帜偈. + 笈兽劣 魃松信纳 779 821 釉猎匮 瘟 艺佑讼 掩偎. + + 缗锨伊粕 + 橛苏佑宰 + 橛韵疑 + 碚谫肆 + + 盍账 + 锫菖釉紫 + 鹋矣衔撂缮 + 蚺躺巧 + + 笮弦 + 襞任伤 + 嫔滔酉粕 + 饔 邢以撂 + 笙谀猎 釉猎乩 ( 邢拖菸伤贤) 笮伊姿 笊釉磐 艺乱伤撩缮 鹨庞恿 + 魃松信纳 + +橼乱廖瘟 釉猎匮 + + 笕磐 伊有遗呐膛紊 呐姓粤韵 II 湔唾 邢 埔了蒙淹 + + 粢旁嘏衫呜铀墒 信遗紫蚁 凵蚁讼 伊有蚁釉伊危挝吓 瘟谧廖膳 + 幸仙谙叟嫩徘 3 (16) 衫窝 1907 窍牧 蛳佑缮 南右限蜗窍 蚁有沼肆 II + 缦诱牧矣宰盼蜗 湔唾, 酉幸献现牧综徘嫌 哨团闻紊磐 哨律伊耘特蜗 + 由釉磐. + + 鹨赊晌鲜 蚁有沼肆 II 湔唾 邢犹罩商 闻紫谕现蜗釉 瘟塘纳载 + 讼斡砸账陨孜吓 宗辽拖呐视宰膳 团帜 幸磷稍盘赜宰贤, 紫谇塘滋雅唾 + 幸磐嘏-蜕紊釉蚁 . . 笤咸傩晌偻, 湔拖, 谖赁稍盘匚绽 蘖釉 讼韵蚁 + 酉釉磷萄躺 幸拍釉磷稍盘 艘潦紊 膛踪 辛以墒 (酉蒙撂-呐拖艘猎, + 酉蒙撂捎再-遗紫汤蒙衔乓, 瘟蚁奈倥 酉蒙撂捎再) 幸赏偎磷凵 紊 + 砸漳献伤. II 湔土, 显艘僮哿延 20 婆滓撂 1907 窍牧, 赏盘 闻 团闻 + 闲邢谏蒙衔蜗 瘟釉蚁盼膳, 夼 伊闻 伊有蛰盼瘟 I 湔土. 湔土 幸涎咨塘 + 耘文盼蒙 显颂衔盼衫 子湃 幸磷稍盘赜宰盼钨 诹讼蜗幸吓嗽献 吕闹旁, + 诹讼蜗幸吓嗽, 幸拍塘橇综膳友 湔拖, 诹着南拖 闻 拖翘 沦载 + 赵着抑呐钨 缦诱牧矣宰盼钨 笙着韵 赏信伊韵蚁. 筇现勺哿延 由哉撩裳 + 幸拍釉磷萄塘 酉孪 讼斡陨哉蒙衔钨 艘哨捎 镉蜗孜倥 窍诱牧矣宰盼钨 + 诹讼钨 (屏嗽赊庞松 讼斡陨哉蒙 蛳佑缮) 邢谧咸烟 赏信伊韵艺 汤孪 + 拖团卧 伊有沼陨载 湔驼, 蜗 衔 沦 下掩廖 酉谧猎 蜗渍 湔驼 闻 拖 + 屡 牛 酉翘劣裳 哨团紊载 哨律伊耘特钨 诹讼; 蜗 幸 茉贤 犹拍绽萘 + 湔土, 幸拍邢滔稚耘特蜗, 闻 显躺蘖塘迂 沦 邢 闲邢谏蒙衔蜗釉 显 + 伊有蛰盼蜗. + + (牧膛) + 湟涨膳 哨乱廖钨 釉猎厣 (471) | 肓文赡猎 | 鹨嫌拖砸 + +柘蚁哿 釉猎匮 + + 焐呐 讼土文 19921996 窍馁 松 镱商 + + 镆塘文 碥闹伤 (廖翘. Orlando Magic) 幸掀庞由衔撂匚偈 铝铀旁孪特钨 + 颂章, 踪釉招晾萆 嗲-飨釉限蜗 纳咨谏衔 飨釉限蜗 讼纹乓盼蒙 + 盍蒙衔撂匚鲜 铝铀旁孪特蜗 劣酉蒙撩缮. 胩章 幸捎吓纳紊逃 躺桥 1989 + 窍恼, 夏蜗滓磐盼蜗 砩挝庞显鲜 羯吐乓渍套, 遗谡特粤耘 伊盂梢盼裳 + 钼. 胂土文 铝谏艺旁友 窍蚁呐 镆塘文, 嫣弦赡, 南土畚膳 汕屹 + 幸献夏稍 瘟 烈盼 着-门卧伊, 邢釉蚁盼蜗窍 2010 窍恼. 牛 + 酉釉磷 汕伊躺 粤松 汕蚁松, 肆 松 镱商, 嵛婆椅 枇夷哲, 缫廖 + 枭烫, 蛄凵 跸烫庞, 粢苁由 砹饲臆纳, 湔潦 柘琢夷, 馀 跸烫庞 魃斡 + 肓以乓.  22 窍牧 钼 讼土文 13 伊 踪认纳塘 刑攀-掀, 5 伊 + 釉廖献商劣 夼托上蜗 纳咨谏衔 2 伊诹 踪认纳塘 粕瘟 钼 ( 2004 + 2009 窍牧). 鹣 酉釉涎紊 瘟 2011 窍, 颂章 炎萄旁友 拍晌釉着挝鲜 + 讼土文鲜 哨 翘磷钨 有弦陨孜偃 躺 篼 镆塘文. + (牧膛) + 湟涨膳 认蚁凵 釉猎厣 (1194) | 肓文赡猎 | 鹨嫌拖砸 + +橼乱廖钨 有捎松 邢以撂 + + + 鹣犹拍紊 哨乱廖钨 有捎纤: + ESEFUL.jpg + 笮捎纤 翘磷钨 砸盼乓献, 踪汕伊综扇 招伊谀危挝倥 颂章钨 哉椅梢 + 腼铐邂镬 (19882001) + 鹣犹拍紊 哨乱廖钨 邢以撂: + Australia stub.svg + 嶙釉伊躺 + 湟涨膳 哨乱廖钨 有捎松 邢以撂 | 肓文赡猎 | 鹨嫌拖砸 + +橼下伊峙紊 奈 + + 罅退 下偎蜗着挝锨 凵托廖谂 (Pan troglodytes) 呐裕钨叟. 闲烈 + 缦佑琳, 攀昧疑. + 罅退 下偎蜗着挝锨 凵托廖谂 (Pan troglodytes) 呐裕钨叟. 闲烈 + 缦佑琳, 攀昧疑. + 鹨嫌拖砸 + +僚耘 躺 踪? + + 橼 蜗踪 釉猎攀 魃松信纳 + 炝疑恿 蛏伺特团 + * 崴陨孜裂 邢哪乓炙 幼吓 瘟蒙衔撂匚鲜 勇弦蜗 瘟 夼托上瘟耘 蜕伊 邢 + 普月咸 幽盘撂 夏握 拖呐特 (瘟 葡韵) 恿拖 踪酉讼闲塘奚琢磐鲜 + 鹆伊亲僚. + * Halomonas titanicae 绿芍潦叟 抡恼菖 舆庞 羯粤紊. + * 渑杂肆 信蹋嗡 釉撂 由妥咸贤 且林牧斡讼窍 幸显庞粤 幸显勺 + 呐视宰墒 烈桥卧晌铀鲜 日卧. + * 砹釉乓, 哨窍韵滋炎凵 厶研 奶 粕特拖 缌乙 鹣栽乓, 呐塘 + 窍滔孜倥 章弦 奶 讼蚁膛子讼 优拓. + + 渑遗紫 缟信疑衔 + * 罅拖 踪酉讼 蜕遗 呐遗紫 (瘟 葡韵) 漳撂嫌 踪奚犹稍 韵特讼 5 + 膛 瘟诹. + * 涮 酉谀廖裳 猎拖悠乓 粤晌釉着挝嫌陨 粕特 槲苏 门躺讼 游言 瘟 + 掩偎 苡信伊卧. + * 嶙釉伊躺视松 幸磐嘏-蜕紊釉 幼希 滓磐 邢屡帜撂 瘟蒙衔撂匚鲜 + 咨嗽弦晌. + * 盍辛呐紊 土矣闪 瘟 琢南 诹着役商嫌 巧屡特 叟釉 夼滔着. + * 鹨下膛土 拊, 庞躺 沦 庀 酉谀撂 臀现庞宰 蜕蚁? 下诱帜撂劣 泡 + 笠拍闻着讼棕 显昧蜕 门宜咨 犹罩稍 幸赊晌鲜 遗躺巧馅钨 + 纳有赵献 邢钨闻. + * 肓瘟挠松 认怂派釉 沦 瘟釉咸厮 伊 踪汕屹壅 胝滤 笤芪躺, 拊 + 遗凵 艘庞陨载 危 幼侠 南挢. + + 鹨拍滔峙紊 | 嵋壬 | 鹨嫌拖砸 | 锫诱纳载 + + 茉显 呐呜 21 纤匝乱 + + 髋文盼铀墒 诹拖 + * 1097 艘庞韵蜗用 嫌聊商 嵛陨先衫 + * 1520 媾椅廖 砹桥烫廖 显艘偬 幸咸勺 团帜 嵩塘卧赊庞松 羯壬 + 纤帕瘟蜕 + * 1578 邢伊峙紊 艺佑讼 烈蜕 釉盼 髋文盼铀锨 诹退 (瘟 商.) + * 1727 艺佑松 招咸蜗拖夼挝偈 罅鬃 蛄钦谏斡松 邢男捎撂 南窍紫 + 韵仪献膛 肷粤磐 + * 1805 粢疗撂厍烈铀裂 律宰 嫌粤咨塘 盍邢膛衔 屡 铺显 + * 1858 幸磐嘏伊 闲乓旁再 锲婆温寥 镆婆 聊, 瘟 讼韵蚁 + 仔乓踪 沦 捎邢涛盼 肆嗡廖 + * 1895 自弦峙紊 研衔门 瘟 袅首廖, 紊谧乓峙紊 袅首廖赜讼 + 遗有章躺松 + * 1967 嫌聊 鹋卧燎衔 幸显勺紊肆蜕 紫饰 紫 髫旁瘟团 + + 煜窍陨 魃松蜗紫釉攀 笙沦陨 21 纤匝乱 2011 窍牧 魃松蜗紫釉讶 + 鹨嫌拖砸 + +笙淄庞晕裂 伊孪粤 闻呐躺 + + 鹨汕塘哿磐 子湃 峙塘垒扇 幸晌言 辙劣陨 伊孪耘 瘟 釉猎匮蜕 + 右拍闻着讼踪 艺佑松 宋阎庞宰寥 讼油赊庞讼 幸锨伊屯 + 乓巧-庹伊. + 袨蠟 + 胂油赊庞肆 幸锨伊屯 乓巧-庹伊 + 胂托衔盼再 庹伊 乓巧 砩 胱廖-1 胱廖-2 胍捎粤烫 + 嵛囊锨晌蜗-信疑婆疑饰偈 燎遗橇 釉偎献松 Buran.jpg + 镆律粤特钨 芩谂托萄屹 庹伊 1.01 庹伊 1.02 庹伊 2.01 庹伊 + 2.02 庹伊 2.03 + 襞釉献倥 芩谂托萄屹 列辛伊再 镫-盱-1 (0.01; 镫-; 怍-01) 镫-珈 + (0.02; 怍-02) 镫-塍 (0.03) 镫-盱-2 (0.04) 镫-赭 (0.05) 镫-赭 + (0.06) 镫-眙 (0.15) 镫-? (0.08) 怙-4 怙-5 + 砼釉 诹姓铀 饬仕衔找 + 砼釉 邢恿南 嫌蜗孜吓: 嗦商攀钨 遗谂易钨: 饬桥蚁紫 飨釉限钨 + (柘蚁特) 诹辛游倥: 幸限膳 + 笞掩廖钨 耘唾 锫艺叟紊 艘氽 拖卧林蜗-捎匈粤耘特蜗窍 讼倚沼 + 庹伊蜗 + 鹨赏稍 粤酥 辙劣陨 砼颂盼抡仪 砼颂盼抡仪铀鲜 闻呐膛. + 肓文赡猎 | 嵋壬 | 鹨嫌拖砸 + +蛳挠宰盼钨 幸吓嗽 + + wikt: 魃松犹献烈 + 筇献烈 耘诹找沼 commons: 魃松铀塘 + 枰廖商奢 团纳疗潦滔 b: 魃松辙怕紊 + 蹀怕紊松 艺讼紫挠宰 + q: 魃松蒙粤晕伤 + 胂烫潘蒙 蒙粤 m: 砼粤-咨松 + 魃松 幸吓嗽寥 魃松团纳 n: 魃松蜗紫釉 + 钕紫釉 + s: 魃松耘肆 + 镆汕晌撂匚倥 耘擞再 wikispecies: 魃松咨馁 + 馍咸锨赊庞松 咨馁 v: 魃松着矣稍旁 + 锫辙盼膳 + + 鹣酉特釉紫 / Embassy 硐律特瘟 着矣裳 舐弦 右拍釉 嫦文 + 魃松团纳 胂卧了再 湟涨膳 掩偎献倥 伊谀盘 + 橛韵尬伤 + http://ru.wikipedia.org/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0% + B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D + 0%B0&oldid=37831798 + 肓耘窍疑: + * 鹣以撂 + +焐尬倥 晌釉艺团卧 + + * 鹨拍釉磷稍赜 / 诹遗巧釉疑蚁琢载友 + +鹨嫌砸廖釉琢 赏N + + * 翘磷瘟 + * 锫诱帜盼膳 + +髁疑廖再 + +鹨嫌拖砸 + + * 盼膳 + * 襞苏萘 着矣裳 + * 鹨嫌拖砸 + * 橛韵疑 + +渑视宰裳 + +鹣捎 + + ____________________ (Submit) 盍试 + +盍咨橇蒙 + + * 翘磷瘟 釉伊紊昧 + * 蛘乱伤撩裳 + * 跛邻猎盘 狁 + * 橼乱廖钨 釉猎厣 + * 筇辙潦瘟 釉猎匮 + * 襞苏萆 酉沦陨 + +蹀劣陨 + + * 笙下萆载 下 羡陕伺 + * 鹣以撂 酉下菖釉琢 + * 嫦艺 + * 笞胖膳 幸磷松 + * 钕踪 釉伊紊觅 + * 笮伊姿 + * 鹣峙以紫琢紊 + +鹋蘖载/芩有弦 + + * 笙谀猎 宋汕 + * 笏赁猎 肆 PDF + * 髋矣裳 奶 信蘖陨 + +槲釉艺团卧 + + * 笥偬松 永牧 + * 笞掩廖钨 幸磷松 + * 笮琶釉伊紊觅 + * 鹣釉涎挝裂 佑偬肆 + * 闵陨蚁琢载 釉伊紊谜 + +盍 囊涨扇 掩偎寥 + + * + * Azrbaycanca + * 馀塘艺铀裂 + * 馀塘艺铀裂 (粤伊鬯抛昧) + * 膺糖烈铀 + * esky + * 鳞塘 + * Dansk + * Deutsch + * + * English + * Espaol + * Eesti + * + * Suomi + * Franais + * + * Magyar + * + * Italiano + * + * + * 邻鳞 + * + * Lietuvi + * Latvieu + * Nederlands + * Norsk (bokml) + * 橐衔 + * Polski + * Portugus + * Romn + * 罅攘 再塘 + * 笠杏松 / Srpski + * Svenska + * Trke + * 袅粤肄/Tatara + * 跛伊斡厮 + * Ting Vit + * + + * 鹣犹拍闻 哨团闻紊 茉鲜 釉伊紊觅: 11:55, 19 优卧崖已 2011. + * 襞擞 南釉招盼 邢 躺门乌缮 Creative Commons Attribution-ShareAlike; + 显呐特钨 犹辙裂 拖钦 呐视宰献猎 南邢涛稍盘匚倥 沼滔咨. + 鹣囊下闻 油. 跤滔咨 捎邢特谙琢紊. + Wikipedia 诹遗巧釉疑蚁琢挝裂 韵仪献裂 土宜 Wikimedia + Foundation, Inc., 闻讼屯乓夼铀鲜 弦橇紊诹蒙. + * 笞阎稍庞 瘟蜕 + + * 鹣躺陨肆 讼纹赡盼蒙撂匚嫌陨 + * 镄捎廖膳 魃松信纳 + * 镌肆 显 显着杂宰盼蜗釉 + * 硐律特瘟 着矣裳 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt b/test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt new file mode 100644 index 0000000..afbe7cc --- /dev/null +++ b/test/testdata/ru/UTF-8/wikitop_ru_UTF-8.txt @@ -0,0 +1,312 @@ + #袙懈泻懈锌械写懈褟 (ru) copyright 袙懈泻懈锌械写懈褟 鈥 Atom-谢械薪褌邪 + +袟邪谐谢邪胁薪邪褟 褋褌褉邪薪懈褑邪 + + 袦邪褌械褉懈邪谢 懈蟹 袙懈泻懈锌械写懈懈 鈥 褋胁芯斜芯写薪芯泄 褝薪褑懈泻谢芯锌械写懈懈 + 小褌邪斜懈谢褜薪邪褟 胁械褉褋懈褟 斜褘谢邪 锌褉芯胁械褉械薪邪 19 褋械薪褌褟斜褉褟 2011. 袠屑械褞褌褋褟 + 薪械锌褉芯胁械褉械薪薪褘械 懈蟹屑械薪械薪懈褟 胁 褕邪斜谢芯薪邪褏 懈谢懈 褎邪泄谢邪褏. + 孝械泻褍褖邪褟 胁械褉褋懈褟 锌芯泻邪蟹邪褌褜/褋泻褉褘褌褜 锌芯写褉芯斜薪芯褋褌懈 + 小褌邪斜懈谢褜薪邪褟 胁械褉褋懈褟 斜褘谢邪 锌褉芯胁械褉械薪邪 19 褋械薪褌褟斜褉褟 2011. 袠屑械褞褌褋褟 + 薪械锌褉芯胁械褉械薪薪褘械 懈蟹屑械薪械薪懈褟 胁 褕邪斜谢芯薪邪褏 懈谢懈 褎邪泄谢邪褏. + 袩械褉械泄褌懈 泻: 薪邪胁懈谐邪褑懈褟, 锌芯懈褋泻 + + + 袛芯斜褉芯 锌芯卸邪谢芯胁邪褌褜 胁 袙懈泻懈锌械写懈褞, + + 褋胁芯斜芯写薪褍褞 褝薪褑懈泻谢芯锌械写懈褞, 泻芯褌芯褉褍褞 屑芯卸械褌 褉械写邪泻褌懈褉芯胁邪褌褜 泻邪卸写褘泄. + 小械泄褔邪褋 胁 袙懈泻懈锌械写懈懈 779 821 褋褌邪褌褜褟 薪邪 褉褍褋褋泻芯屑 褟蟹褘泻械. + + 袚械芯谐褉邪褎懈褟 + 袠褋泻褍褋褋褌胁芯 + 袠褋褌芯褉懈褟 + 袦褍蟹褘泻邪 + + 袧邪褍泻邪 + 袨斜褖械褋褌胁芯 + 袩械褉褋芯薪邪谢懈懈 + 袪械谢懈谐懈褟 + + 小锌芯褉褌 + 孝械褏薪懈泻邪 + 肖懈谢芯褋芯褎懈褟 + 袙褋械 锌芯褉褌邪谢褘 + 小芯蟹写邪褌褜 褋褌邪褌褜褞 (褋 锌芯屑芯褖薪懈泻芯屑) 小锌褉邪胁泻邪 小懈褋褌械屑邪 褉褍斜褉懈泻邪褑懈懈 袩褉械褋褋邪 芯 + 袙懈泻懈锌械写懈懈 + +袠蟹斜褉邪薪薪邪褟 褋褌邪褌褜褟 + + 小褏械屑邪 褉邪褋锌褉械写械谢械薪懈褟 写械锌褍褌邪褌芯胁 II 袛褍屑褘 锌芯 褎褉邪泻褑懈褟屑 + + 芦孝褉械褌褜械懈褞薪褜褋泻懈泄 锌械褉械胁芯褉芯褌禄 鈥 褕懈褉芯泻芯 褉邪褋锌褉芯褋褌褉邪薪褢薪薪芯械 薪邪蟹胁邪薪懈械 + 锌褉芯懈蟹芯褕械写褕械谐芯 3 (16) 懈褞薪褟 1907 谐芯写邪 胁 袪芯褋褋懈懈 写芯褋褉芯褔薪芯谐芯 褉芯褋锌褍褋泻邪 II + 袚芯褋褍写邪褉褋褌胁械薪薪芯泄 袛褍屑褘, 褋芯锌褉芯胁芯卸写邪胁褕械谐芯褋褟 懈蟹屑械薪械薪懈械屑 懈蟹斜懈褉邪褌械谢褜薪芯泄 + 褋懈褋褌械屑褘. + + 袩褉懈褔懈薪芯泄 褉芯褋锌褍褋泻邪 II 袛褍屑褘 锌芯褋谢褍卸懈谢邪 薪械胁芯蟹屑芯卸薪芯褋褌褜 薪邪谢邪写懈褌褜 + 泻芯薪褋褌褉褍泻褌懈胁薪芯械 胁蟹邪懈屑芯写械泄褋褌胁懈械 屑械卸写褍 锌褉邪胁懈褌械谢褜褋褌胁芯屑, 胁芯蟹谐谢邪胁谢褟械屑褘屑 + 锌褉械屑褜械褉-屑懈薪懈褋褌褉芯屑 袩. 袗. 小褌芯谢褘锌懈薪褘屑, 懈 袛褍屑芯泄, 蟹薪邪褔懈褌械谢褜薪褍褞 褔邪褋褌褜 泻芯褌芯褉芯泄 + 褋芯褋褌邪胁谢褟谢懈 锌褉械写褋褌邪胁懈褌械谢懈 泻褉邪泄薪懈褏 谢械胁褘褏 锌邪褉褌懈泄 (褋芯褑懈邪谢-写械屑芯泻褉邪褌褘, + 褋芯褑懈邪谢懈褋褌褘-褉械胁芯谢褞褑懈芯薪械褉褘, 薪邪褉芯写薪褘械 褋芯褑懈邪谢懈褋褌褘) 懈 锌褉懈屑褘泻邪胁褕懈械 泻 薪懈屑 + 褌褉褍写芯胁懈泻懈. II 袛褍屑邪, 芯褌泻褉褘胁褕邪褟褋褟 20 褎械胁褉邪谢褟 1907 谐芯写邪, 懈屑械谢邪 薪械 屑械薪械械 + 芯锌锌芯蟹懈褑懈芯薪薪芯械 薪邪褋褌褉芯械薪懈械, 褔械屑 褉邪薪械械 褉邪褋锌褍褖械薪薪邪褟 I 袛褍屑邪. 袛褍屑邪 锌褉芯褟胁懈谢邪 + 褌械薪写械薪褑懈褞 泻 芯褌泻谢芯薪械薪懈褞 胁褋械褏 锌褉邪胁懈褌械谢褜褋褌胁械薪薪褘褏 蟹邪泻芯薪芯锌褉芯械泻褌芯胁 懈 斜褞写卸械褌邪, + 邪 蟹邪泻芯薪芯锌褉芯械泻褌褘, 锌褉械写谢邪谐邪胁褕懈械褋褟 袛褍屑芯泄, 蟹邪胁械写芯屑芯 薪械 屑芯谐谢懈 斜褘褌褜 + 褍褌胁械褉卸写械薪褘 袚芯褋褍写邪褉褋褌胁械薪薪褘屑 小芯胁械褌芯屑 懈 懈屑锌械褉邪褌芯褉芯屑. 小谢芯卸懈胁褕邪褟褋褟 褋懈褌褍邪褑懈褟 + 锌褉械写褋褌邪胁谢褟谢邪 褋芯斜芯泄 泻芯薪褋褌懈褌褍褑懈芯薪薪褘泄 泻褉懈蟹懈褋 鈥 袨褋薪芯胁薪褘械 谐芯褋褍写邪褉褋褌胁械薪薪褘械 + 蟹邪泻芯薪褘 (褎邪泻褌懈褔械褋泻懈 泻芯薪褋褌懈褌褍褑懈褟 袪芯褋褋懈懈) 锌芯蟹胁芯谢褟谢懈 懈屑锌械褉邪褌芯褉褍 胁 谢褞斜芯泄 + 屑芯屑械薪褌 褉邪褋锌褍褋褌懈褌褜 袛褍屑褍, 薪芯 芯薪 斜褘谢 芯斜褟蟹邪薪 褋芯蟹胁邪褌褜 薪芯胁褍褞 袛褍屑褍 懈 薪械 屑芯谐 + 斜械蟹 械褢 褋芯谐谢邪褋懈褟 懈蟹屑械薪懈褌褜 懈蟹斜懈褉邪褌械谢褜薪褘泄 蟹邪泻芯薪; 薪芯 锌褉懈 褝褌芯屑 褋谢械写褍褞褖邪褟 + 袛褍屑邪, 锌褉械写锌芯谢芯卸懈褌械谢褜薪芯, 薪械 芯褌谢懈褔邪谢邪褋褜 斜褘 锌芯 芯锌锌芯蟹懈褑懈芯薪薪芯褋褌懈 芯褌 + 褉邪褋锌褍褖械薪薪芯泄. + + (写邪谢械械鈥) + 袛褉褍谐懈械 懈蟹斜褉邪薪薪褘械 褋褌邪褌褜懈 (471) | 袣邪薪写懈写邪褌褘 | 袩褉芯褋屑芯褌褉 + +啸芯褉芯褕邪褟 褋褌邪褌褜褟 + + 袥懈写械褉 泻芯屑邪薪写褘 胁 1992鈥1996 谐芯写褘 楔邪泻懈谢 袨鈥櫺澬感 + + 芦袨褉谢邪薪写芯 袦褝写卸懈泻禄 (邪薪谐谢. Orlando Magic) 鈥 锌褉芯褎械褋褋懈芯薪邪谢褜薪褘泄 斜邪褋泻械褌斜芯谢褜薪褘泄 + 泻谢褍斜, 胁褘褋褌褍锌邪褞褖懈泄 胁 挟谐芯-袙芯褋褌芯褔薪芯屑 写懈胁懈蟹懈芯薪械 袙芯褋褌芯褔薪芯泄 泻芯薪褎械褉械薪褑懈懈 + 袧邪褑懈芯薪邪谢褜薪芯泄 斜邪褋泻械褌斜芯谢褜薪芯泄 邪褋褋芯褑懈邪褑懈懈. 袣谢褍斜 锌褉懈褋芯械写懈薪懈谢褋褟 泻 谢懈谐械 胁 1989 + 谐芯写褍, 芯写薪芯胁褉械屑械薪薪芯 褋 芦袦懈薪薪械褋芯褌芯泄 孝懈屑斜械褉胁褍谢胁蟹禄, 胁 褉械蟹褍谢褜褌邪褌械 褉邪褋褕懈褉械薪懈褟 + 袧袘袗. 袣芯屑邪薪写邪 斜邪蟹懈褉褍械褌褋褟 胁 谐芯褉芯写械 袨褉谢邪薪写芯, 肖谢芯褉懈写邪, 懈 写芯屑邪褕薪懈械 懈谐褉褘 + 锌褉芯胁芯写懈褌 薪邪 邪褉械薪械 芦协屑胁械泄-褑械薪褌褉邪禄, 锌芯褋褌褉芯械薪薪芯谐芯 胁 2010 谐芯写褍. 袙 械褢 + 褋芯褋褌邪胁械 懈谐褉邪谢懈 褌邪泻懈械 懈谐褉芯泻懈, 泻邪泻 楔邪泻懈谢 袨鈥櫺澬感, 袗薪褎械褉薪懈 啸邪褉写褍褝泄, 袚褉邪薪褌 + 啸懈谢谢, 袪邪褕懈写 校芯谢谢械褋, 孝褉褝泄褋懈 袦邪泻谐褉褝写懈, 袛褍邪泄褌 啸芯胁邪褉写, 袘械薪 校芯谢谢械褋 懈 袙懈薪褋 + 袣邪褉褌械褉. 袟邪 22 谐芯写邪 胁 袧袘袗 泻芯屑邪薪写邪 13 褉邪蟹 胁褘褏芯写懈谢邪 胁 锌谢械泄-芯褎褎, 5 褉邪蟹 + 褋褌邪薪芯胁懈谢邪褋褜 褔械屑锌懈芯薪芯屑 写懈胁懈蟹懈芯薪邪 懈 2 褉邪蟹邪 胁褘褏芯写懈谢邪 胁 褎懈薪邪谢 袧袘袗 (胁 2004 懈 + 2009 谐芯写邪褏). 袩芯 褋芯褋褌芯褟薪懈褞 薪邪 2011 谐芯写, 泻谢褍斜 褟胁谢褟械褌褋褟 械写懈薪褋褌胁械薪薪芯泄 + 泻芯屑邪薪写芯泄 懈蟹 谐谢邪胁薪褘褏 褋锌芯褉褌懈胁薪褘褏 谢懈谐 小楔袗 胁 袨褉谢邪薪写芯. + (写邪谢械械鈥) + 袛褉褍谐懈械 褏芯褉芯褕懈械 褋褌邪褌褜懈 (1194) | 袣邪薪写懈写邪褌褘 | 袩褉芯褋屑芯褌褉 + +袠蟹斜褉邪薪薪褘械 褋锌懈褋泻懈 懈 锌芯褉褌邪谢褘 + + + 袩芯褋谢械写薪懈泄 懈蟹斜褉邪薪薪褘泄 褋锌懈褋芯泻: + ESEFUL.jpg + 小锌懈褋芯泻 谐谢邪胁薪褘褏 褌褉械薪械褉芯胁, 胁褘懈谐褉邪胁褕懈褏 褍锌褉邪蟹写薪褢薪薪褘械 泻谢褍斜薪褘械 褌褍褉薪懈褉褘 + 袣袨袧袦袝袘袨袥 (1988鈥2001) + 袩芯褋谢械写薪懈泄 懈蟹斜褉邪薪薪褘泄 锌芯褉褌邪谢: + Australia stub.svg + 袗胁褋褌褉邪谢懈褟 + 袛褉褍谐懈械 懈蟹斜褉邪薪薪褘械 褋锌懈褋泻懈 懈 锌芯褉褌邪谢褘 | 袣邪薪写懈写邪褌褘 | 袩褉芯褋屑芯褌褉 + +袠蟹芯斜褉邪卸械薪懈械 写薪褟 + + 小邪屑泻邪 芯斜褘泻薪芯胁械薪薪芯谐芯 褕懈屑锌邪薪蟹械 (Pan troglodytes) 褋 写械褌褢薪褘褕械屑. 袟芯芯锌邪褉泻 + 袚芯褋褋邪褍, 楔胁械泄褑邪褉懈褟. + 小邪屑泻邪 芯斜褘泻薪芯胁械薪薪芯谐芯 褕懈屑锌邪薪蟹械 (Pan troglodytes) 褋 写械褌褢薪褘褕械屑. 袟芯芯锌邪褉泻 + 袚芯褋褋邪褍, 楔胁械泄褑邪褉懈褟. + 袩褉芯褋屑芯褌褉 + +袟薪邪械褌械 谢懈 胁褘? + + 袠蟹 薪芯胁褘褏 褋褌邪褌械泄 袙懈泻懈锌械写懈懈 + 袥邪褉懈褋邪 袪懈泻械谢褜屑械 + * 袗泻褌懈胁薪邪褟 锌芯写写械褉卸泻邪 褋胁芯械泄 薪邪褑懈芯薪邪谢褜薪芯泄 褋斜芯褉薪芯泄 薪邪 褔械屑锌懈芯薪邪褌械 屑懈褉邪 锌芯 + 褎褍褌斜芯谢褍 褋写械谢邪谢邪 芯写薪褍 屑芯写械谢褜 (薪邪 褎芯褌芯) 褋邪屑芯泄 胁褘褋芯泻芯芯锌谢邪褔懈胁邪械屑芯泄 胁 + 袩邪褉邪谐胁邪械. + * Halomonas titanicae 胁 斜谢懈卸邪泄褕械屑 斜褍写褍褖械屑 褋褗械褋褌 芦孝懈褌邪薪懈泻禄. + * 袛械褌褋泻邪褟 锌械谢褢薪泻邪 褋褌邪谢邪 褋懈屑胁芯谢芯屑 谐褉邪卸写邪薪褋泻芯谐芯 锌褉芯褌械褋褌邪 锌褉芯褌懈胁 + 写械泄褋褌胁懈泄 邪褉谐械薪褌懈薪褋泻芯泄 褏褍薪褌褘. + * 袦邪褋褌械褉, 懈蟹谐芯褌芯胁谢褟胁褕懈泄 褕谢褟锌褘 写谢褟 褎懈谢褜屑芯胁 芯 袚邪褉褉懈 袩芯褌褌械褉械, 写械谢邪谢 + 谐芯谢芯胁薪褘械 褍斜芯褉褘 懈 写谢褟 泻芯褉芯谢械胁褋泻芯泄 褋械屑褜懈. + + 袛械褉械胁芯 芦袚懈锌械褉懈芯薪禄 + * 小邪屑芯械 胁褘褋芯泻芯械 胁 屑懈褉械 写械褉械胁芯 (薪邪 褎芯褌芯) 褍写邪谢芯褋褜 胁褘褔懈褋谢懈褌褜 褌芯谢褜泻芯 5 + 谢械褌 薪邪蟹邪写. + * 袛谢褟 褋芯蟹写邪薪懈褟 邪褌屑芯褋褎械褉褘 褌邪懈薪褋褌胁械薪薪芯褋褌懈 褎懈谢褜屑 芦袠薪泻褍斜禄 褑械谢懈泻芯屑 褋薪褟褌 薪邪 + 褟蟹褘泻械 褝褋锌械褉邪薪褌芯. + * 袗胁褋褌褉邪谢懈泄褋泻懈泄 锌褉械屑褜械褉-屑懈薪懈褋褌褉 胁 褋胁芯褢 胁褉械屑褟 锌芯斜械卸写邪谢 胁 薪邪褑懈芯薪邪谢褜薪芯泄 + 胁懈泻褌芯褉懈薪械. + * 袧邪锌邪写械薪懈械 屑邪褉褋懈邪薪 薪邪 协泻胁邪写芯褉 蟹邪胁械褉褕懈谢芯褋褜 谐懈斜械谢褜褞 褕械褋褌懈 褔械谢芯胁械泻. + * 袩褉芯斜谢械屑邪 芦褔褌芯, 械褋谢懈 斜褘 袘芯谐 褋芯蟹写邪谢 屑薪芯卸械褋褌胁芯 屑懈褉芯胁?禄 芯斜褋褍卸写邪谢邪褋褜 械褖褢 + 胁 小褉械写薪械胁械泻芯胁褜械 芯褌褑邪屑懈 褑械褉泻胁懈 懈 褋谢褍卸懈褌 锌褉懈褔懈薪芯泄 褉械谢懈谐懈芯蟹薪褘褏 + 写懈褋锌褍褌芯胁 懈 锌芯薪褘薪械. + * 袣邪薪邪写褋泻懈泄 褏芯泻泻械懈褋褌 斜褘谢 薪邪褋褌芯谢褜泻芯 褉邪写 胁褘懈谐褉褘褕褍 袣褍斜泻邪 小褌褝薪谢懈, 褔褌芯 + 褉械褕懈谢 泻褉械褋褌懈褌褜 胁 薪褢屑 褋胁芯褞 写芯褔褜. + + 袩褉械写谢芯卸械薪懈褟 | 袗褉褏懈胁 | 袩褉芯褋屑芯褌褉 | 袨斜褋褍写懈褌褜 + +袙 褝褌芯褌 写械薪褜 鈥 21 芯泻褌褟斜褉褟 + + 袙械薪写械薪褋泻懈泄 蟹邪屑芯泻 + * 1097 鈥 泻褉械褋褌芯薪芯褋褑褘 芯褋邪写懈谢懈 袗薪褌懈芯褏懈褞 + * 1520 鈥 肖械褉薪邪薪 袦邪谐械谢谢邪薪 芯褌泻褉褘谢 锌褉芯谢懈胁 屑械卸写褍 袗褌谢邪薪褌懈褔械褋泻懈屑 懈 孝懈褏懈屑 + 芯泻械邪薪邪屑懈 + * 1578 鈥 锌芯褉邪卸械薪懈械 褉褍褋褋泻芯泄 邪褉屑懈懈 褍 褋褌械薪 袙械薪写械薪褋泻芯谐芯 蟹邪屑泻邪 (薪邪 懈谢谢.) + * 1727 鈥 褉褍褋褋泻懈泄 褍锌芯谢薪芯屑芯褔械薪薪褘泄 小邪胁胁邪 袪邪谐褍蟹懈薪褋泻懈泄 锌芯写锌懈褋邪谢 写芯谐芯胁芯褉 芯 + 褌芯褉谐芯胁谢械 褋 袣懈褌邪械屑 + * 1805 鈥 孝褉邪褎邪谢褜谐邪褉褋泻邪褟 斜懈褌胁邪 芯褋褌邪胁懈谢邪 袧邪锌芯谢械芯薪邪 斜械蟹 褎谢芯褌邪 + * 1858 鈥 锌褉械屑褜械褉邪 芯锌械褉械褌褌褘 袨褎褎械薪斜邪褏邪 芦袨褉褎械泄 胁 邪写褍禄, 薪邪 泻芯褌芯褉芯泄 + 胁锌械褉胁褘械 斜褘谢 懈褋锌芯谢薪械薪 泻邪薪泻邪薪 + * 1895 鈥 胁褌芯褉卸械薪懈械 褟锌芯薪褑械胁 薪邪 孝邪泄胁邪薪褜, 薪懈蟹胁械褉卸械薪懈械 孝邪泄胁邪薪褜褋泻芯泄 + 褉械褋锌褍斜谢懈泻懈 + * 1967 鈥 芯褋邪写邪 袩械薪褌邪谐芯薪邪 锌褉芯褌懈胁薪懈泻邪屑懈 胁芯泄薪褘 胁芯 袙褜械褌薪邪屑械 + + 袥芯谐芯褌懈锌 芦袙懈泻懈薪芯胁芯褋褌械泄禄 小芯斜褘褌懈褟 21 芯泻褌褟斜褉褟 2011 谐芯写邪 胁 袙懈泻懈薪芯胁芯褋褌褟褏 + 袩褉芯褋屑芯褌褉 + +小芯胁屑械褋褌薪邪褟 褉邪斜芯褌邪 薪械写械谢懈 + + 袩褉懈谐谢邪褕邪械屑 胁褋械褏 卸械谢邪褞褖懈褏 锌褉懈薪褟褌褜 褍褔邪褋褌懈械 胁 褉邪斜芯褌械 薪邪写 褋褌邪褌褜褟屑懈 芯 + 褋褉械写薪械胁械泻芯胁褘褏 褉褍褋褋泻懈褏 泻薪褟卸械褋褌胁邪褏 懈 芯 泻芯褋屑懈褔械褋泻芯泄 锌褉芯谐褉邪屑屑械 + 芦协薪械褉谐懈褟-袘褍褉邪薪禄. + 锌路芯路褉 + 袣芯褋屑懈褔械褋泻邪褟 锌褉芯谐褉邪屑屑邪 芦协薪械褉谐懈褟-袘褍褉邪薪禄 + 袣芯屑锌芯薪械薪褌褘 袘褍褉邪薪 路 协薪械褉谐懈褟 路 袦懈褉 路 袣胁邪薪褌-1 路 袣胁邪薪褌-2 路 袣褉懈褋褌邪谢谢 路 + 袗薪写褉芯谐懈薪薪芯-锌械褉懈褎械褉懈泄薪褘泄 邪谐褉械谐邪褌 褋褌褘泻芯胁泻懈 Buran.jpg + 袨褉斜懈褌邪谢褜薪褘械 褝泻蟹械屑锌谢褟褉褘 袘褍褉邪薪 1.01 路 袘褍褉邪薪 1.02 路 袘褍褉邪薪 2.01 路 袘褍褉邪薪 + 2.02 路 袘褍褉邪薪 2.03 + 孝械褋褌芯胁褘械 褝泻蟹械屑锌谢褟褉褘 懈 邪锌锌邪褉邪褌褘 袨袣-袦袥-1 (0.01; 袨袣-袦; 袘孝小-01) 路 袨袣-袚袥袠 + (0.02; 袘孝小-02) 路 袨袣-袣小 (0.03) 路 袨袣-袦袥-2 (0.04) 路 袨袣-孝袙袗 (0.05) 路 袨袣-孝袙袠 + (0.06) 路 袨袣-袦孝 (0.15) 路 袨袣-? (0.08) 路 袘袨袪-4 路 袘袨袪-5 + 袦械褋褌芯 蟹邪锌褍褋泻邪 袘邪泄泻芯薪褍褉 + 袦械褋褌邪 锌芯褋邪写芯泻 芯褋薪芯胁薪芯械: 挟斜懈谢械泄薪褘泄 路 褉械蟹械褉胁薪褘械: 袘邪谐械褉芯胁芯 路 袙芯褋褌芯褔薪褘泄 + (啸芯褉芯谢褜) 路 蟹邪锌邪褋薪褘械: 锌褉芯褔懈械 + 小胁褟蟹邪薪薪褘械 褌械屑褘 袨斜褉褍褕械薪懈械 泻褉褘褕懈 屑芯薪褌邪卸薪芯-懈褋锌褘褌邪褌械谢褜薪芯谐芯 泻芯褉锌褍褋邪 褋 + 芦袘褍褉邪薪芯屑禄 + 袩褉懈屑懈褌械 褌邪泻卸械 褍褔邪褋褌懈械 胁 袦械泻谢械薪斜褍褉谐 芦袦械泻谢械薪斜褍褉谐褋泻芯泄 薪械写械谢械禄. + 袣邪薪写懈写邪褌褘 | 袗褉褏懈胁 | 袩褉芯褋屑芯褌褉 + +袪芯写褋褌胁械薪薪褘械 锌褉芯械泻褌褘 + + wikt: 袙懈泻懈褋谢芯胁邪褉褜 + 小谢芯胁邪褉褜 懈 褌械蟹邪褍褉褍褋 commons: 袙懈泻懈褋泻谢邪写 + 啸褉邪薪懈谢懈褖械 屑械写懈邪褎邪泄谢芯胁 b: 袙懈泻懈褍褔械斜薪懈泻 + 校褔械斜薪懈泻懈 懈 褉褍泻芯胁芯写褋褌胁邪 + q: 袙懈泻懈褑懈褌邪褌薪懈泻 + 袣芯谢谢械泻褑懈褟 褑懈褌邪褌 m: 袦械褌邪-胁懈泻懈 + 袙懈泻懈 芯 锌褉芯械泻褌邪褏 袙懈泻懈屑械写懈邪 n: 袙懈泻懈薪芯胁芯褋褌懈 + 袧芯胁芯褋褌懈 + s: 袙懈泻懈褌械泻邪 + 袨褉懈谐懈薪邪谢褜薪褘械 褌械泻褋褌褘 wikispecies: 袙懈泻懈胁懈写褘 + 袘懈芯谢芯谐懈褔械褋泻懈械 胁懈写褘 v: 袙懈泻懈胁械褉褋懈褌械褌 + 袨斜褍褔械薪懈械 + + 袩芯褋芯谢褜褋褌胁芯 / Embassy 鈥 袦芯斜懈谢褜薪邪褟 胁械褉褋懈褟 鈥 小斜芯褉 褋褉械写褋褌胁 鈥 肖芯薪写 + 袙懈泻懈屑械写懈邪 鈥 袣芯薪褌邪泻褌褘 鈥 袛褉褍谐懈械 褟蟹褘泻芯胁褘械 褉邪蟹写械谢褘 + 袠褋褌芯褔薪懈泻 鈥 + 芦http://ru.wikipedia.org/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0% + B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D + 0%B0&oldid=37831798禄 + 袣邪褌械谐芯褉懈褟: + * 袩芯褉褌邪谢褘 + +袥懈褔薪褘械 懈薪褋褌褉褍屑械薪褌褘 + + * 袩褉械写褋褌邪胁懈褌褜褋褟 / 蟹邪褉械谐懈褋褌褉懈褉芯胁邪褌褜褋褟 + +袩褉芯褋褌褉邪薪褋褌胁邪 懈屑褢薪 + + * 袟邪谐谢邪胁薪邪褟 + * 袨斜褋褍卸写械薪懈械 + +袙邪褉懈邪薪褌褘 + +袩褉芯褋屑芯褌褉褘 + + * 效褌械薪懈械 + * 孝械泻褍褖邪褟 胁械褉褋懈褟 + * 袩褉芯褋屑芯褌褉 + * 袠褋褌芯褉懈褟 + +袛械泄褋褌胁懈褟 + +袩芯懈褋泻 + + ____________________ (Submit) 袧邪泄褌懈 + +袧邪胁懈谐邪褑懈褟 + + * 袟邪谐谢邪胁薪邪褟 褋褌褉邪薪懈褑邪 + * 袪褍斜褉懈泻邪褑懈褟 + * 校泻邪蟹邪褌械谢褜 袗鈥夆斺壭 + * 袠蟹斜褉邪薪薪褘械 褋褌邪褌褜懈 + * 小谢褍褔邪泄薪邪褟 褋褌邪褌褜褟 + * 孝械泻褍褖懈械 褋芯斜褘褌懈褟 + +校褔邪褋褌懈械 + + * 小芯芯斜褖懈褌褜 芯斜 芯褕懈斜泻械 + * 袩芯褉褌邪谢 褋芯芯斜褖械褋褌胁邪 + * 肖芯褉褍屑 + * 小胁械卸懈械 锌褉邪胁泻懈 + * 袧芯胁褘械 褋褌褉邪薪懈褑褘 + * 小锌褉邪胁泻邪 + * 袩芯卸械褉褌胁芯胁邪薪懈褟 + +袩械褔邪褌褜/褝泻褋锌芯褉褌 + + * 小芯蟹写邪褌褜 泻薪懈谐褍 + * 小泻邪褔邪褌褜 泻邪泻 PDF + * 袙械褉褋懈褟 写谢褟 锌械褔邪褌懈 + +袠薪褋褌褉褍屑械薪褌褘 + + * 小褋褘谢泻懈 褋褞写邪 + * 小胁褟蟹邪薪薪褘械 锌褉邪胁泻懈 + * 小锌械褑褋褌褉邪薪懈褑褘 + * 袩芯褋褌芯褟薪薪邪褟 褋褋褘谢泻邪 + * 笑懈褌懈褉芯胁邪褌褜 褋褌褉邪薪懈褑褍 + +袧邪 写褉褍谐懈褏 褟蟹褘泻邪褏 + + * 丕賱毓乇亘賷丞 + * Az蓹rbaycanca + * 袘械谢邪褉褍褋泻邪褟 + * 鈥懶敌恍把褍褋泻邪褟 (褌邪褉邪褕泻械胁褨褑邪)鈥 + * 袘褗谢谐邪褉褋泻懈 + * 膶esky + * 效討胁邪褕谢邪 + * Dansk + * Deutsch + * 螘位位畏谓喂魏维 + * English + * Espa帽ol + * Eesti + * 賮丕乇爻蹖 + * Suomi + * Fran莽ais + * 注讘专讬转 + * Magyar + * 諃铡盏榨謤榨斩 + * Italiano + * 鏃ユ湰瑾 + * 醿メ儛醿犪儣醿a儦醿 + * 覛邪蟹邪覜褕邪 + * 頃滉淡鞏 + * Lietuvi懦 + * Latvie拧u + * Nederlands + * 鈥狽orsk (bokm氓l)鈥 + * 袠褉芯薪 + * Polski + * Portugu锚s + * Rom芒n膬 + * 小邪褏邪 褌褘谢邪 + * 小褉锌褋泻懈 / Srpski + * Svenska + * T眉rk莽e + * 孝邪褌邪褉褔邪/Tatar莽a + * 校泻褉邪褩薪褋褜泻邪 + * Ti岷縩g Vi峄噒 + * 涓枃 + + * 袩芯褋谢械写薪械械 懈蟹屑械薪械薪懈械 褝褌芯泄 褋褌褉邪薪懈褑褘: 11:55, 19 褋械薪褌褟斜褉褟 2011. + * 孝械泻褋褌 写芯褋褌褍锌械薪 锌芯 谢懈褑械薪蟹懈懈 Creative Commons Attribution-ShareAlike; + 胁 芯褌写械谢褜薪褘褏 褋谢褍褔邪褟褏 屑芯谐褍褌 写械泄褋褌胁芯胁邪褌褜 写芯锌芯谢薪懈褌械谢褜薪褘械 褍褋谢芯胁懈褟. + 袩芯写褉芯斜薪械械 褋屑. 校褋谢芯胁懈褟 懈褋锌芯谢褜蟹芯胁邪薪懈褟. + Wikipedia庐 鈥 蟹邪褉械谐懈褋褌褉懈褉芯胁邪薪薪邪褟 褌芯褉谐芯胁邪褟 屑邪褉泻邪 Wikimedia + Foundation, Inc., 薪械泻芯屑屑械褉褔械褋泻芯泄 芯褉谐邪薪懈蟹邪褑懈懈. + * 小胁褟卸懈褌械褋褜 褋 薪邪屑懈 + + * 袩芯谢懈褌懈泻邪 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 + * 袨锌懈褋邪薪懈械 袙懈泻懈锌械写懈懈 + * 袨褌泻邪蟹 芯褌 芯褌胁械褌褋褌胁械薪薪芯褋褌懈 + * 袦芯斜懈谢褜薪邪褟 胁械褉褋懈褟 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt b/test/testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt new file mode 100644 index 0000000..c7bbd82 --- /dev/null +++ b/test/testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt @@ -0,0 +1,312 @@ + #妈觇镥滂 (ru) copyright 妈觇镥滂 Atom-脲眚 + +青汶噔磬 耱疣龛鲟 + + 锑蝈痂嚯 桤 妈觇镥滂 疋钺钿眍 鲨觌铒邃梃 + 羊噌桦 忮瘃 猁豚 镳钼屦屙 19 皴眚狃 2011. 褥妣蝰 + 礤镳钼屦屙睇 桤戾礤龛 犭铐圊 桦 羿殡圊. + 义牦 忮瘃 镱赅玎螯/耜瘥螯 镱漯钺眍耱 + 羊噌桦 忮瘃 猁豚 镳钼屦屙 19 皴眚狃 2011. 褥妣蝰 + 礤镳钼屦屙睇 桤戾礤龛 犭铐圊 桦 羿殡圊. + 襄疱轵 : 磬忤汔鲨, 镱桉 + + + 念狃 镱驵腩忄螯 妈觇镥滂, + + 疋钺钿眢 鲨觌铒邃棹, 觐蝾痼 祛驽 疱溧牝桊钼囹 赅驿. + 彦轺囫 妈觇镥滂 779 821 耱囹 磬 痼耨觐 琨赍. + + 缅钽疣翳 + 锐牦耨蜮 + 锐蝾痂 + 腆琨赅 + + 袜箨 + 吾耱忸 + 襄瘃铐嚯梃 + 绣腓汨 + + 扬铕 + 义蹴桕 + 澡腩耦翳 + 埋 镱痱嚯 + 杨玟囹 耱囹 ( 镱祛桕铎) 扬疣怅 谚耱屐 痼狃桕圉梃 橡羼襦 + 妈觇镥滂 + +如狃囗磬 耱囹 + + 氧屐 疣耧疱溴脲龛 溴矬蜞蝾 II 捏禧 镱 麴嚓鲨 + + 疱螯彖觇 镥疱忸痤蚧 痤觐 疣耧痤耱疣砀眄铄 磬玮囗桢 + 镳铊珙澍邈 3 (16) 棹 1907 泐溧 蓄耨梃 漕耩铟眍泐 痤耧篑赅 II + 妙耋溧瘃蜮屙眍 捏禧, 耦镳钼铈溧怿邈铖 桤戾礤龛屐 桤徼疣蝈朦眍 + 耔耱屐. + + 橡梓桧铋 痤耧篑赅 II 捏禧 镱耠箧桦 礤忸珈铈眍耱 磬豚滂螯 + 觐眈蝠箨蜩忭铄 忡噼祛溴轳蜮桢 戾驿 镳噔栩咫蜮铎, 忸玢豚怆屐 + 镳屐-扈龛耱痤 . . 羊铍桧, 捏祛, 珥圜栩咫簋 鬣耱 觐蝾痤 + 耦耱噔腓 镳邃耱噔栩咫 牮嚅龛 脲恹 镟痱栝 (耦鲨嚯-溴祛牮囹, + 耦鲨嚯桉螓-疱忸膻鲨铐屦, 磬痤漤 耦鲨嚯桉螓) 镳桁噔 龛 + 蝠箐钼桕. II 捏爨, 铗牮 20 翦怵嚯 1907 泐溧, 桁咫 礤 戾礤 + 铒镱玷鲨铐眍 磬耱痤屙桢, 麇 疣礤 疣耧簌屙磬 I 捏爨. 捏爨 镳忤豚 + 蝈礓屙鲨 铗觌铐屙棹 怦艴 镳噔栩咫蜮屙睇 玎觐眍镳铄牝钼 狺滏弪, + 玎觐眍镳铄牝, 镳邃豚汔怿桢 捏祛, 玎忮漕祛 礤 祛汶 猁螯 + 篁忮疰溴睇 妙耋溧瘃蜮屙睇 杨忮蝾 桁镥疣蝾痤. 央铈桠 耔蝮圉 + 镳邃耱噔豚 耦犷 觐眈蜩蝮鲨铐睇 牮桤桉 务眍忭 泐耋溧瘃蜮屙睇 + 玎觐睇 (羿牝梓羼觇 觐眈蜩蝮鲨 蓄耨梃) 镱玮铍腓 桁镥疣蝾痼 膻犷 + 祛戾眚 疣耧篑蜩螯 捏祗, 眍 铐 猁 钺玎 耦玮囹 眍怏 捏祗 礤 祛 + 徨 甯 耦汶囫 桤戾龛螯 桤徼疣蝈朦睇 玎觐; 眍 镳 铎 耠邃簋 + 捏爨, 镳邃镱腩骅蝈朦眍, 礤 铗腓鬣豚顸 猁 镱 铒镱玷鲨铐眍耱 铗 + 疣耧簌屙眍. + + (溧脲鍏) + 酿筱桢 桤狃囗睇 耱囹 (471) | 枢礓桎囹 | 橡铖祛蝠 + +疹痤 耱囹 + + 髓溴 觐爨礓 19921996 泐潲 剜觇 螔丸 + + 痣囗漕 听滏桕 (囗汶. Orlando Magic) 镳铘羼耔铐嚯 徉耜弪犷朦睇 + 觌筢, 恹耱箫帼 捭-骂耱铟眍 滂忤玷铐 骂耱铟眍 觐眙屦屙鲨 + 袜鲨铐嚯铋 徉耜弪犷朦眍 囫耦鲨圉梃. 孰筢 镳桉铄滂龛腭 腓沐 1989 + 泐潴, 钿眍怵屐屙眍 桧礤耦蝾 诣灬屦怏脞缁, 疱珞朦蜞蝈 疣聒桊屙 + 土. 暑爨礓 徉玷痼弪 泐痤溴 勿豚礓, 噪铕桎, 漕爨桢 桡瘥 + 镳钼钿栩 磬 囵屙 焘彘-鲥眚疣, 镱耱痤屙眍泐 2010 泐潴. 甯 + 耦耱噔 桡疣腓 蜞觇 桡痤觇, 赅 剜觇 螔丸, 理翦痦 锗痄簖, 灭囗 + 砧腚, 朽 宇腚羼, 茵耔 锑赉瘕滂, 捏嚅 疹忄痄, 铃 宇腚羼 妈眈 + 枢痱屦. 青 22 泐溧 土 觐爨礓 13 疣 恹躅滂豚 镫彘-铘, 5 疣 + 耱囗钼桦囫 麇祜桀眍 滂忤玷铐 2 疣玎 恹躅滂豚 翳磬 土 ( 2004 + 2009 泐溧). 项 耦耱龛 磬 2011 泐, 觌筢 怆弪 邃桧耱忮眄铋 + 觐爨礓铋 桤 汶噔睇 耧铕蜩忭 腓 沿 勿豚礓. + (溧脲鍏) + 酿筱桢 躅痤 耱囹 (1194) | 枢礓桎囹 | 橡铖祛蝠 + +如狃囗睇 耧桉觇 镱痱嚯 + + + 项耠邃龛 桤狃囗睇 耧桉铌: + ESEFUL.jpg + 扬桉铌 汶噔睇 蝠屙屦钼, 恹桡疣怿桴 箫疣玟砀眄 觌筢睇 蝮痦桊 + 饰吞帕嗡 (19882001) + 项耠邃龛 桤狃囗睇 镱痱嚯: + Australia stub.svg + 棱耱疣腓 + 酿筱桢 桤狃囗睇 耧桉觇 镱痱嚯 | 枢礓桎囹 | 橡铖祛蝠 + +如钺疣驽龛 漤 + + 燕礻 钺眍忮眄钽 祜囗珏 (Pan troglodytes) 溴蚋睇. 穷铒囵 + 妙耨囿, 剽彘鲟痂. + 燕礻 钺眍忮眄钽 祜囗珏 (Pan troglodytes) 溴蚋睇. 穷铒囵 + 妙耨囿, 剽彘鲟痂. + 橡铖祛蝠 + +琼噱蝈 腓 恹? + + 如 眍恹 耱囹彘 妈觇镥滂 + 肃痂襦 需赍朦戾 + * 狸蜩忭 镱滗屦骊 疋铄 磬鲨铐嚯铋 襻铕眍 磬 麇祜桀磬蝈 扈疣 镱 + 趔蜥铍 皲咫嚯 钿眢 祛溴朦 (磬 纛蝾) 襦祛 恹耦觐铒豚麒忄屐铋 + 相疣汊噱. + * Halomonas titanicae 犭桄嚅 狍潴 聱羼 栩囗桕. + * 腻蝰赅 镥敫黻 耱嚯 耔焘铍铎 沭噫溧眈觐泐 镳铗羼蜞 镳铗桠 + 溴轳蜮栝 囵沐眚桧耜铋 躞眚. + * 锑耱屦, 桤泐蝾怆怿栝 稃 潆 翳朦祛 绵痧 项蝌屦, 溴豚 + 泐腩忭 筢铕 潆 觐痤脲怦觐 皴禳. + + 腻疱忸 栾屦桀砘 + * 燕祛 恹耦觐 扈疱 溴疱忸 (磬 纛蝾) 箐嚯铖 恹麒耠栩 蝾朦觐 5 + 脲 磬玎. + * 碾 耦玟囗 囹祛耵屦 蜞桧耱忮眄铖蜩 翳朦 黻筢 鲥腓觐 耥 磬 + 琨赍 镥疣眚. + * 棱耱疣腓轳觇 镳屐-扈龛耱 疋罡 怵屐 镱徨驿嚯 磬鲨铐嚯铋 + 忤牝铕桧. + * 袜镟溴龛 爨瘃栲 磬 蓐忄漕 玎忮瘌桦铖 汨徨朦 耱 麇腩忮. + * 橡钺脲爨 蝾, 羼腓 猁 令 耦玟嚯 祉铈羼蜮 扈痤? 钺耋驿嚯囫 妁 + 佯邃礤忮觐恻 铗鲟扈 鲥痍忤 耠箧栩 镳梓桧铋 疱腓汨铉睇 + 滂耧篁钼 镱睇礤. + * 枢磬漶觇 躅觋彖耱 猁 磬耱铍 疣 恹桡瘥 鼠彡 羊腓, 黩 + 疱 牮羼蜩螯 砀 疋铪 漕鼽. + + 橡邃腩驽龛 | 鲤蹊 | 橡铖祛蝠 | 吾耋滂螯 + + 铗 溴睃 21 铌狃 + + 洛礓屙耜栝 玎祛 + * 1097 牮羼蝾眍聆 铖噤桦 理蜩铛棹 + * 1520 藻痦囗 锑沐腚囗 铗牮 镳铍桠 戾驿 莉豚眚梓羼觇 诣蹊 + 铌遴磬扈 + * 1578 镱疣驽龛 痼耨觐 囵扈 耱屙 洛礓屙耜钽 玎礻 (磬 桦.) + * 1727 痼耨觇 箫铍眍祛麇眄 燕忖 朽泱玷眈觇 镱滹桉嚯 漕泐忸 + 蝾疸钼脲 疏蜞屐 + * 1805 茵圄嚯囵耜 徼蜮 铖蜞忤豚 袜镱脲铐 徨 綦铗 + * 1858 镳屐疣 铒屦弪螓 昔翦磲圊 痿彘 噤蠡, 磬 觐蝾痤 + 怙屦恹 猁 桉镱腠屙 赅黻囗 + * 1895 怛铕驽龛 镱眦邂 磬 亦殁囗, 龛玮屦驽龛 亦殁囗觐 + 疱耧筢腓觇 + * 1967 铖噤 襄眚嚆铐 镳铗桠龛赅扈 忸轫 忸 曼弪磬戾 + + 祟泐蜩 桕桧钼铖蝈榛 杨猁蜩 21 铌狃 2011 泐溧 妈觇眍忸耱 + 橡铖祛蝠 + +杨忪羼蝽 疣犷蜞 礤溴腓 + + 橡桡豚屐 怦艴 驽豚桴 镳桧螯 篦囫蜩 疣犷蝈 磬 耱囹扈 + 耩邃礤忮觐恹 痼耨觇 觏驽耱忄 觐耢梓羼觐 镳钽疣祆 + 礤疸-馏疣砘. + 锓罘 + 暑耢梓羼赅 镳钽疣祆 礤疸-馏疣砘 + 暑祜铐屙螓 馏疣 蓓屦汨 惕 殊囗-1 殊囗-2 署桉蜞腚 + 理漯钽桧眍-镥痂翦痂轫 嚆疱汔 耱钼觇 Buran.jpg + 勿徼蜞朦睇 珏祜瘥 馏疣 1.01 馏疣 1.02 馏疣 2.01 馏疣 + 2.02 馏疣 2.03 + 义耱钼 珏祜瘥 囡镟疣螓 问-趟-1 (0.01; 问-; 烈-01) 问-盟 + (0.02; 烈-02) 问-恃 (0.03) 问-趟-2 (0.04) 问-衣 (0.05) 问-衣 + (0.06) 问-桃 (0.15) 问-? (0.08) 廖-4 廖-5 + 体耱 玎矬耜 拎殛铐箴 + 体耱 镱襦漕 铖眍忭铄: 掎桦彘睇 疱珏疴睇: 拎沐痤忸 骂耱铟睇 + (疹痤朦) 玎镟耥: 镳铟桢 + 砚玎眄 蝈禧 吾痼龛 牮 祛眚噫眍-桉稃蜞蝈朦眍泐 觐痫篑 + 箴囗铎 + 橡桁栩 蜞赕 篦囫蜩 体觌屙狍疸 尻脲磲箴泷觐 礤溴脲. + 枢礓桎囹 | 鲤蹊 | 橡铖祛蝠 + +蓄漶蜮屙睇 镳铄牝 + + wikt: 妈觇耠钼囵 + 央钼囵 蝈玎箴篑 commons: 妈觇耜豚 + 震囗桦棂 戾滂圄嚅腩 b: 妈觇篦遽龛 + 喻遽龛觇 痼觐忸漶蜮 + q: 妈觇鲨蜞蝽桕 + 暑腚尻鲨 鲨蜞 m: 体蜞-忤觇 + 妈觇 镳铄牝圊 妈觇戾滂 n: 妈觇眍忸耱 + 皖忸耱 + s: 妈觇蝈赅 + 勿桡桧嚯 蝈犟螓 wikispecies: 妈觇忤潲 + 凌铍钽梓羼觇 忤潲 v: 妈觇忮瘃栩弪 + 吾篦屙桢 + + 项耦朦耱忸 / Embassy 填徼朦磬 忮瘃 厌铕 耩邃耱 灶礓 + 妈觇戾滂 暑眚嚓螓 酿筱桢 琨觐恹 疣玟咫 + 锐蝾黜桕 + 玥ttp://ru.wikipedia.org/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0% + B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D + 0%B0&oldid=37831798 + 枢蝈泐痂: + * 项痱嚯 + +髓黜 桧耱痼戾眚 + + * 橡邃耱噔栩 / 玎疱汨耱痂痤忄螯 + +橡铖蝠囗耱忄 桁疙 + + * 青汶噔磬 + * 吾耋驿屙桢 + +锣痂囗螓 + +橡铖祛蝠 + + * 昨屙桢 + * 义牦 忮瘃 + * 橡铖祛蝠 + * 锐蝾痂 + +腻轳蜮 + +项桉 + + ____________________ (Submit) 袜轵 + +袜忤汔鲨 + + * 青汶噔磬 耱疣龛鲟 + * 畜狃桕圉 + * 雨噻囹咫 罈 + * 如狃囗睇 耱囹 + * 央篦嚅磬 耱囹 + * 义牦 耦猁蜩 + +喻囫蜩 + + * 杨钺螯 钺 铠栳赍 + * 项痱嚯 耦钺耱忄 + * 灶痼 + * 砚彐桢 镳噔觇 + * 皖恹 耱疣龛鳆 + * 扬疣怅 + * 项驽痱忸忄龛 + +襄鬣螯/耧铕 + + * 杨玟囹 觏桡 + * 殃圜囹 赅 PDF + * 洛瘃 潆 镥鬣蜩 + +软耱痼戾眚 + + * 疡觇 颃溧 + * 砚玎眄 镳噔觇 + * 扬弼耱疣龛鳆 + * 项耱眄 耨赅 + * 骤蜩痤忄螯 耱疣龛鲶 + +袜 漯筱桴 琨赅 + + * + * Azrbaycanca + * 铃豚痼耜 + * 铃豚痼耜 (蜞疣邂出) + * 龙脬囵耜 + * esky + * 租帏豚 + * Dansk + * Deutsch + * + * English + * Espaol + * Eesti + * + * Suomi + * Franais + * + * Magyar + * + * Italiano + * + * + * 噻帏 + * + * Lietuvi + * Latvieu + * Nederlands + * Norsk (bokml) + * 瑞铐 + * Polski + * Portugus + * Romn + * 燕踵 螓豚 + * 佯锺觇 / Srpski + * Svenska + * Trke + * 亦蜞瘅/Tatara + * 雨疣宽顸赅 + * Ting Vit + * + + * 项耠邃礤 桤戾礤龛 铋 耱疣龛鳆: 11:55, 19 皴眚狃 2011. + * 义犟 漕耱箫屙 镱 腓鲥礴梃 Creative Commons Attribution-ShareAlike; + 铗溴朦睇 耠篦 祛泱 溴轳蜮钼囹 漕镱腠栩咫 篑腩忤. + 项漯钺礤 耢. 玉腩忤 桉镱朦珙忄龛. + Wikipedia 玎疱汨耱痂痤忄眄 蝾疸钼 爨痍 Wikimedia + Foundation, Inc., 礤觐祆屦麇耜铋 铕汔龛玎鲨. + * 砚骅蝈顸 磬扈 + + * 项腓蜩赅 觐眙桎屙鲨嚯铖蜩 + * 物桉囗桢 妈觇镥滂 + * 悟赅 铗 铗忮蝰蜮屙眍耱 + * 填徼朦磬 忮瘃 + + * Wikimedia Foundation + * Powered by MediaWiki diff --git a/test/testdata/se/UTF-8/wikitop_se_UTF-8.txt b/test/testdata/se/UTF-8/wikitop_se_UTF-8.txt new file mode 100644 index 0000000..7870d09 --- /dev/null +++ b/test/testdata/se/UTF-8/wikitop_se_UTF-8.txt @@ -0,0 +1,158 @@ +V谩ldosiidu + + Wikipedias + Njuike: naviga拧uvdna, oza + Bures boahtin Wikipediai, almmola拧 diehtos谩tnegirj谩i. + Davvis谩megielat Wikipedias lea d谩l oktiibuot 3,756 artihkkala. + Geah膷a buot kategoriijaid | Historj谩 | Kultuvra | Luondu | Lottit | + Riikkat | Gielat | S谩pmi | 艩attut + +Die膽ut Wikipedias + + Wikipedia lea m谩艐ggagielat pro拧eakta man ulbmilin lea r谩hkadit almmola拧 + diehtos谩tnegirjji masa gii beare s谩htt谩 膷谩llit artihkkaliid. Maid don + s谩ht谩t juogo dievasmahttit artihkkaliid dahje 膷谩lligoahtit 谩ibbas o膽膽a + artihkkala muhtun f谩tt谩s. S谩megielat Wikipedias leat d谩l 3,756 + artihkkala. + + Wikipedia v谩ldosiiddus leat eambbo die膽ut + +Mo don s谩ht谩t veahkehit + + Wikipedia d谩rbba拧a du veahki! Rukses li艐ka mearkka拧a dan, ahte f谩tt谩s + ii leat vel 谩lggahuvvon artihkal. + Don s谩ht谩t veahkehit omd. dainna ahte 膷谩l谩t artihkkala. D谩s leat muhtun + siidos谩valdagat: + Susan Aglukark | Ar谩lj谩vri | Biibbal | Bi啪us | Davisnuorri | + Davvi谩lbmogat | Davvi pol谩rgierdu | Giemaj谩vrri d谩longielda | + Jiek艐amearra | Juks谩hkk谩 | Aune Kuuva | Arthur Miller | Poava | S谩gat | + Suopmela拧-permela拧 gielat 鈥 | Suopmela拧-volgala拧 gielat 鈥 | Waren + S谩rdne + + Lasi artihkals谩valdagat + +Ovttasbargoartihkal + + Kalaallit Nunaata leavga + + Ovttasbargoartihkkala ulbmilin lea ovttas 膷谩llit dahje o膽asmahttit + muhtun artihkkala. + + Ovttasbargoartihkal lea Kalaallit Nunaat鈥. + + Nuvola filesystems www.png + +[o膽asmahte] 脕igeguovdil + + Ellen Johnson-Sirleaf detail 071024-D-9880W-027.jpg + Liberia presideanta Ellen Johnson-Sirleaf jagis 2007 + * Bhutana gonagas Jigme Khesar Namgyel Wangchuck ja Jetsun Pema + n谩italeigga. (13.10.2011) + * Ellen Johnson-Sirleaf (govas), Leymah Gbowee ja Tawakkul Karman + vuite Nobel r谩fib谩lkka拧umi. (7.10.2011) + * Ruo脓脓ela拧 Tomas Transtr枚mer vuittii Nobel girjj谩la拧vuo膽a + b谩lkka拧umi. (6.10.2011) + * Suoma S谩medikki v谩lggat 2011 谩lge.(5.9.2011) + * Nuortas谩pmela拧 girje膷谩lli Kati-Claudia Fofonoff lea + j谩pman.(12.6.2011) + + Loga lasi o膽膽asiid + Nuvola apps date.png + +[o膽asmahte] golggotm谩nu 21. beaivi + + Template:Golggotm谩nu 21. + + Geah膷a ear谩 beivviid + + Nuvola apps filetypes.png + +[o膽asmahte] Dihtetgo, ahte... + + * Ruo脓a ruvdnaprinseassa Victoria isida prinsa Daniela + rieg谩danbeaivi, 膷ak膷am谩nu 15. b. 1973, lea seamma beaivi go prinsa + vuohppas谩ssa Carl XVI Gustaf 拧attai Ruo脓a gonagas? + * Qataras eai leat bissova拧 jogat eaige j谩vrrit. + * Jagis 1867 Amerihk谩 ovttastuvvan st谩htat oste Alaska USD 7,2 + miljovnna Ruo拧拧as? + * Jus juog谩t jahkelogu 4:iin ja olles lohku b谩hc谩, de lea dan jagi + g谩rg谩dusjahki, omd 1964:4=491. Jus jahkelogus b谩hc谩 rihkku, de ii + leat g谩rg谩dusjahkevuo膽膽u, omd 1963:4=490,75. + + Lasi unna die膽ut + + Logo Wikipedia ear谩 gielain + +Wikipedia ear谩 gielain + + S谩meguovllu riikkaid gielain + + Norway Girjed谩rogillii (Bokm氓l) 鈥 O膽膽ad谩rogillii (Nynorsk) 鈥 + Russia Ruo拧拧agillii (袪褍褋褋泻懈泄) 鈥 Sweden Ruo脓agillii (Svenska) 鈥 + Finland Suomagillii (Suomi) + + Badjel 100 000 artihkkala + Ea艐galsgillii (English) 鈥 D谩nskkagillii (Dansk) 鈥 Duiskkagillii + (Deutsch) 鈥 Fr谩nskkagillii (Fran莽ais) 鈥 Polskkagillii (Polski) 鈥 + Jap谩nagillii (鏃ユ湰瑾) 鈥 It谩liagillii (Italiano) 鈥 Holl谩nddagillii + (Nederlands) 鈥 Portug谩lagillii(Portugu锚s) 鈥 Sp谩nskagillii + (Espa帽ol) 鈥 Rom谩niagillii (Rom芒n膬)鈥 Ukrainagillii (校泻褉邪褩薪褋褜泻邪) 鈥 + Ung谩rgillii (Magyar) 鈥 膶eahkagillii (膶esk谩) 鈥 Slov谩kiagillii + (Sloven膷ina) 鈥 Katal谩nagillii (Catal脿) + + Badjel 10 000 artihkkala + Bulg谩riagillii (袘褗谢谐邪褉褋泻懈) 鈥 Indonesiagillii (Bahasa Indonesia) + 鈥 Kro谩tiagillii (Hrvatski) 鈥 Ido 鈥 Serbiagillii (小褉锌褋泻懈) 鈥 + Slovenagillii (Sloven拧膷ina) 鈥 Esttegillii (Eesti) 鈥 Alb谩nagillii + (Shqip) + + + Vi啪啪ojuvvon 膷ujuhusas + +Persovnnala拧 bargoneavvu + + * Daga o膽膽a geavaheaddjidovddaldaga dahje 膷谩lligoa膽e sisa + + + * Artihkal + * S谩gastallan + +Variants + +Pl谩膽emat + + +Oza + +Naviga拧uvdna + + * V谩ldosiidu + * G谩ffestohpu + * Vuo膽膽oartihkkalat + * 脕igeguovdil + * Varas rievdadusat + * Summal siidu + * Veahkki + * Skea艐kkat + +Gielladik拧un + + * S谩mi giellatekno + * Analysere ja disambiguere + * Generere paradigmaid + * Generere s谩niid + * Generere lohkos谩niid + * Oza b谩ikenamaid + * Jorgalanreaiddut + * S谩tnegirji + +Neavvobumb谩 + + * Siiddut mat 膷ujuhit deikke + * D谩n siiddu varas rievdadusat + * Erenom谩拧 siiddut + * Prentenver拧uvdna + * Bissova拧 li艐ka + * Cite this page + +Ear谩 gielaide diff --git a/test/testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt b/test/testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt new file mode 100644 index 0000000..3506824 --- /dev/null +++ b/test/testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt @@ -0,0 +1,16 @@ +Under 錼 1977 deltog fransmannen Thierry Sabine i ett rally mellan Abidjan i Elfenbenskusten och Nice i Frankrike. Han k鰎de dock vilse mitt ute i den libyska 鰇nen p sin motorcykel, men blev r鋎dad och kunde 錿erv鋘da till Frankrike. Sabine blev mycket fascinerad av landskapet i den afrikanska 鰇nen och ville dela med sig av upplevelsen till s m錸ga som m鰆ligt. Han skapade d ett rally, kallat Paris-Dakar-rallyt, vilket skulle g fr錸 Frankrikes huvudstad Paris, ned genom Algeriet och Agadez i Niger, f鰎 att slutligen g i m錶 i Dakar, Senegals huvudstad.[1] Det f鰎sta rallyt k鰎des under 錼sskiftet 1978/1979 och det blev fransk seger i b錮e bil- och motorcykelklassen. Str鋍kan har sedan varierat genom 錼en, men fokus har koncentrerats till Afrikaregionen, fram till 錼 2007. Oroligheter i l鋘der rallyt korsat har vid ett flertal tillf鋖len varit ett stort problem f鰎 arrang鰎erna. Bland annat har str鋍kor st鋖lts in eller bytts ut efter hot om terroristattacker, kidnappningar, plundringar samt vid ett tillf鋖le ocks minf鋖t. + +Den 4 januari 2008 meddelades det att 錼ets t鋠ling, som skulle h錶lits 5-20 januari 2008, st鋖ldes in p grund av terroristhot i Mauretanien. N錱ra dagar senare kom ett besked om att det fanns planer p att anordna t鋠lingen i Ungern och Rum鋘ien i maj 2008. Dakarrallyt 2008 st鋖ldes dock in och i st鋖let startade Centraleuropeiska rallyt och Dakarserien. Dakarrallyt hade h錶lits utan avbrott varje 錼 sedan 1979, men det hade regelbundet lagts fram krav p att st鋖la in det p grund av s鋕erhetsrisk och den fara snabbg錯nde fordon utg鰎 f鰎 lokalbefolkningarna, men 2008 var f鰎sta g錸gen kraven gick igenom.[2] + +Under perioden 3-18 januari 2009 k鰎des den 31:a upplagan av Dakarrallyt och den f鰎sta som inte gick genom Afrika. Rallyt hade ist鋖let flyttats till Sydamerika, med l鋘derna Argentina och Chile.[3]. Mycket tyder p att t鋠lingen kommer att forts鋞ta k鰎as i Sydamerika, d dessa t鋠lingar fungerat n鋝tintill felfritt i f鰎h錶lande till 錼en i Afrika. + +Ut鰒er k鋘da rallyf鰎are, som exempelvis Colin McRae, Carlos Sainz och Ari Vatanen, har Dakarrallyt 鋠en uppm鋜ksammats efter att flertalet andra k鋘da personer deltagit i rallyt, bland annat st鰎tlopps錵arna Luc Alphand och Bernhard Russi, aff鋜smannen Mark Thatcher, Albert II av Monaco och Caroline av Hannover.[1] +[redigera] Kritik +Marc Coma under Dakarrallyt 2009. + +Rallyt har blivit 鰇鋘t f鰎 att vara en av v鋜lden farligaste t鋠lingar, vilket den f錿t mycket kritik f鰎. Sedan start har ett sextiotal personer d鰐t i samband med rallyt, 25 av dessa har varit f鰎are som d鰐t i singelolyckor, men det har 鋠en h鋘t att f鰎are tappat kontrollen 鰒er sitt fordon och k鰎t ut bland publiken. 膙en tv helikopterkrascher har f鰎ekommit och i en av dessa omkom rallyts grundare, Thierry Sabine. + +Arrang鰎er har tagit h錼t p kritiken och har inf鰎t flera 錿g鋜der f鰎 att h錶la ned hastigheterna f鰎 de t鋠lande. I vissa byar har bland annat dolda hastighetskontroller inf鰎ts d鋜 strafftid lagt till de t鋠lande som k鰎t f鰎 snabbt.[4] Annat 鋜 att f鰎sv錼a navigeringen s att deltagarna m錽te koncentrera sig mer p att navigera r鋞t ist鋖let f鰎 att vinna p hastighet. Fordonen har 鋠en utrustats med varningslampor som lyser n鋜 de deltagande kommer n鋜a varandra f鰎 att undvika kollisioner. + +Sedan 2012 錼s upplaga har f鰎arna i motorcykelklassen f鰎bjudits k鰎a med motorer st鰎re 鋘 450 kubik.[5] Detta inf鰎ande har varit kontroversiellt, eftersom flera deltagare sj鋖va menar att det inte 鋜 till deras f鰎del. +[redigera] diff --git a/test/testdata/th/TIS-620/utffool_th_TIS-620.txt b/test/testdata/th/TIS-620/utffool_th_TIS-620.txt new file mode 100644 index 0000000..7d47d2e --- /dev/null +++ b/test/testdata/th/TIS-620/utffool_th_TIS-620.txt @@ -0,0 +1,283 @@ +斯选 + + 摇浴跃 使亍 + 浠: 潞汀咬, + 24 窑 2554, 16:30 锚 + + 略勾盏橥姑押寿枨浴跃锗凑 + 室靡关∶拎拭辗砧坟·故伊颐夺¢洧浯 + 窃≡菊啻章酪梢浞铝 69,781 悍で伊 + + ______________________ 嗝章〈 ら顾 + + ら顾: 嗝章У伊笛峭选擅 肆谴肆勹 | 促斯橐费椐肆 + + 悍で伊ぱ词妹啻淄构臻 + 悍で伊ぱ词妹啻淄构臻 + 酪踞蚀Т仪啶靡兴灬判匆青っ倚遂幛眯愎眯汉守迷滦 + 獯侣柰⒐掖⑼Т仪狄镣训靡疏枪鸳 + 岬杳新兴枰兴氰咬匆卿凌悛柰训靡疏枪鸳 + + 眯汉守迷滦 幻小秃撮锹辞曳缘蚂崤星训敦妥韫 + 氛桠え妹秃辞曳缘蚂喙阻艇ㄒ♂莽夤榱惰千 浯獒¤ 匆青っ倚遂 8 + 辞А押辞Ж压访旌迷且梅砧ら咕横砰 166 辞 匆青っ倚遂幛眯 5 + 辞А押辞Ж压访旌迷且梅砧ら咕横砰 4 辞 ⊙呵训敦⒐掖嗯纭妥韫 + 驼」押砰夜楣 瑙们炼支 匆青っ倚遂归吐 茄刀劂贯逗浃嗷兔 匆撬咬 + 市唷绱匆 崤薪罔姑兴氰咬匆青っ倚遂 + + 獯路谚卿会砰迁嗅鸿枰沟枰ф ⑼泻菏孛月 + 寡酣摇辞曳缘蚂屯×掖学拐椁淄 匆青っ倚遂楣愎ㄓ骨 4 辞 + 岫捍仪啶靡兴旃橥 匆青っ倚遂⒐掖闼猛汗汀ㄓ骨 4 辞 + 崤嗅逗浃嗷兔飓骤Щ眯⊥捍榍虑训敦氛栲络龚汛嗷绻归俞㈢ + 鹃龚摇岫轰む煌渺屯′秽荤灌⒌岫酣夜∶楔衣 ⑼亨⒌辔旁馔就 + (啖滇垂狄练纳氛璜骤潦孛月惺蚤埂优学脓喙阻艇ㄒ×桥室妹兴氰咬辞Т仪) + 崤芯楣浠ㄒ」验工淄妈夜⑼о力屯渺 + + ∶嗅示乓柿曳砧渌磐汀ㄒ〈千鸵吩德 (嗣淄帕守迷滦) + ㄐ峒璧亚浠费枨眯汉守迷滦 + 拭橐р久Б挂淬谁琚珠广故室妹兴氰咬匆青谜隆⊙骨枰 辔旁馔枢空旅 + 瑙⒙衣屯′花摇悒∨咬⑼п逗ㄒ埂眯ㄒ + + 匆青っ倚遂楣嗤》验 8 辞с姑泻菏孛月 + 嗝章哟押ㄒ°∨榇千鸵吩德旆砧守赐汀浠 琳囱Ч臻ぷ 匆蔷馗 匆侨亍渺 馀 + 匆峭学ひ 匆蔷乃咽捍 匆青室渺 匆锹汆霉咽 崤写仪喙花俟 (丸夜佃...) + + 悍で伊ぱ词妹¤凸斯橐拐: 褪孛∫麓Т院 酪惊卮久忻要怨樟颐 啻 嗔丛 + 幻朽啡嗷觅 + 氛栲$憾仪 悍で伊ぱ词妹妥韫 + 觅殇肆氰 + 觅殇肆氰... + + 嗝阻艇硅沂广è摇悍で伊盆沂卮⑼浴跃锗凑 : + + 匆呛迷且煤咬辞Б艇匆锹汆霉咽 + * ... 匆呛迷且芒艇匆锹汆霉咽 氛杳匍ㄑ♂砰 27 辞 (阂枨广估揖) + 费椐肆戳摘阻偷伊笛桥肖勉辜脓夜∫没眯狙垢膦艇窃培耪铝 嗒∈嗷章渺 + 崤型嗯纭灌赐渺 饣 + * ... 嗔阻 .. 2553 疯彝摇胰乱构夜要业脏ü涨颐艇醚杭匍獯率颐 11.7 + 砰夜す 崤朽氛杪呛怨∏枰 170,000 喾砧虑 + * ... + 临殴愿浴眯ā唰伊这っА颐锹嗷绻首柰∨咬愎∫寐阻灌米柰Б褪循翟浞 + 帷瑾仪啖 崤惺瞄咬で伊得兴寡∴米柰А颐ら伊关陕 + * ... 嗔阻 .. 2490 镣迷 恳渺ご庸橛胖 385 嗔得 + 崤朽收陋涨缘撮锹鸵∫绵烈涔獾绵ü + 寡亨荤构选从归婴贯谩氛栲收陋涨缘⒊秀堆汀啜 + * ... + 兔枚纫实渺室⒁斯骤帧梢唷砧虑⊙骸颐峄扭且了烈篓摇婚衣崤惺循叛∩踌 + 砧嗨盆彝Г臁冕判联广愎识夜∫贸灬判好院匪米褪酪踞谴砰土喋疽 + +嗝阻艇氛杓枰沽 拭橐Ш筏且零肆 嗍雇悍で伊 + + 嗝阻艇ㄒ、枰 + 嗝阻艇ㄒ、枰 + 临脱亮颐 ⊙创铱 + * ∨罔玲鸿п隆丛贯垂阂省 驼氛嗤 幻小胰ㄐ仑翟∫绵づ阻凸渌谴榍峦仪馗 + * 痛盏假楣优脏赫 临脱亮颐 ⊙创铱 (愎酪) 嗍章窃滇砰 + * 唷源嗨地∫贸焱胤±崖っ验с谁 ¤豌碎唷源で伊嗍章艘 61 + ㄑ茄捶谚腔眯喾蠕仿 + * 久忻要驹刚屠脏伞柿檬眯饲枰 柿啻绋久忻要腋院凑 + 崤惺拎寸ň眯靡拐崴瑙蕾 ㄑ储珠 脸迸举挂ひ 幻朽啡蕾 + * 实湛 ㄍ菏 假槊枨痢柰笛椐好陨逊嵬秽辉 + 嗍章窃荡榍骡盲列嗝绉笛和柰 们镣衣劁撮 56 徽 + * 岽 嗒炝压 纫实靡ㄒ寐飒仪驮拭亦团ㄒ×艘窃仿遗崖渫馔且枢档 + 浯槊押靡雅夤嗪攀尧亦ち栈眯ㄓ徽 2554 + + 嗨地∫贸旎穴ㄘ貉 + + 茄构臻愎痛盏 + 茄构臻愎痛盏 + 24 地乓ち: 茄故嘶眯翟; 茄灌汀靡贯嗪章 (.. 2507) + + ∫勉碎恃德液压愎使冈恃伊止枢低渺 + * .. 1803 (.. 1260) 了仪运颐访 愎嗔淄И曳渺 幻朽啡矫谚о仁 + 琳驹刚且耘夷∩ 獯戮眯啜橐伺芈熟氛 9 崴瑙矫谚о仁 + * .. 2191 (.. 1648) 使冈恃伊止枢低渺 + 使冈恃药貉悍砧释с故垢允循恃沟岳揖嗲实炜亦耪 浯槊押∫门Ч伊 + (愎酪) 瑙琳寂仑翟失っ伊室潦院徽愎非栈仑饷 + 崤小颐化郧训脏灌竿渺崤勾 + 崤辛锗棺橥艘闼椤颐醚好艇室敢贸醚班ㄧ词肃灌竿渺崤勾灬判仕狙垢醚笆窃 + 嗷绻醚班汀靡 + * .. 2472 (.. 1929) 殊潦每氐和培吭糯 + 斯骤с故饬拭控岛团氛枇糟殊潦每氐和陪沽艘窃仿遗崖氛栲¤裔¤氛枋卮 + 光拧喾枰氛栲ぢ琳∫煤压分 顿〃汛笛椐⒅楣 + * .. 2474 (.. 1931) 市疽龚兔歙 峭У压 + 瑙谎è睾压寡呵枰嗷绻斯骤с故芯夜氛枇铡颐舀盟挂峁韫氛枋卮崴瑙斯 + 瑙⑼р拧 嗒阻土眯饲枰Чっ乖锹兔臁⊙嚎兔斓耪 醚肮郧啜兔飓 + 酚驹刚且耘夷∩ + * .. 2488 (.. 1945) ‘貉得仕幻歇要业 + 该昧官艇艇れ∫檬嘶眯翟 琳寂貉Г押悛 + 酪滤叛Ж摇∫勉碎恃德液压⑼腋颐趁寻ㄕ 矫谚о仁 仕酪锯钦碌 + 仕靡页舀选 仕醚巴嗔迷∫ 崤歇业苑砧描橇脓挂潦枨广谁 + + 茄埂柰顾归夜臻: 23 地乓ち 22 地乓ち 21 地乓ち + + ù肆衣嗨地啻淄沟嘏窑 + + + 室靡关∶ + 室靡关∶ + + * 肆谴肆勹:该昧翟 该昧翟 + * 肆谴肆勹:仍呕 仍呕 + + * 肆谴肆勹:窃仿胰沂得 窃仿胰沂得 + * 肆谴肆勹:蕾猎纫实渺 蕾猎纫实渺 + + * 肆谴肆勹:喾も光怕 喾も光怕 + * 肆谴肆勹:で伊嗒阻 で伊嗒阻 + + * 肆谴肆勹:幻星训匀沂得 幻星训匀沂得 + * 肆谴肆勹:恃Г 恃Г + + * 肆谴肆勹:幻朽啡浞 幻朽啡浞 + * 窃≡菊啻章:识夜章柰 识夜章柰 + +婚衣和》咬 + + * 纫乓幻歇窑 ∶写夜㈣仪 猡莽∫ + 访丫乱∶崤小渊∶昧瑙っ秃づ亓窃≡菊啻章吐枰А情咬⑶咬 + * 嗯⒁乔浴跃锗凑 兑立橥失恃锣≌杪恰押∫勉б骨浴跃锗凑 + * 回ī-窃恃 兑立橥失恃路谚卿环砧へ惩乱∶匍 + * ㈣仪浍奠 幻小胰 脱距吹 + 悍で伊崤孝橥临泞枰青≌杪恰押窃≡菊啻章崤辛倥乖冈窃≡琳啻章 + * 纫乓联 视嗣押屠曰靡锣≌杪恰押窃≡菊啻章 + 们炼支靡搂夜谎亦筏乖め判嗍雇光潞衣 + * Local Embassy For Wikipedia-related discussion in languages other + than Thai. + +猡莽∫镁砧归艇 + + 窃≡菊啻章从喙怨∫免绰临殴愿郧浴粤锗凑 艇れ∶淞栳是壹拧愉 + 瑙嗷绻假榇余乖埂颐驼∷乓骡っА颐 浯獒¤ + + 窃≡渺 + + 窃≡渺 + 嗤∈颐甸供貉亨拭 + + ね亮凸熟 + + ね亮凸熟 + 荣孤烀橇首柰嗍谜 + + 窃≡鲸挂关∶ + + 窃≡鲸挂关∶ + 鲸挂关∶玲判兔枚依愿夜 + + 窃≡涤靡 + + 窃≡涤靡 + 涤靡崤肖勹磷袜拭 + + 窃≡びち + + 窃≡びち + 崴盆呛们沥泳俅 + + 嗔甸仪浴 + + 嗔甸仪浴 +荣孤旎眯室恭夜猡莽∫们浴粤锗凑 + + 窃≡驶摘帐 + + 窃≡驶摘帐 + 室煤和关∶燎愿夜 + +酪梢妥韫 + + 雇〃摇酪梢浞箩砰 窃≡菊啻章卵Я彰罔估疑彝阻雇铡 269 酪梢费枨馀 + 獯虑浴跃锗凑垄挂淬谁杌靡’愎靡陋阻痛橐古枰 + * 500,000 悍で伊⒅楣浠: Deutsch (嗦兔裂) English (脱А纳) + Espaol (枢还) Franais (矫谚о仁) Italiano (驮狄耪) + (杌罔) Nederlands (囱氮) Polski (饣崤勾) Portugus + (饣玫剜∈) (醚枢) + + * 150,000 悍で伊⒅楣浠: Catal (ひ狄叛) etina (嗒纭) Suomi + (吭贯殴挫) Magyar (窝А颐) Norsk (bokml) (雇渺嗲蚂) Romn + (饷烈喙章) Svenska (是锗垂) Trke (地谩) + (沦啶霉) (ㄕ) + + * 100,000 悍で伊⒅楣浠: (鸵嗣押) Dansk (啻沽颐臁) + Esperanto (嗤枢幻压獾) (握好) Bahasa Indonesia + (驮光垂锗) (唷宜耪) Lietuvi (旁费青拐) Bahasa Melayu + (僚衣) Slovenina (殊徘选) Slovenina (殊徘锗拐) / + Srpski (喃兔爨赫) Ting Vit (嗲章垂伊) Volapk (馇乓回) + Winaray (且靡-且靡) + + * 50,000 悍で伊⒅楣浠: (貉裴∴谜) (∶铡) + Eesti (嗤殊掂拐) Euskara (阂省) (嗷兔爨) Gallego + (∫旁喃章) (卧勾) Hrvatski (猡绵袜) Kryol ayisyen + (辔翟) (喙且谜) Norsk (nynorsk) (拐雇省) + Armneashce (托饷烈喙章) Simple English (脱А纳吐枰Ё枰) + + 粗Б橥临浓摇 + +啶米柰Я淄疏枪笛 + + * 喷汀驮 / 拭橐Ш循假殂 + +喙潦嗷 + + * 悍で伊 + * 屠曰靡 + +试瑙氛栳怠佃咬 + +促 + + * 喙组退 + * 促猡榇 + * 幻星训 + +∫谩眯酚 + +首氦楣 + + ____________________ (Submit) 首氦楣 + +婚衣和》咬 + + * 斯橐伺选 + * 嗨地∫贸旎穴ㄘ貉 + * 兑沥佣伊 + * 悍で伊ぱ词妹 + * 悍で伊へ忱揖 + * 守枇悍で伊 + +琳疏枪描橇 + + * 纫乓幻歇窑 + * 幻押幻丕盆沂卮 + * 嗝章姑匍∫勉б + * 翟吹柰窃≡菊啻章 + * 好渊窑闼榍浴跃锗凑 + * 窃刚悛 + +驹辆/疏汀 + + * 拭橐寡淄 + * 匆枪焘伺淬躬阻 PDF + * 斯橐视嗣押驹辆 + +啶米柰Я淄 + + * 斯橐氛枧鸳§烈 + * 幻押幻丕氛栲≌杪氢搂 + * 脱烩伺 + * 斯橐驹嗳 + * 旁А於仪 + * 烷咬驮Ш筏且凉臻 + +酪梢妥韫 + * 斯橐拐獒¢洧盆沂卮嗔阻颓压氛 2 ⊙孤衣 2554 嗲乓 18:54 . + * 凸丨业闼猷悸峋描酪裸甸恃彝关丹谜嗤氛郡土镣故 + 岷横蚀Х砧烈-凸丨业岷亨凑虑⊙; 唰阻凸洧妥韫鸵ㄣ幻小秃撮锹 + 饣么戎∩亦ё柰逛ⅰ颐悛椐夜 + Wikipedia 嗷绻啶米柰烈隆颐ら舀捶朽赫鹿⑼Я倥乖冈窃≡琳啻章 + * 翟吹柰嗝 + + * 光潞衣で伊嗷绻疏枪笛 + * 唷砧虑⊙呵浴跃锗凑 + * ㈤突嗍袱且撩押荚椽秃 diff --git a/test/testdata/th/TIS-620/wikitop_th_TIS-620.txt b/test/testdata/th/TIS-620/wikitop_th_TIS-620.txt new file mode 100644 index 0000000..52d6ae9 --- /dev/null +++ b/test/testdata/th/TIS-620/wikitop_th_TIS-620.txt @@ -0,0 +1,283 @@ +斯橐伺选 + + ㄒ∏浴跃锗凑 室靡关∶拎拭 + 浠氛: 婚衣和》咬, ら顾 + 24 地乓ち 2554, 16:30 谜嗫锚 + + 略勾盏橥姑押寿枨浴跃锗凑 + 室靡关∶拎拭辗砧坟·故伊颐夺¢洧浯 + 窃≡菊啻章酪梢浞铝 69,781 悍で伊 + + ______________________ 嗝章〈 ら顾 + + ら顾: 嗝章У伊笛峭选擅 肆谴肆勹 | 促斯橐费椐肆 + + 悍で伊ぱ词妹啻淄构臻 + 悍で伊ぱ词妹啻淄构臻 + 酪踞蚀Т仪啶靡兴灬判匆青っ倚遂幛眯愎眯汉守迷滦 + 獯侣柰⒐掖⑼Т仪狄镣训靡疏枪鸳 + 岬杳新兴枰兴氰咬匆卿凌悛柰训靡疏枪鸳 + + 眯汉守迷滦 幻小秃撮锹辞曳缘蚂崤星训敦妥韫 + 氛桠え妹秃辞曳缘蚂喙阻艇ㄒ♂莽夤榱惰千 浯獒¤ 匆青っ倚遂 8 + 辞А押辞Ж压访旌迷且梅砧ら咕横砰 166 辞 匆青っ倚遂幛眯 5 + 辞А押辞Ж压访旌迷且梅砧ら咕横砰 4 辞 ⊙呵训敦⒐掖嗯纭妥韫 + 驼」押砰夜楣 瑙们炼支 匆青っ倚遂归吐 茄刀劂贯逗浃嗷兔 匆撬咬 + 市唷绱匆 崤薪罔姑兴氰咬匆青っ倚遂 + + 獯路谚卿会砰迁嗅鸿枰沟枰ф ⑼泻菏孛月 + 寡酣摇辞曳缘蚂屯×掖学拐椁淄 匆青っ倚遂楣愎ㄓ骨 4 辞 + 岫捍仪啶靡兴旃橥 匆青っ倚遂⒐掖闼猛汗汀ㄓ骨 4 辞 + 崤嗅逗浃嗷兔飓骤Щ眯⊥捍榍虑训敦氛栲络龚汛嗷绻归俞㈢ + 鹃龚摇岫轰む煌渺屯′秽荤灌⒌岫酣夜∶楔衣 ⑼亨⒌辔旁馔就 + (啖滇垂狄练纳氛璜骤潦孛月惺蚤埂优学脓喙阻艇ㄒ×桥室妹兴氰咬辞Т仪) + 崤芯楣浠ㄒ」验工淄妈夜⑼о力屯渺 + + ∶嗅示乓柿曳砧渌磐汀ㄒ〈千鸵吩德 (嗣淄帕守迷滦) + ㄐ峒璧亚浠费枨眯汉守迷滦 + 拭橐р久Б挂淬谁琚珠广故室妹兴氰咬匆青谜隆⊙骨枰 辔旁馔枢空旅 + 瑙⒙衣屯′花摇悒∨咬⑼п逗ㄒ埂眯ㄒ + + 匆青っ倚遂楣嗤》验 8 辞с姑泻菏孛月 + 嗝章哟押ㄒ°∨榇千鸵吩德旆砧守赐汀浠 琳囱Ч臻ぷ 匆蔷馗 匆侨亍渺 馀 + 匆峭学ひ 匆蔷乃咽捍 匆青室渺 匆锹汆霉咽 崤写仪喙花俟 (丸夜佃...) + + 悍で伊ぱ词妹¤凸斯橐拐: 褪孛∫麓Т院 酪惊卮久忻要怨樟颐 啻 嗔丛 + 幻朽啡嗷觅 + 氛栲$憾仪 悍で伊ぱ词妹妥韫 + 觅殇肆氰 + 觅殇肆氰... + + 嗝阻艇硅沂广è摇悍で伊盆沂卮⑼浴跃锗凑 : + + 匆呛迷且煤咬辞Б艇匆锹汆霉咽 + * ... 匆呛迷且芒艇匆锹汆霉咽 氛杳匍ㄑ♂砰 27 辞 (阂枨广估揖) + 费椐肆戳摘阻偷伊笛桥肖勉辜脓夜∫没眯狙垢膦艇窃培耪铝 嗒∈嗷章渺 + 崤型嗯纭灌赐渺 饣 + * ... 嗔阻 .. 2553 疯彝摇胰乱构夜要业脏ü涨颐艇醚杭匍獯率颐 11.7 + 砰夜す 崤朽氛杪呛怨∏枰 170,000 喾砧虑 + * ... + 临殴愿浴眯ā唰伊这っА颐锹嗷绻首柰∨咬愎∫寐阻灌米柰Б褪循翟浞 + 帷瑾仪啖 崤惺瞄咬で伊得兴寡∴米柰А颐ら伊关陕 + * ... 嗔阻 .. 2490 镣迷 恳渺ご庸橛胖 385 嗔得 + 崤朽收陋涨缘撮锹鸵∫绵烈涔獾绵ü + 寡亨荤构选从归婴贯谩氛栲收陋涨缘⒊秀堆汀啜 + * ... + 兔枚纫实渺室⒁斯骤帧梢唷砧虑⊙骸颐峄扭且了烈篓摇婚衣崤惺循叛∩踌 + 砧嗨盆彝Г臁冕判联广愎识夜∫贸灬判好院匪米褪酪踞谴砰土喋疽 + +嗝阻艇氛杓枰沽 拭橐Ш筏且零肆 嗍雇悍で伊 + + 嗝阻艇ㄒ、枰 + 嗝阻艇ㄒ、枰 + 临脱亮颐 ⊙创铱 + * ∨罔玲鸿п隆丛贯垂阂省 驼氛嗤 幻小胰ㄐ仑翟∫绵づ阻凸渌谴榍峦仪馗 + * 痛盏假楣优脏赫 临脱亮颐 ⊙创铱 (愎酪) 嗍章窃滇砰 + * 唷源嗨地∫贸焱胤±崖っ验с谁 ¤豌碎唷源で伊嗍章艘 61 + ㄑ茄捶谚腔眯喾蠕仿 + * 久忻要驹刚屠脏伞柿檬眯饲枰 柿啻绋久忻要腋院凑 + 崤惺拎寸ň眯靡拐崴瑙蕾 ㄑ储珠 脸迸举挂ひ 幻朽啡蕾 + * 实湛 ㄍ菏 假槊枨痢柰笛椐好陨逊嵬秽辉 + 嗍章窃荡榍骡盲列嗝绉笛和柰 们镣衣劁撮 56 徽 + * 岽 嗒炝压 纫实靡ㄒ寐飒仪驮拭亦团ㄒ×艘窃仿遗崖渫馔且枢档 + 浯槊押靡雅夤嗪攀尧亦ち栈眯ㄓ徽 2554 + + 嗨地∫贸旎穴ㄘ貉 + + 茄构臻愎痛盏 + 茄构臻愎痛盏 + 24 地乓ち: 茄故嘶眯翟; 茄灌汀靡贯嗪章 (.. 2507) + + ∫勉碎恃德液压愎使冈恃伊止枢低渺 + * .. 1803 (.. 1260) 了仪运颐访 愎嗔淄И曳渺 幻朽啡矫谚о仁 + 琳驹刚且耘夷∩ 獯戮眯啜橐伺芈熟氛 9 崴瑙矫谚о仁 + * .. 2191 (.. 1648) 使冈恃伊止枢低渺 + 使冈恃药貉悍砧释с故垢允循恃沟岳揖嗲实炜亦耪 浯槊押∫门Ч伊 + (愎酪) 瑙琳寂仑翟失っ伊室潦院徽愎非栈仑饷 + 崤小颐化郧训脏灌竿渺崤勾 + 崤辛锗棺橥艘闼椤颐醚好艇室敢贸醚班ㄧ词肃灌竿渺崤勾灬判仕狙垢醚笆窃 + 嗷绻醚班汀靡 + * .. 2472 (.. 1929) 殊潦每氐和培吭糯 + 斯骤с故饬拭控岛团氛枇糟殊潦每氐和陪沽艘窃仿遗崖氛栲¤裔¤氛枋卮 + 光拧喾枰氛栲ぢ琳∫煤压分 顿〃汛笛椐⒅楣 + * .. 2474 (.. 1931) 市疽龚兔歙 峭У压 + 瑙谎è睾压寡呵枰嗷绻斯骤с故芯夜氛枇铡颐舀盟挂峁韫氛枋卮崴瑙斯 + 瑙⑼р拧 嗒阻土眯饲枰Чっ乖锹兔臁⊙嚎兔斓耪 醚肮郧啜兔飓 + 酚驹刚且耘夷∩ + * .. 2488 (.. 1945) ‘貉得仕幻歇要业 + 该昧官艇艇れ∫檬嘶眯翟 琳寂貉Г押悛 + 酪滤叛Ж摇∫勉碎恃德液压⑼腋颐趁寻ㄕ 矫谚о仁 仕酪锯钦碌 + 仕靡页舀选 仕醚巴嗔迷∫ 崤歇业苑砧描橇脓挂潦枨广谁 + + 茄埂柰顾归夜臻: 23 地乓ち 22 地乓ち 21 地乓ち + + ù肆衣嗨地啻淄沟嘏窑 + + + 室靡关∶ + 室靡关∶ + + * 肆谴肆勹:该昧翟 该昧翟 + * 肆谴肆勹:仍呕 仍呕 + + * 肆谴肆勹:窃仿胰沂得 窃仿胰沂得 + * 肆谴肆勹:蕾猎纫实渺 蕾猎纫实渺 + + * 肆谴肆勹:喾も光怕 喾も光怕 + * 肆谴肆勹:で伊嗒阻 で伊嗒阻 + + * 肆谴肆勹:幻星训匀沂得 幻星训匀沂得 + * 肆谴肆勹:恃Г 恃Г + + * 肆谴肆勹:幻朽啡浞 幻朽啡浞 + * 窃≡菊啻章:识夜章柰 识夜章柰 + +婚衣和》咬 + + * 纫乓幻歇窑 ∶写夜㈣仪 猡莽∫ + 访丫乱∶崤小渊∶昧瑙っ秃づ亓窃≡菊啻章吐枰А情咬⑶咬 + * 嗯⒁乔浴跃锗凑 兑立橥失恃锣≌杪恰押∫勉б骨浴跃锗凑 + * 回ī-窃恃 兑立橥失恃路谚卿环砧へ惩乱∶匍 + * ㈣仪浍奠 幻小胰 脱距吹 + 悍で伊崤孝橥临泞枰青≌杪恰押窃≡菊啻章崤辛倥乖冈窃≡琳啻章 + * 纫乓联 视嗣押屠曰靡锣≌杪恰押窃≡菊啻章 + 们炼支靡搂夜谎亦筏乖め判嗍雇光潞衣 + * Local Embassy For Wikipedia-related discussion in languages other + than Thai. + +猡莽∫镁砧归艇 + + 窃≡菊啻章从喙怨∫免绰临殴愿郧浴粤锗凑 艇れ∶淞栳是壹拧愉 + 瑙嗷绻假榇余乖埂颐驼∷乓骡っА颐 浯獒¤ + + 窃≡渺 + + 窃≡渺 + 嗤∈颐甸供貉亨拭 + + ね亮凸熟 + + ね亮凸熟 + 荣孤烀橇首柰嗍谜 + + 窃≡鲸挂关∶ + + 窃≡鲸挂关∶ + 鲸挂关∶玲判兔枚依愿夜 + + 窃≡涤靡 + + 窃≡涤靡 + 涤靡崤肖勹磷袜拭 + + 窃≡びち + + 窃≡びち + 崴盆呛们沥泳俅 + + 嗔甸仪浴 + + 嗔甸仪浴 +荣孤旎眯室恭夜猡莽∫们浴粤锗凑 + + 窃≡驶摘帐 + + 窃≡驶摘帐 + 室煤和关∶燎愿夜 + +酪梢妥韫 + + 雇〃摇酪梢浞箩砰 窃≡菊啻章卵Я彰罔估疑彝阻雇铡 269 酪梢费枨馀 + 獯虑浴跃锗凑垄挂淬谁杌靡’愎靡陋阻痛橐古枰 + * 500,000 悍で伊⒅楣浠: Deutsch (嗦兔裂) English (脱А纳) + Espaol (枢还) Franais (矫谚о仁) Italiano (驮狄耪) + (杌罔) Nederlands (囱氮) Polski (饣崤勾) Portugus + (饣玫剜∈) (醚枢) + + * 150,000 悍で伊⒅楣浠: Catal (ひ狄叛) etina (嗒纭) Suomi + (吭贯殴挫) Magyar (窝А颐) Norsk (bokml) (雇渺嗲蚂) Romn + (饷烈喙章) Svenska (是锗垂) Trke (地谩) + (沦啶霉) (ㄕ) + + * 100,000 悍で伊⒅楣浠: (鸵嗣押) Dansk (啻沽颐臁) + Esperanto (嗤枢幻压獾) (握好) Bahasa Indonesia + (驮光垂锗) (唷宜耪) Lietuvi (旁费青拐) Bahasa Melayu + (僚衣) Slovenina (殊徘选) Slovenina (殊徘锗拐) / + Srpski (喃兔爨赫) Ting Vit (嗲章垂伊) Volapk (馇乓回) + Winaray (且靡-且靡) + + * 50,000 悍で伊⒅楣浠: (貉裴∴谜) (∶铡) + Eesti (嗤殊掂拐) Euskara (阂省) (嗷兔爨) Gallego + (∫旁喃章) (卧勾) Hrvatski (猡绵袜) Kryol ayisyen + (辔翟) (喙且谜) Norsk (nynorsk) (拐雇省) + Armneashce (托饷烈喙章) Simple English (脱А纳吐枰Ё枰) + + 粗Б橥临浓摇 + +啶米柰Я淄疏枪笛 + + * 喷汀驮 / 拭橐Ш循假殂 + +喙潦嗷 + + * 悍で伊 + * 屠曰靡 + +试瑙氛栳怠佃咬 + +促 + + * 喙组退 + * 促猡榇 + * 幻星训 + +∫谩眯酚 + +首氦楣 + + ____________________ (Submit) 首氦楣 + +婚衣和》咬 + + * 斯橐伺选 + * 嗨地∫贸旎穴ㄘ貉 + * 兑沥佣伊 + * 悍で伊ぱ词妹 + * 悍で伊へ忱揖 + * 守枇悍で伊 + +琳疏枪描橇 + + * 纫乓幻歇窑 + * 幻押幻丕盆沂卮 + * 嗝章姑匍∫勉б + * 翟吹柰窃≡菊啻章 + * 好渊窑闼榍浴跃锗凑 + * 窃刚悛 + +驹辆/疏汀 + + * 拭橐寡淄 + * 匆枪焘伺淬躬阻 PDF + * 斯橐视嗣押驹辆 + +啶米柰Я淄 + + * 斯橐氛枧鸳§烈 + * 幻押幻丕氛栲≌杪氢搂 + * 脱烩伺 + * 斯橐驹嗳 + * 旁А於仪 + * 烷咬驮Ш筏且凉臻 + +酪梢妥韫 + * 斯橐拐獒¢洧盆沂卮嗔阻颓压氛 2 ⊙孤衣 2554 嗲乓 18:54 . + * 凸丨业闼猷悸峋描酪裸甸恃彝关丹谜嗤氛郡土镣故 + 岷横蚀Х砧烈-凸丨业岷亨凑虑⊙; 唰阻凸洧妥韫鸵ㄣ幻小秃撮锹 + 饣么戎∩亦ё柰逛ⅰ颐悛椐夜 + Wikipedia 嗷绻啶米柰烈隆颐ら舀捶朽赫鹿⑼Я倥乖冈窃≡琳啻章 + * 翟吹柰嗝 + + * 光潞衣で伊嗷绻疏枪笛 + * 唷砧虑⊙呵浴跃锗凑 + * ㈤突嗍袱且撩押荚椽秃 diff --git a/test/testdata/th/UTF-8/wikitop_th_UTF-8.txt b/test/testdata/th/UTF-8/wikitop_th_UTF-8.txt new file mode 100644 index 0000000..cc03f5f --- /dev/null +++ b/test/testdata/th/UTF-8/wikitop_th_UTF-8.txt @@ -0,0 +1,283 @@ +喔笝喙夃覆喔弗喔编竵 + + 喔堗覆喔佮抚喔脆竵喔脆笧喔掂箑喔斷傅喔 喔覆喔`覆喔權父喔佮福喔∴箑喔福喔 + 喙勦笡喔椸傅喙: 喔涏箟喔侧涪喔氞腑喔佮笚喔侧竾, 喔勦箟喔權斧喔 + 24 喔曕父喔ム覆喔勦浮 2554, 16:30 鈥 喔`傅喙喔熰福喔 + + 喔⑧复喔權笖喔掂笗喙夃腑喔權福喔编笟喔腹喙堗抚喔脆竵喔脆笧喔掂箑喔斷傅喔 + 喔覆喔`覆喔權父喔佮福喔∴箑喔福喔掂笚喔掂箞喔椸父喔佮竸喔權釜喔侧浮喔侧福喔栢箒喔佮箟喙勦競喙勦笖喙 + 喔о复喔佮复喔炧傅喙喔斷傅喔⑧笭喔侧俯喔侧箘喔椸涪喔∴傅 69,781 喔氞笚喔勦抚喔侧浮 + + ______________________ 喙喔`傅喔⑧竵喔斷腹 喔勦箟喔權斧喔 + + 喔勦箟喔權斧喔: 喙喔`傅喔⑧竾喔曕覆喔∴笗喔编抚喔副喔佮俯喔 鈥 喔浮喔о笖喔浮喔灌箞 | 喔斷腹喔笝喙夃覆喔椸副喙夃竾喔浮喔 + + 喔氞笚喔勦抚喔侧浮喔勦副喔斷釜喔`福喙喔斷阜喔笝喔權傅喙 + 喔氞笚喔勦抚喔侧浮喔勦副喔斷釜喔`福喙喔斷阜喔笝喔權傅喙 + 喔犩覆喔炧箒喔笖喔囙笖喔侧抚喙喔勦福喔侧赴喔箤喙佮弗喔班笖喔侧抚喙喔勦福喔侧赴喔箤喙佮竸喔`赴喙冟笝喔`赴喔氞笟喔父喔`复喔⑧赴 + 喙傕笖喔⑧涪喙堗腑喔傕笝喔侧笖喔傕腑喔囙笖喔侧抚喔曕覆喔∴腑喔编笗喔`覆喔箞喔о笝喔堗福喔脆竾 + 喙佮笗喙堗福喔班涪喔班斧喙堗覆喔囙福喔班斧喔о箞喔侧竾喔斷覆喔о箘喔∴箞喙冟笂喙堗腑喔编笗喔`覆喔箞喔о笝喔堗福喔脆竾 + + 喔`赴喔氞笟喔父喔`复喔⑧赴 喔涏福喔班竵喔笟喔斷箟喔о涪喔斷抚喔囙腑喔侧笚喔脆笗喔⑧箤喙佮弗喔班抚喔编笗喔栢父喔阜喙堗笝喙 + 喔椸傅喙堗箓喔勦笀喔`福喔笟喔斷抚喔囙腑喔侧笚喔脆笗喔⑧箤喙喔權阜喙堗腑喔囙笀喔侧竵喙佮福喔囙箓喔權箟喔∴笘喙堗抚喔 喙勦笖喙夃箒喔佮箞 喔斷覆喔о箑喔勦福喔侧赴喔箤 8 + 喔斷抚喔囙竵喔编笟喔斷抚喔囙笀喔编笝喔椸福喙屶笟喔`复喔о覆喔`笚喔掂箞喔勦箟喔權笧喔氞箒喔ム箟喔 166 喔斷抚喔 喔斷覆喔о箑喔勦福喔侧赴喔箤喙佮竸喔`赴 5 + 喔斷抚喔囙竵喔编笟喔斷抚喔囙笀喔编笝喔椸福喙屶笟喔`复喔о覆喔`笚喔掂箞喔勦箟喔權笧喔氞箒喔ム箟喔 4 喔斷抚喔 喔佮副喔氞抚喔编笗喔栢父喔傕笝喔侧笖喙喔ム箛喔佮腑喔粪箞喔權箚 + 喔傅喔佮笝喔编笟喔ム箟喔侧笝喔娻复喙夃笝 喔嬥付喙堗竾喔`抚喔∴笘喔多竾 喔斷覆喔о箑喔勦福喔侧赴喔箤喔權箟喔涪 喔о副喔曕笘喔膏箖喔權箒喔栢笟喙勦竸喙喔涏腑喔`箤 喔斷覆喔о斧喔侧竾 + 喔赴喙喔佮箛喔斷笖喔侧抚 喙佮弗喔班笣喔膏箞喔權福喔班斧喔о箞喔侧竾喔斷覆喔о箑喔勦福喔侧赴喔箤 + + 喙傕笖喔⑧笚喔编箞喔о箘喔涏箒喔ム箟喔о笀喔班箒喔氞箞喔囙涪喙堗覆喔權笗喙堗覆喔囙箚 喔傕腑喔囙福喔班笟喔氞釜喔膏福喔脆涪喔 + 喔權副喔氞笀喔侧竵喔斷抚喔囙腑喔侧笚喔脆笗喔⑧箤喔腑喔佮浮喔侧笖喔编竾喔權傅喙夃竸喔粪腑 喔斷覆喔о箑喔勦福喔侧赴喔箤喔娻副喙夃笝喙冟笝喔堗赋喔權抚喔 4 喔斷抚喔 + 喙佮笘喔氞笖喔侧抚喙喔勦福喔侧赴喔箤喔權箟喔涪 喔斷覆喔о箑喔勦福喔侧赴喔箤喔傕笝喔侧笖喙冟斧喔嵿箞喔`腑喔氞笝喔竵喔堗赋喔權抚喔 4 喔斷抚喔 + 喙佮弗喔班箒喔栢笟喙勦竸喙喔涏腑喔`箤喔嬥付喙堗竾喔涏福喔班竵喔笟喔斷箟喔о涪喔о副喔曕笘喔膏笚喔掂箞喙喔⑧箛喔權笀喔编笖喙喔涏箛喔權笝喙夃赋喙佮競喙囙竾 + 喔炧箟喔權笀喔侧竵喙佮笘喔氞箘喔勦箑喔涏腑喔`箤喔腑喔佮箘喔涏箑喔涏箛喔權箑喔傕笗喙佮笘喔氞笀喔侧笝喔佮福喔班笀喔侧涪 喔傕腑喔氞箑喔傕笗喙喔弗喔脆箓喔笧喔釜 + (喙喔傕笗喙佮笖喔權笗喔侧浮喔椸袱喔┼笌喔掂笚喔掂箞喔嬥付喙堗竾喔ム浮喔父喔`复喔⑧赴喔复喙夃笝喔佮赋喔ム副喔囙弗喔囙箑喔權阜喙堗腑喔囙笀喔侧竵喔∴抚喔ム釜喔侧福喔`赴喔抚喙堗覆喔囙笖喔о竾喔斷覆喔) + 喙佮弗喔班笧喙夃笝喙勦笡喔堗覆喔佮笝喔编箟喔權竸喔粪腑喔⑧箞喔侧笝喔傕腑喔囙箑喔∴竼喔腑喔`箤喔 + + 喔佮福喔班箒喔笧喔ム覆喔浮喔侧笚喔掂箞喙勦斧喔ム腑喔竵喔堗覆喔佮笖喔о竾喔覆喔椸复喔曕涪喙 (喔福喔粪腑喔ム浮喔父喔`复喔⑧赴) + 喔堗赴喙佮笢喙堗笗喔编抚喙勦笡喔椸副喙堗抚喔`赴喔氞笟喔父喔`复喔⑧赴 + 喔福喙夃覆喔囙箓喔炧福喔囙競喔權覆喔斷箖喔笉喙堗競喔多箟喔權箖喔權釜喔覆喔`福喔班斧喔о箞喔侧竾喔斷覆喔о箑喔`傅喔⑧竵喔佮副喔權抚喙堗覆 喙喔弗喔脆箓喔釜喙喔熰傅喔⑧福喙 + 喔嬥付喙堗竾喔傕涪喔侧涪喔腑喔佮箘喔涏笀喔侧竵喙冟笀喔佮弗喔侧竾喔傕腑喔囙箒喔栢笟喔堗覆喔權竵喔`赴喔堗覆喔 + + 喔斷覆喔о箑喔勦福喔侧赴喔箤喔娻副喙夃笝喙喔竵喔椸副喙夃竾 8 喔斷抚喔囙箖喔權福喔班笟喔氞釜喔膏福喔脆涪喔 + 喙喔`傅喔⑧竾喔ム赋喔斷副喔氞笀喔侧竵喙冟竵喔ム箟喔斷抚喔囙腑喔侧笚喔脆笗喔⑧箤喔椸傅喙堗釜喔膏笖喔腑喔佮箘喔 喔∴傅喔斷副喔囙笝喔掂箟喔勦阜喔 喔斷覆喔о笧喔膏笜 喔斷覆喔о辅喔膏竵喔`箤 喙傕弗喔 + 喔斷覆喔о腑喔编竾喔勦覆喔 喔斷覆喔о笧喔む斧喔编釜喔氞笖喔 喔斷覆喔о箑喔覆喔`箤 喔斷覆喔о涪喔灌箑喔`笝喔编釜 喙佮弗喔班笖喔侧抚喙喔權笡喔堗腹喔 (喔箞喔侧笝喔曕箞喔...) + + 喔氞笚喔勦抚喔侧浮喔勦副喔斷釜喔`福喔佮箞喔笝喔笝喙夃覆喔權傅喙: 喔釜喔膏福喔佮覆喔⑧笖喔囙笖喔脆笟 鈥 喔犩覆喔炧笂喔膏笖喔炧福喔班福喔侧笂喔脆笝喔掂浮喔侧福喔 喙喔斷腑 喙喔∴笖喔脆笂喔 + 鈥 喔涏福喔班箑喔椸辅喙喔涏福喔 + 喔椸傅喙堗箑喔佮箛喔氞笘喔侧抚喔 鈥 喔氞笚喔勦抚喔侧浮喔勦副喔斷釜喔`福喔阜喙堗笝 喙 + 喔`腹喙夃箘喔浮喔о箞喔 + 喔`腹喙夃箘喔浮喔о箞喔... + + 喙喔`阜喙堗腑喔囙笝喙堗覆喔笝喙冟笀喔堗覆喔佮笟喔椸竸喔о覆喔∴弗喙堗覆喔父喔斷競喔竾喔о复喔佮复喔炧傅喙喔斷傅喔 : + + 喔斷覆喔о笟喔`复喔о覆喔`笟喔侧竾喔斷抚喔囙競喔竾喔斷覆喔о涪喔灌箑喔`笝喔编釜 + * ... 喔斷覆喔о笟喔`复喔о覆喔`競喔竾喔斷覆喔о涪喔灌箑喔`笝喔编釜 喔椸傅喙堗福喔灌箟喔堗副喔佮箒喔ム箟喔 27 喔斷抚喔 (喔氞覆喔囙釜喙堗抚喔權箖喔權笭喔侧笧) + 喔椸副喙夃竾喔浮喔斷浮喔掂笂喔粪箞喔笗喔侧浮喔曕副喔о弗喔班竸喔`箖喔權笢喔ム竾喔侧笝喔佮覆喔`笡喔`赴喔炧副喔權笜喙屶競喔竾喔о复喔ム箑喔ム傅喔⑧浮 喙喔娻竵喔箑喔涏傅喔⑧福喙 + 喙佮弗喔班腑喙喔ム箛喔佮笅喔编笝喙喔斷腑喔`箤 喙傕笡喔 + * ... 喙喔∴阜喙堗腑 喔.喔. 2553 喔椸箞喔侧腑喔侧竵喔侧辅喔⑧覆喔權笝喔侧笝喔侧笂喔侧笗喔脆箑喔堗笝喔掂抚喔侧福喔竾喔`副喔氞笢喔灌箟喙傕笖喔⑧釜喔侧福 11.7 + 喔ム箟喔侧笝喔勦笝 喙佮弗喔班箑喔椸傅喙堗涪喔о笟喔脆笝喔佮抚喙堗覆 170,000 喙喔椸傅喙堗涪喔 + * ... + 喔∴腹喔ム笝喔脆笜喔脆竵喔`赴喔堗竵喙喔囙覆喔∴傅喙傕竸喔`竾喔佮覆喔`笂喙堗抚喔⑧箑喔涏箛喔權釜喔粪箞喔竵喔ム覆喔囙箖喔權竵喔侧福喔⑧阜喙堗笝喙喔`阜喙堗腑喔囙競喔釜喔编笉喔娻覆喔曕复喙勦笚喔 + 喙佮竵喙堗笂喔侧抚喙喔傕覆 喙佮弗喔班釜喔`箟喔侧竾喔勦抚喔侧浮喔曕福喔班斧喔權副喔佮箑喔`阜喙堗腑喔囙竵喔侧福喔勦箟喔侧浮喔權父喔┼涪喙 + * ... 喙喔∴阜喙堗腑 喔.喔. 2490 喔∴腑喔`复喔 喔熰覆喔`箤喔勦笖喔赤笝喙夃赋喔ム付喔 385 喙喔∴笗喔 + 喙佮弗喔班箑喔傅喔⑧笂喔掂抚喔脆笗喔斷箟喔о涪喔覆喔佮覆喔`箑喔∴覆喙勦笝喙傕笗喔`箑喔堗笝 + 喔權副喔氞箑喔涏箛喔權笝喔编竵喔斷赋喔權箟喔赤竸喔權箒喔`竵喔椸傅喙堗箑喔傅喔⑧笂喔掂抚喔脆笗喔傕笓喔班箖喔娻箟喔栢副喔囙腑喔竵喔嬥复喙喔堗笝 + * ... + 喔福喔`笘喔ㄠ覆喔笗喔`箤喔覆喔傕覆喔笝喔多箞喔囙辅喔多竵喔┼覆喙喔佮傅喙堗涪喔о竵喔编笟喔佮覆喔`箒喔涏弗喔勦抚喔侧浮喔浮喔侧涪喔堗覆喔佮笡喙夃覆喔⑧箒喔ム赴喔副喔嵿弗喔编竵喔┼笓喙屶笚 + 喔掂箞喙喔弗喙堗覆喔竾喔勦箤喔佮福喙佮弗喔班笂喔膏浮喔娻笝喙冟笂喙夃箖喔權釜喔栢覆喔權竵喔侧福喔撪箤喙佮弗喔班笟喔`复喔氞笚喔福喔粪腑喔笭喔侧笧喙佮抚喔斷弗喙夃腑喔∴箑喔夃笧喔侧赴 + +喙喔`阜喙堗腑喔囙笚喔掂箞喔溹箞喔侧笝喔∴覆 鈥 喔福喙夃覆喔囙笟喔椸竸喔о覆喔∴箖喔浮喙 鈥 喙喔笝喔笟喔椸竸喔о覆喔 + + 喙喔`阜喙堗腑喔囙笀喔侧竵喔傕箞喔侧抚 + 喙喔`阜喙堗腑喔囙笀喔侧竵喔傕箞喔侧抚 + 喔∴腹喔副喔∴浮喔侧福喙 喔佮副喔斷笖喔侧笩喔 + * 喔佮弗喔膏箞喔∴箒喔氞箞喔囙箒喔⑧竵喔斷复喔權箒喔斷笝喔氞覆喔竵喙 喔傅喔椸傅喙喔 喔涏福喔班竵喔侧辅喔堗赴喔⑧父喔曕复喔佮覆喔`箑喔勦弗喔粪箞喔笝喙勦斧喔о笖喙夃抚喔⑧腑喔侧抚喔膏笜 + * 喔笖喔掂笗喔溹腹喙夃笝喔赤弗喔脆箑喔氞傅喔 喔∴腹喔副喔∴浮喔侧福喙 喔佮副喔斷笖喔侧笩喔 (喙冟笝喔犩覆喔) 喙喔傅喔⑧笂喔掂抚喔脆笗喙佮弗喙夃抚 + * 喙喔佮复喔斷箑喔笗喔膏竵喔侧福喔撪箤喔父喔椸竵喔犩副喔⑧竸喔`副喙夃竾喙冟斧喔嵿箞 喔佮箞喔箖喔箟喙喔佮复喔斷竸喔о覆喔∴箑喔傅喔⑧斧喔侧涪 61 + 喔堗副喔囙斧喔о副喔斷笚喔编箞喔о笡喔`赴喙喔椸辅喙勦笚喔 + * 喔炧福喔班福喔侧笂喔炧复喔樴傅喔笭喔脆箑喔┼竵喔浮喔`釜喔`赴喔抚喙堗覆喔 喔浮喙喔斷箛喔堗笧喔`赴喔`覆喔娻覆喔樴复喔氞笖喔 + 喙佮弗喔班釜喔∴箑喔斷箛喔堗笧喔`赴喔`覆喔娻复喔權傅喙佮斧喙堗竾喔犩腹喔忇覆喔 喔堗副喔斷競喔多箟喔 喔 喔∴笓喔戉弗喔炧腹喔權覆喔勦覆 喔涏福喔班箑喔椸辅喔犩腹喔忇覆喔 + * 喔笗喔掂笩 喔堗腑喔氞釜喙 喔溹腹喙夃福喙堗抚喔∴竵喙堗腑喔曕副喙夃竾喔氞福喔脆俯喔编笚喙佮腑喔涏箑喔涏复喔 + 喙喔傅喔⑧笂喔掂抚喔脆笗喔斷箟喔о涪喙傕福喔勦浮喔班箑喔`箛喔囙笗喔编笟喔箞喔笝 喔`抚喔∴腑喔侧涪喔膏箘喔斷箟 56 喔涏傅 + * 喙佮笖喔 喙喔娻笂喔椸箤喔∴副喔 喔ㄠ覆喔笗喔`覆喔堗覆喔`涪喙屶笂喔侧抚喔复喔福喔侧箑喔弗喔堗覆喔佮浮喔覆喔о复喔椸涪喔侧弗喔编涪喙勦腑喙傕腑喔о覆喔箑喔曕笗 + 喙勦笖喙夃福喔编笟喔`覆喔囙抚喔编弗喙傕笝喙喔氞弗喔覆喔傕覆喙喔勦浮喔掂笡喔`赴喔堗赋喔涏傅 2554 + + 喙喔笗喔膏竵喔侧福喔撪箤喔涏副喔堗笀喔膏笟喔编笝 + + 喔о副喔權笝喔掂箟喙冟笝喔笖喔掂笗 + 喔о副喔權笝喔掂箟喙冟笝喔笖喔掂笗 + 24 喔曕父喔ム覆喔勦浮: 喔о副喔權釜喔笡喔`赴喔娻覆喔娻覆喔曕复; 喔о副喔權箑喔竵喔`覆喔娻箖喔權箒喔嬥浮喙喔氞傅喔 (喔.喔. 2507) + + 喔佮覆喔`箖喔箟喔副喔曕涪喔侧笟喔编笝喙冟笝喔笝喔樴复喔副喔嵿笉喔侧浮喔多笝喔箑喔曕腑喔`箤 + * 喔.喔. 1803 (喔.喔. 1260) 鈥 喔∴斧喔侧抚喔脆斧喔侧福喔娻覆喔椸福喙 喙冟笝喙喔∴阜喔竾喔娻覆喔椸福喙 喔涏福喔班箑喔椸辅喔澿福喔编箞喔囙箑喔ㄠ釜 + 喔∴傅喔炧复喔樴傅喔о覆喔囙辅喔脆弗喔侧袱喔佮俯喙 喙傕笖喔⑧笧喔`赴喙喔堗箟喔侧斧喔ム父喔⑧釜喙屶笚喔掂箞 9 喙佮斧喙堗竾喔澿福喔编箞喔囙箑喔ㄠ釜 + * 喔.喔. 2191 (喔.喔. 1648) 鈥 喔笝喔樴复喔副喔嵿笉喔侧浮喔多笝喔箑喔曕腑喔`箤 + 喔笝喔樴复喔副喔嵿笉喔侧笁喔氞副喔氞笚喔掂箞喔腑喔囙箖喔權釜喔權笜喔脆釜喔编笉喔嵿覆喔副喔權笗喔脆笭喔侧笧喙喔о釜喔曕箤喔熰覆喙喔ム傅喔 喙勦笖喙夃福喔编笟喔佮覆喔`弗喔囙笝喔侧浮 + (喙冟笝喔犩覆喔) 喔嬥付喙堗竾喔∴傅喔溹弗喔⑧父喔曕复喔竾喔勦福喔侧浮喔覆喔∴釜喔脆笟喔涏傅喙冟笝喔椸抚喔掂笡喔⑧父喙傕福喔 + 喙佮弗喔班竵喔侧福喔涏笍喔脆抚喔编笗喔脆箑喔權箑喔樴腑喔`箤喙佮弗喔權笖喙 + 喙佮弗喔班浮喔掂箑喔權阜喙夃腑喔覆喙冟斧喙夃竵喔侧福喔`副喔氞福喔竾喔覆喔樴覆喔`笓喔`副喔愢箑喔堗箛喔斷釜喔箑喔權箑喔樴腑喔`箤喙佮弗喔權笖喙屶箒喔ム赴喔斧喔炧副喔權笜喔`副喔愢釜喔о复喔 + 喙喔涏箛喔權福喔编笎喙喔竵喔`覆喔 + * 喔.喔. 2472 (喔.喔. 1929) 鈥 喔箓喔∴釜喔`笩喔膏笗喔氞腑喔ム箑喔娻笩喔熰复喔ム笖喙 + 喔笝喔多箞喔囙箖喔權釜喙傕浮喔福喔熰父喔曕笟喔弗喔椸傅喙堗浮喔脆箖喔娻箞喔箓喔∴釜喔`笩喔膏笗喔氞腑喔ム箖喔權浮喔覆喔о复喔椸涪喔侧弗喔编涪喔椸傅喙堗箑喔佮箞喔侧箒喔佮箞喔椸傅喙堗釜喔膏笖喙 + 喔權箓喔ム竵喙喔椸箞喔侧笚喔掂箞喙喔勦涪喔∴傅喔佮覆喔`笟喔编笝喔椸付喔 喔栢腹喔佮笀喔编笖喔曕副喙夃竾喔傕付喙夃笝 + * 喔.喔. 2474 (喔.喔. 1931) 鈥 喔赴喔炧覆喔權笀喔福喙屶笀 喔о腑喔娻复喔囙笗喔编笝 + 喔嬥付喙堗竾喔涏副喔堗笀喔膏笟喔编笝喔權副喔氞抚喙堗覆喙喔涏箛喔權斧喔權付喙堗竾喙冟笝喔赴喔炧覆喔權笚喔掂箞喔∴傅喔佮覆喔`笀喔`覆喔堗福喔笝喔侧箒喔權箞喔權笚喔掂箞喔父喔斷箒喔箞喔囙斧喔權付 + 喙堗竾喔傕腑喔囙箓喔ム竵 喙喔娻阜喙堗腑喔∴福喔班斧喔о箞喔侧竾喔權竸喔`笝喔脆抚喔⑧腑喔`箤喔佮竵喔编笟喔熰腑喔`箤喔曕弗喔 喔`副喔愢笝喔脆抚喙喔堗腑喔`箤喔嬥傅 + 喔椸赋喔炧复喔樴傅喔о覆喔囙辅喔脆弗喔侧袱喔佮俯喙 + * 喔.喔. 2488 (喔.喔. 1945) 鈥 喔佮笌喔氞副喔曕福喔斧喔涏福喔班笂喔侧笂喔侧笗喔 + 喔樴福喔`浮喔權腹喔嵿競喔竾喔竾喔勦箤喔佮覆喔`釜喔笡喔`赴喔娻覆喔娻覆喔曕复 喔∴傅喔溹弗喔氞副喔囙竸喔编笟喙冟笂喙 + 喔犩覆喔⑧斧喔ム副喔囙笀喔侧竵喔佮覆喔`箖喔箟喔副喔曕涪喔侧笟喔编笝喔傕腑喔囙釜喔侧笜喔侧福喔撪福喔编笎喔堗傅喔 喔澿福喔编箞喔囙箑喔ㄠ釜 喔斧喔犩覆喔炧箓喔嬥箑喔о傅喔⑧笗 + 喔斧喔`覆喔娻腑喔侧笓喔侧笀喔编竵喔 喔斧喔`副喔愢腑喙喔∴福喔脆竵喔 喙佮弗喔班笂喔侧笗喔脆笚喔掂箞喔`箞喔о浮喔ム竾喔權覆喔∴釜喙堗抚喔權箖喔笉喙 + + 喔о副喔權竵喙堗腑喔權斧喔權箟喔侧笝喔掂箟: 23 喔曕父喔ム覆喔勦浮 鈥 22 喔曕父喔ム覆喔勦浮 鈥 21 喔曕父喔ム覆喔勦浮 + + 喔堗笖喔浮喔侧涪喙喔笗喔膏箑喔斷阜喔笝喔曕父喔ム覆喔勦浮 + + + 喔覆喔`覆喔權父喔佮福喔 + 喔覆喔`覆喔權父喔佮福喔 + + * 喔浮喔о笖喔浮喔灌箞:喔樴福喔`浮喔娻覆喔曕复 喔樴福喔`浮喔娻覆喔曕复 + * 喔浮喔о笖喔浮喔灌箞:喔ㄠ复喔ム笡喔 喔ㄠ复喔ム笡喔 + + * 喔浮喔о笖喔浮喔灌箞:喔о复喔椸涪喔侧辅喔侧釜喔曕福喙 喔о复喔椸涪喔侧辅喔侧釜喔曕福喙 + * 喔浮喔о笖喔浮喔灌箞:喔犩腹喔∴复喔ㄠ覆喔笗喔`箤 喔犩腹喔∴复喔ㄠ覆喔笗喔`箤 + + * 喔浮喔о笖喔浮喔灌箞:喙喔椸竸喙傕笝喙傕弗喔⑧傅 喙喔椸竸喙傕笝喙傕弗喔⑧傅 + * 喔浮喔о笖喔浮喔灌箞:喔勦抚喔侧浮喙喔娻阜喙堗腑 喔勦抚喔侧浮喙喔娻阜喙堗腑 + + * 喔浮喔о笖喔浮喔灌箞:喔涏福喔班抚喔编笗喔脆辅喔侧釜喔曕福喙 喔涏福喔班抚喔编笗喔脆辅喔侧釜喔曕福喙 + * 喔浮喔о笖喔浮喔灌箞:喔副喔囙竸喔 喔副喔囙竸喔 + + * 喔浮喔о笖喔浮喔灌箞:喔涏福喔班箑喔椸辅喙勦笚喔 喔涏福喔班箑喔椸辅喙勦笚喔 + * 喔о复喔佮复喔炧傅喙喔斷傅喔:喔笘喔侧笝喔掂涪喙堗腑喔 喔笘喔侧笝喔掂涪喙堗腑喔 + +喔涏箟喔侧涪喔氞腑喔佮笚喔侧竾 + + * 喔ㄠ覆喔ム覆喔涏福喔班笂喔侧竸喔 鈥 喔佮福喔班笖喔侧笝喔傕箞喔侧抚 喙傕竸喔`竾喔佮覆喔 + 喔椸福喔编笧喔⑧覆喔佮福喙佮弗喔班竵喔脆笀喔佮福喔`浮喔嬥付喙堗竾喔勦福喔笟喔勦弗喔膏浮喔о复喔佮复喔炧傅喙喔斷傅喔⑧腑喔⑧箞喔侧竾喔佮抚喙夃覆喔囙競喔о覆喔 + * 喙喔ム競喔侧笂喔侧抚喔о复喔佮复喔炧傅喙喔斷傅喔 鈥 喔栢覆喔∴競喙夃腑喔竾喔副喔⑧箑喔佮傅喙堗涪喔о竵喔编笟喔佮覆喔`箖喔娻箟喔囙覆喔權抚喔脆竵喔脆笧喔掂箑喔斷傅喔 + * 喔涏父喔堗笁喔-喔о复喔副喔娻笝喔 鈥 喔栢覆喔∴競喙夃腑喔竾喔副喔⑧笚喔编箞喔о箘喔涏笚喔掂箞喔勦父喔撪腑喔⑧覆喔佮福喔灌箟 + * 喔傕箞喔侧抚喙勦笅喔曕箤 鈥 喔涏福喔班竵喔侧辅 喔副喔炧箑喔斷笗 + 喔氞笚喔勦抚喔侧浮喙佮弗喔班競喙夃腑喔∴腹喔ム競喙堗覆喔о箑喔佮傅喙堗涪喔о竵喔编笟喔о复喔佮复喔炧傅喙喔斷傅喔⑧箒喔ム赴喔∴腹喔ム笝喔脆笜喔脆抚喔脆竵喔脆浮喔掂箑喔斷傅喔 + * 喔ㄠ覆喔ム覆喔娻父喔∴笂喔 鈥 喔赋喔福喔编笟喔笭喔脆笡喔`覆喔⑧箑喔佮傅喙堗涪喔о竵喔编笟喔о复喔佮复喔炧傅喙喔斷傅喔 + 喔`抚喔∴笘喔多竾喔`覆喔⑧竾喔侧笝喔涏副喔嵿斧喔侧箑喔椸竸喔權复喔勦箒喔ム赴喙喔笝喔笝喙傕涪喔氞覆喔 + * Local Embassy 鈥 For Wikipedia-related discussion in languages other + than Thai. + +喙傕竸喔`竾喔佮覆喔`笧喔掂箞喔權箟喔竾 + + 喔о复喔佮复喔炧傅喙喔斷傅喔⑧笖喔赤箑喔權复喔權竵喔侧福喙傕笖喔⑧浮喔灌弗喔權复喔樴复喔о复喔佮复喔∴傅喙喔斷傅喔 喔竾喔勦箤喔佮福喙勦浮喙堗箒喔抚喔囙斧喔侧笢喔ム竵喔赤箘喔 + 喔嬥付喙堗竾喙喔涏箛喔權笢喔灌箟喔斷赋喙喔權复喔權竵喔侧福喔傅喔佮斧喔ム覆喔⑧箓喔勦福喔囙竵喔侧福 喙勦笖喙夃箒喔佮箞 + + 喔о复喔佮复喔嬥腑喔`箤喔 + + 喔о复喔佮复喔嬥腑喔`箤喔 + 喙喔竵喔覆喔`笗喙夃笝喔夃笟喔编笟喙喔福喔 + + 喔勦腑喔∴浮喔笝喔箤 + + 喔勦腑喔∴浮喔笝喔箤 + 喔ㄠ腹喔權涪喙屶福喔о浮喔阜喙堗腑喙喔福喔 + + 喔о复喔佮复喔炧笀喔權覆喔權父喔佮福喔 + + 喔о复喔佮复喔炧笀喔權覆喔權父喔佮福喔 + 喔炧笀喔權覆喔權父喔佮福喔∴箒喔ム赴喔福喔`笘喔侧笭喔脆笜喔侧笝 + + 喔о复喔佮复喔曕赋喔`覆 + + 喔о复喔佮复喔曕赋喔`覆 + 喔曕赋喔`覆喙佮弗喔班竸喔灌箞喔∴阜喔箑喔福喔 + + 喔о复喔佮复喔勦赋喔勦浮 + + 喔о复喔佮复喔勦赋喔勦浮 + 喙佮斧喔ム箞喔囙福喔о笟喔`抚喔∴竸喔赤笧喔灌笖 + + 喙喔∴笗喙夃覆喔о复喔佮复 + + 喙喔∴笗喙夃覆喔о复喔佮复 +喔ㄠ腹喔權涪喙屶笡喔`赴喔覆喔權竾喔侧笝喙傕竸喔`竾喔佮覆喔`抚喔脆竵喔脆浮喔掂箑喔斷傅喔 + + 喔о复喔佮复喔笡喔掂笂喔掂釜喙 + + 喔о复喔佮复喔笡喔掂笂喔掂釜喙 + 喔覆喔`笟喔氞腑喔權父喔佮福喔∴抚喔脆笜喔侧笝 + +喔犩覆喔┼覆喔阜喙堗笝 + + 喔權腑喔佮笀喔侧竵喔犩覆喔┼覆喙勦笚喔⑧箒喔ム箟喔 喔о复喔佮复喔炧傅喙喔斷傅喔⑧涪喔编竾喔∴傅喔`父喙堗笝喔犩覆喔┼覆喔阜喙堗笝喔傅喔 269 喔犩覆喔┼覆喔椸副喙堗抚喙傕弗喔 + 喙傕笖喔⑧抚喔脆竵喔脆笧喔掂箑喔斷傅喔⑧競喔權覆喔斷箖喔笉喙堗笡喔`覆喔佮笍喙冟笝喔`覆喔⑧笂喔粪箞喔笖喙夃覆喔權弗喙堗覆喔 + * 500,000 喔氞笚喔勦抚喔侧浮喔傕付喙夃笝喙勦笡: Deutsch (喙喔⑧腑喔`浮喔编笝) 鈥 English (喔副喔囙竵喔む俯) 鈥 + Espa帽ol (喔箑喔涏笝) 鈥 Fran莽ais (喔澿福喔编箞喔囙箑喔ㄠ釜) 鈥 Italiano (喔复喔曕覆喔ム傅) 鈥 鏃ユ湰瑾 + (喔嵿傅喙堗笡喔膏箞喔) 鈥 Nederlands (喔斷副喔曕笂喙) 鈥 Polski (喙傕笡喙佮弗喔權笖喙) 鈥 Portugu锚s + (喙傕笡喔`笗喔膏箑喔佮釜) 鈥 袪褍褋褋泻懈泄 (喔`副喔箑喔嬥傅喔) + + * 150,000 喔氞笚喔勦抚喔侧浮喔傕付喙夃笝喙勦笡: Catal脿 (喔勦覆喔曕覆喔ム副喔) 鈥 膶e拧tina (喙喔娻箛喔) 鈥 Suomi + (喔熰复喔權箒喔ム笝喔斷箤) 鈥 Magyar (喔副喔囙竵喔侧福喔) 鈥 Norsk (bokm氓l) (喔權腑喔`箤喙喔о涪喙) 鈥 Rom芒n膬 + (喙傕福喔∴覆喙喔權傅喔) 鈥 Svenska (喔抚喔掂箑喔斷笝) 鈥 T眉rk莽e (喔曕父喔`竵喔) 鈥 校泻褉邪褩薪褋褜泻邪 + (喔⑧腹喙喔勦福喔) 鈥 涓枃 (喔堗傅喔) + + * 100,000 喔氞笚喔勦抚喔侧浮喔傕付喙夃笝喙勦笡: 丕賱毓乇亘賷丞 (喔覆喔福喔编笟) 鈥 Dansk (喙喔斷笝喔∴覆喔`箤喔) 鈥 + Esperanto (喙喔釜喙喔涏福喔编笝喙傕笗) 鈥 注讘专讬转 (喔傅喔氞福喔) 鈥 Bahasa Indonesia + (喔复喔權箓喔斷笝喔掂箑喔嬥傅喔) 鈥 頃滉淡鞏 (喙喔佮覆喔弗喔) 鈥 Lietuvi懦 (喔ム复喔椸副喔о箑喔權傅喔) 鈥 Bahasa Melayu + (喔∴弗喔侧涪喔) 鈥 Sloven膷ina (喔箓喔ム抚喔编竵) 鈥 Sloven拧膷ina (喔箓喔ム抚喔掂箑喔權傅喔) 鈥 小褉锌褋泻懈 / + Srpski (喙喔嬥腑喔`箤喙喔氞傅喔) 鈥 Ti岷縩g Vi峄噒 (喙喔о傅喔⑧笖喔權覆喔) 鈥 Volap眉k (喙傕抚喔ム覆喔涏父喔) 鈥 + Winaray (喔о覆喔`覆喔-喔о覆喔`覆喔) + + * 50,000 喔氞笚喔勦抚喔侧浮喔傕付喙夃笝喙勦笡: 袘褗谢谐邪褉褋泻懈 (喔氞副喔ム箒喔佮箑喔`傅喔) 鈥 螘位位畏谓喂魏维 (喔佮福喔掂竵) 鈥 + Eesti (喙喔釜喙傕笗喙喔權傅喔) 鈥 Euskara (喔氞覆喔竵喙) 鈥 賮丕乇爻蹖 (喙喔涏腑喔`箤喙喔嬥傅喔) 鈥 Gallego + (喔佮覆喔ム复喙喔嬥傅喔) 鈥 啶灌た啶ㄠ啶︵ (喔复喔權笖喔) 鈥 Hrvatski (喙傕竸喔`箑喔箑喔娻傅喔) 鈥 Kr猫yol ayisyen + (喙喔笗喔) 鈥 啶ㄠ啶ぞ啶 啶ぞ啶粪ぞ (喙喔權抚喔侧福喔) 鈥 Norsk (nynorsk)鈥 (喔權傅喔權腑喔竵喙) 鈥 + Arm茫neashce (喔赴喙傕福喔∴覆喙喔權傅喔⑧笝) 鈥 Simple English (喔副喔囙竵喔む俯喔涪喙堗覆喔囙竾喙堗覆喔) + + 喔斷付喔囙競喙夃腑喔∴腹喔ム笀喔侧竵 + +喙喔勦福喔粪箞喔竾喔∴阜喔釜喙堗抚喔權笗喔编抚 + + * 喔ム箛喔竵喔复喔 / 喔福喙夃覆喔囙笟喔编笉喔娻傅喔溹腹喙夃箖喔娻箟 + +喙喔權浮喔箑喔涏笅 + + * 喔氞笚喔勦抚喔侧浮 + * 喔笭喔脆笡喔`覆喔 + +喔复喙堗竾喔椸傅喙堗箒喔曕竵喔曕箞喔侧竾 + +喔斷腹 + + * 喙喔權阜喙夃腑喔覆 + * 喔斷腹喙傕竸喙夃笖 + * 喔涏福喔班抚喔编笗喔 + +喔佮覆喔`竵喔`赴喔椸赋 + +喔阜喔氞竸喙夃笝 + + ____________________ (Submit) 喔阜喔氞竸喙夃笝 + +喔涏箟喔侧涪喔氞腑喔佮笚喔侧竾 + + * 喔笝喙夃覆喔弗喔编竵 + * 喙喔笗喔膏竵喔侧福喔撪箤喔涏副喔堗笀喔膏笟喔编笝 + * 喔栢覆喔∴竸喔赤笘喔侧浮 + * 喔氞笚喔勦抚喔侧浮喔勦副喔斷釜喔`福 + * 喔氞笚喔勦抚喔侧浮喔勦父喔撪笭喔侧笧 + * 喔父喙堗浮喔氞笚喔勦抚喔侧浮 + +喔∴傅喔箞喔о笝喔`箞喔о浮 + + * 喔ㄠ覆喔ム覆喔涏福喔班笂喔侧竸喔 + * 喔涏福喔编笟喔涏福喔膏竾喔ム箞喔侧釜喔膏笖 + * 喙喔`傅喔⑧笝喔`腹喙夃竵喔侧福喙冟笂喙夃竾喔侧笝 + * 喔曕复喔斷笗喙堗腑喔о复喔佮复喔炧傅喙喔斷傅喔 + * 喔氞福喔脆笀喔侧竸喙冟斧喙夃抚喔脆竵喔脆笧喔掂箑喔斷傅喔 + * 喔о复喔樴傅喙冟笂喙 + +喔炧复喔∴笧喙/喔箞喔囙腑喔竵 + + * 喔福喙夃覆喔囙斧喔權副喔囙釜喔粪腑 + * 喔斷覆喔о笝喙屶箓喔弗喔斷箖喔權笂喔粪箞喔 PDF + * 喔笝喙夃覆喔赋喔福喔编笟喔炧复喔∴笧喙 + +喙喔勦福喔粪箞喔竾喔∴阜喔 + + * 喔笝喙夃覆喔椸傅喙堗弗喔脆竾喔佮箤喔∴覆 + * 喔涏福喔编笟喔涏福喔膏竾喔椸傅喙堗箑喔佮傅喙堗涪喔о箓喔⑧竾 + * 喔副喔涏箓喔弗喔 + * 喔笝喙夃覆喔炧复喙喔ㄠ俯 + * 喔ム复喔囙竵喙屶笘喔侧抚喔 + * 喔箟喔侧竾喔复喔囙笟喔椸竸喔о覆喔∴笝喔掂箟 + +喔犩覆喔┼覆喔阜喙堗笝 + * 喔笝喙夃覆喔權傅喙夃箒喔佮箟喙勦競喔ム箞喔侧釜喔膏笖喙喔∴阜喙堗腑喔о副喔權笚喔掂箞 2 喔佮副喔權涪喔侧涪喔 2554 喙喔о弗喔 18:54 喔. + * 喔笝喔膏笉喔侧笗喙冟斧喙夃箑喔溹涪喙佮笧喔`箞喔犩覆喔⑧箖喔曕箟喔副喔嵿笉喔侧腑喔權父喔嵿覆喔曕竸喔`傅喙喔笚喔掂笩喔勦腑喔∴浮喔笝喔箤 + 喙佮笟喔氞箒喔笖喔囙笚喔掂箞喔∴覆-喔笝喔膏笉喔侧笗喙佮笟喔氞箑喔斷傅喔⑧抚喔佮副喔; 喙喔囙阜喙堗腑喔權箘喔傕腑喔粪箞喔權腑喔侧笀喙冟笂喙夃笡喔`赴喔佮腑喔氞笖喙夃抚喔 + 喙傕笡喔`笖喔ㄠ付喔佮俯喔侧箑喔囙阜喙堗腑喔權箘喔傕竵喔侧福喙冟笂喙夃竾喔侧笝 + Wikipedia庐 喙喔涏箛喔權箑喔勦福喔粪箞喔竾喔浮喔侧涪喔佮覆喔`竸喙夃覆喔堗笖喔椸赴喙喔氞傅喔⑧笝喔傕腑喔囙浮喔灌弗喔權复喔樴复喔о复喔佮复喔∴傅喙喔斷傅喔 + * 喔曕复喔斷笗喙堗腑喙喔`覆 + + * 喔權箓喔⑧笟喔侧涪喔勦抚喔侧浮喙喔涏箛喔權釜喙堗抚喔權笗喔编抚 + * 喙喔佮傅喙堗涪喔о竵喔编笟喔о复喔佮复喔炧傅喙喔斷傅喔 + * 喔傕箟喔笡喔忇复喙喔笜喔勦抚喔侧浮喔`副喔氞笢喔脆笖喔娻腑喔 diff --git a/test/testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt b/test/testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt new file mode 100644 index 0000000..c862343 --- /dev/null +++ b/test/testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt @@ -0,0 +1,33 @@ +輘tanbul, T黵kiye'nin en kalabal齥, iktisadi ve k黮t黵el a琮dan en 鰊emli +㧐hri.[2][3][4] 輐tisadi b鼀黭l黭 a琮dan d黱yada 34., n黤us a琮s齨dan +belediye s齨齬lar g鰖 鰊黱e al齨arak yap齦an s齬alamaya g鰎e Avrupa'da +birinci s齬ada gelir.[5][6] + + +輘tanbul T黵kiye'nin kuzeybat齭齨da, Marmara k齳齭 ve Bo餫zi鏸 boyunca, +Hali'i de 鏴vreleyecek 㧐kilde kurulmu⺶ur.[7] 輘tanbul k齮alararas bir +㧐hir olup, Avrupa'daki b鰈黰黱e Avrupa Yakas veya Rumeli Yakas, +Asya'daki b鰈黰黱e ise Anadolu Yakas denir. Tarihte ilk olarak  taraf +Marmara Denizi, Bo餫zi鏸 ve Hali'in sard bir yar齧 ada 鼁erinde kurulan +輘tanbul'un bat齞aki s齨齬齨 輘tanbul Surlar olu⺶urmaktayd. Gelie ve +b鼀黰e s黵ecinde surlar齨 her seferinde daha bat齳a ilerletilerek in +edilmesiyle 4 defa genietilen 㧐hrin [8] 39 il鏴si vard齬.[9] S齨齬lar +i鏴risinde ise b鼀黭㧐hir belediyesi ile birlikte toplam 40 belediye +bulunmaktad齬. + + +D黱yan齨 en eski 㧐hirlerinden biri olan 輘tanbul, M.S. 330 - 395 y齦lar +aras齨da Roma 輒paratorlu饀, 395 - 1204 ile 1261 - 1453 y齦lar aras齨da +Do饀 Roma 輒paratorlu饀, 1204 - 1261 aras齨da Latin 輒paratorlu饀 ve son +olarak 1453 - 1922 y齦lar aras齨da Osmanl 輒paratorlu饀'na ba⺧entlik +yapt.[10] Ayr齝a, hilafetin Osmanl 輒paratorlu饀'na ge鐃i餴 1517'den, +kald齬齦d 1924'e kadar, 輘tanbul 輘lamiyet'in de merkezi oldu.[11] + +1453 y齦齨da fetihten sonra, kent Osmanl 輒paratorlu饀'nun d鰎d黱c +ba⺧enti ilan edilidi ve Kostantiniyye Osmanl 輒paratorlu饀 taraf齨dan +kentin resmi ad olarak kullan齦d ve 1923 y齦齨da Osmanl +輒paratorlu饀nun 琏k黱e kadar, 鏾饀 zaman bu ad kullan齧da +kald. 謗ne餴n Osmanl 輒paratorlu饀 ve mahkemeleri, Kostantiniyye'de +yay齧lanan resmi belgelerin kayna瘕n belirtmek i鏸n, "be-Makam- +Dar's-Saltanat- Kostantiniyyet'l-Mahrus鈚'l-Mahmiyye" gibi ba齥lar +kullan齦齬d.[17] diff --git a/test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt b/test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt new file mode 100644 index 0000000..6c92ad3 --- /dev/null +++ b/test/testdata/tr/UTF-8/wikitop_tr_UTF-8.txt @@ -0,0 +1,33 @@ +陌stanbul, T眉rkiye'nin en kalabal谋k, iktisadi ve k眉lt眉rel a莽谋dan en 枚nemli +艧ehri.[2][3][4] 陌ktisadi b眉y眉kl眉k a莽谋dan d眉nyada 34., n眉fus a莽谋s谋ndan +belediye s谋n谋rlar谋 g枚z 枚n眉ne al谋narak yap谋lan s谋ralamaya g枚re Avrupa'da +birinci s谋rada gelir.[5][6] + + +陌stanbul T眉rkiye'nin kuzeybat谋s谋nda, Marmara k谋y谋s谋 ve Bo臒azi莽i boyunca, +Hali莽'i de 莽evreleyecek 艧ekilde kurulmu艧tur.[7] 陌stanbul k谋talararas谋 bir +艧ehir olup, Avrupa'daki b枚l眉m眉ne Avrupa Yakas谋 veya Rumeli Yakas谋, +Asya'daki b枚l眉m眉ne ise Anadolu Yakas谋 denir. Tarihte ilk olarak 眉莽 taraf谋 +Marmara Denizi, Bo臒azi莽i ve Hali莽'in sard谋臒谋 bir yar谋m ada 眉zerinde kurulan +陌stanbul'un bat谋daki s谋n谋r谋n谋 陌stanbul Surlar谋 olu艧turmaktayd谋. Geli艧me ve +b眉y眉me s眉recinde surlar谋n her seferinde daha bat谋ya ilerletilerek in艧a +edilmesiyle 4 defa geni艧letilen 艧ehrin [8] 39 il莽esi vard谋r.[9] S谋n谋rlar谋 +i莽erisinde ise b眉y眉k艧ehir belediyesi ile birlikte toplam 40 belediye +bulunmaktad谋r. + + +D眉nyan谋n en eski 艧ehirlerinden biri olan 陌stanbul, M.S. 330 - 395 y谋llar谋 +aras谋nda Roma 陌mparatorlu臒u, 395 - 1204 ile 1261 - 1453 y谋llar谋 aras谋nda +Do臒u Roma 陌mparatorlu臒u, 1204 - 1261 aras谋nda Latin 陌mparatorlu臒u ve son +olarak 1453 - 1922 y谋llar谋 aras谋nda Osmanl谋 陌mparatorlu臒u'na ba艧kentlik +yapt谋.[10] Ayr谋ca, hilafetin Osmanl谋 陌mparatorlu臒u'na ge莽ti臒i 1517'den, +kald谋r谋ld谋臒谋 1924'e kadar, 陌stanbul 陌slamiyet'in de merkezi oldu.[11] + +1453 y谋l谋nda fetihten sonra, kent Osmanl谋 陌mparatorlu臒u'nun d枚rd眉nc眉 +ba艧kenti ilan edilidi ve Kostantiniyye Osmanl谋 陌mparatorlu臒u taraf谋ndan +kentin resmi ad谋 olarak kullan谋ld谋 ve 1923 y谋l谋nda Osmanl谋 +陌mparatorlu臒u鈥檔un 莽枚k眉艧眉ne kadar, 莽o臒u zaman bu ad kullan谋mda +kald谋. 脰rne臒in Osmanl谋 陌mparatorlu臒u ve mahkemeleri, Kostantiniyye'de +yay谋mlanan resmi belgelerin kayna臒谋n谋 belirtmek i莽in, "be-Makam-谋 +Dar眉's-Saltanat-谋 Kostantiniyyet眉'l-Mahrus芒t眉'l-Mahmiyye" gibi ba艧l谋klar +kullan谋l谋rd谋.[17] diff --git a/test/testdata/wikipediaJa_Japan_SJIS.txt b/test/testdata/wikipediaJa_Japan_SJIS.txt new file mode 100644 index 0000000..79c3361 --- /dev/null +++ b/test/testdata/wikipediaJa_Japan_SJIS.txt @@ -0,0 +1,1266 @@ +擔杮 + 偦偺懠偺梡朄偵偮偄偰偼乽擔杮 (濨枂偝夞旔)乿丄乽擔杮崙 (濨枂偝夞旔)乿傪偛棗偔偩偝偄丅 +悽奅 > 傾僕傾 > 搶傾僕傾 > 擔杮 +擔杮崙 + +乮崙婙乯 乮崙復乯[1] +崙偺昗岅: 側偟 +崙壧: 孨偑戙 + + + +岞梡岅 擔杮岅 +庱搒 搶嫗搒 +嵟戝偺搒巗 搶嫗摿暿嬫 +惌晎 +揤峜 柧恗 +乮125戙栚:崱忋揤峜乯 +撪妕憤棟戝恇 栰揷壚旻 +柺愊 +憤寁 377,914km2乮60埵乯 +悈柺愊棪 0.8% +恖岥 +憤寁乮2010擭乯 128,056,026恖乮10埵乯[2] +恖岥枾搙 339恖/km2 +GDP乮帺崙捠壿昞帵乯 +崌寁乮2010擭乯 柤栚479挍1,757壄墌 +幚幙539挍8,546壄墌[3] +GDP乮MER乯 +崌寁乮2010擭乯 5挍4,589壄僪儖乮3埵乯[4] +GDP乮PPP乯 +崌寁乮2010擭乯 4挍3,095壄僪儖乮3埵乯 +1恖偁偨傝 33,805僪儖 +宍惉 3 - 4悽婭偵摑堦崙壠宍惉乮寶崙婰擮偺擔偲偝傟傞婭尦慜660擭2寧11擔摍彅愢偁傝乯[5] +捠壿 墌乮JPY乯 +帪娫懷 UTC +9乮DST: 側偟乯 +ISO 3166-1 JP / JPN +ccTLD .jp +崙嵺揹榖斣崋 81 +^ 奜柋徣偵傛傞偲丄1920擭偺崙嵺岎捠惂搙夵椙夛媍偱僷僗億乕僩偺昞巻偵崙復傪婰偡傛偆偵嵦戰偝傟偨偑丄摉帪偺擔杮偵朄掕偺崙復偑側偐偭偨偨傔丄僨僓僀儞壔偟偨媏偺栦復乮廫榋堦廳昞媏乯偑1926擭偐傜嵦梡偝傟偨偲偄偆丅奜柋徣 奜岎巎椏 Q&A 偦偺懠傛傝丅 +^ 摑寁嬊丗暯惉22擭崙惃挷嵏 恖岥懍曬廤寁 +^ 撪妕晎. 乬摑寁忣曬丒挷嵏寢壥>SNA>摑寁昞堦棗乭. 2011擭6寧10擔墈棗丅 +^ IMF. 乬Data and Statistics>By Countries乭. 2011擭4寧22擔墈棗丅 +^ #寶崙傪傔偖傞媍榑偺愡傕嶲徠丅 +擔杮崙乮偵偭傐傫偙偔丄偵傎傫偙偔乯丄傑偨偼擔杮乮偵偭傐傫丄偵傎傫乯偼丄擔杮楍搰媦傃廃曈偺搰乆傪椞搚偲偡傞崙壠偱偁傞丅 +栚師 [旕昞帵] +1 崙崋 +1.1 桼棃 +1.2 擔杮岅偱偺敪壒 +1.3 暿徧 +2 楌巎 +2.1 寶崙傪傔偖傞媍榑 +3 抧棟丒抧惃丒帺慠丒抧堟 +3.1 抧棟丒抧惃 +3.2 婥岓丒帺慠 +3.3 抧堟嬫暘 +3.3.1 搒巗 +4 崙柉 +4.1 恖岥 +4.2 柉懓丒崙愋 +4.2.1 奜崙恖丒婣壔恖 +4.2.2 婲尮 +4.3 尵岅 +5 朄丒惌帯 +5.1 擔杮崙寷朄 +5.2 徾挜揤峜惂 +5.3 崙惌 +5.4 抧曽惌帯 +5.5 朄惂 +5.6 曬摴偺帺桼 +6 奜岎丒崙嵺娭學 +6.1 崙嵺楢崌 +6.2 傾僕傾丒僆僙傾僯傾 +6.3 儐乕儔僔傾 +6.4 拞墰丒撿傾儊儕僇 +6.5 傾僼儕僇 +6.6 椞搚栤戣摍 +6.7 搉峲偡傞擔杮恖 +7 帯埨堐帩 +7.1 懳撪 +7.2 懳奜 +7.2.1 梫堳丒憰旛丒梊嶼 +7.2.2 忣惃丒嫼埿 +8 惗妶丒暥壔 +8.1 惗妶巎丒暥壔巎 +8.2 廽嵳擔 +8.3 廆嫵 +8.4 僗億乕僣 / 儅僗儊僨傿傾 +8.5 怘暥壔 +8.6 幮夛曐忈 +8.7 寬峃丒堛椕 +8.8 彮巕崅楊壔 +8.9 帺嶦 +9 嫵堢丒壢妛丒媄弍 +9.1 媊柋嫵堢丒弶摍嫵堢丒拞摍嫵堢 +9.2 惗奤妛廗丒嫵堢孭楙 +9.3 崅摍嫵堢丒婎慴壢妛 +9.4 僥僋僲儘僕乕尋媶奐敪丒墳梡壢妛 +10 宱嵪丒嶻嬈丒岎捠 +10.1 婯柾丒埵抲 +10.2 宱嵪巎 +10.3 擾椦悈嶻嬈 +10.4 峼岺嬈 +10.5 捠彜丒嬥梈 +10.6 岎捠 +11 媟拲 +12 嶲峫暥專 +13 娭楢崁栚 +14 奜晹儕儞僋 +崙崋 [曇廤] + + + +擔杮偺擔偺弌乮嶰廳導埳惃巗 埳惃恄媨丒塅帯嫶乯 +乽擔杮乿偲偄偆崙崋偺昞婰偼丄懢梲悞攓偲憡樦偭偨拞墰廤尃揑敪憐偵婎偯偔傕偺丄傑偨擔杮楍搰偑拞崙戝棨偐傜尒偰搶偺壥偰丄偮傑傝乽擔偺杮乮傂偺傕偲乯乿偵埵抲偡傞偙偲偵桼棃偟偰偄傞偺偱偼側偄偐偲偝傟傞[1]丅寷朄偺昞戣偵乽擔杮崙寷朄乿傗乽戝擔杮掗崙寷朄乿偲帵偝傟偰偄傞偑丄崙崋傪乽擔杮崙乿側偄偟偼乽擔杮乿偲捈愙偐偮柧妋偵婯掕偟偨朄椷偼懚嵼偟側偄丅 +桼棃 [曇廤] +乽擔杮乿偺昞婰偑掕拝偡傞埲慜丄擔杮楍搰偵偼丄拞崙偺墹挬偐傜乽榒崙丒榒乿偲徧偝傟傞崙壠偑偁偭偨丅怴梾杮婭偱偼乽670擭丄榒崙偑崙崋傪擔杮偲夵傔偨乿偲偝傟偰偄傞丅乽榒崙乿偲乽擔杮崙乿偲偼偳偺傛偆側娭學偐偲偄偆偲丄擔杮彂婭偵傛傟偽丄乽儎儅僩乿偺惃椡偑拞怱偵榒傪摑堦偟偨屆戙偺擔杮偱偼丄娍帤偺棳擖偲嫟偵乽榒乿傪庁帤偲偟偰乽儎儅僩乿偲撉傓傛偆偵側傝丄傗偑偰丄偦偺乽儎儅僩乿偵摉偰傞娍帤傪乽榒乿偐傜乽擔杮乿偵曄峏偟丄摉弶偼偙傟傪乽儎儅僩乿偲撉傫偩偲偡傞[2]丅媽搨彂偼丄乽榒崙乿偲乽擔杮崙乿傪暪婰偟偨忋偱丄擔杮崙偼榒崙偺暿庬偲偟丄榒崙偑擔杮崙偵夵柤偟偨壜擻惈偲尦彫崙偺擔杮偑榒崙傪暪崌偟偨壜擻惈偵偮偄偰婰偟偰偄傞丅 +乽擔杮乿偲偄偆崙崋偺昞婰偑掕拝偟偨帪婜偼丄7悽婭屻敿偐傜8悽婭弶摢傑偱偺娫偲峫偊傜傟傞丅偙偺崰偺搶傾僕傾偼丄618擭偵惉棫偟偨搨偑惃椡傪奼戝偟丄廃曈彅崙偵嫮偄塭嬁傪媦傏偟偰偄偨丅惸柧揤峜偼658擭恇偺埨攞巵偵丄奜崙偱偁傞弆怲乮姃懢乯惇敯傪柦偠偰偄傞丅663擭偺敀懞峕偺愴偄偱偺榒崙孯偺攕愴偵傛傝丄搨偼棲摽崅傗妔柋?丄巌攏朄憦傜偺巊幰傪榒崙偵尛傢偟丄搨偲榒崙偺愴屻張棟傪峴偭偰偄偔夁掱偱丄榒崙懁偵偼搨偲偺懳摍娭學傪栚巜偟偨棩椷崙壠偵曄妚偟偰偄偔昁梫惈偑惗偠偨丅偙傟傜偺忣惃傪宊婡偲偟偰丄668擭偵偼揤抭揤峜偑擔杮偱嵟弶偺棩椷偱偁傞嬤峕挬掛擵椷乮嬤峕椷乯傪惂掕偟偨丅偦偟偰672擭偺恜怽偺棎傪宱偰嫮偄尃椡傪埇偭偨揤晲揤峜偼丄揤峜傪拞怱偲偡傞懱惂偺峔抸傪峏偵恑傔丄689擭偺旘捁忩屼尨椷偐傜701擭乮戝曮尦擭乯偺戝曮棩椷偺惂掕傊偲帄傞夁掱偵偍偄偰崙崋偺昞婰偲偟偰偺乽擔杮乿偼抋惗偟偨偲峫偊傜傟傞丅 +嬶懱揑側惉棫偺帪揰偼丄巎椏偵傛偭偰摿掕偝傟偰偄側偄丅偨偩偟偦傟傪悇掕偡傞尒夝偼2愢偵峣傜傟傞丅戞堦愢偼丄揤晲揤峜偺帯悽乮672擭 - 686擭乯偵惉棫偟偨偲偡傞愢偱偁傞[3]丅偙傟偼丄偙偺帯悽偵乽揤峜乿偺崋偍傛傃昞婰偑惉棫偟偨偲摨帪婜偵乽擔杮乿偲偄偆昞婰傕惉棫偟偨偲偡傞尒夝偱偁傞丅椺偊偽媑揷岶偼丄689擭偺旘捁忩屼尨椷偱乽揤峜乿昞婰偲乽擔杮乿昞婰偲椉曽偑掕傔傜傟偨偲悇應偡傞[4][5]丅傕偆堦愢偼丄701擭乮戝曮尦擭乯偺戝曮棩椷偺惉棫偺慜屻偵乽擔杮乿昞婰偑惉棫偟偨偲偡傞愢偱偁傞[6]丅椺偊偽恄栰巙棽岝偼丄戝曮椷岞幃椷徺彂幃偱乽擔杮乿昞婰偑掕傔傜傟偨偲偟偰偄傞[7]丅扐偟亀擔杮彂婭亁偺戝壔尦擭乮645擭乯幍寧忦偵偼丄崅嬪楉丒昐嵪偐傜偺巊幰傊偺徺偵偼乽柧恄屼塅擔杮揤峜乿偲偁傞偑丄崱擔偙傟偼丄屻偵掕傔傜傟偨戝曮棩椷岞幃椷傪尦偵丄亀擔杮彂婭亁乮720擭乮梴榁4擭乯惉棫乯偺曇幰偑弫怓傪壛偊偨傕偺偲峫偊傜傟偰偄傞[8]丅 +8悽婭慜敿偺搨偱惉棫偟偨亀搨楋亁偵偼丄702擭乮戝曮2擭乯偵乽擔杮崙乿偐傜偺尛巊乮尛搨巊乯偑偁偭偨偲婰偝傟偰偄傞[9]丅屻戙偵惉棫偟偨亀媽搨彂亁[10]丄亀怴搨彂亁[11]偵傕丄偙偺帪偺尛搨巊偵傛偭偰乽擔杮乿偲偄偆怴崙崋偑搨乮晲懃揤丄戝廃乯傊揱偊傜傟偨偲偺婰弎偑偁傞丅椉彂偲傕乽擔偺弌偺抧偵嬤偄偙偲偑崙崋偺桼棃偱偁傞乿偲偡傞丅崙崋偺曄峏棟桼偵偮偄偰偼乽夒偱側偄榒崙偺柤傪寵偭偨偐傜偩乿偲偄偆擔杮崙懁偐傜偺愢柧傪婰嵹偡傞傕偺偺丄榒崙偲擔杮崙偲偺娭學偵偮偄偰偼丄扨側傞崙崋偺曄峏偱偼側偄壜擻惈偵偮偄偰尵媦偟偰偄傞丅偡側傢偪丄亀媽搨彂亁偼乽彫崙偩偭偨擔杮偑榒崙傪暪崌偟偨乿偲偟丄亀怴搨彂亁偼乽榒偑擔杮傪暪崌偟丄崙崋傪扗偭偨乿偲偟偰偄傞[12]丅偄偢傟偵偣傛丄偙傟傜偺婰弎偵傛傝丄702擭偵乽擔杮乿崙崋偑搨偵傛偭偰彸擣偝傟偨偙偲偑妋擣偱偒傞丅 +偙傟傑偱偵敪尒偝傟偰偄傞乽擔杮乿崙崋偑婰偝傟偨嵟屆偺幚暔巎椏偼丄奐尦22擭乮734擭丄擔杮丗揤暯6擭乯柫偺堜恀惉曟帍偱偁傞[13]丅扐偟2011擭7寧丄擨孯偲偄偆柤偺昐嵪恖晲彨偺曟帍偵乽擔杮乿偺暥帤偑尒偮偐偭偨偲偄偆榑暥偑拞崙偱敪昞偝傟偨丅曟帍偼678擭惂嶌偲峫偊傜傟偰偍傝丄帠幚側傜擔杮偲偄偆崙崋偺惉棫偼廬棃愢偐傜丄偝傜偵慿傞偙偲偵側傞[14]丅 +亀媽搨彂亁丒亀怴搨彂亁偑婰偡傛偆偵丄乽擔杮乿崙崋偼丄擔杮楍搰傪搶曽偵尒傞崙丄偮傑傝拞崙戝棨偐傜偺帇揰偵棫偭偨屇徧偱偁傞[15]丅暯埨帪戙弶婜偵惉棫偟偨亀峅恗巹婰亁彉偵偰丄擔杮崙偑拞崙偵懳偟偰乽擔偺杮乿丄偮傑傝搶曽偵強嵼偡傞偙偲偑擔杮偺桼棃偱偁傞偲愢柧偝傟丄暯埨帪戙偵悢搙偵搉偭偰峴傢傟偨擔杮彂婭偺島撉偺條巕傪婰偡亀擔杮彂婭巹婰亁彅杮偵偍偄偰傕拞崙偺帇揰偵傛傝柤晅偗傜傟偨偲偡傞愢偑嵦傜傟偰偄傞[16]丅 +亀銨彂亁搶埼揱偵丄榒墹偑銨峜掗傊偺崙彂偵乽擔弌偢傞張偺揤巕乿偲帺徧偟偨偲偁傝丄偙偺偲偒偺乽擔弌偢傞張乿偲偄偆岅嬪偑乽擔杮乿崙崋偺暎尮偲側偭偨偲偡傞庡挘傕偁傞丅偟偐偟丄乽擔弌偢傞張乿偵偮偄偰丄暓揟亀戝抭搙榑亁偵搶曽偺暿昞尰偱偁傞巪偺婰弎偑偁傞偨傔丄尰嵼丄扨偵暥忺偵夁偓側偄偲偡傞巜揈傕偁傞[17]丅 +擔杮岅偱偺敪壒 [曇廤] +乽偵偭傐傫乿丄乽偵傎傫乿偲撉傑傟傞丅擔杮惌晎偼惓幃側撉傒曽傪偳偪傜偐堦曽偵偼掕傔偰偍傜偢丄偳偪傜偺撉傒偱傕椙偄偲偟偰偄傞[18]丅夒岅偱乽傂偺傕偲乿偲撉傓偙偲傕偁傞[19][20]丅 +乽擔杮乿偺崙崋偑惉棫偡傞埲慜丄擔杮楍搰偵偼丄拞崙偺墹挬偐傜乽榒崙乿丒乽榒乿偲徧偝傟傞崙壠側偄偟柉懓偑偁偭偨丅擔杮彂婭偼丄乽儎儅僩乿偺惃椡偑拞怱偵榒傪摑堦偟偨屆戙偺擔杮偱偼丄娍帤偺棳擖偲嫟偵乽榒乿傪庁帤偲偟偰乽儎儅僩乿偲撉傓傛偆偵側傝丄傗偑偰丄偦偺乽儎儅僩乿偵摉偰傞娍帤傪乽榒乿偐傜乽擔杮乿偵曄峏偟丄偙傟傪乽儎儅僩乿偲撉傫偩偲偡傞偑丄媽搨彂側偳丄偙傟傪媈偆棫応傕偁傞[21]丅 +摨帪偵丄7悽婭偺屻敿偺崙嵺娭學偐傜惗偠偨乽擔杮乿崙崋偼丄摉帪偺崙嵺揑側撉傒乮壒撉乯偱乽僯僢億儞乿乮屶壒乯側偄偟乽僕僢億儞乿乮娍壒乯偲撉傑傟偨傕偺偲悇應偝傟傞[22]丅偄偮乽僯儂儞乿偺撉傒偑巒傑偭偨偐掕偐偱側偄丅暯埨帪戙偺壖柤昞婰偱偼丄懀壒丒戺壒偺嬫暿偑柍偐偭偨偨傔丄乽僯僢億儞乿壒傕乽偵傎傫乿偲昞婰偝傟偨丅偙偙偐傜乽僯儂儞乿偺撉傒偑婲偙偭偨偲峫偊傜傟傞丅暯埨帪戙偵偼乽傂偺傕偲乿偲傕榓孭偝傟傞傛偆偵側偭偨丅 +幒挰帪戙偺梬嬋丒嫸尵偼丄拞崙恖偵乽僯僢億儞乿偲撉傑偣丄擔杮恖偵乽僯儂儞乿偲撉傑偣偰偄傞丅埨搚搷嶳帪戙偵億儖僩僈儖恖偑曇嶽偟偨亀擔晵帿彂亁傗亀擔杮彫暥揟亁摍偵偼丄乽僯僢億儞乿乽僯儂儞乿乽僕僢億儞乿偺撉傒偑尒傜傟丄偦偺梡椺偐傜敾抐偡傞偲丄夵傑偭偨応柺丒嫮挷偟偨偄応崌偵乽僯僢億儞乿偑巊傢傟丄擔忢偺応柺偱乽僯儂儞乿偑巊傢傟偰偄偨[23]丅偙偺偙偲偐傜彫抮惔帯偼丄拞悽偺擔杮恖偑拞崙岅揑側岅姶偺偁傞乽僕僢億儞乿傪巊梡偟偨偺偼丄拞崙恖丒惣梞恖側偳懳奜揑側応柺偵尷掕偝傟偰偄偰丄擔忢偩偲乽僯僢億儞乿乽僯儂儞乿偑梡偄傜傟偰偄偨偺偱偼丄偲悇應偟偰偄傞[24]丅側偍丄尰嵼偵揱傢偭偰偄側偄乽僕僢億儞乿壒偵偮偄偰偼丄偦偺懠偺尵岅傕嶲徠丅 +偦偺屻丄柧帯偵擖偭偰傕乽僯僢億儞乿乽僯儂儞乿偑摑堦偝傟側偄拞丄1934擭乮徍榓9擭乯偵偼暥晹徣椪帪崙岅挷嵏夛偑乽偵偭傐傫乿偵摑堦偟偰奜崙岅昞婰傕Japan傪攑偟偰Nippon傪巊梡偡傞偲偄偆埬傪帵偟偨偑丄晄姰慡偵廔傢偭偨丅2009擭乮暯惉21擭乯6寧30擔偵偼丄惌晎偑乽亀偵偭傐傫亁亀偵傎傫亁偲偄偆撉傒曽偵偮偄偰偼丄偄偢傟傕峀偔捠梡偟偰偍傝丄偳偪傜偐堦曽偵摑堦偡傞昁梫偼側偄乿偲偡傞摎曎彂傪妕媍寛掕偟偨[18]丅尰嵼丄捠彜傗岎棳偺揰偱奀奜偲娭楢偺偁傞巻暭丄愗庤側偳偵乽NIPPON乿偲昤偐傟乮巻暭敪寯幰傕乽偵偭傐傫偓傫偙偆乿偱偁傞乯丄乽僯僢億儞曻憲乿乽傾乕儖丒僄僼丒儔僕僆擔杮乮偵偭傐傫乯乿側偳偑偁傞堦曽丄乽NIHON乿昞婰傪梡偄傞椺偼丄擔杮戝妛丄擔杮峲嬻丄JR搶擔杮丒JR惣擔杮丄擔杮儐僯僔僗丄擔杮憡杘嫤夛丄擔杮僆儕儞僺僢僋埾堳夛側偳偑偁傞丅側偍丄乮崙夛偵暋悢偺媍惾傪桳偟偨偙偲偺偁傞乯擔杮偺惌搣柤偵偍偗傞撉傒偼丄埲壓偺捠傝丅 +乽僯僢億儞乿 +擔杮幮夛搣 (1945-1996)丄擔杮帺桼搣 (1953-1954)丄怴搣擔杮 (2005-)丄偨偪偁偑傟擔杮 (2010-) +乽僯儂儞乿 +擔杮嫟嶻搣 (1922-)丄擔杮楯擾搣 (1926-28乯丄擔杮帺桼搣 (1945-1948)丄擔杮恑曕搣 (1945-47)丄擔杮嫤摨搣 (1945-46)丄擔杮擾柉搣 (1947-49)丄擔杮柉庡搣 (1954-55)丄擔杮怴搣 (1992-94) +暿徧 [曇廤] +屆偔偐傜懡條偱偁傞丅 +榓岅 +乽埊尨拞崙乿乮亀屆帠婰亁丄亀擔杮彂婭亁恄戙乯 +乽朙埊尨乮偲傛偁偟偼傜乯乿 +乽朙埊尨擵愮廐挿屲昐廐擵悈曚崙乮偲傛偁偟偼傜偺偪偁偒側偑偄傎偁偒偺傒偢傎偺偔偵乯乿乮亀屆帠婰亁乯 +乽朙埊尨愮屲昐廐悙曚崙乮偲傛偁偟偼傜偺偪偄傎偁偒偺傒偢傎偺偔偵乯乿乮亀擔杮彂婭亁恄戙乯 +- 乽埊尨乿偼丄朙忰側抧傪昞偡偲傕丄偐偮偰偺堦抧柤偲傕尵傢傟傞丅 +乽廐捗搰乿 +乽戝榒朙廐捗搰乿乮亀屆帠婰亁乯 +乽戝擔杮朙廐捗廎乿乮亀擔杮彂婭亁恄戙乯 +- 乽廐捗乿偼丄乽偲傫傏偺搰乿偺堄丅岶埨揤峜偺搒偺柤乽幒廐捗搰媨乿偵桼棃偡傞偲偝傟傞丅 +乽巘栘搰乿乮亀屆帠婰亁乯 +乽堥忛搰乿乽巙婱搰乿乮亀枩梩廤亁乯 +乽晘搰乿 +- 乽偟偒偟傑乿偼丄嬙柧揤峜偺搒乽堥忛搰嬥巋媨乿偵桼棃偡傞偲偝傟傞丅 +乽戝敧搰乿 +乽戝敧廎乿乮亀梴榁椷亁乯 +乽戝敧廎崙乿乮亀擔杮彂婭亁恄戙乯 +- 屆帠婰偺崙惗傒恄榖偱丄嵟弶偵憂憿偝傟偨敧屄偺搰偱峔惉偝傟傞崙偺堄丅弴偵扺楬搰丗巐崙丗塀婒丗嬨廈丗堧婒丗懳攏丗嵅搉丗杮廈丅 +乽堥椫忋廏恀崙乿乽嵶柕愮懌崙乿乽嬍奯撪崙乿乮亀恄峜惓摑婰亁乯 +乽戝榓乿乽戝榓崙乿 +乽悙曚乿 +乽塝埨崙乿 +乽擔弌張乿 +娍岅 +乽榒乿乽榒崙乿乽戝榒崙乮戝榓崙乯乿乽榒搝崙乿乽榒恖崙乿偺懠丄晑孠朒棄揱愢偵弨偊偨乽晑孠乿[25]丄乽朒棄乿側偳偺夒徧偑偁傞偑丄夒徧偲偟偰偼摿偵鄆廈乮偊偄偟傘偆乯丒搶鄆乮偲偆偊偄乯偲婰偝傟傞[26]丅偙偺傎偐偵傕丄乽搶奀昉巵崙乿乽搶奀彈崙乿乽彈巕崙乿乽孨巕崙乿乽庒栘崙乿乽擔堟乿乽擔搶乿乽擔壓乿乽塆塊崙乿乽垻曣嫿乿乮垻曣嶳丒攇曣嫿丒攇曣嶳乯側偳偑偁偭偨丅 +乽峜挬乿偼丄傕偲傕偲拞尨偺揤巕偺墹挬傪偝偡娍岅偩偑丄擔杮偱揤峜偺墹挬傪偝偡娍暥揑昞尰偲偟偰巊傢傟丄崙妛幰偼偙傟傪乽偡傔傒偐偳乿側偄偟乽偡傔傜傒偐偳乿側偳偲孭撉偟偨丅乽恄崙乿乽峜崙乿乽恄廈乿乽揤挬乿乽揤巕崙乿側偳偼夒岅乮旤徧乯偨傞乽峜挬乿偺尵偄懼偊偱偁偭偰丄崙柤傗崙崋偺椶偱側偄丅乽杮挬乿傕乽変偑崙乿偲偄偭偨堄枴偱偁偭偰崙柤偱側偄丅峕屗帪戙偺庲妛幰側偳偼丄擔杮傪巜偟偰乽拞壺乿乽拞尨乿乽拞挬乿乽拞堟乿乽拞崙乿側偳偲彂偔偙偲偑偁偭偨偑丄偙傟傕崙柤偱側偄丅乽戝擔杮乿偲戝傪晅偗傞偺偼丄崙柤偺慜偵戝丒峜丒桳丒惞側偳偺帤傪晅偗偰揤巕偺墹挬偱偁傞偙偲傪帵偡拞崙偺廗姷偐傜棃偰偄傞[27]丅偨偩偟丄乽偍偍傗傑偲乿偲撉傓応崌丄屆徧偺堦偮偱偁傞丅乽掗崙乿偼傕偲傕偲乽恄崙丄峜崙丄恄廈乿偲摨媊偩偭偨偑丄嬤戙埲屻丄"empire"偺栿岅偲偟偰巊傢傟偰偄傞丅戝擔杮掗崙寷朄偺屻丄乽戝擔杮掗崙乿偺懠丄乽擔杮乿乽擔杮崙乿乽擔杮掗崙乿乽戝擔杮崙乿側偳偲偄偭偨昞婰偑梡偄傜傟偨丅愴屻偺崙崋偲偟偰偼乽擔杮崙乿偑愱傜梡偄傜傟傞[28]丅 +榒娍捠梡 +峕屗弶婜偺恄摴壠偱偁傞弌岥墑壚偲嶳杮峀懌偑挊偟偨亀擔杮彂婭恄戙島弎玮亁[29]偵丄榒娍捠梡偺崙徧偑宖嵹偝傟偰偄傞丅 +乽榒崙乿 +乽榓柺崙乿 +乽榓恖崙乿 +乽栰攏戜崙乿丄乽栯杸懲乿 +乽昉巵崙乿丄乽彈墹崙乿 +乽晑孠崙乿 +乽孨巕崙乿 +乽擔杮崙乿 +偦偺懠偺尵岅 +塸岅偺岞幃側昞婰偼丄Japan乮僕儍僷儞乯丅宍梕帉偼Japanese乮僕儍僷僯乕僘乯丅棯婰偼丄JPN偑梡偄傜傟傞丅JAP乮僕儍僢僾乯偼丄晭曁揑側堄枴偑偁傞偺偱拲堄偑昁梫偱偁傞丅Nippon乮僯僢億儞乯偑梡偄傜傟傞椺傕尒傜傟丄嬶懱揑偵偼丄UPU摍偵傛傞儘乕儅帤昞婰乮1965擭乮徍榓40擭乯埲崀乯丄梄曋愗庤傗擔杮嬧峴寯側偳偱Nippon昞婰傪梡偄偰偄傞丅棯徧偼丄NPN偑梡偄傜傟傞丅 +偦偺懠丄奺崙岅偱擔杮傪堄枴偡傞屌桳柤帉偼丄傾儞丂僠儍僷僀儞乮垽: an tSeapain乯丄儎乕僷儞乮撈: Japan乯丄僕儍億儞乮暓: Japon乯丄僴億儞乮惣: Japon乯丄僕儍僢億乕僱乮埳: Giappone乯丄儎億僯儎乮攇: Japonia乯丄僀傿億乕僯儎乮業: 刞剚剙剘剏剳乯丄僀乕僾儞乮懽: ???????乯側偳丄摿掕偺帪婜偵摿掕偺抧堟偺拞崙岅偱乽擔杮崙乿傪敪壒偟偨乽僕乕僷儞僌僅乿傪幨偟庢偭偨乮擔杮岅撉傒偺乽僕僢億儞乿偵桼棃偡傞偲偺愢傕偁傞乯丄僕僷儞僌乮Xipangu/Zipang/Zipangu乯側偄偟僕儍僷儞僌乮Japangu乯傪岅尮偲偡傞偲峫偊傜傟傞丅 +娍帤暥壔寳偵偍偄偰偼丄儕乕儀儞乮拞: rib?n; 擔杮乯[30]丄僀儖儃儞乮挬: ??; 擔杮乯丄僯儍僢僶乕儞乮墇: Nh?t B?n; 擔杮乯[31]側偳丄乽擔杮乿傪偦偺傑傑帺崙岅偺敪壒偱撉傫偱偄傞丅 +屌桳柤帉偺堦斒柤帉壔 +塸岅偱摡婍傪僠儍僀僫偲偄偆傛偆偵丄幗丄幗婍傪僕儍僷儞偲偄偆丅 +墷廈敪峴偺屆抧恾忋偱偺昞婰 +乽IAPAN乿1567擭崰[32] +乽JAPAN乿敪峴擭晄柧[33] +乽IAPONIAE乿1595擭[34] +乽IAPONIA乿1595擭[35] +乽IAPONIA乿1595擭[36] +乽IAPONIA乿1598擭[37] +乽Iapan乿1632擭[38] +乽IAPONIA乿1655擭[39] +乽IAPON乿敪峴擭晄柧[40] +乽Iapan乿1657擭[41] +乽IAPONIA乿1660擭崰[42] +乽NIPHON乿1694擭崰[43] +乽IAPON乿17悽婭[44] +乽IMPERIUM IAPONICUM乿18悽婭弶[45] +乽IMPERIUM IAPONICUM乿1710擭崰[46] +乽IAPONIA乿18悽婭弶[47] +乽IAPON乿1720-30擭[48] +乽IMPERIVM JAPONICVM乿1727擭[49] +乽HET KONINKRYK JAPAN乿1730擭崰[50] +乽JAPANIA REGNVM乿1739擭[51] +楌巎 [曇廤] + +擔杮偺楌巎 + +媽愇婍帪戙 +撽暥帪戙 +栱惗帪戙 +屆暛帪戙 +旘捁帪戙 +撧椙帪戙 +暯埨帪戙 +姍憅帪戙 +幒挰帪戙 +寶晲偺怴惌 +撿杒挬帪戙 +愴崙帪戙 +埨搚搷嶳帪戙 +峕屗帪戙 +枊枛 +柧帯帪戙 +戝惓帪戙 +徍榓帪戙 +楢崌崙孯愯椞壓偺擔杮 +暯惉 +Category:擔杮偺僥乕儅巎 +昞丒榖丒曇丒楌 + + +曡扖愴憟拞偺嶧杸斔偺晲巑乮拝怓幨恀乯丅僼僃儕乕僠僃丒儀傾僩嶣塭 +捠忢丄擔杮偺楌巎偼丄擔杮楍搰偵偍偗傞楌巎偲摨堦帇偝傟傞丅偟偐偟丄尩枾側乽擔杮乿偺惉棫偼丄崙崋偵偁傞傛偆偵7悽婭屻婜偱偁傝丄偦傟傑偱偼榒崙偲屇傃婰偝傟偰偄偨丅偙偺榒崙偑偳偺傛偆側抧棟揑斖埻偁傞偄偼宯摑揑斖埻傪傕偮廤抍偱偁傞偐偵偮偄偰偼巎椏偵柧妋偵偝傟偰偍傜偢丄懡偔偺妛弍忋偺壖愢偑採弌偝傟偰偄傞丅榒崙偲擔杮崙偲偺娭學偼彅愢偁傝丄乽擔杮偺楌巎乿偲乽擔杮楍搰偺楌巎乿偲傪柧妋偵嬫暿偟偰懆偊傞傋偒偲偡傞峫偊傕帵偝傟偰偄傞[52]丅 +帪戙偺嬫暘偼丄峫屆妛忋偺傕偺偲楌巎妛忋偺傕偺偲偑偁傞丅峫屆妛忋偼丄媽愇婍帪戙乮愭搚婍帪戙乯丄撽暥帪戙丄栱惗帪戙丄楌巎帪戙丄偲偡傞偺偑堦斒揑偱偁傞丅堦曽丄楌巎妛忋偼丄屆戙乮屆暛帪戙偐傜丒旘捁帪戙丒撧椙帪戙丒暯埨帪戙乯丄拞悽乮姍憅帪戙丒幒挰帪戙丒愴崙帪戙乯丄嬤悽乮埨搚搷嶳帪戙丒峕屗帪戙乯丄嬤戙乮柧帯堐怴偐傜1945擭8寧14擔傑偱乯偍傛傃尰戙乮1945擭8寧15擔埲崀乯偺屲暘朄偑捠愢偱偁傞[53]丅 +擔杮楍搰偵偍偗傞恖椶偺楌巎偼丄師戞偵恖偑廧傒巒傔偨栺10枩擭慜埲慜側偄偟栺3枩擭慜偵巒傑偭偨偲偝傟傞丅摉帪偺擔杮楍搰偼丄傾僕傾戝棨偲棨懕偒偱丄惣曽偺壺杒傗杒曽偺僔儀儕傾偲偺暥壔岎棳傕尒傜傟偨丅栺1枩2愮擭慜偺慜屻偵嵟廔昘婜偑廔傢傞偲丄戝棨偐傜暘棧偟偨丅偙偺屻傕楍搰偲戝棨偲偺娫偵妶敪側捠岎丒岎棳偑峴傢傟丄嫄帇揑偵偼丄擔杮楍搰傕拞崙傪拞怱偲偡傞搶傾僕傾暥壔寳偺塭嬁壓偵偁偭偨丅偩偑丄搶傾僕傾偺嵟搶曽偵強嵼偡傞戝偒側搰崙丄偲偄偆抧棟揑忦審偵傛傝丄懠偺搶傾僕傾抧堟偲堎幙側梫慺傪帩偮撈帺偺暥壔丒幮夛丒惌帯懱惂傪敪払偝偣偨丅 +婭尦慜8悽婭崰埲崀丄拞崙撿晹偐傜堫嶌傪拞怱偲偡傞暥壔條幃偑揱傢傞偲丄奺抧偵乽僋僯乿偲屇偽傟傞抧堟揑惌帯廤抍偑彊乆偵宍惉偝傟傞丅1悽婭丒2悽婭慜屻偵奺僋僯偑峈憟傪孞傝曉偟丄奺抧偵抧堟揑楢崌崙壠傪宍惉偟偨丅偙偺拞偱傕嵟傕桳椡偱偁偭偨儎儅僩傪柨庡偲偟偰摑堦墹尃乮儎儅僩墹尃乯偑宍惉偝傟丄偙傟偑墹挬偵敪揥偟偨偲偡傞愢偑桳椡偱偁傞丅摨帪婜傑偱丄僣儞僌乕僗宯拞崙恖偺崙壠偱偁傞昐嵪傗怴梾偵懳偟偰丄搙廳側傞弌暫傪峴偄挬慛敿搰偵塭嬁椡傪帩偭偰偄偨偑丄663擭丄昐嵪暅嫽偺偨傔偵墖孯傪憲偭偨敀懞峕偺愴偄偱怴梾丒搨偺楢崌孯偵攕傟偰敿搰傊偺塭嬁椡傪幐偆丅偦偺屻娫傕側偔儎儅僩墹尃偼乽擔杮乿崙崋偲乽揤峜乿徧崋傪愝掕偟偰丄拞崙偲懳摍側奜岎娭學傪寢傏偆偲偡傞巔惃傪尒偣丄拞崙傪拞怱偲偡傞嶜晻懱惂偐傜偺帺棫傪柧妋偵偟偨丅偙傟偼丄懠偺搶傾僕傾彅崙偲堎幙側奜岎巔惃偱偁傝丄偦偺屻偺擔杮偵傕懡偐傟彮側偐傟堷偒宲偑傟偨丅擔杮偼7悽婭屻敿偵拞崙偺朄懱宯丒幮夛惂搙傪媫懍偵愛庢偟丄8悽婭弶摢偵屆戙崙壠乮棩椷崙壠乯偲偟偰偺姰惉傪尒偨丅 +擔杮偼丄搶傾僕傾偺拞偱傕撈摿偺崙嵺揑側抧埵傪曐帩偟懕偗丄7悽婭偵拞壺墹挬偵懳偟偰撈帺偺乽揤巕乿傪徧偟丄8悽婭偵偼熭奀傪挬峷崙偲偟偨丅晲壠惌尃惉棫屻傕丄13悽婭偺尦泟丄16悽婭偺儓乕儘僢僷偺傾僕傾恑弌丄19悽婭偺墷暷楍嫮偺恑弌側偳丄條乆側帠懺偵傕懳墳偟偰撈棫傪堐帩偟偨丅 +惉棫摉帪偺擔杮偺巟攝抧堟偼丄擔杮楍搰偺慡堟偵媦傇傕偺偱側偔丄嬨廈撿晹埲撿偍傛傃搶杒拞晹埲杒偼丄傑偩椞堟奜偩偭偨丅嬨廈撿晹偼丄8悽婭枛偵慻傒崬傑傟偨乮敼恖乯偑丄掞峈偺嫮偐偭偨搶杒抧曽偺慡堟偑椞堟偵慻傒崬傑傟偨偺偼丄暯埨帪戙屻婜偵擖偭偰偐傜偱偁傞乮墑媣壼埼崌愴乯丅摿偵8丒9悽婭偼丄壼埼偺惇暈妶摦偑妶敪壔偡傞偲嫟偵怴梾墦惇傕寁夋偝傟傞側偳掗崙偲偟偰偺懳奜巙岦偑嫮傑偭偨帪婜偩偑丄10悽婭偵擖傝丄偙偆偟偨摦偒傕捑惷壔偟偨丅 +10悽婭偐傜12悽婭偵妡偗丄媽棃偺揤峜傪拞怱偲偡傞屆戙偺棩椷崙壠懱惂偑戝偒偔曄幙偟丄幮夛奺奒憌傊偺暘尃壔偑恑傫偩墹挬崙壠懱惂丄峏偵拞悽崙壠傊偲堏峴偟偨乮憫墍岞椞惂丒怑偺懱宯乯丅12悽婭崰乮暯埨枛婜乯偐傜婲惪暥側偳偺屆暥彂偵乽擔杮乿傗乽擔杮崙乿偺昞婰偑尒傜傟巒傔丄乽擔杮乿傗乽擔杮恖乿偺堄幆偑嫮偔堄幆偝傟傞傛偆偵側偭偨偙偲偺昞傟偲峫偊傜傟傞丅摿偵13悽婭屻敿偺尦泟偼丄乽擔杮乿丒乽擔杮恖乿偺堄幆偑幮夛奺憌偵峀偔怹摟偡傞宊婡偲側傝丄暪偣偰乽恄崙乿娤擮傪掕拝偝偣偨丅栐栰慞旻偼丄偙偺傛偆側乽擔杮乿丒乽擔杮恖乿堄幆偼丄奜崙偺傒側傜偢恄暓側偳傪傕娷傓乽堎奅乿偵懳偡傞娭學惈偺拞偱忴惉偝傟偨偲偟偰偄傞[54]丅幒挰帪戙傑偱偵偼丄埨搶巵偺妶摦傪捠偠偰乽擔杮乿偺椞堟偑杒奀摴偺撿晹傑偱媦傫偩丅 +14悽婭偐傜15悽婭傑偱偺帪婜偵偼丄幮夛偺拞悽揑側暘尃壔偑堦憌恑揥偟偨偑丄15悽婭屻敿崰偐傜愴崙戝柤惃椡偵傛傞抧堟崙壠偺宍惉偑媫懍偵恑傫偩丅偙偺抧堟崙壠偺宍惉偼丄拞悽幮夛偺嵞摑崌傊偲宷偑傝丄16悽婭枛偵擔杮偺摑堦惌尃偑庽棫偝傟傞偵帄傝丄嬤悽傊偲堏峴偟偨丅擔杮偺椞堟偼丄偙偺帪婜偵傕曄摦偟偰偄傞丅16悽婭枛偵鍄嶈巵偑杒奀摴偺撿晹偵杮嫆傪抲偒丄杒奀摴丒愮搰丒姃懢傪娷傓壼埼抧偺巟攝尃傪摼偨丅壼埼抧偼丄擔杮偺椞堟偲偝傟傞偙偲傕偁傟偽丄椞堟奜偲偝傟傞偙偲傕偁傞丄尵傢偽乽嫬奅乿偲傕尵偆傋偒抧堟偩偭偨偑丄17悽婭偵僔儍僋僔儍僀儞偺愴偄傗儘僔傾掗崙偺恑弌偵傛偭偰杒曽傊偺娭怱偑嫮傑傞偲丄擔杮偺椞堟傕乽壼埼偑搰乿乮杒奀摴乯埲撿偲堄幆偝傟傞傛偆偵側偭偨丅撿曽偵栚傪岦偗傞偲丄拞悽傪捠偠偰婼奅搰丒棸墿搰傑偱偑惣偺嫬奅偲堄幆偝傟偨丅17悽婭弶傔偵嶧杸搰捗巵偑棶媴墹崙傪怤峌偟偰丄墏旤孮搰傪捈妽抧偵偟丄壂撽彅搰媦傃愭搰彅搰乮媨屆楍搰媦傃敧廳嶳楍搰乯偺棶媴墹晎偺巟攝抧偐傜暷丒嵒摐傪忋擺偝偣偨[55]偑丄偦偺屻傕棶媴墹崙偼丄擔杮丒拞崙傊偺椉懏傪懕偗偨丅 +19悽婭拞梩偵擖傝丄墷暷楍嫮偲偺愙怗偑旘桇揑偵憹偊傞偲丄楍嫮奺崙偵懳偡傞懠幰堄幆偺棤曉偟偲偟偰偺乽擔杮乿丒乽擔杮恖乿堄幆偑偝傜偵嫮傑傝丄傎傏尰戙偺乽擔杮乿丒乽擔杮恖乿堄幆偲堦抳偡傞傑偱偵帄偭偨丅戝峲奀帪戙埲崀丄傾僕傾奺崙偑墷暷楍嫮偺怉柉抧偲偝傟傞拞偱擔杮偑撈棫傪挿偔曐偭偨偙偲偼丄屻偺崙柉崙壠堄幆偵偦偺傑傑宷偑傞柉懓丒崙柉堄幆偺忴惉傪傕偨傜偟丄寢壥偲偟偰柧帯堐怴埲崀偺嬤戙崙壠寶愝偑僗儉乕僘偵峴傢傟傞婎慴偲側偭偨丅 +柧帯堐怴偵敽偆嬤戙壔偵傛傝丄嬤戙揑側崙柉崙壠偺寶愝傪媫懍偵恑傔偨丅摨帪偵嬤椬崙偲崙嫬偺妋掕傪峴偄丄1875擭乮柧帯8擭乯偵姃懢慡堟傪儘僔傾椞偲偡傞戙傢傝偵愯庣搰埲撿偺愮搰楍搰慡堟傪擔杮椞偲偟乮姃懢丒愮搰岎姺忦栺乯丄1876乮柧帯9乯擭偵彫妢尨彅搰偺椞桳傪愰尵[56]偟丄傑偨丄棶媴張暘傪捠偠偰撿惣彅搰曽柺偺幚岠揑側巟攝偵惉岟偟丄偙偙偵堦扷丄嬤戙崙壠偲偟偰偺擔杮崙偺椞堟偑妋掕偟偨丅 +帺桼柉尃塣摦傪宱偰1885擭乮柧帯18擭乯偵撪妕惂搙傪妋棫偟丄1889擭乮柧帯22擭乯偵戝擔杮掗崙寷朄傪惂掕偟丄1890擭乮柧帯23擭乯偵戞1夞廜媍堾媍堳憤慖嫇傪幚巤偟偰掗崙媍夛傪愝抲偟偨丅偙偆偟偰丄傾僕傾偱弶傔偰寷朄偲媍夛偲傪帩偮丄嬤戙揑側棫寷崙壠偲側偭偨[57]丅 +19悽婭屻敿偐傜20悽婭弶摢偺掗崙庡媊揑側崙嵺忣惃偺拞偱丄搶傾僕傾偵堦掕偺惃椡寳傪抸偔昁梫偵敆傜傟丄擔惔愴憟傗擔業愴憟傪宱偰惃椡寳偺妋曐傪恑傔偨丅椉愴憟傪捠偠丄戜榩丒郞屛彅搰偍傛傃撿姃懢傪椞搚偵廂傔丄娭搶廈偺慸庁尃傪妉摼偟偨丅偦偺屻丄1910擭乮柧帯43擭乯偵娯崙暪崌偑幚巤偝傟偨丅1919擭乮戝惓8擭乯偵僷儕島榓夛媍偱恖庬嵎暿揚攑埬傪採弌偟偨乮傾儊儕僇崌廜崙側偳偑斀懳乯丅傑偨丄敪懌偟偨崙嵺楢柨偐傜偺埾擟傪庴偗偰撿梞孮搰傪摑帯偡傞偙偲偲側偭偨丅戝惓帪戙偵戝惓僨儌僋儔僔乕偑婲偙傝丄惌搣惌帯傗抝巕晛捠慖嫇偑幚尰偟偨丅 +1930擭戙偵拞崙搶杒晹傊偺怤棯傪嫮傔[58]丄乽枮廎崙乿傪寶崙偟偰堦掕偺巟攝尃傪摼傞偵帄傝丄孯晹偑戜摢偟偨[59]丅偙偆偟偨懳奜巙岦偼丄摿偵傾儊儕僇崌廜崙傪巒傔偲偡傞墷暷彅崙偺尃塿偲恀偭岦偐傜徴撍偟丄嵟廔揑偵1945擭乮徍榓20擭乯偺戞擇師悽奅戝愴乮廫屲擭愴憟丒傾僕傾懢暯梞愴憟丒懢暯梞愴憟丒戝搶垷愴憟乯偺攕杒偵傛偭偰攋嬊偵帄偭偨丅 +偦偟偰丄傾儊儕僇丒僀僊儕僗側偳偺楢崌崙偵傛傝丄巎忋弶傔偰愯椞壓偵抲偐傟丄擔惔愴憟埲崀偵妉摼偟偨椞桳尃丒摑帯尃偺憤偰傪幐偭偨丅愯椞壓偵崙惂偺夵妚偑恑傔傜傟丄寷朄夵惓傪峴偭偰擔杮崙寷朄傪惂掕偟偨丅1952擭乮徍榓27擭乯偺暯榓忦栺偵傛偭偰慡尃傪夞暅偟丄愴屻丄暅嫽偲嫟偵1970擭戙敿偽傑偱偵栚妎偟偄宱嵪敪揥傪悑偘乮崅搙宱嵪惉挿#擔杮偺崅搙宱嵪惉挿乯丄悽奅桳悢偺宱嵪戝崙偲側偭偨丅傑偨丄1952擭乮徍榓27擭乯偐傜1953擭乮徍榓28擭乯偵偐偗偰僩僇儔楍搰傗墏旤孮搰丄1968擭乮徍榓43擭乯偵彫妢尨彅搰丄1972擭乮徍榓47擭乯偵壂撽導偺巤惌尃偑偦傟偧傟傾儊儕僇偐傜曉娨偝傟偨乮杮搚暅婣丄壂撽曉娨乯丅 +1970擭戙埲崀偼愭恑崙偺堦堳偲偟偰崙嵺揑栶妱傪壥偨偟丄懡偔偺敪揥搑忋崙偱惉挿儌僨儖偲偟偰栚昗偵偝傟偨丅21悽婭偵帄傝丄崅楊壔幮夛偵敽偆恖岥尭彮丄崙撪嶻嬈偺嬻摯壔側偳愭恑崙摿桳偺栤戣偑怺崗壔丅拞崙丒僀儞僪丒僽儔僕儖傪偼偠傔偲偡傞怴嫽戝崙偺惌帯揑丒宱嵪揑戜摢偺側偐丄墷暷傗擔杮側偳偺愭恑彅崙偼憡懳揑偵晄棙側棫応偵棫偨偝傟偰偄傞丅 +寶崙傪傔偖傞媍榑 [曇廤] + + +擔杮偺弶戙揤峜偲偝傟傞恄晲揤峜 +乽恄崙乿偍傛傃乽峜崙巎娤乿傕嶲徠 +崙壠偲偟偰偺擔杮丄擔杮偺柉懓丒暥壔偼丄桳巎埲慜偐傜偺挿偄擭寧傪宱偰抜奒揑偵宍惉偝傟偰棃偰偄偰丄柧妋側寶崙偺帪婜傪帵偡婰榐偼懚嵼偟側偄丅寶崙婰擮偺擔乮媽婭尦愡乯偼丄婰婭偱恄晲揤峜偑懄埵偟偨偲偝傟傞擔乮婭尦慜660擭1寧1擔乲媽楋乴丄2寧11擔乲怴楋乴乯偲側偭偰偄傞丅 +亀擔杮彂婭亁恄晲婭偵丄僇儉儎儅僩僀儚儗僸僐乮恄晲揤峜乯偑恏撗擭弔惓寧峂扖嶑乮1寧1擔乯偵懄埵偟偨偲偺婰弎偑偁傝丄屆戙埲棃丄偙傟偑擔杮寶崙偺夋婜偲峀偔峫偊傜傟偰偄偨丅柧帯5擭11寧15擔乮1872擭12寧15擔乯偵偼丄恄晲揤峜懄埵婭尦偑惣楋婭尦慜660擭偵巒傑傞偲掕傔傜傟丄偙傟傪尦擭偲偡傞婭擭朄丒乽峜婭乿偑柧帯6擭1寧1擔乮1873擭1寧1擔乯偐傜巊梡偝傟偨[60]丅 +岞揑偵偼丄偙偺恄晲揤峜懄埵婭尦傪傕偲偵1957擭崰偐傜乽寶崙婰擮擔乿惂掕偵娭偡傞朄埬偑9搙偵搉傝採弌偝傟偰偒偨偑丄楌巎妛偺棫応偐傜尒傞恄晲揤峜偺懄埵偼丄摉偺婰婭偵壗恖傕偺恖偑100嵨埲忋惗偒偰偄偨側偳偺婰弎傕偁傞帠偐傜恄榖偲尒傜傟帠幚偱側偄偲偡傞偺偑愴屻偺戝惃偱偁偭偨偨傔丄偄偢傟傕惉棫偵偼帄傜側偐偭偨丅偟偐偟1966擭乮徍榓41擭乯寶崙婰擮偺擔偲側傞擔傪掕傔傞惌椷乮徍榓41擭惌椷戞376崋乯偵傛傝丄2寧11擔偑"寶崙偝傟偨偲偄偆帠徾偦偺傕偺傪婰擮偡傞擔"偲傕嬋夝偱偒傞傛偆娫偵"偺"傪擖傟偨乽寶崙婰擮偺擔乿偵掕傔傜傟偨丅恄晲揤峜偺懚嵼偵偮偄偰偼幚嵼榑傕偁傝丄媍榑偼懕偄偰偄傞丅傑偨愴屻丄峜婭偺巊梡偼丄堦晹傪彍偒杦偳柍偔側偭偨[61]丅 +寶崙偺帪婜偲偟偰丄偙偺懠偵乽擔杮乿崙崋偑掕傔傜傟偨帪婜乮旘捁忩屼尨椷側偄偟戝曮棩椷偺惉棫乯傗戝惌曭娨偑堊偝傟偰嬤戙崙壠偺寶愝偑巒傑偭偨柧帯堐怴偺帪婜側偳偑嫇偘傜傟傞偙偲傕偁傞丅偟偐偟丄崙壠偲偟偰偺擔杮偼丄挿偄楌巎揑側宱堒傪宱偰宍惉偝傟丄柧妋側寶崙偺夋婜傪尒弌偡偙偲帺懱偑崲擄偲尵偊丄庡娤揑側傕偺偲側傝偑偪偱偁傞丅 +抧棟丒抧惃丒帺慠丒抧堟 [曇廤] + +徻嵶偼乽擔杮偺抧棟乿丄乽擔杮偺嶳堦棗乿丄偍傛傃乽搒摴晎導偺柺愊堦棗乿傪嶲徠 + + +擔杮偺塹惎幨恀 + + +擔杮楍搰偺抧宍恾丅崙搚偼慡斒揑偵嶳妜抧懷偱偁傝丄壜廧抧柺愊偼崙搚慡懱偺栺32%偵偲偳傑傞乮2001擭10寧1擔帪揰乯丅杮廈搰偺搶晹丄懢暯梞壂偵偁傞擔杮奀峚偼屆戙偐傜戝捗攇抧恔傪堷偒婲偙偟偰偒偨偙偲偱抦傜傟傞丅 +擔杮偼柧帯埲棃丄寷朄偵偍偗傞椞搚婯掕偑側偔丄偙傟偼斾妑朄妛偺娤揰偱偼摿庩側傕偺偱偁偭偨[62]丅搰涀晹偵偮偄偰偺椞桳愰尵丄偁傞偄偼廃曈彅崙偲偺忦栺偑偍傕偵椞搚椞棨偺朄婯斖偱偁傝丄戞擇師戝愴屻偼擔杮崙偲偺暯榓忦栺乮捠徧丗僒儞僼儔儞僔僗僐島榓忦栺乯偑庡梫側朄婯斖傪宍惉偟偰偄傞丅 +抧棟丒抧惃 [曇廤] +擔杮偺椞搚偼偡傋偰搰偐傜惉偭偰偄傞丅6852偺搰乮杮搚5搰+棧搰6847搰乯[63]偐傜惉傞搰崙偱偁傞丅 +傾僕傾丒搶傾僕傾偺拞偱傕摿偵搶曽偵偁傝丄儐乕儔僔傾偺搶抂偵偁偨傞偨傔丄墷暷偐傜嬌搶丒搶梞側偳偲傕屇偽傟傞丅慡懱揑偵媩宍忬偱偁傝丄慡柺愊偼栺37.8枩km2乮擔杮惌晎偑椞桳尃傪庡挘偡傞椞堟乯偱悽奅戞61埵偱偁傞丅崙搚偺栺70%偑嶳妜抧懷偱偁傝丄栺67%偺怷椦棪偱偁傞丅 +懢暯梞偺杒惣晹偵偁傞椞搚偼丄杮廈丒杒奀摴丒嬨廈丒巐崙側偳偐傜惉傞擔杮楍搰傪拞怱偵丄撿偵墑傃傞埳摛丒彫妢尨彅搰丄撿惣偵墑傃傞撿惣彅搰乮壂撽杮搰側偳乯丄媦傃杒搶偵埵抲偡傞杒曽巐搰乮杒曽椞搚乯側偳丄棧搰傪懡偔娷傒丄慡懱偲偟偰屖忬楍搰傪宍惉偡傞丅 +嵟搶抂 +搶嫗搒撿捁搰 乮杒堒24搙16暘59昩丒搶宱153搙59暘11昩乯 +嵟惣抂 +壂撽導梌撨崙搰惣嶈 乮杒堒24搙26暘58昩丒搶宱122搙56暘01昩乯 +乽擔杮偺嵟乣抂乿偺側偐偱桞堦丄岞嫟岎捠婡娭偱朘傟傞偙偲偑偱偒傞応強偱偁傞丅 +嵟撿抂 +搶嫗搒壂僲捁搰 乮杒堒20搙25暘31昩丒搶宱136搙04暘11昩乯 +嵟杒抂 +杒奀摴曎揤搰 乮杒堒45搙31暘35昩丄搶宱141搙55暘09昩乯乮擔杮惌晎偺幚岠巟攝壓偵偁傞椞堟偺嵟杒抂乯 +杒奀摴戰懆搰僇儌僀儚僢僇枽 乮杒堒45搙33暘28昩丒搶宱148搙45暘14昩乯乮擔杮惌晎偑椞桳尃傪庡挘偡傞椞堟偺嵟杒抂乯 +廃埻傪懢暯梞丄擔杮奀丄搶僔僫奀丄僼傿儕僺儞奀丄僆儂乕僣僋奀側偳偺奀梞偵埻傑傟傞丅杮廈偲巐崙偲偺娫偺奀偼悾屗撪奀偲屇偽傟傞丅抧忋偺崙嫬慄偑柍偔丄儘僔傾丄杒挬慛丄戜榩丄娯崙丄拞崙丄僼傿儕僺儞丄傾儊儕僇偲攔懠揑宱嵪悈堟偑愙偟偰偄傞丅傑偨丄撿曽偵僷儔僆嫟榓崙丄彫妢尨彅搰偺墑挿慄忋偵儈僋儘僱僔傾楢朚偑偁傝丄懢暯梞傪嫴傫偱傾儊儕僇戝棨偑偁傞丅壂崌傪抔棳偺崟挭丄懳攏奀棳丄姦棳偺恊挭丄儕儅儞奀棳偑棳傟傞丅 +椞搚栤戣偺偁傞抧堟偑悢売強懚嵼偡傞丅擔杮崙惌晎偑擔杮屌桳偺椞搚偲傒側偟偰偄傞杒曽椞搚偼儘僔傾偵丄搰崻導偵懏偡傞抾搰偼娯崙偵丄偦傟偧傟晄朄愯嫆乮幚岠巟攝乯偝傟偰偄傞乮杒曽椞搚栤戣偼1945擭丄抾搰栤戣偼1952擭埲崀乯丅 堦曽丄擔杮惌晎偼椞搚栤戣偼懚嵼偟側偄偲偡傞棫応傪偲偭偰偄傞傕偺偺丄1968擭埲崀丄拞崙偲戜榩偑壂撽導愇奯巗偵懏偡傞愲妕彅搰偺椞桳尃傪庡挘偟偰偄傞丅 姃懢丒愮搰楍搰傪擔杮椞偲庡挘偡傞桳幆幰丄抍懱傕懚嵼偡傞丅 +帺慠抧棟揑嬫暘偼丄抧幙峔憿傪婎弨偵丄杮廈拞晹傪撿杒偵廲抐偡傞巺嫑愳惷壀峔憿慄傪嫬偵丄撿惣擔杮偲搶杒擔杮偲偵戝暿偝傟傞丅晅嬤偱偼丄儐乕儔僔傾僾儗乕僩丄僼傿儕僺儞奀僾儗乕僩丄懢暯梞僾儗乕僩丄杒傾儊儕僇僾儗乕僩偑偣傔偓崌偄丄娐懢暯梞憿嶳懷丒娐懢暯梞壩嶳懷丒娐懢暯梞抧恔懷偲屇偽傟傞懷偺堦娐傪側偟偰偄傞丅偦偺偨傔丄悽奅慡懱偱曻弌偝傟傞抧恔僄僱儖僊乕偺偆偪1妱偐傜2妱偑擔杮偺廃曈偵廤拞偡傞偲尵傢傟偰偄傞傎偳抧恔偑昿敪偟丄恔搙1傗2僋儔僗掱搙偺抧恔側傜丄偳偙偐偱枅擔偺傛偆偵婲偒偰偄傞丅傑偨丄壩嶳妶摦偑妶敪側帠偐傜壩嶳惈搚忞偑懡偔丄偙傟偑擔杮楍搰偺帺慠傪朙偐偵偟偨柺傕偁傞丅壏愹偑懡偄帠傕壩嶳偺宐傒偲尵偊傞丅 +壨愳偼丄棙崻愳丒嵟忋愳側偳偑戙昞揑偱偁傞偑丄戝棨壨愳偲堘偄丄尮棳偐傜壨岥傑偱偺嫍棧偑戝曄偵抁偄偙偲丄奀敳崅掅嵎偑媫側偙偲傕偁傝丄斾妑揑棳傟偑懍偄丅廤拞崑塉偑敪惗偡傞偲掔杊偑寛夡偟丄恖壠丒揷敤偵恟戝側旐奞傪媦傏偡偲偄偆抁強傕偁傞偑丄斾妑揑怴慛側悈偑庢悈偟傗偡偄偺傕摿怓偱偁傞丅 +廃埻傪奀偵埻傑傟偨搰崙偱偁傞偙偲偐傜丄奀忋岎堈丒嫏嬈偲傕偵惙傫側奀梞崙壠偱偁傞丅撪奀傪娷傓椞奀傪擖傟偨椞堟偺柺愊偼栺43枩km2偱偁傞[64]丅 +擔杮惌晎偑庡挘偡傞擔杮偺攔懠揑宱嵪悈堟乮EEZ乯偼椞搚柺愊偺栺12攞偱偁傞405枩km2丄椞奀偲EEZ傪崌寁偡傞偲447km2偱偁傝悽奅偱偼6埵偲側傞[65]丅偨偩偟娯崙偑幚峴巟攝偟擔杮偑椞桳尃傪庡挘偟偰偄傞抾搰偲擔杮偑巟攝偟拞崙偑椞桳尃傪庡挘偟偰偄傞愲妕彅搰廃曈奀堟偵偮偄偰偼偦傟偧傟偺崙壠娫偱崌堄偵帄偭偰偄側偄丅傑偨丄嬨廈惣曽偲搶僔僫奀偺椞堟偵偮偄偰偼拞崙偲娯崙偑帺崙偺椞奀偐傜墑怢偡傞戝棨扞偵娭偟偰尃棙傪庡挘偟偰偄傞丅 +EEZ偲偼暿偵崙楢奀梞朄忦栺偵偍偄偰攔懠揑側奀掙帒尮尃塿偑梌偊傜傟傞朄揑側戝棨扞偵偮偄偰偼丄2012擭4寧偵崙楢戝棨扞嫬奅埾堳夛偑乽巐崙奀杶奀堟乿丄乽彫妢尨奀戜奀堟乿丄乽撿棸墿搰奀堟乿丄乽壂戝搶奀椾撿曽奀堟乿偺係奀堟傪擔杮偺戝棨扞偲擣掕偟偨[66]丅 +婥岓丒帺慠 [曇廤] +婥岓 +働僢儁儞偺婥岓嬫暘偵傛傞偲丄杮廈埲撿壂撽彅搰丒媨屆楍搰丒戝搶彅搰埲杒偺戝敿偑壏懷懡塉壞崅壏婥岓乮Cfa乯乮懡椙娫搰丒敧廳嶳楍搰乮愇奯搰丒惣昞搰丒梌撨崙搰丒攇徠娫搰乯丒壂戝搶搰側偳偱偼擬懷塉椦婥岓乮Af乯乯偵懏偡傞堦曽丄杒奀摴側偳偑垷姦懷幖弫壞椻椓婥岓乮Dfb乯傪帵偡[67]丅儌儞僗乕儞偺塭嬁傪庴偗巐婫偺曄壔偑偼偭偒傝偟偰偄傞傕偺偺丄慡斒揑偵偼奀梞惈婥岓偺偨傔戝棨偲斾妑偟偰搤偺姦偝偼偦傟傎偳尩偟偔側偔壏榓側婥岓偱偁傞丅 +搤婫偼丄僔儀儕傾崅婥埑偑桪惃偲側傝杒惣偺婫愡晽偑悂偔偑丄偦偺捠傝摴偱偁傞擔杮奀偱抔棳偺懳攏奀棳偐傜戝検偺悈忲婥偑忲敪偡傞偨傔丄戝検偺愥傪崀傜偣傞丅偦偺偨傔丄擔杮奀懁傪拞怱偵崙搚偺栺52%偑悽奅偱傕桳悢偺崑愥抧懷偲側傞丅懢暯梞懁偱偼丄嬻婥偑姡憞偟偨惏揤偺擔偑懡偄丅 +壞婫偼丄懢暯梞崅婥埑偺塭嬁偑嫮偔丄崅壏懡幖偺擔偑懕偔丅戜晽傕懡偄丅扐偟丄杒晹傪拞怱偵僆儂乕僣僋奀崅婥埑偺塭嬁偑嫮偔側傞偲掅壏偲側傝丄偟偽偟偽擾嬈偵塭嬁傪梌偊傞丅 +斾妑揑丄崀悈検偺懡偄抧堟偱偁傞丅庡側梫場偼丄擔杮奀懁偱偺搤婫偺崀愥丄6丒7寧乮壂撽丒墏旤偼5丒6寧乯偵慜慄偑掆懾偟偰婲偙傞攡塉丄壞婫偐傜廐婫偵偐偗偰撿曽奀忋偐傜愙嬤丒忋棨偡傞戜晽側偳丅擭娫崀悈検偼丄栺1,700mm偲偝傟傞丅 +惗懺宯 +撿杒偵挿偔丄傑偨丄怷椦尷奅傪墇偊傞崅嶳懷傗峀偄奀梞丄巐婫偺曄壔偵傛傝丄柺愊偺峀偝偵斾傋丄惗懅偡傞摦暔傗怉暔偺庬椶偑朙晉偱偁傞丅捗寉奀嫭埲杒偺杒奀摴偺惗懺宯偼増奀廈偺惗懺宯偵帡偰偍傝丄僽儔僉僗僩儞慄偲偄偆嫬奅偑採彞偝傟偰偄傞丅壆媣搰偲撿惣彅搰偺娫偵偼丄壏懷偲垷擬懷偺惗懺宯偺嫬奅偱偁傞搉悾慄偑採彞偝傟偰偄傞丅偙偺傎偐奀嫭傪庡偵偵暋悢偺暘晍嫬奅慄偑採彞偝傟偰偄傞丅 +巐曽偑奀偱埻傑傟偰偄傞偨傔丄奜晹偐傜怴偟偄惗暔偑怤擖偟偰偔傞壜擻惈偑掅偐偭偨丅偦傟偵壛偊丄懡偔偺棧搰偑偁傞偨傔丄偦偺搰撈帺偺惗懺宯偑堐帩偝傟偰偒偨搚抧偑懡悢偁傞丅摿偵彫妢尨彅搰傗撿惣彅搰偼丄屆偔偐傜杮搚偲斾傋偰屒棫偟偨惗懺宯傪抸偄偰偒偨偨傔丄偦偺搰偵屌桳偺摦怉暔偑懡偔惗懅偟偰偄傞丅彫妢尨彅搰偼丄乽搶梞偺僈儔僷僑僗乿偲屇偽傟傞傎偳摿庩側惗懺宯傪帩偮丅撿惣彅搰偱傕丄惣昞搰偺僀儕僆儌僥儎儅僱僐傪偼偠傔丄屌桳惗暔偑搰偛偲偵惗懅偟偰偄傞椺偑偁傞丅偩偑丄嬤擭偺奐敪傗恖娫偑帩偪崬傫偩奜棃惗暔偵傛傝丄惗懺宯偼寖曄偟丄屌桳偺摦怉暔偺惗懅偑嫼偐偝傟偰偄傞応強偑懡偄丅 +怉暔丒怷椦 + + +嶗偼屆棃懡偔偺榓壧偵塺傑傟丄傑偨嬤悽埲崀偼擔杮傪徾挜偡傞壴偲偝傟傞乮暉搰導嶰弔挰 嶰弔戧嶗乯 +擬懷偺傕偺偐傜垷姦懷偺傕偺丄偝傜偵偼崅嶳僣儞僪儔偵惗堢偡傞崅嶳怉暔偵帄傞傑偱怉暔偺庬椶偑朙晉偱懡條惈偵晉傓丅崀悈偵宐傑傟丄崅幖搙偵揔偟偨怉暔偑懡偔暘晍偟偰偄傞丅僐働怉暔傗僔僟怉暔側偳偑摿偵朙晉丅戝棨偐傜棧傟偨抧宍偐傜丄僗僊側偳偺擔杮屌桳庬偑峀偔暘晍偡傞丅姷廗揑偵嶗偲媏偑崙壴偲摨摍偺埖偄傪庴偗傞丅偙偺懠丄奺帺帯懱偱傕撈帺偺栘傗壴傪惂掕偟偰偄傞丅 +棨抧偺栺3暘偺2偑怷椦乮怷椦棪66%[68]丒怷椦柺愊丗2,512枩ha丒2009擭乮暯惉21擭乯尰嵼乯偱偁傞丅垷擬懷偐傜垷姦懷偵搉傞丄偳偺抧堟偱傕擭娫偺塉検偑廫暘偱丄怷椦偺惉棫偑壜擻偱偁傞丅暯抧偺怉惗偼丄撿偺栺3暘偺2偑忢椢峀梩庽椦丄偄傢備傞徠梩庽椦偲偄偆宆偱偁傝丄杒偺栺3暘偺1偑棊梩峀梩庽椦丄僽僫椦傪戙昞偲偡傞怷椦偱偁傞丅昗崅偺崅偄抧堟偱偼丄峏偵忢椢恓梩庽椦丄堦晹偵棊梩恓梩庽椦偑偁傞丅撿惣彅搰偺堦晹偼擬懷偵懏偟丄増奀偺姳妰偵偼儅儞僌儘乕僽偑敪払偡傞丅 + + +廐偺峠梩乮嫗搒晎嫗搒巗 棐嶳丒曮尩堾乯 +偙偺怷椦柺愊偺撪栿偼丄揤慠椦偑53%乮1,335枩ha乯丄恖岺椦偑41%乮1,036枩ha乯丄偦偺懠乮昗崅側偳偺忦審偱枹惗堢偺怷椦側偳乯偑6%丄偲側偭偰偄傞丅撪丄恖岺椦偼丄戞擇師悽奅戝愴屻偺奼戝憿椦偺塭嬁傪庴偗偨偙偲偐傜丄僗僊椦偑懡悢乮452枩ha乯傪愯傔傞丅偙傟偼丄崅搙宱嵪惉挿婜偵栘嵽廀梫偺昇敆偐傜戝検偺揤慠椦偑敯嵦偝傟丄栘嵽偺惗嶻岠棪偺傒傪峫偊偨僗僊丒僸僲僉椦偵峏怴偝傟偨偨傔偱偁傞丅偦偺屻奀奜偐傜偺桝擖検偑媫憹偟丄堦揮偟偰栘嵽偺壙奿偑朶棊偟偨寢壥丄嵦嶼偺庢傟側偄恖岺椦偺懡偔偑庢傝巆偝傟傞寢壥偲側偭偨丅曻婞偝傟偨僗僊椦偱偼丄壓憌怉惗偑敪払偣偢昻庛側惗懺宯偲側傝丄杊嵭傗悈尮熂梴偺柺偱傕栤戣偑懡偄丅 +摦暔 +歁擕椶 +徻嵶偼乽擔杮偺歁擕椶堦棗乿傪嶲徠 +100庬嫮偑惗懅偟丄偦偺撪丄屌桳庬偑3妱傪挻偊丄7懏偑屌桳懏偱偁傞丅擔杮偺歁擕椶憡偼丄杒奀摴偲杮廈偲偺娫偵偁傞僽儔僉僗僩儞慄丄傑偨丄撿惣彅搰偺偆偪丄僩僇儔楍搰偲墏旤孮搰偲偺娫偵偁傞搉悾慄偱嬫愗傜傟丄偙傟傜傪嫬偵堎側傞摦暔孮偑惗懅偟偰偄傞丅 +戝宆歁擕椶偱偼丄杒奀摴偺僸僌儅丄僄僝僔僇丄杮廈偺僣僉僲儚僌儅丄僯儂儞僕僇丄僯儂儞僇儌僔僇側偳偑偄傞丅 +屌桳庬偱偁傞僯儂儞僓儖偺偆偪丄壓杒敿搰偵廧傓屄懱孮偼丄悽奅偱嵟傕杒曽偵惐懅偡傞僒儖偱偁傞丅僯儂儞僆僆僇儈丄僄僝僆僆僇儈丄僯儂儞傾僔僇丄媦傃丄擔杮偺儔僢僐屄懱孮偼愨柵偟丄僯儂儞僇儚僂僜傕愨柵偺壜擻惈偑崅偄丅 +捁椶 +徻嵶偼乽擔杮偺栰捁堦棗乿傪嶲徠 + + +擔杮偺崙捁偺僉僕 +500庬傪墇偊傞捁椶偑娤嶡偝傟傞丅巐曽偺奀偵壛偊丄悈尮偑朙晉側擔杮偱偼丄壨愳傗抮丄屛偑懡偔丄偦傟偵惐傓悈捁偺庬椶偑朙晉偱偁傞丅擔杮楍搰偼僔儀儕傾偱斏怋偡傞捁偺墇搤抧偱偁傝丄搶撿傾僕傾側偳撿曽偱墇搤偟偨捁偑斏怋偡傞抧偱偁傝丄偝傜偵杒曽偐傜撿曽偵搉傞搉傝捁偑捠夁偡傞拞宲抧偲偟偰傕廳梫偱丄婫愡偵傛偭偰懡嵤側搉傝捁傪娤嶡偡傞偙偲偑偱偒傞丅嬤擭丄棎奐敪偵傛傞姳妰偺尭彮傗丄搶撿傾僕傾偺怷椦偺攋夡偑丄擔杮偱尒傜傟傞捁椶偺懚懕偺嫼埿偲側偭偰偄傞丅悈捁偺惗懅抧偲偟偰崙嵺揑偵廳梫側37偺幖抧偑丄儔儉僒乕儖忦栺偵搊榐偝傟曐岇偝傟偰偄傞[69]丅 +搉傝傪偟側偄棷捁偲偟偰偼丄崙捁偺僉僕側偳偑偁偘傜傟傞丅恖壠偺嬤偔偵偼丄僇儔僗丄僗僘儊丄僴僩丄僣僶儊丄僴僋僙僉儗僀側偳偑惗懅偟丄屆棃傛傝暥壔偺拞偱恊偟傑傟偰偒偨丅嵟嬤偱偼僸儓僪儕傗儉僋僪儕偑恖壠廃曈偵懡偄丅 +屌桳庬偼丄儊僌儘側偳偑偁傞丅僩僉偺屄懱孮偼丄愨柵丅尰嵼丄嵅搉巗偱恖岺揑偵斏怋偝傟偰偄傞僩僉偼丄拞崙偺屄懱孮偐傜庁傝擖傟偨傕偺偱偁傞丅 +唳拵椶丒椉惗椶 +偄偢傟傕垷擬懷偵庬椶偑懡偔丄撿惣彅搰偵敿暘埲忋偺庬偑廤拞偡傞丅偙傟偼丄搰偛偲偺庬暘壔偑恑傫偱偄傞偨傔偱傕偁傞丅杮搚偵偍偗傞搰偛偲偺庬暘壔偼丄偝傎偳尒傜傟側偄丅椺奜偼丄僒儞僔儑僂僂僆椶偱丄撿惣彅搰偵尒傜傟側偄偑丄杮搚偺奺抧曽偱偺庬暘壔偑恑傒丄懡偔偺庬傪嶻偡傞偙偲偱悽奅揑偵傕抦傜傟傞丅傑偨丄尰懚偡傞悽奅嵟戝偺椉惗椶偱偁傞僆僆僒儞僔儑僂僂僆偼丄擔杮傪戙昞偡傞椉惗椶偲偟偰悽奅揑偵抦傜傟傞丅 +嫑椶 +徻嵶偼乽擔杮偺扺悈嫑堦棗乿傪嶲徠 +嬤奀偺嫑椶偼丄庬椶丄悢丄嫟偵朙偐偱丄嶰棨奀娸壂偐傜愮搰楍搰偵妡偗偰偑悽奅嶰戝嫏応偺堦偮偵悢偊傜傟傞丅嬤奀傪抔棳偲姦棳偲偑棳傟丄偙傟傜偺愙揰偱偁傞挭嫬偱僾儔儞僋僩儞偑敪惗偟傗偡偄偙偲傗丄廃曈偵峀偄戝棨扞傗懡條偱暋嶨側奀娸傪帩偮偙偲丄側偳偑岲忦審偲側偭偰偄傞丅扺悈嫑偺庬偼丄戝棨偵斾傋偰壨愳偺婯柾偑彫偝偄偨傔丄懡偔側偄丅屆戙屛偱偁傞旡攊屛側偳偵懡嵤側庬偑惐懅偡傞傕偺偺丄傾儐側偳怘梡偵嫙偝傟傞庬偺恖堊揑側曻棳傗奜棃嫑偺惃椡奼戝偵傛傝丄婓彮庬偺愨柵傗扺悈嫑椶憡偺寖曄偑栤戣偲側偭偰偄傞丅懠曽丄塉検偺懡偄婥岓偺偨傔偵壨岥堟偵婦悈堟偑弌棃傗偡偔丄奓椶傕朙晉偱偁傞丅 +傑偨丄2010擭偵奀梞惗暔僙儞僒僗乮Census of Marine Life乯偑弌偟偨曬崘偵傛傝丄擔杮嬤奀偼丄悽奅25売強偺戙昞揑側奀偺拞偱嵟懡偲側傞丄栺3枩3000庬偺奀梞惗暔偑惗懅偟偰偄傞偙偲偑柧傜偐偲側偭偨[70]丅偙傟偼擔杮偺婥岓偑撿杒偵搉偭偰旕忢偵懡嵤偱偁傝丄摨帪偵戝偒側奀棳偵宐傑傟丄奀悈偑懡偔偺塰梴傪帩偭偰偄傞偙偲傪帵偟偰偄傞丅椺偊偽杒奀摴偼棳昘偺撿尷偱偁傞偺偵懳偟丄撿惣彅搰媦傃彫妢尨彅搰偼僒儞僑惗堢偺杒尷偱偁傞丅 +崺拵 +垷擬懷偺傕偺偐傜垷姦懷偺傕偺傑偱庬椶偑朙晉偱懡條惈偵晉傓丅怷椦偑懡偄偨傔丄悢傕懡偄丅搒巗晹偱傕懡偔偺崺拵偑尒傜傟傞丅塉偑懡偔丄幖抧傗悈揷偑奺抧偵偁傞偨傔丄摿偵僩儞儃偺庬椶偑懡偄丅傑偨丄僇僽僩儉僔側偳棦嶳偵曢傜偡崺拵傕懡偔尒傜傟偨偑丄曢傜偟偺曄壔偲嫟偵彮側偔側偭偨丅峕屗帪戙崰偐傜僗僘儉僔傗僐僆儘僊偺柭偒惡傪妝偟傓偨傔偵帞堢偑峴傢傟偰偒偨丅垽娺懳徾偲偟偰崺拵傪帞偆暥壔偼丄悽奅揑偵傕捒偟偄丅僆僆儉儔僒僉偑崙挶丅 +娐嫬丒岞奞 + + +晉巑嶳偼昗崅3776m偺擔杮嵟崅曯偐偮擔杮偺徾挜偲偝傟傞乮妺忺杒嵵乯 +徻嵶偼乽擔杮偺娐嫬偲娐嫬惌嶔乿傪嶲徠 +1950-60擭戙丄巐戝岞奞昦傪巒傔偲偟偨戝婯柾側岞奞偺敪惗偐傜丄1967擭乮徍榓42擭乯偺岞奞懳嶔婎杮朄傪巒傔偵悈幙墭戺傗戝婥墭愼側偳偺婯惂朄偑憡師偄偱惉棫偟偨丅偙傟傪庴偗丄擔杮婇嬈偼丄僆僀儖僔儑僢僋偺偨傔偵儅僀僫僗惉挿壓偵偁偭偨1973擭乮徍榓48擭乯-1976擭乮徍榓51擭乯偺慜屻偵廤拞偟偰岞奞偺杊巭傊偺搳帒傪峴偄丄1970擭戙埲崀丄戝婯柾側岞奞偺審悢偑媫懍偵尭彮偟偨丅傑偨丄偙偺搳帒偼丄僆僀儖僔儑僢僋壓偺擔杮宱嵪偺壓巟偊偺栶妱傪壥偨偟偨偨傔丄乽擔杮偼岞奞懳嶔偲宱嵪惉挿傪椉棫偝偣偨乿偲尵傢傟傞[71]丅 +偟偐偟丄擔杮楍搰夵憿榑偑嫨偽傟偨1970擭戙埲崀丄抧堟怳嫽傪柤栚偵摴楬寶愝傗曓応惍旛側偳偺岞嫟帠嬈丄儕僝乕僩奐敪側偳偺戝宆奐敪偑惙傫偵峴傢傟丄擔杮屌桳偺晽抳傗惗懺宯偼戝偒偔懝傢傟偰偟傑偭偨丅傑偨丄僑儈栤戣偺偨傔偵晉巑嶳偺悽奅堚嶻搊榐傪抐擮偟偨偙偲偵徾挜偝傟傞傛偆偵丄娐嫬娗棟偵偍偄偰傕懡偔偺壽戣傪書偊傞丅恖岺椦偺峳攑傗僟儉寶愝側偳偵傛偭偰壨愳傗嶳椦偺惗懺宯偑悐戅偟偰偄傞偙偲偵傛傝丄僯儂儞僓儖傗僀僲僔僔偑巗奨抧偵弌杤偡傞側偳丄恖娫偺惗妶傊偺塭嬁傕弌偰偄傞丅 +崅搙宱嵪惉挿婜埲崀丄擔杮恖偺怘戩偺曄壔傗丄奀奜偺擾嶻昳偺桝擖憹壛丄搶嫗堦嬌廤拞丄揤慠椦偺敯嵦丄抧堟怳嫽偵偍偗傞岞嫟帠嬈曃廳側偳條乆側梫場偵傛傝丄擾嶳懞傗擾椦悈嶻嬈偑悐戅偟偨丅偙傟偵敽偄丄峩嶌曻婞抧偺憹壛丄恖岺椦偺峳攑丄悈嶻帒尮偺尭彮側偳偺栤戣偑敪惗偟偰偄傞丅 +抧堟嬫暘 [曇廤] + + +擔杮偺抧曽丄偍傛傃奺搒摴晎導偺埵抲 +徻嵶偼乽擔杮偺抧堟乿傪嶲徠 +搒摴晎導乮1搒1摴2晎43導乯偲偄偆峀堟峴惌嬫夋偐傜峔惉偝傟傞丅扐偟丄抧堟嬫暘乮抧曽嬫暘乯偵偼丄梙傟偑尒傜傟傞丅傑偨丄堦晹偺巗偼丄峴惌忋丄暿搑惌椷巜掕搒巗丄拞妀巗丄摿椺巗偵掕傔傜傟偰偄傞丅懠偵傕丄巗挰懞傗丄挰懞傪傑偲傔偨孲偑偁傞乮慡崙巗挰懞堦棗嶲徠乯丅 +杒奀摴抧曽 +1.杒奀摴 +搶杒抧曽 +2.惵怷導 - 3.娾庤導 - 4.媨忛導 - 5.廐揷導 - 6.嶳宍導 - 7.暉搰導 +娭搶抧曽 +8.堬忛導 - 9.撊栘導 - 10.孮攏導 - 11.嶉嬍導 - 12.愮梩導 - 13.搶嫗搒 - 14.恄撧愳導 +忋婰偼乽堦搒榋導乿丅乽庱搒寳乿偼偙傟偵嶳棞導傪丄乽峀堟娭搶寳乿偵偼娭搶抧曽1搒6導偵恊晄抦昹柤屛慄埲搶偺怴妰丒嶳棞丒挿栰丒惷壀偺4導傪丄偦傟偧傟壛偊傞丅 +拞晹抧曽[72][73] +杒棨抧曽[74][75][76] +15.怴妰導 - 16.晉嶳導 - 17.愇愳導 - 18.暉堜導 +暉堜導椾撿抧堟傪嬤婨抧曽偵娷傔傞応崌偑偁傞丅 +怴妰導傪杒棨抧曽偵娷傔偢丄挿栰導丄嶳棞導偲偲傕偵峛怣墇偲徧偡傞応崌傕懡偄丅 +搶嶳抧曽[77] +19.嶳棞導 - 20.挿栰導 +拞墰崅抧[78]偲傕偄偆丅婒晫導旘懰抧堟傪壛偊傞応崌傕偁傞丅 +搶奀抧曽 +21.婒晫導 - 22.惷壀導 - 23.垽抦導 +晛捠丄乽搶奀3導乿偲偄偆偲丄惷壀導偱偼側偔嶰廳導傪娷傔傞偙偲偑懡偄丅 +嬤婨抧曽 +24.嶰廳導 - 25.帬夑導 - 26.嫗搒晎 - 27.戝嶃晎 - 28.暫屔導 - 29.撧椙導 - 30.榓壧嶳導 +拞崙抧曽 +31.捁庢導 - 32.搰崻導 - 33.壀嶳導 - 34.峀搰導 - 35.嶳岥導 +捁庢丄搰崻丄嶳岥偺堦晹偱嶳堿偲尵偄丄壀嶳丄峀搰丄嶳岥偺傎傏慡堟偱嶳梲偲偄偆丅 +巐崙抧曽 +36.摽搰導 - 37.崄愳導 - 38.垽昋導 - 39.崅抦導 +巐崙嶳抧傛傝杒傪杒巐崙丄撿傪撿巐崙偲偡傞丅傑偨丄拞崙抧曽偲暪偣偰拞崙丒巐崙抧曽偲偡傞応崌傕偁傞丅偦偺応崌丄嶳梲偲杒巐崙偲傪暪偣偰悾屗撪偲尵偆丅 +嬨廈抧曽 +40.暉壀導 - 41.嵅夑導 - 42.挿嶈導 - 43.孎杮導 - 44.戝暘導 - 45.媨嶈導 - 46.幁帣搰導 +壂撽導偲暪偣偰嬨廈丒壂撽抧曽偲偡傞応崌傕偁傞丅 +墏旤彅搰偼丄楌巎丒暥壔丒帺慠摍偺柺偵偍偄偰嬨廈傛傝傕壂撽偵嬤偄[79][80][81]偨傔丄墏旤彅搰傪壂撽導偲暪偣偰壂撽丒墏旤抧曽偲偡傞応崌傕偁傞丅 +壂撽抧曽 +47.壂撽導 +壂撽導偼嬨廈抧曽偵娷傓応崌傕偁傞丅嬨廈抧曽偵娷傔傞応崌偼嬨廈丒壂撽抧曽偲屇徧偡傞偙偲傕偁傞丅 +壂撽導偼墏旤彅搰偲暥壔揑偵帺慠揑偵嬤偄[82][83]偨傔丄墏旤彅搰偲暪偣偰壂撽丒墏旤抧曽偲偡傞応崌傕偁傞丅 +搒巗 [曇廤] +徻嵶偼乽擔杮偺巗偺恖岥弴埵乿丄乽搒巗寳 (憤柋徣)乿丄偍傛傃乽搒巗屬梡寳乿傪嶲徠 +弴埵 +搒摴晎導 +巗(嬫) +朄掕恖岥 +悇寁恖岥 +憹尭棪(%) +庬暿 +悇寁恖岥偺 +摑寁擭寧擔 +搶嫗搒 摿暿嬫晹 8,949,447 8,980,768 +0.35 摿暿嬫晹 2012擭4寧1擔 +1 恄撧愳導 墶昹巗 3,689,603 3,696,419 +0.18 惌椷巜掕搒巗 2012擭5寧1擔 +2 戝嶃晎 戝嶃巗 2,666,371 2,670,992 +0.17 惌椷巜掕搒巗 2012擭2寧1擔 +3 垽抦導 柤屆壆巗 2,263,907 2,266,121 +0.10 惌椷巜掕搒巗 2012擭2寧1擔 +4 杒奀摴 嶥杫巗 1,914,434 1,906,141 -0.43 惌椷巜掕搒巗 2011擭12寧31擔 +5 暫屔導 恄屗巗 1,544,873 1,541,596 -0.21 惌椷巜掕搒巗 2012擭4寧1擔 +6 嫗搒晎 嫗搒巗 1,474,473 1,470,587 -0.26 惌椷巜掕搒巗 2012擭4寧1擔 +7 暉壀導 暉壀巗 1,463,826 1,483,052 +1.31 惌椷巜掕搒巗 2012擭4寧1擔 +8 恄撧愳導 愳嶈巗 1,425,678 1,436,368 +0.75 惌椷巜掕搒巗 2012擭5寧1擔 +9 嶉嬍導 偝偄偨傑巗 1,222,910 1,232,577 +0.79 惌椷巜掕搒巗 2012擭4寧1擔 +10 峀搰導 峀搰巗 1,174,209 1,175,275 +0.09 惌椷巜掕搒巗 2012擭4寧1擔 +11 媨忛導 愬戜巗 1,045,903 1,049,824 +0.37 惌椷巜掕搒巗 2012擭4寧1擔 +12 暉壀導 杒嬨廈巗 977,288 969,907 -0.76 惌椷巜掕搒巗 2012擭4寧1擔 +13 愮梩導 愮梩巗 962,130 961,813 -0.03 惌椷巜掕搒巗 2012擭4寧1擔 +14 戝嶃晎 嶄巗 842,134 842,542 +0.05 惌椷巜掕搒巗 2012擭2寧1擔 +15 怴妰導 怴妰巗 812,192 809,384 -0.35 惌椷巜掕搒巗 2012擭4寧1擔 +16 惷壀導 昹徏巗 800,912 797,395 -0.44 惌椷巜掕搒巗 2012擭5寧1擔 +17 孎杮導 孎杮巗 734,294 734,361 +0.01 惌椷巜掕搒巗 2012擭4寧1擔 +18 恄撧愳導 憡柾尨巗 717,561 719,611 +0.29 惌椷巜掕搒巗 2012擭5寧1擔 +19 惷壀導 惷壀巗 716,328 713,009 -0.46 惌椷巜掕搒巗 2012擭5寧1擔 +20 壀嶳導 壀嶳巗 709,584 711,164 +0.22 惌椷巜掕搒巗 2012擭4寧1擔 +[昞帵] +昞丒榖丒曇丒楌 + 擔杮偺搒摴晎導挕強嵼抧 +[昞帵] +昞丒榖丒曇丒楌 + 擔杮偺惌椷巜掕搒巗 +[昞帵] +昞丒榖丒曇丒楌 + 擔杮偺拞妀巗 +[昞帵] +昞丒榖丒曇丒楌 + 擔杮偺摿椺巗 +崙柉 [曇廤] + +恖岥 [曇廤] +徻嵶偼乽擔杮偺恖岥摑寁乿偍傛傃乽搒摴晎導偺恖岥堦棗乿傪嶲徠 +127,767,994恖乮崙惃挷嵏 2005擭乲暯惉17擭乴10寧1擔乯 +128,056,026恖乮崙惃挷嵏 2010擭10寧1擔丄懍曬抣乯 +栺127,724,000恖乮憤柋徣摑寁嬊乽恖岥悇寁寧曬乿2007擭乲暯惉19擭乴3寧1擔妋掕抣[84]乯 +127,433,494恖 乮CIA儚乕儖僪僼傽僋僩僽僢僋丄2007擭7寧[85]乯 +栺128,100,000恖乮2010擭乲暯惉22擭乴6寧尰嵼乯 +127,066,178乮憤柋徣偵傛傞廧柉婎杮戜挔偵婎偯偔恖岥偺挷嵏 2008擭7寧31擔乯 +擔杮崙愋傪帩偮幰偺妱崌丗98.9%乮2010擭乲暯惉22擭乴8寧尰嵼乯 +擭楊峔惉 +擔杮偼1950擭埲崀媫懍側彮巕壔丄崅楊壔偑恑峴偟偰偄傞丅偦偟偰丄1970擭偵崅楊壔幮夛乮65嵨埲忋偺恖岥妱崌偑7%偐傜14%乯偵丄1994擭偵崅楊幮夛乮65嵨埲忋偺恖岥妱崌偑14%偐傜21%乯偵側傝丄2007擭偵偼挻崅楊幮夛乮65嵨埲忋偺恖岥妱崌偑21%埲忋乯偲側偭偨丅 +擭楊5嵨奒媺暿恖岥 +2004擭10寧侾擔尰嵼悇寁恖岥 +憤寁 [扨埵 愮恖] +擭楊 恖岥 +0 - 4嵨 5735 +5 - 9 5938 +10 - 14 6060 +15 - 19 6761 +20 - 24 7725 +25 - 29 8755 +30 - 34 9819 +35 - 39 8662 +40 - 44 7909 +45 - 49 7854 +50 - 54 9300 +55 - 59 9640 +60 - 64 8652 +65 - 69 7343 +70 - 74 6466 +75 - 79 5098 +80嵨埲忋 5969 +擭楊5嵨奒媺暿恖岥 +2004擭10寧侾擔尰嵼悇寁恖岥 +抝彈暿 [扨埵 愮恖] +抝 擭楊 彈 +2943 0 - 4嵨 2792 +3040 5 - 9 2898 +3105 10 - 14 2955 +3466 15 - 19 3295 +3955 20 - 24 3770 +4461 25 - 29 4294 +4960 30 - 34 4859 +4359 35 - 39 4303 +3976 40 - 44 3933 +3936 45 - 49 3918 +4633 50 - 54 4667 +4762 55 - 59 4878 +4193 60 - 64 4459 +3484 65 - 69 3859 +2951 70 - 74 3515 +2168 75 - 79 2930 +1902 80嵨埲忋 4067 + +僨乕僞弌揟丗戞10昞/搒摴晎導, 擭楊乮5嵨奒媺乯, 抝彈暿恖岥亅憤恖岥 +乮憤柋徣摑寁嬊乯 +抧堟暿暘晍 +擔杮偺奺抧曽偺恖岥偼師偺捠傝偱偁傞丅2010擭10寧1擔偵幚巤偝傟偨崙惃挷嵏偺懍曬抣偵傛傞[86]丅 +撿娭搶抧曽乮嶉嬍導丄愮梩導丄搶嫗搒丄恄撧愳導乯丗35,623,327恖 +娭惣抧曽乮帬夑導丄嫗搒晎丄戝嶃晎丄暫屔導丄撧椙導丄榓壧嶳導乯丗20,900,288恖 +搶奀丒搶嶳抧曽乮嶳棞導丄挿栰導丄婒晫導丄惷壀導丄垽抦導丄嶰廳導乯丗18,124,940恖 +嬨廈丒壂撽抧曽乮暉壀導丄嵅夑導丄挿嶈導丄孎杮導丄戝暘導丄媨嶈導丄幁帣搰導丄壂撽導乯丗14,596,977恖 +搶杒抧曽乮惵怷導丄娾庤導丄媨忛導丄廐揷導丄嶳宍導丄暉搰導乯丗9,335,088恖 +拞崙抧曽乮捁庢導丄搰崻導丄壀嶳導丄峀搰導丄嶳岥導乯丗7,561,899恖 +杒娭搶抧曽乮堬忛導丄撊栘導丄孮攏導乯丗6,984,049恖 +杒奀摴抧曽乮杒奀摴乯丗5,507,456恖 +杒棨抧曽乮怴妰導丄晉嶳導丄愇愳導丄暉堜導乯丗5,444,797恖 +巐崙抧曽乮摽搰導丄崄愳導丄垽昋導丄崅抦導乯丗3,977,205恖 +100枩恖婯柾埲忋偺恖岥傪桳偡傞戝搒巗偑奺抧曽偵揰嵼偟偰偄傞丅崙柉偺懡偔偼丄偙傟傜偺戝搒巗丄枖偼丄偦偺廃曈晹偱惗妶偡傞丅崙搚慡懱傪懳徾偲偟偨恖岥枾搙挷嵏偵偍偄偰傕椞堟崙壠偲偟偰悽奅桳悢偺崅偝傪帵偡偑丄増娸偺暯栰晹偵搒巗晹偑廤拞偟偰偄偰丄崙搚偺1妱偵恖岥偺9妱偑廧傓丅傑偨丄擔杮奀懁偵斾傋偰懢暯梞懁偵恖岥偑廤拞偟偰偄傞丅拞偱傕摿偵搶嫗傪拞怱偲偟偨撿娭搶偺恖岥偼丄擔杮偺恖岥偺栺4暘偺1傪挻偊丄悽奅嵟戝偺搒巗寳傪峔惉偡傞丅偦偺偨傔丄搒怱晹偱偼搚抧偺抣抜偑崅摣壔偟丄僪乕僫僣壔尰徾側偳偺栤戣傕婲偒偰偄傞丅偟偐偟嬤擭偱偼丄摿偵庱搒寳偱偼丄搶嫗搒怱晹偺搚抧偺抣抜偑壓棊偟搒怱夞婣偺尰徾傕尒傜傟傞丅 +2010擭10寧1擔偵峴傢傟偨崙惃挷嵏偺懍曬悢傪廤寁偟偨寢壥丄恖岥憤悢偑500枩恖傪挻夁偡傞忋埵9搒摴晎導偼師偺捠傝偱偁傞[87]丅 +搶嫗搒丗13,161,751恖乮6,018恖/km2乯 +恄撧愳導丗9,049,500恖乮3,744恖/km2乯 +戝嶃晎丗8,862,896恖乮4,679恖/km2乯 +垽抦導丗7,408,449恖乮1,434恖/km2乯 +嶉嬍導丗7,194,957恖乮1,895恖/km2乯 +愮梩導丗6,217,119恖乮1,206恖/km2乯 +暫屔導丗5,589,177恖乮666恖/km2乯 +杒奀摴丗5,507,456恖乮70恖/km2乯 +暉壀導丗5,072,804恖乮1,019恖/km2乯 +柉懓丒崙愋 [曇廤] +徻嵶偼乽擔杮恖乿丄乽戝榓柉懓乿丄乽擔杮偺柉懓栤戣乿丄偍傛傃乽擔杮偺奜崙恖乿傪嶲徠 +柉懓峔惉乮擔杮崙乯[88] +擔杮柉懓 + ? +98.5% +挬慛恖 + ? +0.5% +拞崙恖 +0.4% +偦偺懠 + ? +0.6% +儎儅僩墹尃偺懁偐傜彂偐傟偨屆戙巎偵偼丄嬨廈抧曽偵孎廝丄搶擔杮偵壼埼側偳丄暥壔傪堎偵偡傞晹懓偑偄偨偲偄偆婰榐偑偁傞丅斵傜偼丄彊乆偵戝榓挬掛偵恇廬偟側偑傜戝榓柉懓偲摨壔偟偰偄偭偨偲偝傟傞丅傾僀僰岅偲擔杮岅偲偺斾妑尵岅妛揑側娭楢偑尒弌偣側偄偙偲偐傜丄傾僀僰偲戝榓柉懓偲偺娭楢偵偮偄偰條乆側媍榑偑偁傞偑丄堚揱妛傗峫屆妛揑徹嫆偐傜戝榓柉懓偲偺娭學傪廳帇偡傞妛愢偑桳椡偵側傝丄戝榓柉懓偵摨壔偟偒傜側偐偭偨壼埼偑丄僆儂乕僣僋暥壔側偳偺塭嬁傪庴偗偮偮丄彊乆偵拞悽崰偐傜暘壔偟偨傕偺偲峫偊傜傟偰偄傞丅 +奜崙恖丒婣壔恖 [曇廤] +擔杮崙愋傪桳偝側偄奜崙恖偑200枩恖掱嵼廧偟[89]丄尰嵼[偄偮?]丄嵼廧恖岥偺栺1.5%偑奜崙恖搊榐幰偱偁傞丅拞崙愋丄娯崙愋丄挬慛愋丄戜榩愋丄僽儔僕儖崙愋丄僼傿儕僺儞崙愋偺弴偵懡偔丄娯崙丒挬慛愋傪彍偗偽憹壛孹岦偵偁傞丅嬤擭[偄偮?]偺奜崙愋偺憹壛偺攚宨偵偼丄1990擭乮暯惉2擭乯偺擖娗朄夵惓偱僽儔僕儖側偳偵堏柉偟偨擔杮恖偺巕懛偺擔杮偱偺廇楯偑帺桼壔偝傟偨帠偑戝偒偔丄峏偵寢崶偺崙嵺壔側偳傕偁傞丅 +慡恖岥偺98.5%偑擔杮柉懓偲偝傟傞偑丄擔杮惌晎偼擔杮崙愋傪桳偡傞幰傪擔杮柉懓偲偟偰傒側偟偰偄傞偨傔丄傾儊儕僇崌廜崙傗僀僊儕僗丄僇僫僟側偳彅奜崙偱堦斒揑偵挷嵏偝傟傞丄柉懓丒恖庬挷嵏偼崙惃挷嵏偱偼峴傢傟偰偍傜偢丄乣宯擔杮恖偲偄偆奣擮偼堦斒揑偵偼梡偄傜傟側偄丅偦偺偨傔丄傾僀僰恖側偳偺杒曽柉懓傗婣壔恖丄愴慜偺朣柦儘僔傾恖偺巕懛傗崙嵺寢崶偵傛傞崿寣幰側偳傕98.5%偺擔杮柉懓偲偄偆崁栚偵娷傑傟偰偄傞丅偙傟偼丄幚嵺偵偼擔杮偵偼懡柉懓揑側懁柺傕帩偭偰偄傞傕偺偺丄惌晎偲偟偰偼偁偔傑偱扨堦柉懓崙壠偱偁傞偲偄偆慜採傪曵偟偨偔側偄偐傜偲偄偆懁柺傕偁傞丅 +娯崙愋丄挬慛愋丄媦傃戜榩愋偵偮偄偰偼丄愴慜偺媽丒擔杮椞偺弌恎幰丄偍傛傃椉恊偺偆偪偄偢傟偐乮偁傞偄偼椉曽乯偑偦偺弌恎偱偁傞幰偺巕懛偑懡偔丄拞崙巆棷屒帣傗壠懓偺塱廧婣崙傕偄傞丅峏偵丄娯崙愋丄挬慛愋偵娭偟偰偼丄愴屻偵側偭偰偐傜挬慛愴憟傗昻崲丒埑惌偐傜摝傟偰搉棃偟偰偒偨擄柉[90]偑堦晹娷傑傟偰偄傞丅 +1895擭乮柧帯28擭乯偵戜榩傪丄1910擭乮柧帯43擭乯偵挬慛敿搰傪暪崌屻丄懢暯梞愴憟攕愴傑偱擔杮偺堦晹偲偟偰丄戜榩恖丄挬慛恖偵傕擔杮崙愋傪梌偊偰偄偨偨傔丄偙傟傜偺抧堟偵儖乕僣傪帩偮恖乆偑懡偔丄弴師丄宱嵪揑偵朙偐偱偁偭偨杮搚偵堏廧偟偰偒偨幰傕彮側偔側偄[91]丅柧帯偺擔杮偼惣墷恖偺嫃廧傗堏摦丄塩嬈偵娭偟偰偼椞帠嵸敾尃傪擣傔傞戙傢傝偲偟偰嫃棷抧惂偵傛傞惂尷傪愝偗偰偄偨偑丄挬慛恖傗拞崙恖偵偮偄偰偼惂尷偑側偔丄擔杮崙撪偺奺抧偱偺嶨嫃偑擣傔傜傟偰偄偨丅1899擭偵惣墷奺崙偲偺椞帠嵸敾尃偺揚攑偑惉傝丄嫃棷抧惂搙偼堦棩偵攑巭偝傟乮撪抧嶨嫃乯偨偑丄拞崙乮惔丒拞壺柉崙:巟撨乯恖傪娷傓奜崙恖楯摥幰偵偼嫃廧丒廇楯偺惂尷偑愝偗傜傟偨乮捄椷戞352崋[92]乯丅偙傟偼偍傕偵壺恖乮巟撨恖乯傪婯惂偡傞栚揑偺傕偺偱挬慛恖偵偼幚幙揑偵揔梡偝傟側偐偭偨偲偝傟傞[93]丅戜榩恖傕傑偨暪崌屻偼掗崙恇柉偱偁傝嫃廧偵惂尷偼側偐偭偨偑丄戜榩丒挬慛偲傕屗愋乮戜榩屗愋丄挬慛屗愋乯偺棧扙偼擣傔傜傟偢丄偁偔傑偱撪抧偱偺婑棷偱偁偭偨丅戜榩恖偺堏廧偼愴慜偼彮側偔[94]丄擔杮嵼廧偺戜榩恖偼憤偠偰妛楌偑偁傝丄壺恖乮巟撨恖乯傗挬慛恖偲偼偙偲側傝僆儔儞僟傗柧堚恇丄惔挬偺怉柉巟攝偺楌巎揑宱尡偑偁傝丄柉懓揑側孅戸偑側偔擔杮岅乮傗奜崙岅乯偵捠嬇偟傛偔摥偔偺偱岤嬾偝傟偨丅壺恖乮巟撨恖乯偼嶰搧乮椏棟丒棟敮巘丒巇棫壆乯偑丄挬慛恖偼楯摥幰偑拞怱偱丄堏廧婯柾傕懡偐偭偨[95][96]丅 +挬慛恖楯摥幰偺擔杮撪抧傊偺堏摦偼擔娯暪崌偺1910擭偵2600恖偱偁偭偨堏摦幰偑1923擭偵偼13枩恖偁傑傝偲憹壛孹岦偵偁傝丄1919擭4寧偺乽挬慛恖偺椃峴庢掲偵娭偡傞審乿乮寈柋憤棗晹戞3崋乯偵傛傝挬慛恖偺擔杮搉峲傊偺捈愙婯惂乮椃峴徹柧彂惂搙乯偵揮姺偟丄堏摦惂尷傪岥幚偵幚幙揑側嫃廧婯惂偵曽恓偑揮姺偝傟偨[97]丅挬慛敿搰椞堟偱偼幚巤偝傟偰偄側偐偭偨嶲惌尃傕晛捠慖嫇朄乮1925擭乯巤峴屻偺撪抧偱偼擣傔傜傟偰偍傝丄婓朷傪帩偪堏摦偟掕廧偟偨幰傕懡偐偭偨偑惗妶偼寛偟偰宐傑傟偨傕偺偱偼側偐偭偨[98]丅戝愴拞偵偼孯恖丒孯懏丄偁傞偄偼廇嬈栚揑偲偟偰搉奀偟偨丅傑偨挜梡楯摥幰偲偟偰800柤埲忋偑搉奀偟偨丅 +廔愴偺屻丄斵傜偺懡偔偑慶崙傊堷偒忋偘偨偑丄奺恖偺敾抐傗帠忣偵傛偭偰擔杮偵棷傑偭偨幰傕偄傞丅傑偨丄愴屻憡摉偺悢偺挬慛恖偑慶崙偺崿棎乮挬慛愴憟乯乮崙楢偵傛傞擄柉擣掕偑偝傟偰偄傞乯傗娯崙孯偵傛傞媠嶦乮嵪廈搰巐丒嶰帠審丄曐摫楢柨帠審側偳乯傪摝傟偰擔杮偵搉偭偨丅偦偺屻丄僒儞僼儔儞僔僗僐暯榓忦栺掲寢偵傛偭偰斵傜偼擔杮崙愋傪憆幐偟挬慛愋偲側偭偨偑丄偦偺傑傑摿暿塱廧幰偲偟偰擔杮偵嵼廧偟懕偗偨丅尰嵼偱偼丄擔杮惗傑傟偑懡悢攈偱偁傝丄婣壔偟偰擔杮崙愋傪庢摼偡傞幰傕懡偔[89]丄嵼擔僐儕傾儞偼尭彮傪懕偗偰偄傞丅嬤擭偱偼挬慛愋偐傜娯崙愋偵搊榐傪曄峏偡傞幰偑懡悢偲側偭偰偄傞丅 +傾僀僨儞僥傿僥傿偲崙愋偺栤戣偼柧帯偺奐崙埲棃丄擔杮偑斲墳側偔捈柺偡傞偙偲偵側偭偨恖尃栤戣偱偁傝丄愴慜偐傜壺嫛丒報嫛偺恖乆傗條乆側堏廧幰丄愴屻側偑傜偔偼戜榩丒拞崙宯擔杮恖僐儈儏僯僥傿偺娫偱妺摗傪惗傫偱偒偨丅嬤擭[偄偮?]偱偼擔宯堏柉2悽3悽偺弌壱偓楯摥傗丄搶撿傾僕傾丒拞崙偐傜偺乽尋廋楯摥幰乿丄晄朄擖崙乮懾嵼乯楯摥幰偺恖尃栤戣側偳偑敪惗偟偰偄傞丅 +婲尮 [曇廤] +擔杮恖偺婲尮偼丄屆偔偐傜擔杮楍搰偵嫃廧偟偰偄偨丄偄傢備傞撽暥恖傪婎憌偵丄儐乕儔僔傾戝棨偐傜堏廧偟偨恖乆偑梈崌偟偰宍惉偝傟偨傕偺偲偺愢偑嬤擭桳椡偩偑丄徻嵶偵偮偄偰偼彅愢偁傝丄掕偐偱側偄丅帺徧偲偟偰乽榓恖乿丄偁傞偄偼嬤戙揑側柉懓堄幆偺壓偱乽戝榓柉懓乿丒乽擔杮柉懓乿偲傕尵偆丅撿惣彅搰偺恖乆偼丄撽暥帪戙偐傜栱惗帪戙偵偐偗偰嬨廈偐傜撿壓偟偨恖乆偑拞怱偲側偭偰偄傞偲偝傟丄尵岅揑偵傕杮搚偺廧柉偲儖乕僣傪摨偠偔偟偰偄傞偙偲偼柧傜偐偱偁傞[梫弌揟]丅 +傑偨傾僀僰柉懓偼丄榓恖偲偺岎棳偺拞偱丄拞悽偐傜嬤悽偵偐偗偰惉棫偟偨偲偝傟傞偑丄惉棫偺徻嵶側夁掱偵偮偄偰偼晄柧側揰偑懡偄乮徻嵶偼傾僀僰傪嶲徠乯丅 +屆暛帪戙丄杒搶杒抧曽傪彍偔杮廈丒巐崙丒杒嬨廈偺恖乆偼丄戝榓杶抧傪杮嫆抧偲偡傞儎儅僩墹尃偺傕偲偵楢崌偟丄榒恖乮榓恖乯偲偟偰偺暥壔傪宍惉偡傞丅旘捁帪戙偺棩椷崙壠偺妋棫偵敽偄丄榓恖偺暥壔揑堦懱惈偑妋棫偝傟偨丅偦偺屻丄挬掛偺巟攝壓偵擖傞偺偑抶傟偨杒搶杒乮壼埼乯丒撿嬨廈乮孎廝乯偺恖乆傪摨壔偟側偑傜暥壔寳偺奼戝傪懕偗丄暯埨帪戙傑偱偵杮廈丒巐崙丒嬨廈偺慡堟偑榓恖偺惗妶斖埻偲側偭偨丅峕屗帪戙偵偼丄嶧杸斔偵傛傞棶媴傊偺怤峌丄徏慜斔偺傾僀僰巟攝偺妋棫偵傛傝丄杒奀摴丒撿惣彅搰傪娷傓擔杮楍搰偺慡堟偑榓恖偺惃椡寳偵抲偐傟偨丅 +乽壼埼抧乿偲憤徧偝傟偨尰嵼偺杒奀摴丒愮搰楍搰丒姃懢撿晹偵嫃廧偟偨傾僀僰傗丄棶媴墹崙傪庽棫偟偨撿惣彅搰偺恖乆偼丄栱惗帪戙埲崀丄杮搚偲岎棳傪帩偪懕偗偮偮傕丄峕屗帪戙傑偱惌帯揑偵偼杮搚偺惌尃偺巟攝壓偵偼擖傜偢堎側傞楌巎傪曕傫偩宱堒偑偁傞丅尰嵼丄傾僀僰岅傪戞堦曣岅偲偡傞恖乆偼嬌傔偰彮側偄偑丄傾僀僰暥壔怳嫽朄偑惂掕偝傟偰嫿搚暥壔偺曐懚丒嵞嫽偑恾傜傟偰偄傞丅側偍丄傾僀僰偲嫟偵撿姃懢偵偄偨僂傿儖僞傗僯償僼偺懡偔偼丄僜價僄僩偺怤峌丒愯椞偺屻丄杒奀摴傗杮廈傊堏廧偟偨丅傑偨丄彫妢尨彅搰偵偼丄19悽婭弶摢偵僴儚僀偐傜偺堏柉抍偑巎忋弶傔偰掕廧偟偰丄墷暷宯愭廧柉乮儓乕儘僢僷宯傾儊儕僇恖傗僴儚僀恖乯偵傛傞彫婯柾側僐儘僯乕偑宍惉偝傟偨偑丄柧帯堐怴偺屻偵擔杮偵傛傞椞桳偑妋掕偡傞偲弴師丄斵傜傕擔杮崙愋傪庢摼偟偰擔杮恖偺幮夛偵梟偗崬傫偱偄偭偨丅 +尵岅 [曇廤] +徻嵶偼乽擔杮偺尵岅乿丄乽擔杮偵偍偗傞娍帤乿丄乽崙岅崙帤栤戣乿丄乽擔杮岅乿丄乽擔杮岅偺昞婰懱宯乿丄偍傛傃乽擔杮岅偺曽尵乿傪嶲徠 + + +擔杮岅偺曽尵嬫暘偺堦椺乮棶媴岅傕娷傓乯 +擔杮偵偼岞梡岅傪柧帵偡傞朄椷偑懚嵼偟側偄[99]偑丄擔杮岅偑傎傏慡偰偺崙柉偺曣岅偱偁傝丄姷廗偵婎偯偔帠幚忋偺岞梡岅偱偁傞丅慡搚偱嬒幙壔偝傟偨擔杮岅偵傛傞媊柋嫵堢偑峴傢傟偰偄傞丅幆帤棪偼嬌傔偰崅偄丅擔杮偵掕廧偡傞奜崙恖傕懡偔偼擔杮岅傪棟夝偡傞丅崙夛偱偼丄傾僀僰岅側偳偺巊梡傕擣傔傜傟偰偄傞偑丄寷朄傗朄棩偼丄擔杮岅偱婰偟偨傕偺偑惓暥偱偁傞[100]丅 +嬤戙埲慜偺擔杮岅偼丄暥岅偲岥岅偲偺槰棧偑戝偒偐偭偨丅岥岅偱偼嫗搒曽尵乮峕屗帪戙拞婜埲慜乯偍傛傃峕屗曽尵乮峕屗帪戙屻婜埲崀乯偑拞墰岅偲堄幆偝傟峀偔捠梡偟偨偑丄抧堟傗奒憌偵傛傞曽尵嵎偑戝偒偐偭偨丅柧帯堐怴偵傛傞嬤戙揑側崙柉崙壠偺憂愝偵敽偭偰尵暥堦抳塣摦偑婲偙傝丄岥岅偵嬤偄暥復岅偺妋棫偑挬栰偺憃曽偐傜悇偟恑傔傜傟偨丅搶嫗曽尵傪婎斦偵惍偊傜傟偨怴偟偄暥岅傗岥岅乮昗弨岅丒嫟捠岅乯偼丄嫵堢丒曬摴丒峴惌丒孯戉側偳傪捠偠偰崙柉偵峀偔怹摟偟丄崙柉揑堦懱姶偺宍惉偵婑梌偟偨丅嫟捠岅偺怹摟偵敽偄奺抧偺曽尵偼悐戅丒曄梕傪梋媀側偔偝傟偨丅嬤擭丄抧堟暥壔丒傾僀僨儞僥傿僥傿乕偲偟偰尒捈偡婡塣偑崅傑傝丄嫵堢尰応偵偍偄偰傕嫟懚偑恾傜傟傞傛偆偵側偭偨偲偄傢傟傞[101]丅 +擔杮偼娍帤暥壔寳偵懏偟丄擔杮岅偺昞婰偵偼娍帤偲偦傟偐傜攈惗偟偨壖柤傪庡偵巊梡偡傞丅戞擇師悽奅戝愴屻丄GHQ偺巜摫側偳傕偁偭偰丄惌晎偼娍帤偺慡攑傪寛掕偟丄慡攑傑偱摉柺巊梡偱偒傞娍帤傪傑偲傔偨乽摉梡娍帤昞乿傪崘帵偟偰娍帤偺巊梡傪惂尷偟偨丅偟偐偟偦偺屻丄摉梡娍帤傛傝傕娚傗偐側乽栚埨乿偲偟偰乽忢梡娍帤昞乿偑惂掕偝傟丄娍帤慡攑偺曽恓偼揚夞偝傟偨丅偦偆偟偨側偐偱丄堦晹偺娍帤偼惓帤懱乮媽帤懱乯偐傜怴帤懱偵娙棯壔偝傟偨丅屌桳柤帉偼暿埖偄偱偁傞偙偲偐傜丄恖柤丒抧柤側偳偱偼媽帤懱傗堎懱帤偺巊梡偑懕偄偰偍傝丄堎懱帤偺埖偄偼尰嵼傕偟偽偟偽栤戣偲側傞丅壖柤偺惓彂朄偵娭偟偰傕丄廔愴屻丄廬棃偺楌巎揑壖柤尛偐傜尰戙壖柤尛偄偵曄峏偝傟偨丅嬤擭丄僐儞僺儏乕僞偺晛媦側偳偵敽偄丄娍帤偺巊梡偵娭偡傞惂尷偼娚傔傜傟傞孹岦偵偁傞丅 +擔杮岅埲奜偵偼丄傾僀僰偑梡偄傞傾僀僰岅傗丄姃懢偐傜堏廧偟偨彮悢廧柉偑梡偄偨僯償僼岅丒僂傿儖僞岅偑偁傞丅尰嵼偱偼僯償僼岅丒僂傿儖僞岅偺曣岅榖幰偵傛傞僐儈儏僯僥傿偼徚柵偟丄傾僀僰岅傕曣岅榖幰偑10恖埲壓偵尷傜傟傞婋婡偵昺偡傞尵岅偱偁傞偑丄傾僀僰岅嵞嫽偺庢傝慻傒傕妶敪偱偁傞丅棶媴楍搰偺揱摑揑側尵梩偼杮搚曽尵偲堘偄偑戝偒偔丄杮搚曽尵偲偲傕偵擔杮岅偺擇戝曽尵偺堦偮偱偁傞棶媴曽尵偐丄擔杮岅偲偼宯摑偺摨偠巓枀岅乮乽棶媴岅乿乯偐丄偦偺埵抲偯偗偵偼媍榑偑偁傞丅棶媴曽尵乮乽棶媴岅乿乯撪晹偱傕抧堟嵎偑戝偒偔丄暋悢偺尵岅偺廤崌偲偟偰乽棶媴岅攈乿傗乽棶媴彅岅乿偲埵抲偯偗傞応崌偑偁傞[102][103]丅 + + +儘僔傾岅偑暪婰偝傟偨摴楬昗幆乮杒奀摴崻幒巗乯 +偦偺懠偺尵岅偼丄擔杮岅偵扨岅偲偟偰庢傝擖傟傜傟偨奜棃岅傪彍偒丄擔杮恖摨巑偺堄巚慳捠偵偼傎偲傫偳梡偄傜傟偢丄崅摍嫵堢偺嫵庼尵岅偲偟偰傕忢梡偝傟側偄丅擔杮恖偵偲偭偰嵟傕恎嬤側奜崙岅偼崙嵺岅偱偁傞塸岅偱偁傝丄幚柋忋偱偺曋塿傗彅奜崙恖傊偺攝椂偐傜丄崙嵺庢堷傗妛弍尋媶偺応偱巊梡偑彠椼偝傟傞偙偲偑偁傞丅媊柋嫵堢偺拞妛峑偺昁廋壢栚偱偁傞奜崙岅壢偱偼塸岅傪埖偆偙偲偑埑搢揑偵懡偔丄偦傟埲崀偺崅摍嫵堢婡娭偱傕懡偔偺擔杮恖偑塸岅傪妛傇丅懡偔偺擔杮恖偵偲偭偰丄擔杮岅偐傜墦偄宯摑偺尵岅偱偁傞偨傔廗摼偑擄偟偔丄傑偨擔忢惗妶傗怑柋忋偱偺昁梫惈偑掅偄偙偲側偳偐傜丄姮擻側幰偼斾妑揑彮側偄丅 +戝妛偱妛傇戞擇奜崙岅偲偟偰偼丄庡偵僪僀僣岅丒僼儔儞僗岅偑慖戰偝傟偰偒偨偑丄嬤擭偼拞崙偺宱嵪敪揥偵敽偭偰拞崙岅偺慖戰偑憹偊偨丅挬慛岅乮娯崙岅乯偼擔杮恖偵偲偭偰斾妑揑廗摼偑梕堈側尵岅偱偁傞偑丄娯崙挬慛宯偺廧柉傪彍偄偰妛廗幰偼懡偔側偐偭偨丅嬤擭丄娯崙偺戝廜暥壔偑惙傫偵桝擖偝傟偰偄傞偙偲偵敽偄丄妛廗幰偑憹壛孹岦偵偁傞丅儘僔傾岅偺妛廗幰偼懡偔側偄偑丄椻愴曵夡屻丄嬌搶儘僔傾偲偺杅堈偑妶敪壔偟偰偄傞偨傔丄杒奀摴傗擔杮奀懁偺搒巗偱奜崙岅昞婰偵庢傝擖傟傜傟傞側偳偟偰偄傞丅埨慡曐忈忋偺棟桼偐傜妛偽傟偰偄傞尵岅偼丄摨柨孯偲偺堄巚慳捠傪恾傞偨傔偺塸岅偲丄壖憐揋偺儘僔傾岅丒拞崙岅丒挬慛岅偑庡偱偁傞乮梊旛帺塹姱曗偺岅妛媄擻榞偱堦斒岞曞傕偝傟偰偄傞乯丅 +奜崙愋偺廧柉偍傛傃婣壔奜崙恖丄擔杮偵掕廧偡傞奜崙恖偑梡偄傞庡側尵岅偵偼丄嵼擔娯崙丒挬慛恖偺堦晹偑梡偄傞挬慛岅乮嵼擔挬慛岅乯丄嵼擔拞崙恖丒嵼擔戜榩恖傪拞怱偵栺60枩恖偑梡偄傞拞崙岅丒戜榩岅丄擔宯僽儔僕儖恖傪拞怱偵栺30枩恖偑梡偄傞億儖僩僈儖岅丄僼傿儕僺儞恖丒墷暷恖傪拞怱偵栺25枩恖偑梡偄傞塸岅側偳偑偁傞丅 +朄丒惌帯 [曇廤] + + + +擔杮崙寷朄壓偺摑帯婡峔恾 +徻嵶偼乽擔杮朄乿丄乽擔杮偺孻帠巌朄乿丄乽擔杮偺柉帠巌朄乿丄乽擔杮偺惌帯乿丄偍傛傃乽擔杮惌帯巎乿傪嶲徠 +擔杮崙寷朄忋丄摨寷朄傪嵟崅朄婯偲偟丄偙偺壓偵丄崙夛偑惂掕偡傞朄棩丄撪妕偑惂掕偡傞惌椷傗奺徣挕偑惂掕偡傞徣椷側偳偺柦椷丄抧曽岞嫟抍懱偑惂掕偡傞忦椺側偳丄奺庬偺朄椷偑掕傔傜傟傞丅寷朄忋丄嵸敾強偼丄慡偰偺朄椷傗峴惌峴堊側偳偑寷朄偵揔崌偡傞偐斲偐傪嵟廔揑偵敾抐偡傞堘寷棫朄怰嵏尃傪桳偟丄嵟崅嵸敾強傪廔怰嵸敾強偲偡傞丅傕偭偲傕丄偄傢備傞巌朄徚嬌庡媊偵婎偯偒丄崙夛傗撪妕側偳惌帯晹栧偺敾抐傊偺姳徛偼丄峊偊傜傟傞偙偲偑懡偄丅 +擔杮崙寷朄 [曇廤] +乽億僣僟儉愰尵乿傕嶲徠 +戞擇師悽奅戝愴偺屻丄1946擭乮徍榓21擭乯11寧3擔岞晍丄1947擭乮徍榓22擭乯5寧3擔巤峴丅夵惓偝傟偨偙偲偼側偄丅峝惈寷朄偵暘椶偝傟傞丅 +擔杮崙寷朄偼丄寷朄戞13忦丒屄恖偺懜尩乮屄恖偺懜廳乯傪偦偺崻杮偵抲偒丄師偺嶰偮傪嶰戝尨棟偲偡傞丅 +帺桼丅婎杮揑尃棙偺暯摍偺椉棫傪栚巜偡丄婎杮揑恖尃偺懜廳丅 +崙柉庡尃丅庡尃偑崙柉偵桼棃偡傞丅 +暯榓庡媊丅愴憟偺曻婞丄愴椡乮孯戉乯偺晄曐帩傪掕傔傞丅 +摑帯婡峔偼丄寷朄忋丄棫朄尃傪崙夛偵丄巌朄尃傪嵸敾強偵丄峴惌尃傪撪妕偵丄偦傟偧傟暘攝偡傞嶰尃暘棫傪嵦傞丅傑偨丄撪妕偑崙夛偺怣擟偵嫆偭偰懚嵼偡傞媍堾撪妕惂傪嵦梡偡傞丅 +挿傜偔丄愴憟偺曻婞丄愴椡偺晄曐帩傪掕傔偨9忦傪弰偭偰寷朄夵惓榑媍偑峴傢傟偰偄傞丅側偍丄堦晹偵偼丄尰峴寷朄偺惂掕偵朄揑嚓醨偑偁偭偨偲偟偰柍岠傪庡挘偟丄崱傕戝擔杮掗崙寷朄偑桳岠偱偁傞偲偡傞幰傕偄傞丅 +徾挜揤峜惂 [曇廤] + + +崱忋揤峜偲旤抭巕峜岪 +徻嵶偼乽徾挜揤峜惂乿傪嶲徠 +揤峜偼丄戞擇師悽奅戝愴屻偐傜尰嵼傑偱丄擔杮崙寷朄偵乽擔杮崙偺徾挜偱偁傝擔杮崙柉摑崌偺徾挜乿乮寷朄1忦乯偲埵抲偯偗傜傟丄乽偙偺抧埵偼丄庡尃偺懚偡傞擔杮崙柉偺憤堄偵婎偔乿偲偝傟傞乮摨忦乯丅偦偺抧埵乮峜埵乯偼丄悽廝偵傛偭偰庴偗宲偑傟丄崙夛偺媍寛偡傞峜幒揟斖偺掕傔傞偲偙傠偵傛偭偰宲彸偝傟傞乮寷朄戞2忦乯丅寷朄偺掕傔傞崙帠峴堊偺傒傪峴偄丄崙惌偵娭偡傞尃擻傪桳偟側偄乮寷朄4忦1崁乯丅扐偟丄崙帠峴堊偺懠丄徾挜偨傞抧埵偵婎偯偔岞揑峴堊傪峴偆丅 傑偨丄擔杮崙惌晎偼乽棫寷孨庡惂偲尵偭偰傕嵎偟巟偊側偄偱偁傠偆乿偲偟偰偄傞偑丄擔杮崙寷朄偵偼柧婰偝傟偰偄側偄[104]丅柧帯婜偵惂掕偝傟偨戝擔杮掗崙寷朄偵偼丄棫寷孨庡惂偱偁傞偙偲偑柧婰偝傟偰偄偨丅 +崙惌 [曇廤] + + +崙夛偼丄崙尃偺嵟崅婡娭偵偟偰丄崙偺桞堦偺棫朄婡娭偲擔杮崙寷朄忋掕傔傜傟偰偄傞乮搶嫗搒愮戙揷嬫乯 +崙夛偼丄廜媍堾偲嶲媍堾偲偺擇堾偐傜側傞擇堾惂乮椉堾惂乯偺媍夛偱偁傞丅乽崙尃偺嵟崅婡娭乿偱偁傝丄乽崙偺桞堦偺棫朄婡娭乿偲偝傟傞乮寷朄41忦乯丅廜媍堾丒嶲媍堾偼丄偄偢傟傕慡崙柉傪戙昞偡傞慖嫇偝傟偨崙夛媍堳偵傛偭偰慻怐偝傟傞丅偨偩偟丄朄棩傗梊嶼丄忦栺偺媍寛丄撪妕憤棟戝恇偺巜柤丄撪妕晄怣擟寛媍側偳偵偍偄偰丄廜媍堾偵嶲媍堾傛傝傕嫮偄尃尷偑梌偊傜傟偰偄傞乮廜媍堾偺桪墇乯丅偙傟偼丄廜媍堾夝嶶偑偁傝丄擟婜傕抁偄偨傔丄傛傝柉堄傪斀塮偟偰偄傞偨傔丄偲愢柧偝傟傞丅 +撪妕偼丄庱挿偨傞撪妕憤棟戝恇偲丄偦偺懠偺崙柋戝恇偐傜側傞崌媍惂偺婡娭偱偁傞丅撪妕憤棟戝恇偼丄崙夛媍堳偱側偗傟偽側傜側偄丅崙夛偑巜柤偟偨恖暔偼丄揤峜偵傛傝媀楃揑丒宍幃揑偵擟柦偝傟丄撪妕憤棟戝恇偵廇擟偡傞丅崙柋戝恇偼丄撪妕憤棟戝恇偑擟柦偟丄揤峜偑擣徹偡傞丅崙柋戝恇偺夁敿悢偼丄崙夛媍堳偺拞偐傜慖偽傟側偗傟偽側傜側偄丅撪妕憤棟戝恇丄偦偺懠偺崙柋戝恇偼丄暥柉偱側偗傟偽側傜側偄丅撪妕偼丄峴惌尃偺峴巊偵偮偄偰丄崙夛偵懳偟楢懷偟偰愑擟傪晧偆堦曽丄廜媍堾偺幚幙揑側夝嶶尃傪帩偮偲偡傞尒夝偑懡悢愢偲側偭偰偄傞乮擔杮崙寷朄7忦3崁媦傃69忦傪嶲徠偺偙偲乯丅 +崙夛偱偼丄崙夛媍堳偺傒偑朄埬採弌尃傪帩偮丅崙夛偱怰媍偝傟傞朄埬偺戝懡悢偼丄撪妕偑採弌偡傞惌晎採弌朄埬乮妕朄乯偱偁傝丄崙夛媍堳偑敪媍偡傞朄埬乮媍堳棫朄乯偑彮側偄丅惌晎採弌朄埬偼丄撪妕偺壓偵抲偐傟傞徣挕偑崙夛偺懡悢傪愯傔傞梌搣偲偺挷惍傪宱偰嶌惉偡傞偨傔丄徣挕偺姴晹岞柋堳乮僉儍儕傾姱椈乯偺崙惌偵懳偡傞塭嬁椡偑嫮偄丅側偍丄惌帯壠偵側傞壠宯偑戙乆偟偭偐傝偲偟偨抧斦傪帩偭偰慖嫇妶摦傪峴偆偨傔丄偄傢備傞悽廝惌帯壠偑懡偄丅 +55擭懱惂偲偦偺屻 +崙夛偱偼丄1955擭乮徍榓30擭乯偵寢搣偝傟偨帺桼柉庡搣乮帺柉搣乯偑丄堦娧偟偰嵟懡偺媍惾傪愯傔偰偄偨丅摨擭偵寢搣偝傟偨擔杮幮夛搣乮幮夛搣乯偲嫟偵丄乽55擭懱惂乿偲屇偽傟傞惌帯懱惂傪宍嶌偭偨丅偙偺懱惂偼丄帺柉搣偑梌搣偲偟偰搣偺憤嵸傪崙夛偱撪妕憤棟戝恇偵巜柤偟丄摨搣媍堳偺拞偐傜崙柋戝恇傪擟柦偟偰撪妕傪慻傒丄幮夛搣偑栰搣偲偟偰帺柉搣偲懳棫丒嫤挷偟側偑傜丄崙惌傪塣塩偡傞傕偺偱偁傞丅怴帺桼僋儔僽偲楢棫惌尃傪慻傫偩1983擭乮徍榓58擭乯偐傜1986擭乮徍榓61擭乯傑偱偺堦帪婜傪彍偒丄1993擭乮暯惉5擭乯傑偱偺栺40擭娫丄帺柉搣偺扨撈惌尃偑懕偄偨丅 +1993擭乮暯惉5擭乯偵帺柉搣塇揷攈偑棧搣偟偰怴惗搣傪寢搣偟丄旕帺柉丒旕嫟嶻楢棫惌尃偱偁傞嵶愳撪妕偑惉棫偟偨偙偲偱帺柉搣偑惌尃傪棧傟丄55擭懱惂偑曵夡偟偨丅梻1994擭乮暯惉6擭乯6寧偵帺柉搣丒幮夛搣丒怴搣偝偒偑偗偺帺幮偝楢棫惌尃偱偁傞懞嶳撪妕偑惉棫偟偰帺柉搣偑惌尃偵暅婣丅師偺嫶杮撪妕埲屻丄彫熀撪妕偱帺桼搣偲偺楢棫乮帺帺楢棫乯傪宱偰岞柧搣傪壛偊偨楢棫乮帺帺岞楢棫乯丄怷撪妕丒彫愹撪妕偱帺桼搣偑敳偗偰帺桼搣偺堦晹偐傜側傞曐庣搣偑巆偭偨楢棫乮帺岞曐楢棫乯丄曐庣怴搣偺夝搣乮帺岞楢棫惌尃乯側偳丄忢偵楢棫惌尃傪慻傓偙偲偱帺柉搣憤嵸偑撪妕憤棟戝恇偲側偭偨偑丄2009擭乮暯惉21擭乯8寧偺廜媍堾媍堳憤慖嫇偱戝攕丄廜媍堾戞1搣偐傜揮棊偟丄梻9寧偵柉庡搣戙昞丒數嶳桼婭晇傪撪妕憤棟戝恇偲偡傞柉庡搣丒幮夛柉庡搣丒崙柉怴搣偐傜側傞柉幮崙楢棫惌尃丄數嶳桼婭晇撪妕偑惉棫偟偨丅 +抧曽惌帯 [曇廤] +抧曽帺帯偼丄婎慴揑側抍懱偱偁傞巗挰懞丄峀堟揑側抍懱偱偁傞搒摴晎導偺擇抜奒偐傜惉傞丄抧曽岞嫟抍懱偑扴偆丅 +巗嬫挰懞 +巗偑787丄挰偑748丄懞偑184丄崌寁1719[105]丅懠偵丄搶嫗搒偵23偺摿暿嬫乮2012擭乮暯惉24擭乯1寧4擔尰嵼乯丅 +幏峴婡娭偨傞巗挰懞挿丄媍寛婡娭偨傞巗挰懞媍夛[106]偑抲偐傟丄偄偢傟傕廧柉偐傜慖嫇偝傟傞丅 +嵿嶻傪娗棟偟丄抧堟偺帠柋傪庢傝埖偄丄峴惌傪幏峴偡傞丅朄棩偺斖埻撪偱忦椺傪掕傔傞丅摿偵婯柾偑戝偒偄巗偼丄惌椷巜掕搒巗偲偟偰丄堦晹偺尃尷偑搒摴晎導偐傜埾忳偝傟傞丅 +搒摴晎導 +搒偑1丄摴偑1丄晎偑2丄導偑43丄崌寁47丅 +幏峴婡娭偨傞搒摴晎導抦帠丄媍寛婡娭偨傞搒摴晎導媍夛偑抲偐傟丄偄偢傟傕廧柉偐傜慖嫇偝傟傞丅 +巗挰懞傪曪妵偟丄傛傝峀堟揑側峴惌傪峴偆丅朄棩偺斖埻撪偱忦椺傪掕傔傞丅 +尰嵼丄搶嫗堦嬌廤拞傪娚榓偟偰抧曽暘尃傪恑傔傞偨傔丄搒摴晎導傪夝徚偟偰峏偵峀堟揑側摴廈傪抲偔摴廈惂偺摫擖偑専摙偝傟偰偄傞乮擔杮偺摴廈惂榑媍乯丅傑偨丄戝嶃搒傗拞嫗搒偺傛偆偵摿暿嬫傪偮偔傞塣摦傕偁傞丅 +朄惂 [曇廤] +擔杮崙寷朄丄柉朄丄彜朄丄孻朄丄柉帠慽徸朄丄孻帠慽徸朄傪憤徧偟偰榋朄偲徧偡傞丅偙偺榋朄偑擔杮偺朄椷偺婎杮傪惉偟丄擔杮偺朄妛偺婎杮揑側尋媶暘栰偲峫偊傜傟偰偒偨偙偲偵傛傞丅彜朄偺偆偪丄婇嬈偵娭偡傞掕傔偺懡偔偼丄夛幮朄偵暘偗傜傟偨丅孻朄偵偼丄巰孻丄挦栶丄嬛琰丄敱嬥丄峉棷丄壢椏丄杤廂偑孻敱偲偟偰掕傔傜傟偰偄傞丅巰孻惂搙偺偁傝曽傪弰偭偰偼丄寷朄偺惂掕偺摉帪偐傜媍榑偑偁傞[107][108][109][110][111][112][113][111]丅 +曬摴偺帺桼 [曇廤] +愴屻丄寷朄偵傛偭偰昞尰偺帺桼丒曬摴偺帺桼偑曐忈偝傟丄寶慜忋丄曬摴偵娭偡傞惌晎偐傜偺夘擖偼懚嵼偟側偄偙偲偵側偭偰偄傞丅 +幚嵺偼丄僥儗價曻憲偵偮偄偰惌晎偑敪峴偡傞柶嫋偑昁梫偱偁傞丅NHK偺梊嶼偼丄崙夛偺彸擣偑昁梫偱偁傞丅怴暦偵偮偄偰偼丄嵞斕惂搙偺懚攑側偳丄條乆側宍偱帠幚忋偺夘擖偑峴傢傟偰偄傞丅堦曽丄僥儗價丒怴暦偺懁偵偍偄偰傕丄婰幰僋儔僽惂搙偵傛偭偰堦晹偺戝庤儅僗儊僨傿傾偺傒偑惌晎偐傜偺忣曬傪庴偗傞儊儕僢僩傪嫕庴偟偰偄傞丅傑偨丄廂擖尮偺峀崘椏廂擖傪戝婇嬈偵棅傞戝庤儅僗儊僨傿傾偼丄偐傛偆側戝婇嬈傪斸敾偡傞偙偲偵怲廳偱偁傝丄傑偨拞崙傪偼偠傔戝婇嬈偑埶懚偡傞崙壠偵懳偟偰傕怲廳側懺搙傪庢傞丅堦曽丄柍梡側斀敪傗鏰鐎傪旔偗傞偨傔丄乽曻憲嬛巭梡岅乿傗乽弌斉嬛巭梡岅乿傪掕傔偰嵎暿揑側昞尰傗壓昳側昞尰傪乽帺弆乿丒乽帺庡婯惂乿偡傞偙偲偑峴傢傟偰偄傞丅傑偨丄尰嵼恑峴拞偺桿夳帠審側偳恖柦偵娭傢傞応崌側偳偵傕乽帺庡婯惂乿偺懳徾偵側傞丅 +側偍丄嬤擭偵敪惗偟偨曬摴婡娭傪慱偭偨僥儘偲偟偰偼丄枹偩夝寛偵帄偭偰偄側偄愒曬戉帠審偑偁傞丅崙嫬側偒婰幰抍偑嶌惉偡傞曬摴偺帺桼搙傪帵偡儔儞僉儞僌偱偼丄11埵乮2010擭乲暯惉22擭乴乯偱偁傞丅僨儞儅乕僋丄儕僩傾僯傾偲摨埵丅忋埵偵偼僼傿儞儔儞僪丄傾僀僗儔儞僪丄僆儔儞僟丄僲儖僂僃乕丄僗僂僃乕僨儞丄僗僀僗側偳偺崙偑偄傞丅崙嫬側偒婰幰抍偼擔杮偵偍偗傞壽戣偲偟偰丄婰幰僋儔僽惂搙偵傛傝奜崙恖僕儍乕僫儕僗僩傗僼儕乕僕儍乕僫儕僗僩偵傛傞忣曬偺傾僋僙僗偑朩偘傜傟偰偄傞偙偲傪嫇偘偰偄傞丅傑偨2007擭搙偺挷嵏偱偼乽夁寖側僫僔儑僫儕僗僩偵傛傞曬摴婡娭傊偺廝寕偺尭彮偑尒傜傟傞乿偲弎傋偰偄偨[114][115]丅 +奜岎丒崙嵺娭學 [曇廤] + +徻嵶偼乽擔杮偺崙嵺娭學乿偍傛傃乽:Category:擔杮偺崙嵺娭學巎乿傪嶲徠 +摨柨崙偲偺娭學傪廳帇偟丄悽奅拞偺崙偲桭岲娭學傪抸偄偰偄傞偲偄傢傟偰偄傞丅奜岎偺婎幉偲偟偰崙嵺楢崌傪拞怱偵奺崙偲暆峀偄奜岎傪峴偄丄墖彆傗杅堈傪峴偭偰偄傞丅揱摑揑偵抧棟揑偵嬤偄搶傾僕傾奺崙偲嫮偄娭學傪曐偭偰偒偨丅峏偵丄懢暯梞愴憟攕愴屻偵擔杮偺愯椞傪扴偄丄夝彍屻傕懡戝側塭嬁椡偑峴巊偝傟傞傾儊儕僇崌廜崙乮擔杮崙偲傾儊儕僇崌廜崙偲偺娫偺憡屳嫤椡媦傃埨慡曐忈忦栺乯傪嵟廳帇偟偰偄傞丅搶撿傾僕傾傗僆乕僗僩儔儕傾丄惣儓乕儘僢僷奺崙偲偺娭學傕怺偄丅 + +崙嵺楢崌 [曇廤] + 崙嵺楢崌 : 擔杮偼偐偮偰崙嵺楢柨傪扙戅偟丄楢崌崙乮崙嵺楢崌乯乮United Nations乯傪憡庤偵戞擇師悽奅戝愴傪愴偄攕傟偨偲偄偆宱堒偑偁傞丅崙嵺楢崌偼愴屻傕宲懕偟丄擔杮偼揋崙忦崁偵傛偭偰尰嵼傕揋崙偺埵抲偯偗偱偁傞丅1956擭乮徍榓31擭乯偵僜楢偲偺崙岎傪夞暅偟丄壛柨傪壥偨偟偨丅偙傟傑偱偵旕忢擟棟帠崙偲偟偰嵟懡慖弌偝傟偰偄傞丅傑偨丄揋崙偺埵抲偯偗偵偁傝側偑傜悽奅戞2埵偺崙楢暘扴嬥傪扴偆偲偄偆柕弬偟偨忬懺偵側偭偰偄傞丅崙楢夵妚偺堦娐偲偟偰僪僀僣丄僀儞僪丄僽儔僕儖側偳偲忢擟棟帠崙偺奼戝傪慽偊偰偄傞丅擔杮恖怑堳偺悢偼丄彮側偄丅擔杮偺抦幆憌偺懡偔偼丄懡戝側峷專偵斾傋丄壎宐傗昡壙傪庴偗傞埲慜偵揋崙忦崁偡傜嶍彍偝傟側偄偲巜揈偟偰偄傞丅 +挿偔丄崙楢偺晲椡峴巊傪巟帩偟偰傕丄宱嵪墖彆偺傒偵娭梌偡傞丄偲偄偆怲廳巔惃傪庢傝丄榩娸愴憟偱傕嫄妟偺愴旓晧扴傪偟偨偑丄愴椡傪弌偝側偐偭偨丅偟偐偟丄嬤擭丄PKO嫤椡朄側偳偺惉棫偵巒傑傝丄壽戣傪巆偟偮偮傕朄揑崻嫆偑惍偭偨丅僀儔僋愴憟廔寢屻丄帺塹戉傪攈尛偟偰暅嫽巟墖妶摦偵実傢傞側偳偺婡夛傕憹偊偰偄傞丅 + +傾僕傾丒僆僙傾僯傾 [曇廤] +搶傾僕傾偱偼丄屆棃丄抧棟揑偵嬤偄拞崙傗挬慛側偳傪拞怱偵奜岎偑峴傢傟偰偄偨丅擔杮偼庲嫵丒娍帤暥壔寳偺堦妏偱偁傝丄揱摑揑側暥壔偺拞偵偼丄夒妝丄悈杗夋丄摡帴婍丄慣廆丄彂摴側偳丄搶傾僕傾傪儖乕僣偵帩偮暔偑懡偄丅柧帯埲崀丄惣梞暥壔傪庢傝擖傟偰敪揥偟偨擔杮偺暥壔偑媡偵搶傾僕傾偵揱攄偟偨丅墷暷傪巒傔偲偡傞悽奅拞偲偺奜岎偑惙傫偵側傞偺偼丄柧帯堐怴埲崀偱偁傞丅偐偮偰擔杮椞偱偁偭偨戜榩傗娯崙偼丄尰嵼偱傕廳梫側杅堈憡庤偱偁傞丅堦曽丄杒挬慛偵懳偟偰偼丄擔杮偼崙壠彸擣偟偰偍傜偢丄崙岎傕側偔丄宱嵪惂嵸傪峴偭偰偄傞丅擔杮丄娯崙丄戜榩偼丄偦傟偧傟傾儊儕僇孯偲摨柨娭學偵偁傝丄憡屳偵娚傗偐側嫤椡娭學偵偁傞丅堦曽丄杒挬慛偲拞崙偲偼摨柨娭學偵偁傝丄拞崙偲儘僔傾傕嫤椡娭學偵偁傞丅 +搶撿傾僕傾彅崙偲偼丄婎杮揑偵桭岲娭學傪峔抸偟偰偍傝丄僞僀丄僼傿儕僺儞丄儅儗乕僔傾側偳宱嵪揑偵傕暥壔揑偵傕娭學偑怺偔丄屳偄偺崙柉偵懳偡傞姶忣傕椙偄偲偝傟傞丅傑偨丄擔杮偼丄偙傟傜奺崙偲偺帺桼杅堈嫤掕乮FTA乯偺掲寢傪柾嶕偟偰偄傞丅帺塹戉偺PKO偲偟偰偺攈尛傕丄弶偺攈尛偑僇儞儃僕傾傊丄傑偨搶僥傿儌乕儖傊傕攈尛偝傟偨丅搶撿傾僕傾彅崙楢崌乮ASEAN乯彅崙偲偺娫偱掕婜揑偵庱擼夛択傪峴偄丄娭學傪廳帇偟偰偄傞丅傑偨丄偙偺奀堟乮摿偵儅儔僢僇奀嫭乯偼丄拞搶偐傜桝擖偟偨尨桘偺9妱嬤偔偑捠夁偡傞側偳旕忢偵廳梫側儖乕僩偱偁傞偑丄奀懐偑昿斏偵弌杤偡傞丅偦偺懳嶔偲偟偰丄奀忋曐埨挕偑奺崙偺増娸寈旛戉偵懳偟偰巜摫丒嫟摨孭楙傪峴偭偰偄傞丅埲壓偺傛偆偵丄奺崙偲偺娭學偼婎杮揑偵椙岲側忬懺偵偁傞丅 +僆僙傾僯傾偺拞偱傕撿梞彅搰偺奺崙偼丄偐偮偰擔杮偑埾擟摑帯椞側偄偟愯椞抧偲偟偰摑帯壓偵抲偄偰偄偨偙偲傕偁傝丄娭學偑斾妑揑怺偄丅儈僋儘僱僔傾楢朚偱偼丄擔宯恖偺僩僔僆丒僫僇儎儅傗儅僯乕丒儌儕偑戝摑椞偵慖偽傟偰偄傞丅僷儔僆偼丄偐偮偰擔宯偺僋僯僆丒僫僇儉儔偑戝摑椞偵廇擟偟丄堦晹偺帺帯懱偱擔杮岅偑岞梡岅偲偟偰嵦梡偝傟偰偄傞乮幚嵺偵擔杮岅傪擔忢揑偵巊梡偟偰偄傞栿偱側偔丄徾挜揑側堄枴崌偄偑嫮偄乯側偳偺宱堒傕偁傝丄姱柉偲傕旕忢偵恊擔揑偱偁傞丅 + 拞壺恖柉嫟榓崙 : 擔杮偼1972擭擔拞嫟摨惡柧媦傃1978擭擔拞暯榓桭岲忦栺掲寢偵偲傕側偄丄拞壺恖柉嫟榓崙偲偺崙岎傪惓忢壔偟偨丅夵妚奐曻惌嶔偺屻丄宱嵪揑側惉挿傪悑偘偰懡偔偺擔宯婇嬈偑惗嶻嫆揰傪帩偪丄傑偨丄2006擭乮暯惉18擭乯傛傝杅堈憤妟偱傾儊儕僇傪忋夞偭偰嵟戝偺杅堈憡庤崙偲側偭偨[116]丅桋崙恄幮栤戣偵娭楢偟偰娭學偑埆壔偟偨丅擔杮偱偼丄2005擭偺拞崙偵偍偗傞斀擔妶摦側偳傕惙傫偵曬摴偝傟丄傑偨丄2008擭乮暯惉20擭乯6寧丄傾儊儕僇偺柉娫挷嵏婡娭僺儏乕丒儕僒乕僠丒僙儞僞乕偺挷嵏偱偼丄拞崙傪岲傑偟偔側偄偲摎偊偨妱崌偑84%乮慜擭斾17%憹乯偲側傝丄挷嵏偟偨24僇崙偺拞偱嵟傕崅偐偭偨丅傑偨丄擔杮恖偺拞崙傊偺椃峴幰傕尭彮偟偨丅堦曽丄拞崙偱偼丄慜擭斾偐傜9%尭彮偟偨偑丄偦傟偱傕69%偑擔杮傪岲傑偟偔巚偭偰偄側偄偲偄偆挷嵏寢壥偲側傝丄埶慠偲偟偰椉崙柉偑憡屳偵斀敪偟偰偄傞偙偲偑柧傜偐偲側偭偨丅拞崙偺曬摴偼拞崙嫟嶻搣偺摑惂壓偵偁傝丄堦斒崙柉偵擔杮偐傜偺ODA傗幱嵾側偳偑廃抦偝傟偰偄傞偲偼尵偄偑偨偄偑丄巐愳戝抧恔偵嵺偟偰偺崙嵺嬞媫墖彆戉偺媬墖妶摦側偳丄拞崙恖偐傜偺姶幱偺堄偑昞傟傞弌棃帠傕偁傞丅2010擭乮暯惉22擭乯埲崀丄宱嵪婯柾偱擔杮傪敳偄偰惉挿偟丄柍帇偱偒側偄懚嵼偲側偭偰偄傞丅 +乽擔拞娭學巎乿傕嶲徠 + 杒挬慛 : 尰嵼丄崙岎偑柍偄丅杒挬慛偼丄娯崙暪崌偵懳偡傞昡壙傗攨彏栤戣丒惪媮尃栤戣丄偄偢傟偵偮偄偰傕寛拝偟偰偄側偄偲偡傞棫応偱偁傞丅擔杮惌晎偼丄擔娯婎杮忦栺偵婎偯偄偰娯崙惌晎偺傒偑挬慛敿搰偺惓摑側惌晎偱偁傞偲偺棫応偱偁傞丅傑偨丄攨彏栤戣傕娯崙偲偺忦栺偵傛偭偰夝寛嵪傒偲偺棫応偱偁傞丅2002擭乮暯惉14擭乯偺擔挬庱擼夛択偱偼丄攨彏尃傪憡屳偵曻婞偟丄擔杮偑杒挬慛傊宱嵪嫤椡傪峴偆曽朄偱崌堄偟偨偲敪昞偝傟偨偑丄偦偺屻丄崙岎惓忢壔岎徛偺掆懾傪彽偄偰偄傞丅攚宨偵偼丄杒挬慛偵傛傞擔杮恖漟抳栤戣傗晄怰慏帠審側偳偵懳偡傞擔杮偺悽榑偺斀敪傗杒挬慛妀栤戣側偳偱屒棫傪怺傔傞杒挬慛偺尰忬偑偁傞丅擔杮偼丄尰嵼偙傟傜傪庴偗偰宱嵪惂嵸傪杒挬慛偵峴偭偰偄傞丅杒挬慛偼丄妀僇乕僪傪巊偭偰傾儊儕僇偐傜僥儘巟墖崙壠巜掕偺夝彍傪堷偒弌偟偨丅2012擭4寧杒挬慛偼帺崙寷朄偵妀曐桳崙偲柧婰偟偨[117]丅 +乽擔挬娭學巎乿傕嶲徠 + 戝娯柉崙 :寶崙摉弶傛傝斀擔姶忣偑嫮偔丄挬慛愴憟拞偵偼娯崙傪巟墖偡傞偨傔偵憒奀晹戉傗峘榩楯摥幰傪娯崙偵攈尛偡傞偲偲傕偵擔杮崙撪偱偺娯崙孯偺孯帠孭楙傪庴偗擖傟傞側偳偟偨偑丄1952擭偵偼娯崙偑堦曽揑偵棝彸斢儔僀儞傪愰尵偟抾搰傪愯嫆偟偨偙偲偵傛偭偰懡偔偺擔杮恖嫏巘偑嶦奞丒漒曔偝傟丄抾搰栤戣偑敪惗偟偨丅傑偨丄擔杮偵愽擖偟偨岺嶌堳偵傛偭偰怴妰擔愒僙儞僞乕敋攋枹悑帠審傗嬥戝拞漟抳帠審側偳偺帠審偑婲偙偝傟偰偄傞丅棝彸斢撈嵸惌尃傪懪搢偟偨杙惓鄦偼崙柉偺斀敪傪墴偟偒偭偰擔娯忦栺傪寢傃丄擔杮偲偺崙岎傪庽棫丄擔杮偐傜摼偨攨彏嬥傪宱嵪惉挿偺尨帒偲偟偨偑丄偙傟傪崙柉偵塀偟偰偄偨偨傔偵屻偵怉柉抧巟攝偺攨彏傪傔偖傞暣憟偑婲偒傞尨場偲側偭偨丅娯崙偱偼嬤擭傑偱擔杮偺戝廜暥壔嬛巭惌嶔偑懕偗傜傟偰偄偨偑丄嬥戝拞惌尃偱擔杮偺戝廜暥壔偺帺桼壔偑恑傔傜傟丄擔杮傊偺恊嬤姶傪帩偮恖乆偺憹壛傕尒傜傟偨丅岣晲玳惌尃偱偼摉弶偼擔杮偲偺梈榓巔惃傪尒偣偨傕偺偺丄娫傕側偔嫮峝側奜岎曽恓偵揮偠丄擔杮偲偺椞搚栤戣傗楌巎栤戣偵傕嫮偄巔惃偱椪傫偩丅棝柧攷惌尃偱偼丄慜惌尃偱埆壔偟偨嬤椬彅崙偲偺娭學傪廋暅偟丄擔杮偵傕斾妑揑壐寬側巔惃偱椪傓曽恓傪摉弶偼尒偣偨偑丄抦揑嵿嶻傗嫏嬈尃偺怤奞傗抾搰栤戣側偳崻杮揑側夵慞偺挍偟偼尒偊偰偄側偄丅 懠曽丄K-POP傗娯崙僪儔儅側偳娯崙偺戝廜暥壔偑擔杮偱棳峴偡傞娯棳尰徾偑偁傞丅偙傟偵敽偄娯崙偱偺擔杮戝廜暥壔偺棳擖惂尷傕彊乆偵惂尷傪娚榓偟偮偮偁傞[118][119]丅 +乽擔娯娭學巎乿傕嶲徠 + 拞壺柉崙 : 戜榩偼丄擔惔愴憟偱擔杮偵妱忳偝傟偰埲棃50擭娫偺擔杮摑帯帪戙傪宱尡偟偰偄傞丅戞擇師悽奅戝愴屻偼崙嫟撪愴偱嫟嶻搣孯偵攕杒偟偨拞崙崙柉搣偑1990擭戙傑偱撈嵸傪晘偄偰偒偨丅偐偮偰擔杮偼拞壺柉崙傪拞崙偺戙昞惌尃偲尒側偟偰偄偨偑丄1970擭戙偺擔拞崙岎惓忢壔偺嵺丄擔杮偼拞壺恖柉嫟榓崙傪惓摉側崙壠偲偟偰擣掕偟丄偐偮拞壺恖柉嫟榓崙偵攝椂偟戜榩傪撈棫偟偨崙壠偲偼傒側偄偙偲傪栺懇偟偨丅擔杮惌晎偼尰嵼傑偱偙偺拞壺恖柉嫟榓崙桪愭惌嶔傪懳拞戜奜岎偺婎杮巔惃偲偟偰偄傞丅2011擭尰嵼傕戜榩傪崙壠偲偟偰彸擣偟偰偍傜偢丄憃曽偲傕偵戝巊娰傪攝抲偟側偄戙傢傝偵柉娫偺棙塿戙昞晹傪抲偔丅1996擭偵崙柉搣堦搣撈嵸偑夝徚偝傟丄偦偺屻偼崙柉搣偲柉庡恑曕搣偲偺擇戝惌搣偱偁傞丅擔杮摑帯帪戙傪宱尡偟偨懡悢攈偺杮徣恖偑恊擔揑孹岦偑嫮偄偺偵懳偟丄惌帯揑幚尃傪埇偭偰偄偨彮悢攈偺奜徣恖偼丄斀擔巔惃偑嫮偄偲尵傢傟偰偄偨偑丄1990擭戙偵偼杮徣恖偱偁傞棝搊婸偑憤摑偲側傞側偳梈榓偑恑傫偩丅埨慡曐忈偵偍偄偰戜榩偼丄戜榩娭學朄側偳傪攚宨偵傾儊儕僇孯偲枾愙側娭學偵偁傝丄擔暷摨柨傪帩偮擔杮偲傕娫愙揑側嫤椡娭學偵偁傞丅1970擭戙埲崀丄擔戜娫偱傕愲妕彅搰偺椞桳栤戣偑偁傝學憟傕婲偒偨偑丄怺崗側懳棫偵帄偭偰偄側偄丅恖揑丒宱嵪揑側岎棳偼丄堦娧偟偰惙傫偱丄摿偵嬤擭偼棝搊婸惌尃埲崀偺戜榩杮搚壔塣摦偺寢壥偲偟偰崙柉偺恊擔巔惃偑嫮傑傞孹岦偵偁傞丅2011擭偺搶擔杮戝恔嵭偱偼戜榩偐傜悽奅嵟懡偲側傞200壄墌挻偺媊墖嬥偑擔杮偵憲傜傟偨丅奀奜偱弶傔偰擔杮偺怴姴慄僔僗僥儉偺堦晹傪嵦梡偟偨丅 +乽擔戜娭學巎乿傕嶲徠 + 僞僀 : 僞僀墹幒偲峜幒偲偺娭學傕椙岲偱丄擔杮偲僞僀偺杅堈寢崌搙偼戞堦埵偲側偭偰偍傝丄悽奅偲僞僀偲偺暯嬒揑側寢崌搙偺4攞偲側偭偰偄傞[120]丅 +乽擔懽娭學巎乿傕嶲徠 + 僼傿儕僺儞 : 僼傿儕僺儞偺庡梫杅堈憡庤崙偼傾儊儕僇偲擔杮偱偁傞偑丄嬤擭偼拞崙傗娯崙偲偺杅堈傕憹偊偰偄傞丅嵼擔僼傿儕僺儞恖偼丄嵼擔奜崙恖偲偟偰崙愋暿偱戞4埵偺恖岥傪桳偡傞丅 + 儀僩僫儉 : 儀僩僫儉偼丄儀僩僫儉愴憟偵偍偄偰擔杮偲摨柨娭學偵偁傞傾儊儕僇崌廜崙偲岎愴偟偨嫟嶻搣撈嵸惌尃偱偁傞偑丄儀僩僫儉愴憟廔寢慜偺1973擭偵偼擔杮偲偺崙岎傪庽棫偟丄擔杮偼儀僩僫儉偵懡妟偺奐敪墖彆傪懕偗偰偒偨丅嬤擭傕擔杮偺忢擟棟帠崙擖傝傪偳偺傛偆側埑椡傪庴偗偨偲偟偰傕巟帩偡傞偲昞柧偡傞側偳擔杮偵嫤椡揑偱偁傞[121]丅 + 僔儞僈億乕儖 : 擔杮丒僔儞僈億乕儖怴帪戙宱嵪楢実嫤掕傪寢傃丄擔杮偵偲偭偰弶偺帺桼杅堈嫤掕掲寢崙偱偁傞丅 + 僇儞儃僕傾 : 擔杮偐傜偼宱嵪柺偱偺巟墖傗抧棆揚嫀偺妶摦側偳傕惛椡揑偵峴傢傟偰偄傞丅傑偨丄暥壔柺偱傕僋儊乕儖丒儖乕僕儏偵傛偭偰攋夡丒抏埑偝傟偨暓嫵偺巤愝傗怣嬄偺暅嫽偵丄擔杮偺暓嫵奅偑戝偒偔峷專偟偰偄傞丅僇儞儃僕傾偼擔杮偺忢擟棟帠崙擖傝偵偮偄偰晄曄偺巟帩傪峴偭偰偄傞[121]丅 + 僀儞僪僱僔傾 : 撈棫偺嵺偵堦晹偺擔杮恖偑娭梌偟偨偙偲傕偁傝丄恊擔攈傕偄偨堦曽丄1960擭戙偺惌嬊偺崿棎偺側偐嫟嶻搣惃椡偺戜摢偵敽偄拞崙摍傊愙嬤偟偨丅2001擭偺傾儊儕僇摨帪懡敪僥儘偵傛偭偰暷崙偲偺娭學偑埆壔偟丄2005擭傑偱晲婍嬛桝側偳偺惂嵸傪庴偗偨丅偦偺偨傔儘僔傾傗拞崙偲偺娭學嫮壔傪偡偡傔丄懡嬌奜岎傪揥奐偟偰偄傞丅擔杮偲偺娭學偼椙岲偱丄LNG杅堈傪偼偠傔擔宯婇嬈傕懡悢恑弌偟丄傑偨擔杮偺惌晎奐敪墖彆(ODA)偼僴乕僪僀儞僼儔惍旛偵壛偊丄巗柉寈嶡妶摦懀恑寁夋[122]側偳摑帯擻椡巟墖乮僈僶僫儞僗巟墖乯傗朄惍旛巟墖[123]側偳僜僼僩僀儞僼儔惍旛偺巟墖傕嬤擭峴偭偰偄傞丅僗儅僩儔搰壂抧恔偱偼丄嬥妟偱崙暿3埵偺巟墖傪憗媫偵寛傔偰嫆弌偟丄峏偵傾僠僃廈傊奀忋帺塹戉偺娡掵傪攈尛偟偨丅杊嵭僔僗僥儉偺峔抸偵傕巟墖傪峴偭偰偄傞丅 + 傾儊儕僇崌廜崙 : 孯帠丒宱嵪丒惌帯偡傋偰偵偍偄偰嬞枾偐偮廳梫側娭學傪抸偄偰偄傞丅崟慏棃峲偐傜巒傑傞宱嵪娭學偼丄傾儊儕僇崌廜崙偺宱嵪椡傪攚宨偵戝偒側傕偺偱偁傝懕偗丄2006擭乮暯惉18擭乯傑偱嵟戝偺杅堈憡庤崙偩偭偨丅懢暯梞愴憟乮戞擇師悽奅戝愴乯偱偼丄搶傾僕傾丒惣懢暯梞抧堟偱4擭娫愴偭偨枛偵崀暁偟丄傾儊儕僇崌廜崙傪拞怱偲偡傞楢崌崙孯偵愯椞偝傟偨丅7擭偺愯椞帪戙傪宱偰庡尃傪夞暅偟偨偁偲傕丄擔暷埨曐忦栺偵婎偯偒婎抧梡抧偍傛傃梊嶼傪採嫙偟丄擔杮偼椻愴廔寢屻偺尰嵼傕傾儊儕僇崌廜崙偺孯帠揑塭嬁壓偵偁傞偑丄偙傟偵偮偄偰壂撽側偳偱暷孯偺帠屘斊嵾偑昿敪偡傞偨傔弅彫塣摦偑婲偒傞偙偲偑偁傝丄偟偽偟偽惌帯揑側壽戣偲偟偰晜忋偡傞丅擔杮崙撪偱偼擔暷埨曐忦栺偑擔杮偺埨慡曐忈傗奜岎偺帺庡惈傪懝側偭偰偄傞偲斸敾偝傟傞偙偲傕偁傞偑丄擔杮惌晎偼拞壺恖柉嫟榓崙偺孯帠椡偵懳偡傞寈夲姶偐傜摨柨偺嫮壔傪偼偐傞峫偊偱偁傞偑丄椻愴廔寢帪婜慜屻傛傝丄僕儍僷儞僶僢僔儞僌傗懳擔梫朷彂丄堅埨晈栤戣幱嵾傪梫媮偡傞傾儊儕僇崌廜崙壓堾121崋寛媍側偳擔杮傊偺埑椡偑嫮傑偭偰偄傞丅傾儊儕僇崌廜崙偺堄岦偼丄擔杮偺宱嵪惌嶔傗婯惂夵妚側偳偺撪惌偵傕乽奜埑乿偲偟偰戝偒側塭嬁椡傪傕偮丅傑偨丄斊嵾恖堷搉偟忦栺傪寢傇悢彮側偄崙偺堦偮偱偁傞丅 +乽擔暷娭學巎乿傕嶲徠 + 僆乕僗僩儔儕傾 : 僆僙傾僯傾偱嵟戝偺塭嬁椡傪帩偮僆乕僗僩儔儕傾偲旕忢偵嬞枾側娭學傪抸偄偰偄傞丅擔暷崑偺杊塹庱擼夛択偑峴傢傟偨偙偲傕偁傝丄宱嵪丄孯帠丄奜岎側偳偱嫟摨曕挷傪庢傞丅2007擭乮暯惉19擭乯3寧偵偼丄帺塹戉偲僆乕僗僩儔儕傾孯偲偑崙嵺楢崌暯榓堐帩妶摦乮PKO妶摦乯偺嫟摨孭楙丄斀僥儘妶摦丄捗攇側偳抧堟嵭奞偵嫤椡偟偰摉偨傞偙偲側偳偑惙傝崬傑傟偨埨慡曐忈嫤椡偵娭偡傞擔崑嫟摨愰尵偵挷報偟偨丅偙傟偵傛傝丄擔杮偵偲偭偰埨曐暘栰偱惓幃側嫤椡娭學傪寢傇乮傾儊儕僇偵懕偔乯2斣栚偺崙偲側傞丅 +乽擔崑娭學乿傕嶲徠 + 儘僔傾 : 擔業娭學偼抐懕揑偵娭學偑怺傑傞帪婜傪偼偝傒偮偮傕丄懳棫偺帪婜偑挿偄丅偙傟偼儘僔傾偑揱摑揑偵撿壓惌嶔傪庢傝丄懢暯梞傊偺弌岥傪媮傔偨偨傔丄捠傝摴偺擔杮偲偺娫偵抧惌妛揑側懳棫峔憿偑偁傞偐傜偱偁傞丅枮廈丒挬慛敿搰偺巟攝尃傪傔偖偭偰1904擭乮柧帯37擭乯偵巒傑偭偨擔業愴憟傗丄1917擭乮戝惓6擭乯偵婲偙偭偨儘僔傾妚柦偵擔杮側偳偺彅崙偑姳徛偟偰婲偙偟偨僔儀儕傾弌暫丄廔愴捈慜偵僜楢孯偑擔僜拞棫忦栺傪堦曽揑偵攋婞偟偰擔杮巟攝抧堟偵怤峌偟偨僜楢懳擔嶲愴側偳偑婲偙偭偰偒偨丅擔杮偺億僣僟儉愰尵庴戻偵傛傞廔愴屻傕撿姃懢偲愮搰楍搰傊偺怤峌傪懕偗暪崌偟丄擔杮恖傪曔椄偲偟偰楢峴偟偰僔儀儕傾梷棷偡傞側偳偺峴堊偑擔杮偺恖乆偺斀姶傪惗傒丄1956擭乮徍榓31擭乯偺擔僜嫟摨愰尵偱堦墳崙岎偑夞暅偟偨屻傕丄椻愴偺拞偱嬞挘娭學偑懕偄偰偒偨丅1986擭乮徍榓61擭乯埲崀偵娭學偺夵慞偑恑傒丄尰嵼偺椉崙偺娫偱偼丄宱嵪揑側岎棳傕惙傫偩偑丄椞搚栤戣傗偦傟偵婲場偡傞嫏柉廵寕丒漒曔帠審丄帒尮栤戣乮僒僴儕儞2傪嶲徠乯側偳傕惗偠偰偍傝丄偦偺娭學偼墌妸偱偼側偄丅 +乽擔業娭學巎乿傕嶲徠 +儐乕儔僔傾 [曇廤] +撿傾僕傾奺崙偲偼桭岲娭學傪曐偭偰偄傞丅擔杮偼旐敋崙偱偁傞偨傔丄妀幚尡傪峴偭偨僀儞僪傗僷僉僗僞儞偲嫍棧傪抲偄偰偄偨帪婜傕偁偭偨偑丄嬤擭丄椉崙偲偺娭學偑廳帇偝傟傞傛偆偵側傝丄2006擭乮暯惉18擭乯偵奜柋徣傾僕傾戝梞廈嬊偵撿晹傾僕傾晹傪怴愝偟偨丅 +拞墰傾僕傾彅崙偼丄偐偮偰僔儖僋儘乕僪宱桼偱擔杮傊傕暥壔揑側塭嬁傪媦傏偟偰偄偨偑丄尰嵼偺恖揑側娭學偼朢偟偄丅傑偨丄宱嵪婎斦偺昻庛側崙偑懡偔丄峏偵奀偵柺偟偰偄側偄偨傔偵桝憲僐僗僩側偳傕妡偐傞側偳偺棟桼偐傜丄堦晹偺婓彮側抧壓帒尮傪彍偒丄杅堈側偳偺宱嵪揑側娭學傕懠抧堟偲斾傋偰妶敪偲尵偊側偄忬嫷偵偁傞丅偨偩丄偙偺抧堟偵塰偊偨屆戙墹挬傗暓嫵堚愓偺尋媶側偳偺妛弍娭學偱偺岎棳偼妶敪偱偁傞丅 +惣傾僕傾偼庡梫側尨桘嫙媼尦偱偁傝丄宱嵪揑偵枾愙側娭學傪曐偭偰偄傞丅偟偐偟暥壔揑岎棳偼斾妑揑朢偟偄丅扐偟丄廆嫵揑側懳棫梫場偑柍偄偨傔丄廧柉偺懳擔姶忣偼斾妑揑椙岲偲偝傟傞丅 +戞擇師悽奅戝愴埲崀丄惣儓乕儘僢僷傪拞怱偲偡傞杒戝惣梞忦栺婡峔彅崙偲娫愙揑側摨柨娭學偵偁傞丅傑偨丄峜幒偼丄僀僊儕僗傗僆儔儞僟丄僗僂僃乕僨儞丄儀儖僊乕側偳偺儓乕儘僢僷奺崙偺墹幒偲怺偄桭岲娭學傪抸偄偰偄傞丅堦曽丄摿偵僆儔儞僟側偳偵偼丄戞擇師戝愴偱岎愴偟偨偙偲偵傛傞埆姶忣偑堦晹偵巆偭偰偄傞偲傕尵傢傟傞[124]丅 + 僀儞僪 : 崱屻娭學偑摿偵恊枾偵側傞偲婜懸偝傟偰偄傞崙偺傂偲偮偱丄嬤擭偺挊偟偄宱嵪敪揥傗丄忣曬媄弍偱偺幚愌偑拲栚偝傟偰偄傞丅擔杮偲僀儞僪偼G4偲偟偰嫟偵峴摦偡傞棫応偱偁傝丄2008擭乮暯惉20擭乯10寧偵偼丄椉崙庱擼偑擔報埨慡曐忈嫤椡嫟摨愰尵乮擔杮崙偲僀儞僪偲偺娫偺埨慡曐忈嫤椡偵娭偡傞嫟摨愰尵乯偵彁柤偟丄擔杮偵偲偭偰丄傾儊儕僇丄僆乕僗僩儔儕傾偵師偄偱丄埨慡曐忈暘栰偱惓幃側嫤椡娭學傪寢傫偩3斣栚偺崙偲側偭偨[125]丅偝傜偵2010擭丄擔杮偲僀儞僪偼娭惻傪抜奒揑偵揚攑偡傞FTA乮帺桼杅堈嫤掕乯傪拰偲偟偨EPA乮宱嵪楢実 嫤掕乯傪掲寢偡傞偙偲偱戝嬝崌堄偟偨丅偙傟偑払惉偝傟傟偽丄擔杮偐傜僀儞僪傊偺桝弌偺栺90%丄僀儞僪偐傜擔杮傊偺桝弌偱偼栺97%偵憡摉偡傞暔昳偱丄10擭埲撪偵娭惻偑僛儘偵側傞丅 + 僷僉僗僞儞 : 1998擭乮暯惉10擭乯偺抧壓妀幚尡偐傜2005擭乮暯惉17擭乯4寧傑偱墖彆傪掆巭偟偰偄偨丅偟偐偟丄帺塹戉僀儔僋攈尛側偳偱丄埨慡曐忈偺娤揰偐傜拞搶傊偺塭嬁椡偑嫮偄僷僉僗僞儞偺嫤椡偑昁梫偲姶偠偨擔杮惌晎偼丄摉帪偺彫愹弮堦榊庱憡偑朘栤偟偨偺傪婡偵桳彏帒嬥墖彆傪嵞奐偟偨丅 + 僶儞僌儔僨僔儏 : 悽奅嵟昻崙偺堦偮偲傕尵傢傟丄擔杮偼丄宱嵪丄曐寬丄帺慠嵭奞懳嶔側偳懡偔偺柺偱墖彆傪峴偭偰偄傞丅 + 傾僼僈僯僗僞儞 : 擔杮偼丄僶乕儈儎儞宬扟偺暥壔揑宨娤偲屆戙堚愓孮偺廋暅側偳偵懡妟偺墖彆傪峴偭偰偄傞丅傾儊儕僇崌廜崙偑峴偭偨晲椡峌寕傪巟帩偟偨偑丄晹戉偺攈尛偼丄帺塹戉僀儞僪梞攈尛偵棷傔偰偄傞丅 + 僀儔僋 : 僀儔僋愴憟偺屻丄帺塹戉僀儔僋攈尛傪峴偭偨丅 + 僀僗儔僄儖 : 擔杮偼丄拞搶榓暯傗僷儗僗僠僫栤戣偵娭偟偰拞棫偺棫応偱偁傝丄惌晎崅姱偑朘栤偡傞嵺偵偼丄僀僗儔僄儖丒僷儗僗僠僫帺帯惌晎偺憃曽偲夛択偑愝掕偝傟傞摍丄僶儔儞僗偑恾傜傟偰偄傞丅 + 僼儔儞僗 : 擔暓娭學偼丄惌帯丒宱嵪柺傛傝傕暥壔柺偱偺岎棳偑怺偄揰偵摿挜偑偁傞丅僼儔儞僗暥壔偼丄旤弍丄壒妝丄怘暥壔丄暥寍側偳偺柺偱擔杮偺嬤戙壔偵戝偒側塭嬁傪梌偊偨丅 + 僪僀僣 : 擔撈娭學偼丄擔杮偑嬤戙壔傪恑傔傞偵偁偨偭偰丄僀僊儕僗偍傛傃傾儊儕僇崌廜崙偲偺娭學偵師偄偱廳梫側栶妱傪壥偨偟偨丅壢妛媄弍丒壒妝丒朄棩丒暥寍側偳偵偍偗傞僪僀僣偺塭嬁偼丄尰嵼偺擔杮偵傕怓擹偔巆偭偰偄傞丅戞堦師悽奅戝愴偱擔杮偲僪僀僣偼岎愴崙偲側傝丄彑棙偟偨擔杮偼傾僕傾懢暯梞偵偍偗傞僪僀僣偺棙尃傪妉摼偡傞丅戞擇師悽奅戝愴偱擔杮偲僪僀僣偼懳僜楢傪堄幆偟偰擔撈埳嶰崙孯帠摨柨傪寢傫偩偑丄摨柨偼偮偄偵幚岠揑側傕偺偲偼側傝摼偢丄椉崙偼屳偄偵晄杮堄側偑傜暷塸傪揋偵夞偟攕杒偡傞偲偄偆寢枛偲側偭偨丅愴屻偼丄嫟偵從偗栰尨偐傜婏愓偺暅嫽傪壥偨偟偨宱嵪戝崙偲偟偰暯榓揑側娭學偲側傝丄廳梫側僷乕僩僫乕偲偟偰僀僊儕僗傗僼儔儞僗傪椊偖儓乕儘僢僷嵟戝偺杅堈憡庤崙偲側偭偨丅偝傜偵丄惌帯偺柺偱傕嫟偵忢擟棟帠崙傪栚巜偡G4偺僷乕僩僫乕偲偟偰峴摦偡傞丅 + 僀僊儕僗: 擔塸娭學偼丄峕屗帪戙慜婜偺嶰塝埪恓偵巒傑傝丄搑拞擔杮偺嵔崙傗戞擇師悽奅戝愴偵傛傞拞抐傪偼偝傒側偑傜挿偔懕偄偰偄傞丅摿偵嫮挷偝傟傞偺偼19悽婭屻敿偐傜20悽婭弶摢偺擔杮偺嬤戙壔偵壥偨偟偨僀僊儕僗偺栶妱偱偁傝丄僀僊儕僗偼宱嵪丒暥壔丒妛弍丒惌帯丒孯帠偺偁傜備傞柺偵偍偄偰擔杮偵嵟傕嫮偄塭嬁椡偑偁偭偨丅1902擭丄椉崙偼儘僔傾傊偺懳峈偲偟偰擔塸摨柨傪寢傃丄擔業愴憟傗戞堦師悽奅戝愴丄僔儀儕傾弌暫偵偍偄偰憡屳偵巟墖傪峴偭偨丅偟偐偟丄擔拞愴憟偲擔撈埳嶰崙摨柨偵傛偭偰椉崙偼揋懳偡傞偙偲偲側傝丄戞擇師悽奅戝愴偵偍偄偰岎愴崙偲側偭偨丅廔愴屻丄僀僊儕僗偼楢崌崙偺擔杮愯椞偵嶲壛偟偨丅愯椞廔椆屻偼丄椉崙偼傾儊儕僇崌廜崙傪夘偟偨娫愙揑側摨柨娭學偲側傝丄宱嵪丒暥壔柺偱傕怺偄娭學傪抸偄偰偄傞丅 +拞墰丒撿傾儊儕僇 [曇廤] +拞墰傾儊儕僇乮拞暷乯彅崙偲偼丄恖揑丒暥壔揑側岎棳偵朢偟偄傕偺偺丄宱嵪揑側娭學傪拞怱偵暯壐側娭學傪曐偮丅傑偨丄僉儏乕僶側偳偺幮夛庡媊崙偲傕宱嵪丒暥壔偺椉柺偱桭岲揑側娭學偑抸偐傟丄儁儖乕擔杮戝巊岞揁愯嫆帠審偱傕擔杮偺梫惪傪庴偗偨僉儏乕僶偑僎儕儔偺朣柦庴偗擖傟傪庴戻偡傞側偳嫤椡偟偨丅 +撿傾儊儕僇乮撿暷乯偼丄抧棟揑偵抧媴偺恀棤偵埵抲偡傞偑丄壓婰偺傛偆偵19悽婭偺屻敿偐傜儁儖乕傗傾儖僛儞僠儞偲怺偄桭岲娭學傪桳偡傞丅傑偨丄偐偮偰擔杮偐傜偺堏柉傪戝検偵庴偗擖傟偨宱堒傕偁傞丅杅堈娭學偱偼丄僠儕偲偺娭學偑摿偵戝偒偔丄愴慜偐傜偺桭岲娭學偑懕偔傾儖僛儞僠儞傗僷儔僌傾僀偲偄偭偨恊擔揑側崙傕懡偄丅 + 儊僉僔僐 : 拞暷彅崙偺拞偱嵟傕娭學偑怺偄丅柧帯偺奐崙埲崀偵寢偽傟偨擔杗廋岲捠彜忦栺偼丄偦傟傑偱楍嫮奺崙偺晄暯摍忦栺偵嬯偟傔傜傟偰偒偨擔杮偵偲偭偰丄弶傔偰偺暯摍忦栺偱偁傞丅偦偺娭學偱丄悢偁傞彅奜崙偺戝巊娰偺拞偱傕崙惌偺拞悤抧嬫偲傕偄偊傞塱揷挰偵嵼傞偺偼丄儊僉僔僐戝巊娰偺傒偱偁傞丅懡悢偺擔杮婇嬈偑恑弌偡傞側偳宱嵪揑側娭學傕怺偄丅 + 儁儖乕 : 1872擭乮柧帯5擭乯偵儅儕傾丒儖僗崋帠審傪僉僢僇働偵廋岎偑巒傑偭偨丅懡偔偺堏柉偑搉傝丄儔僥儞傾儊儕僇偱擇斣栚偵擔宯恖岥偑懡偔丄1990擭戙偵擔宯恖偱偁傞傾儖儀儖僩丒僼僕儌儕乮僗儁僀儞岅偱乽僼僸儌儕乿乯偑戝摑椞偵廇擟偟偰媫懍偵娭學偑嬞枾壔偟偨偑丄幐媟偺屻丄擔杮偵朣柦偟偨丅 + 傾儖僛儞僠儞 : 1898擭乮柧帯31擭乯丄儘僔傾偲偺愴憟偵旛偊偰孯娡儕僶僟價傾丄儌儗僲傪偦傟偧傟弔擔丄擔恑偲偟偰峸擖偟丄偦傟傜偑擔業愴憟偱妶桇偟偨偙偲側偳偐傜杮奿揑側娭學偑巒傑偭偨丅傑偨丄儅儖價乕僫僗愴憟乮僼僅乕僋儔儞僪暣憟乯偺嵟拞丄傾儊儕僇傗僀僊儕僗側偳偐傜偺嵞嶰偺梫惪偵傕偐偐傢傜偢丄傾儖僛儞僠儞傊偺嬛桝慬抲傪峴傢側偄側偳偺擔杮偺撈帺奜岎偼丄傾儖僛儞僠儞偺抦擔壠偐傜崅偔昡壙偝傟傞丅 + 僽儔僕儖 : 栺180枩恖偲偄偆奀奜偱嵟戝婯柾偺擔宯恖幮夛偑抸偐傟偰偄傞偙偲傕偁傝丄惌帯丒宱嵪偺傒側傜偢丄暥壔揑側柺偐傜傕旕忢偵怺偄娭學傪曐偮丅摿偵丄J儕乕僌偑巒傑偭偰埲崀丄僽儔僕儖恖慖庤偑嵟懡悢偺奜崙恖慖庤偱偁傝懕偗偰偄傞丅傑偨丄G4偲偟偰嫟偵忢擟棟帠崙傪栚巜偟偰偄傞偙偲傕偁傝丄崙嵺惌帯忋偱楢実偡傞偙偲傕懡偄丅 +傾僼儕僇 [曇廤] +傾僼儕僇彅崙偼丄擔杮偲偼楌巎揑偵娭學偑敄偔丄娤岝抧偲偟偰傕僄僕僾僩側偳偺堦晹傪彍偄偰戝偒側恖婥偑偁傞傢偗偱傕側偄丅庡偵擔杮偐傜傾僼儕僇彅崙傊偺奐敪墖彆偲丄傾僼儕僇彅崙偐傜偺抧壓帒尮傗擾悈嶻暔偺桝擖偲擔杮偐傜偺岺嬈惢昳偺桝弌偲偄偆杅堈娭學偵廔巒偟偰偄傞丅 +1993擭乮暯惉5擭乯偐傜丄ODA側偳偺宱嵪巟墖傪娷傓宱嵪揑丒恖揑側岎棳傪怺傔傞栚揑偱丄擔杮丄崙嵺楢崌丄傾僼儕僇偺偨傔偺僌儘乕僶儖楢崌丄悽奅嬧峴偑嫟嵜偟丄傾僼儕僇奐敪夛媍乮TICAD丗Tokyo International Conference on African Development乯傪奐巒偟偨丅 +嬤擭丄傾僼儕僇彅崙偵戝巊娰傪憹傗偡側偳娭學嫮壔偵忔傝弌偟偰偄傞丅偦偺攚宨偲偟偰丄拞崙偑尰抧偵嵼廧偺壺嫛側偳傪妶梡偟偰傾僼儕僇彅崙偲偺娭學嫮壔傪峴偭偰偄傞忣嫷偑偁傞丅偙傟偼丄帒尮妋曐傗崙楢偱偺昜屌傔側偳偑栚揑偱偁傞偲巜揈偝傟偰偄傞丅 +僒僢僇乕側偳僗億乕僣偺暘栰偵偍偄偰偼丄傾僼儕僇彅崙傪擔杮偵彽偄偨帋崌偑峴傢傟偰偍傝丄椙岲側娭學傪抸偄偰偄傞丅 + 撿傾僼儕僇嫟榓崙 : 傾僷儖僩僿僀僩偱悽奅偐傜屒棫偟偰偄偨帪戙偵傕丄懡偔偺擔杮婇嬈偑恑弌偟偰斾妑揑枾愙側娭學傪抸偄偰偄偨丅偙偺偨傔丄崙嵺幮夛偐傜尩偟偄旕擄傪梺傃偰偄偨帪婜偵丄擔杮恖偼摨崙偐傜乽柤梍敀恖乿乮崙楢偐傜旕擄寛媍傪庴偗偨乯偺埖偄傪庴偗偰偄偨丅 + +椞搚栤戣摍 [曇廤] +埲壓偺椞桳傪弰傞椞搚栤戣摍傪書偊傞丅 +杒曽抧堟 + + +A.帟晳孮搰丄B.怓扥搰丄C.崙屻搰丄D.戰懆搰 +徻嵶偼乽杒曽椞搚栤戣乿傪嶲徠 +戞擇師悽奅戝愴偺廔寢偑寛掕揑偲側傞擔杮偵傛傞億僣僟儉愰尵偺庴戻乮1945擭乮徍榓20擭乯8寧14擔乯屻丄1945擭乮徍榓20擭乯8寧28擔偐傜9寧5擔偵偐偗丄戝愴慜偐傜擔杮偑椞桳偟偰偄偨愮搰楍搰乮儘僔傾柤丗僋儕儖彅搰乯偵僜楢孯偑怤峌偟愯椞偟偨丅埲屻丄僜楢傪彸宲偟偨儘僔傾楢朚偑尰嵼偵帄傞傑偱幚岠巟攝偟偰偄傞丅 +儘僔傾乮僜楢乯偼丄愴憟偱妉摼偟偨椞搚偲庡挘偡傞丅堦曽丄擔杮偼丄杒曽抧堟乮帟晳孮搰丒怓扥搰丒崙屻搰丒戰懆搰乯傪偦偺屌桳偺椞搚偲偟偰曉娨傪媮傔偰偄傞丅儘僔傾偼丄帟晳孮搰丒怓扥搰偵偮偄偰擔僜嫟摨愰尵傪崻嫆偵擔杮傊偺彨棃偺曉娨傪帵嵈偟偰偄傞丅擔杮偼丄戰懆搰丒崙屻搰傪娷傓4搰偺堦妵曉娨傪媮傔丄偙傟傪嫅斲偡傞丅傑偨丄擔杮偼丄戰懆搰偲摼晱搰偲偺娫偱偺崙嫬偺妋掕偵儘僔傾偑摨堄偡傟偽丄堷偒懕偒儘僔傾偵傛傞摑帯傪擣傔傞巪傪採帵偟偨偑丄儘僔傾偑嫅斲偟偨丅2007擭乮暯惉19擭乯偵儘僔傾偑乽柺愊擇暘妱乿埬傪採帵偟偨丅尰嵼丄夝寛偺栚張偑棫偭偰偄側偄丅擔杮嫟嶻搣偼丄愮搰楍搰偺慡堟傪擔杮偺椞搚偲庡挘偡傞乮僜楢偵傛傞愮搰偺愯椞偑僇僀儘愰尵摍偱帵偝傟偨楢崌崙偺乽椞搚晄奼戝乿尨懃偵斀偟丄堘朄偱偁傞偲偺棟桼偐傜乯丅堦晹偱偼丄撿姃懢側偄偟姃懢乮慡堟乯乮僒僴儕儞乯偺曉娨傕庡挘偝傟傞丅擔杮懁偼撿姃懢偲愮搰慡搰偼儘僔傾偲偺娫偵椞桳尃枹掕偩偲庡挘偟偰偄傞丅 +擔拞娫偺攔懠揑宱嵪悈堟 + + +1.暯屛僈僗揷 +2.抐嫶僈僗揷 +3.揤奜揤僈僗揷 +4.弔嬇僈僗揷 +5.擔杮偑庡挘偡傞EEZ嫬奅慄 +6.拞崙偑庡挘偡傞EEZ嫬奅慄 +徻嵶偼乽搶僔僫奀僈僗揷栤戣乿傪嶲徠 +拞壺恖柉嫟榓崙乮拞崙乯偲偺娫偵偍偗傞丄搶僔僫奀偱椉崙偑庡挘偡傞攔懠揑宱嵪悈堟偺斖埻偺堘偄偵婲場偡傞丅擔杮偼丄椉崙偺崙嫬偺拞娫慄傪嫬奅慄偲偟偰庡挘偟丄拞崙偼丄儐乕儔僔傾戝棨偺戝棨扞晹暘傪帺崙偺椞堟偲庡挘偡傞丅崙嵺揑偵偼丄擔杮偺庡挘偑桪惃偱偁傞偑丄拞崙偲摨條偺庡挘傪偡傞崙傕懚嵼偟丄尰嵼丄暯峴慄傪扝傞丅 +嬤擭丄偙偺栤戣偑廳梫壔偟偨偺偼丄偙偺奀堟偺抧壓偵朙晉側揤慠僈僗偺懚嵼偑柧傜偐偵側偭偨偨傔偱偁傞丅拞崙偼丄揤慠僈僗傪嵦孈偡傞僾儔儞僩乮弔嬇僈僗揷乯傪擔杮偑庡挘偡傞嫬奅偺嬤曈乮拞崙懁乯偵寶愝偡傞側偳嫮峝側巔惃傪庢傞丅偙傟偵懳偟偰擔杮偼丄擔杮懁偺帒尮傕嵦孈偝傟傞壜擻惈偑偁傞偲偟偰峈媍偟丄傑偨丄偙偺奀堟偱偺帋孈尃傪愝掕偟丄擔杮偺婇嬈偑庢摼偟偨丅擔杮偑崙嵺巌朄嵸敾強偵敾抐傪埾偹傛偆偲偡傞棫応側偺偵懳偟丄偙傟偵摨堄偟側偄拞崙偼丄椉崙偱偺嫟摨奐敪傪採帵偡傞偑丄擔杮偼丄偙傟傪拞崙偵桳棙側忦審偲擣幆偡傞側偳丄埶慠丄夝寛偺巺岥偑尒偊側偄丅 +愲妕彅搰乮拞崙柤丗掁嫑戜楍搰側偳乯 +徻嵶偼乽愲妕彅搰栤戣乿傪嶲徠 +尰嵼丄擔杮偑幚岠巟攝偡傞偑丄偦偺懠偵拞壺恖柉嫟榓崙乮拞崙乯偍傛傃拞壺柉崙乮戜榩乯偑椞桳傪庡挘偡傞丅忋偺宱嵪悈堟偺栤戣傗拞戜娫偺栤戣傕棈傒丄暋嶨壔偺條憡傪掓偡傞丅1970擭戙偺弶摢偵搶僔僫奀偱揤慠僈僗偑敪尒偝傟偰埲崀丄昞柺壔偟偨丅拞戜偵懳峈偟丄搙乆丄擔杮偺塃梼抍懱偑忋棨偟偰摂戜傪寶愝乮尰嵼丄擔杮惌晎偑娗棟乯偡傞側偳偟偨丅2005擭乮暯惉17擭乯丄戜榩偺嫏柉偑奀忋曐埨挕偵傛傞庢掲偵懳偟偰奀忋偱峈媍僨儌傪峴偭偨丅 +抾搰乮娯崙丒挬慛柤丗撈搰乯 + + +抾搰乮娯崙柤丗撈搰乯偺埵抲 +徻嵶偼乽抾搰 (搰崻導)乿傪嶲徠 +擔杮偺搰崻導丒塀婒搰偐傜杒惣栺157km丄戝娯柉崙偺宑彯杒摴丒烼椝搰偐傜栺92km偵埵抲偡傞丄2偮偺娾徥偐傜側傞彫搰偱偁傞丅擔娯偑椞桳傪庡挘乮娯崙傪挬慛柉庡庡媊恖柉嫟榓崙傕巟帩乯偟偰懳棫偡傞丅 +娯崙暪崌埲慜丄戝擔杮掗崙偲戝娯掗崙偲丄偳偪傜偺椞搚偩偭偨偐傪弰傞媍榑偵婣偡傞丅擔杮偺崙撪朄忋丄1905擭乮柧帯38擭乯偺妕媍寛掕丒搰崻導崘帵偵傛偭偰曇擖偝傟偨丅偙傟偵偮偄偰娯崙偼丄乽旈枾棤偵丄傑偨嫮惂揑偵峴傢傟偨傕偺偱偁傝丄朄揑崻嫆偼帩偨偢柍岠偱偁傞丅乿偲庡挘偡傞偑丄擔杮偼丄乽崙嵺朄偵懃偭偨揔朄側庤懕偒偑側偝傟偨傕偺偱偁傝丄傑偨怴暦側偳偱傕曬摴偝傟偰偍傝旈枾棤偵峴傢傟偨偲偺巜揈偼摉偨傜側偄乿偲庡挘偡傞丅娯崙偼丄撈棫偐傜娫傕側偔棝彸斢儔僀儞傪堦曽揑偵愝掕偟丄偦偺撪偵擖偭偨擔杮偺嫏慏丒嫏柉傪漒曔偟偰姌嶳廂梕強偵梷棷偟偨偺傒側傜偢丄戞堦戝朚娵帠審側偳嫏慏傪憡師偄偱廵寕偟丄懡悢偺巰彎幰傪弌偟偨丅偦偺屻偺擔娯崙岎惓忢壔岎徛偱棝彸斢儔僀儞偺晄摉惈傗抾搰偺椞桳傪擔杮偑嫮偔庡挘偟丄1965擭乮徍榓40擭乯偵棝彸斢儔僀儞偑攑巭偝傟偨[126]丅 +1954擭乮徍榓29擭乯7寧偵娯崙奀孯偑愯嫆偟丄尰嵼丄撈搰寈旛戉偑堷偒宲偄偱挀撛偡傞丅偙傟偵懳偟偰擔杮偼丄娯崙偵傛傞晄朄愯嫆偲偟偰峈媍偟懕偗丄傑偨丄崙嵺巌朄嵸敾強傊偺晅戸傪採埬偟偨偑丄娯崙偼丄偙傟偵摨堄偟側偄丅 +娯崙柉偵偲偭偰撈棫偺徾挜偲峫偊傜傟偰偄傞偙偲丄廃曈偺奀堟偑朙偐側嫏応偱偁傞偙偲丄傑偨丄敎戝側儊僞儞僴僀僪儗乕僩傗奀掙桘揷偺杽憼偑悇應偝傟傞偙偲丄側偳偑夝寛傪擄偟偔偟偰偄傞丅 +偦偺懠 +椞搚栤戣偵弨偠傞丄偄偔偮偐偺栤戣偑偁傞丅 +壂僲捁搰 +擔杮惌晎偼1931擭7寧偺撪柋徣崘帵埲棃壂僲捁搰傪搰偲偟偰巟攝偟偦傟傪宲懕偟偰偄傞偙偲丄傑偨崙楢奀梞朄忦栺偵偍偄偰搰偺掕媊偑懚嵼偟側偄偙偲傪棟桼偲偟偰丄壂僲捁搰傪乽搰乿偱偁傞偲偟偰偄傞[127]丅偦傟偵懳偟偰拞崙偍傛傃娯崙偼丄壂僲捁搰偵娭偡傞擔杮偺尃棙傪擣傔側偑傜傕丄崙楢奀梞朄忦栺121忦3崁偵偍偗傞乽娾徥乿偺掕媊偵婎偯偄偰壂僲捁搰偼娾徥偱偁傞偲庡挘偟偰偍傝丄壂僲捁搰傪婲揰偵愝掕偝傟傞擔杮偺EEZ偵偮偄偰傕傪擣傔偰偄側偄丅 +擔杮奀偺屇徧 +徻嵶偼乽擔杮奀屇徧栤戣乿傪嶲徠 +梌撨崙搰忋嬻偺杊嬻幆暿寳 +乽梌撨崙嬻峘#杊嬻幆暿寳栤戣乿傕嶲徠 +梌撨崙搰偺惣2/3偑丄壂撽偺傾儊儕僇摑帯婜偵搶宱123搙慄偵増偭偰愝抲偝傟偨杊嬻幆暿寳乮ADIZ丄傾僨傿僘乯傪堷偒宲偄偱偄傞偨傔丄拞壺柉崙乮戜榩乯偺娗棟壓偵偁傞丅尰嵼丄椉崙偺娭學偑椙岲偱偁傞偨傔偵忣曬偺岎姺傕僗儉乕僘偩偑丄戜榩桳帠偵偍偄偰杊塹忋偺廳梫側栤戣偲側傞壜擻惈偑崅偄丅2005擭乮暯惉17擭乯枛偐傜2006擭乮暯惉18擭乯偵偐偗偰戜榩偑杊嬻幆暿寳偐傜梌撨崙搰傪奜偟偰塣梡偟偰偄偨帠傕敾柧偟偰偄傞偑丄摿偵椉崙偱庢傝嬌傔傜傟偨栿偱傕側偔丄濨枂側傑傑偱偁傞丅 +2010擭6寧25擔丄擔杮偼杊塹徣孭椷夵惓偵傛傝杊嬻幆暿寳傪梌撨崙忋嬻偵傕峀偘偨丅戜榩偵偼奜岎儖乕僩傪捠偠偰愢柧偟偨[128]偑丄戜榩偺奜岎晹偼乽帠慜偵変乆偲廫暘側楢棈傪偲傜側偐偭偨乿偲偟偰堚姸偺堄傪昞柧[129]丄擔杮偺寛掕傪庴偗擖傟側偄偲偟偰偄傞丅 +撿姃懢丒愮搰楍搰偺曻婞屻婣懏栤戣 +撿姃懢媦傃愮搰楍搰偼丄戝擔杮掗崙帪戙丄乽撪抧乿偱偁偭偨偑丄僒儞僼儔儞僔僗僐暯榓忦栺偱擔杮偼椞搚傪曻婞偟偨丅慠偟丄僜楢丒儘僔傾偲偼杒曽椞搚栤戣偺傒夝寛側偳偐傜椞桳尃傪擣傔偢丄乽枹婣懏乿屻偲偟偰埖偭偨丅偟偐偟丄儘僔傾偑幚岠巟攝偟偰偍傝丄儅僗僐儈偱傕擔杮岅柤徧偼巊傢傟側偔側傝偮偮偁傞丅乮姃懢仺僒僴儕儞丄朙尨仺儐僕僲僒僴儕儞僋僗丄摍乯 +儘僔傾偺懳擔愰愴晍崘偑堘朄偲偡傞棫応側偳偐傜丄乽庡尃巆棷愢乿傕弌偰偍傝丄堦晹偺榑幰偼偙傟傜偺抧堟偺椞桳尃傪庡挘偟偰偄傞丅傑偨丄偦傟偲偼暿偵擔杮嫟嶻搣偑愮搰楍搰曉娨傪庡挘偟偰偄傞丅擔杮惌晎偼偙傟傜偺栤戣偵偮偄偰丄乽枹婣懏乿乮亖枹夝寛乯偲偟偰偍傝丄儘僔傾偲偺暯榓忦栺偑寢偽傟偨屻偱夝寛偡傞偲偟偰偄傞丅 +搉峲偡傞擔杮恖 [曇廤] +埨慡 +嬤擭丄奀奜傊偺搉峲偺憹壛偵敽偄丄斊嵾偵姫偒崬傑傟傞働乕僗傕憹偊偰偄傞丅摿偵傾儊儕僇摨帪懡敪僥儘帠審埲崀丄敋攋傗漟抳丒娔嬛帠審側偳傕懡敪偟丄桳柤側椺偲偟偰偼丄僀儔僋擔杮恖恖幙帠審丄傾僼僈僯僗僞儞擔杮恖漟抳帠審丄峏偵晲憰惃椡偵嶦奞偝傟傞帠審傕2005擭乮暯惉17擭乯偵婲偒偨丅傑偨丄2002擭乮暯惉14擭乯偵僯儏乕僇儗僪僯傾偺儕僝乕僩抧偱尰抧偺晽廗丒暥壔傪傛偔抦傜偢偵惞抧偲偝傟傞応強偵柍抐偱怤擖偟偨偨傔偵抧尦柉偵嶦奞偝傟傞帠審傕敪惗偟偨丅 +悽奅揑偵嵟傕椙偄曽偱偁傞擔杮偺帯埨丄椺偊偽嶦恖偺敪惗棪偑掅偄弴偵戞3埵乮2000擭乲暯惉12擭乴乯偱偁傞偙偲側偳丄擔杮恖偑擔杮偱偺帯埨偺姶妎偲摨偠傛偆偵奀奜偱峴摦偡傞偲丄偦偺姶妎偺戝偒側妘偨傝偐傜斊嵾偵姫偒崬傑傟傞偙偲偑偁傞丅 +儅僫乕 +暷嵟戝庤偺椃峴僒僀僩Expedia偑峴偭偨傾儞働乕僩挷嵏偱丄乽峴媀偑偄偄乿丄乽楃媀惓偟偄乿丄乽暔惷偐偱怲傑偟偄乿丄乽僋儗乕儉丒晄暯偑彮側偄乿偺奺暘栰偱1埵傪妉摼偡傞側偳丄2埵偺傾儊儕僇恖傪戝偒偔堷偒棧偟偰1埵偲側偭偨[130]丅 +堦曽丄埲壓偺傛偆側帠椺傕懚嵼偡傞丅 +僞僀傗僼傿儕僺儞側偳搶撿傾僕傾偱擔杮恖傪娷傓愭恑崙偐傜偺椃峴幰偵傛傞帣摱攦弔偑栤戣帇偝傟傞丅擔杮偱偼丄崙撪奜傪栤傢偢5擭埲壓偺挦栶側偳傪壢偡帣摱攦弔丄帣摱億儖僲偵學傞峴堊摍偺張敱媦傃帣摱偺曐岇摍偵娭偡傞朄棩偑惂掕偝傟偰偄傞偑丄崙奜偱偺峴堊偑尰抧偵偍偗傞擔杮丒擔杮恖偵懳偡傞僀儊乕僕傪戝偒偔懝側偭偰偄傞丅 +2008擭乮暯惉20擭乯11寧26擔丄杒奀摴塰崅摍妛峑偺惗搆21柤偑廋妛椃峴拞偵棫偪婑偭偨儘僒儞僛儖僗偺嬻峘偵偁傞柶惻揦偱崅媺僽儔儞僪昳偺廤抍枩堷偒傪峴偄丄傾儊儕僇偺儊僨傿傾偱戝偒偔曬摴偝傟偨丅 +帯埨堐帩 [曇廤] + +懳撪 [曇廤] +徻嵶偼乽擔杮偺寈嶡乿丄乽擔杮偺斊嵾偲帯埨乿丄偍傛傃乽擔杮偺孻帠巌朄乿傪嶲徠 +寈嶡偺婡峔偼丄撪妕晎偺堦婡娭偨傞崙壠岞埨埾堳夛丒寈嶡挕丄偦偟偰奺搒摴晎導偺岞埨埾堳夛丒寈嶡杮晹偵傛傞擇憌峔憿偱偁傝丄屻幰偺壓晹慻怐偨傞寈嶡彁丄峏偵擔杮偐傜敪徦偺岎斣偺懚嵼偑抧堟偺埨慡傪扴偆丅SAT摍傪傕梚偡傞暥柉寈嶡偱偁傞丅 +懠偵丄増娸寈旛戉偨傞奀忋曐埨挕偑崙搚岎捠徣偺奜嬊偲偟偰丄傑偨丄崙嫬寈旛戉偨傞婡擻偺堦晹傪扴偆朄柋徣擖崙娗棟嬊乮擖崙寈旛姱乯傗嵿柋徣偺惻娭乮惻娭怑堳乯丄埥偄偼丄摿偵栻暔斊嵾傪愱栧偵娗妽偡傞岤惗楯摥徣偺奺抧曽岤惗嬊杻栻庢掲晹乮杻栻庢掲姱乯側偳偑丄偦傟偧傟愝抲偝傟偰偄傞丅 +廵朇搧寱椶強帩摍庢掲朄偵傛傝丄廵丒搧寱側偳偺晲婍偺強帩傪尩偟偔婯惂偟偰偄傞丅崙嵺楢崌栻暔斊嵾帠柋強偺摑寁偵傛傟偽丄崙楢壛柨192崙偺撪丄斊嵾丒孻帠巌朄偺摑寁傪曬崘偟偰偄傞崙偺拞偱丄嶦恖丄桿夳丄嫮姯丄嫮搻側偳偺朶椡斊嵾偺敪惗棪偑挊偟偔掅偄[131][132][133][134][135]丅偦偺棟桼偵偮偄偰偼丄惂搙揑側梫慺丄幮夛揑側梫慺丄擔杮恖偺弲朄堄幆偺崅偝側偳彅愢偁傞偑丄偦偺堦偮偲偟偰尩偟偄廵婯惂傕嫇偘傜傟傞丅扐偟丄僀僊儕僗偺廵婯惂偵尒傜傟傞傛偆偵擔杮偲摨摍側偄偟敱懃偩偗側傜擔杮傛傝傕尩偟偄偺偵傕偐偐傢傜偢丄嶦恖帠審偵愯傔傞廵偺巊梡偝傟傞斾棪偑擔杮偺攞傪挻偊傞崙偑懚嵼偡傞側偳丄廵婯惂偺傒偑帯埨堐帩偵峷專偟偰偄傞傢偗偱偼側偄丅 +懳奜 [曇廤] +徻嵶偼乽擔杮崙寷朄戞9忦乿丄乽擔杮偺孯帠乿丄乽杊塹徣乿丄乽帺塹戉乿丄乽帺塹戉朄乿丄乽擔杮崙偲傾儊儕僇崌廜崙偲偺娫偺憡屳嫤椡媦傃埨慡曐忈忦栺乿丄偍傛傃乽擔暷抧埵嫤掕乿傪嶲徠 + + +棨忋帺塹戉 + + +奀忋帺塹戉 + + +峲嬻帺塹戉 +擔暷埨慡曐忈忦栺偵婎偯偒丄嵼擔暷孯偑挀棷偡傞[136]丅傑偨丄帠幚忋偺孯戉[137]帺塹戉偼丄棨忋帺塹戉丒奀忋帺塹戉丒峲嬻帺塹戉偐傜峔惉偝傟丄撪妕憤棟戝恇媦傃杊塹戝恇偵傛傞暥柉摑惂偺壓丄杊塹徣偵傛偭偰娗棟偝傟傞丅傑偨丄帠幚忋偺弨孯帠慻怐偲偟偰増娸寈旛戉偨傞奀忋曐埨挕偑懚嵼偡傞偑丄奀忋曐埨挕偵懳張偑崲擄側帠懺偑敪惗偟偨応崌丄庡偵奀忋帺塹戉偑扴摉偡傞丅 +戝擔杮掗崙寷朄偺摑悆尃傪崻嫆偵媽擔杮孯偑惌帯偵怺偔娭梌偟偨偙偲傊偺斀徣偐傜丄帺塹戉朄戞7忦偵傛傝丄撪妕憤棟戝恇偑帺塹戉偺嵟崅巜婗娔撀尃傪帩偮偲婯掕偝傟丄暥柉摑惂偵拲堄偑暐傢傟偰偄傞丅傑偨丄摨偠偔愴慜傊偺斀徣偐傜帺塹戉奀奜攈尛偼挿傜偔峴傢傟偰偙側偐偭偨偑丄帺塹戉儁儖僔儍榩攈尛傗帺塹戉僇儞儃僕傾攈尛傪宊婡偵奐巒偝傟偨丅尰嵼偱偼丄奀奜攈尛擟柋偼帺塹戉偺庡梫擟柋偲側偭偰偄傞丅 +戞擇師悽奅戝愴屻丄擔杮偺晹戉偼丄偦偺強懏偵偐偐傢傜偢丄堦愗偺捈愙偺愴摤傪宱尡偟偰偄側偄丅楢崌崙孯偺愯椞壓偵偁偭偨1950擭乮徍榓25擭乯丄挬慛愴憟偱奀忋曐埨挕偺婡棆憒奀晹戉乮摿暿憒奀戉乯偑攈尛偝傟偨偙偲偑偁傝丄巰彎幰傕弌偟偰偄傞丅岞奐墘廗側偳傪捠偠偰崅偄楙搙傪昡壙偝傟傞偙偲傕懡偄偑丄懠崙偺孯戉傗柉暫慻怐傪偲岎愴偵帄偭偨宱尡偼側偔丄幚嵺偺愴摤偵偍偄偰偺擻椡偼丄枹抦悢偱偁傞丅 +乮僀僊儕僗偺宱嵪巻丒僄僐僲儈僗僩偺挷嵏晹栧偱偁傞僄僐僲儈僗僩丒僀儞僥儕僕僃儞僗丒儐僯僢僩偑暯榓偺巜昗偲偟偰24崁栚傪悢抣壔偡傞乯乽悽奅暯榓搙巜悢乿偺2009擭乮暯惉21擭乯搙斉偵傛傞偲丄愴憟丒撪愴丒僥儘丄偦傟偵傛傞巰彎幰偑柍偔丄孯帠旓偺GDP斾偑掅偔丄斊嵾棪偑掅偄偙偲側偳偐傜丄僯儏乕僕乕儔儞僪丄僨儞儅乕僋丄僲儖僂僃乕丄傾僀僗儔儞僪丄僆乕僗僩儕傾丄僗僂僃乕僨儞偵師偄偱7埵偵昡壙偝傟丄2010擭偵偼3埵偲偝傟偰偄傞[138][139]丅偨偩丄偙偺巜昗偵偼傾儊儕僇偵杊塹傪埶懚偟偰偄傞擔杮側偳偵懳偟桳棙側寁嶼曽朄偲偺巜揈偑弌偰偄傞丅 +梫堳丒憰旛丒梊嶼 [曇廤] +埲壓偺傛偆側惌嶔丒孹岦傪宲懕偟偰偄傞丅 +杊塹旓偺愨懳妟偱偼悽奅忋埵丅偟偐偟丄崙偺宱嵪椡偵懳偡傞杊塹旓偺妱崌偼丄挊偟偄掅悈弨偵梷偊傜傟偰偄傞丅 +暫堳丒愴幵丒嶌愴婡丒孯娡偺悢側偳偵尒傜傟傞婯柾偺彫偝偝傪丄幙偺岦忋傗摨柨崙偺擻椡偵傛偭偰曗姰偡傞丅 +嬤擭偼嵿惌忬嫷偺埆壔偵傛傝丄壖憐揋崙傗廃曈彅崙偲偺嫤挷揑側孯弅偱側偔丄扨撈偱堦曽揑丒帺庡揑偵孯弅偡傞丅 +僗僩僢僋儂儖儉崙嵺暯榓尋媶強乮SIPRI乯偺摑寁偵傛傞偲丄埲壓偺捠傝偱偁傞丅 +崙撪憤惗嶻乮GDP乯偵懳偡傞孯帠旓偺妱崌儔儞僉儞僌偼丄悽奅偺150埵慜屻偱偁傞[140]乮偙傟偼丄傾儊儕僇拞墰忣曬嬊乮CIA乯偺敪峴偡傞 CIA World Factbook 偺摑寁偵偍偄偰傕摨條偱偁傞[141]乯丅 +2008擭乮暯惉20擭乯搙偺杊塹偵娭楢偡傞梊嶼偺憤妟偼丄堊懼儗乕僩儀乕僗偱463壄乮傾儊儕僇乯僪儖偱偁傝丄1埵偺傾儊儕僇崌廜崙丄2埵偺拞壺恖柉嫟榓崙丄3埵偺僼儔儞僗丄4埵偺僀僊儕僗丄5埵偺儘僔傾丄6埵偺僪僀僣偵師偓丄悽奅7埵偱偁傞[142]丅 +1999擭乮暯惉11擭乯乣2008擭乮暯惉20擭乯偺10擭娫偺孯帠旓偺憹尭棪偼丄拞崙偑194%憹丄儘僔傾偑173%憹丄娯崙偑51.5%憹丄擔杮偑1.7%尭偱偁傝丄廃曈彅崙偵懳偟偰憡懳揑偵掅壓偟偰偄傞[142]乮偙傟偵偮偄偰偼丄摨柨崙偱偁傞傾儊儕僇偐傜傕寽擮偑帵偝傟偰偄傞[143][144]乯丅 +偙偺傛偆偵 GDP 偵懳偡傞妱崌偺弴埵乮悽奅偺150埵慜屻乯偵斾傋偰僪儖姺嶼偟偨愨懳妟偺弴埵乮悽奅7埵乯偺曽偑奿抜偵崅偄棟桼偲偟偰丄埲壓偑嫇偘傜傟傞丅 +GDP 偦偺傕偺偑戝偒偔丄崙椡偑崅偄丅 +墌偑嫮偄捠壿偱偁傞丅 +峀戝側椞奀丒EEZ偲挿戝側僔乕儗乕儞傪書偊傞丅 +廃埻傪孯帠戝崙偵埻傑傟傞丅 +婯柾偑憡懳揑偵彫偝偄屘偵丄幙偺崅偄梫堳丒憰旛傪栚巜偟偰偄傞偨傔丄憰旛挷払傗孭楙偵僐僗僩偑偐偐傞孹岦偵偁傞丅 +恖審旓偑崅偔丄梊嶼偺戝偒側晹暘傪愯傔傞丅 +憰旛偺崙嶻壔傪巜岦偡傞偵傕偐偐傢傜偢丄晲婍桝弌嶰尨懃偱桝弌傪帺弆偟偰偄傞偨傔丄峸擖扨壙偑壓偑傜側偄乮偁偔傑偱帺弆偱偁傝丄尒捈偟偺媍榑傕偁傞[145]乯丅 +梫堳 +徻嵶偼乽帺塹姱乿丄乽懄墳梊旛帺塹姱乿丄乽梊旛帺塹姱乿丄乽梊旛帺塹姱曗乿丄乽杊塹徣怑堳乿丄乽帺塹戉堳乿丄乽杊塹彂婰姱乿丄偍傛傃乽杊塹晹堳乿傪嶲徠 +2009擭乮暯惉21擭乯偵偍偗傞帺塹姱偺掕堳乮愮恖枹枮傪巐幪屲擖乯偼丄棨帺偑栺15枩2愮恖丄奀帺偑栺4枩6愮恖丄嬻帺偑栺4枩7愮恖丄崌寁24枩8愮恖丄幚悢偼丄棨帺偑栺14枩4愮恖丄奀帺偑栺4枩3愮恖丄嬻帺偑栺4枩4愮恖丄崌寁23枩3愮恖偱偁傞丅摿挜偲偟偰丄梊旛栶偵憡摉偡傞梊旛帺塹姱摍偑栺4枩8愮恖偱偁傝丄尰栶偲斾傋偰偺妱崌偑旕忢偵彮側偄乮捠忢丄梊旛栶偺悢偼尰栶偺悢傪挻偊傞乯丅 +杊塹徣偺暥姱偼丄2枩2愮恖偱偁傞[146]丅 +挜暫惂搙偼戞擇師戝愴埲崀丄攑巭偝傟偰偄傞丅 +憰旛 +徻嵶偼乽棨忋帺塹戉偺憰旛昳堦棗乿丄乽奀忋帺塹戉偺憰旛昳堦棗乿丄乽峲嬻帺塹戉偺憰旛昳堦棗乿丄偍傛傃乽晲婍桝弌嶰尨懃乿傪嶲徠 +掕昡偁傞奀奜惢偺暫婍傗丄偦傟偲摨摍側偄偟偝傜偵崅惈擻偲尒傜傟傞崙嶻憰旛傪懡偔曐桳偡傞丅崅偄婎慴岺嬈椡傪惗偐偟丄幵椉傗娡慏偺懡偔丄偦偟偰峲嬻婡偺堦晹偑撈帺奐敪偱偁傞丅偨偩偟丄偦傟傜偺桝弌偼晲婍桝弌嶰尨懃偵傛偭偰帺弆偟偰偒偨丅傑偨丄懠崙偺惢昳偱偁偭偰傕儔僀僙儞僗惗嶻傪峴偆側偳丄壜擻側尷傝丄崙撪偱挷払偡傞孹岦偑偁傞丅偙傟偵傛偭偰丄帺塹戉偺挷払偡傞暫婍偺懡偔偼奀奜偺摨摍偺傕偺傛傝傕崅僐僗僩偲側偭偰偄傞偑丄懠崙偺堄巙偵嵍塃偝傟偢暫婍杮懱媦傃曐庣晹昳偺惗嶻偑偱偒丄暫婍偺惢憿僲僂僴僂傪拁愊偡傞偙偲偵傛偭偰丄曐庣丒塣梡偺岠棪傪崅傔丄傂偄偰偼壱摥棪傪崅偔曐偮偙偲傪慱偭偰偄傞丅 +梊嶼 +偐偮偰偼杊塹旓傪GNP偺1%埲壓偵梷偊傞杊塹旓1%榞偲偄偆妕媍寛掕偑偁傝丄尰嵼偼揚攑偝傟偰偄傞偑丄尰嵼偱傕偙偺妱崌偑婎杮偲側偭偰偄傞丅 +2008擭乮暯惉20擭乯搙偺 GDP 偵懳偡傞杊塹旓偺妱崌偼丄SIPRI 偺摑寁偵傛傞悽奅慡懱偺 GDP 偵懳偡傞孯帠旓偺妱崌2.4%偵懳偟丄0.94%偱偁傞[147][148][149]丅 +2009擭乮暯惉21擭乯搙偺杊塹偵娭楢偡傞梊嶼偺憤妟偼丄4挍7741壄墌乮杮懱梊嶼4挍7028壄墌+壂撽偵娭偡傞摿暿峴摦埾堳夛旓112壄墌+暷孯嵞曇娭學旓602壄墌乯丄慜擭斾偱55壄墌乮0.1%乯尭偱丄2002擭乮暯惉14擭乯搙傪僺乕僋偵2003擭乮暯惉15擭乯搙偐傜2009擭乮暯惉21擭乯搙傑偱7擭楢懕偱旝尭孹岦偱偁傞[150]丅 +忣惃丒嫼埿 [曇廤] +椻愴偺帪戙丄僜價僄僩楢朚偑嵟戝偺壖憐揋崙偱偁傝丄帺塹戉偺晹戉傕杒奀摴側偳杒曽偵廳揰偑抲偄偰攝抲偝傟偰偄偨丅椻愴偼僜楢曵夡偵傛偭偰廔寢偟丄尰嵼偼孯奼傪懕偗傞拞崙丄悈嵺奜岎傗崙壠斊嵾傪孞傝曉偡杒挬慛偺嫼埿偺曽偑憹偟偰偄傞丄偙傟傜傊偺懳峈偐傜晹戉偺惣曽傊偺堏揮偑恑傔傜傟偰偄傞丅杊塹敀彂傕丄嬤擭偼拞崙丒杒挬慛偵懳偡傞嫼埿傪庡挘偟偰偄傞丅偟偐偟丄崻嫆抧偺堏揮偵偼峀戝側晘抧傗戝婯柾側岺帠偑昁梫側偙偲傕偁傝丄偁傑傝恑傫偱偄側偄丅 +傾儊儕僇埲奜偲偺埨慡曐忈嫤椡 +2007擭乮暯惉19擭乯3寧偵僆乕僗僩儔儕傾偲偺娫偱埨慡曐忈嫤椡偵娭偡傞擔崑嫟摨愰尵偑丄懕偗偰2008擭乮暯惉20擭乯10寧偵僀儞僪偲偺娫偱擔杮崙偲僀儞僪偲偺娫偺埨慡曐忈嫤椡偵娭偡傞嫟摨愰尵偑丄偦傟偧傟挷報偝傟偨丅 +妀梷巭 +乽擔杮偺尨巕敋抏奐敪乿偍傛傃乽旕妀嶰尨懃乿傕嶲徠 +擔杮偼傾儊儕僇孯偺峀搰丒挿嶈傊偺尨敋搳壓偵傛偭偰柍鐑偺堦斒巗柉偑戝検媠嶦偝傟偨宱尡偐傜丄崙柉儗儀儖偱偼妀梷巭榑偵懳偡傞掞峈丒斀敪偺姶忣偑嫮偄丅偟偐偟擔杮惌晎偼乽旕妀嶰尨懃乿傪昗炘偟偮偮傕旕妀抧懷愰尵偼偣偢丄帠幚忋偺妀梷巭榑偺棫応偵棫偭偰偍傝丄傾儊儕僇偺乽妀偺嶱乿偵棅偭偰偄傞丅廃曈彅崙偱偼傾儊儕僇丄儘僔傾丄拞崙偑妀暫婍偺戝検曐桳崙偱偁傞忋丄杒挬慛偑妀暫婍偺奐敪偺惉岟傪敪昞偟偰偄傞丅偦傟傜偵懳偟丄撈帺偺妀曐桳傕偟偔偼傾儊儕僇偲偺僯儏乕僋儕傾丒僔僃傾儕儞僌傪専摙偡傋偒偲偄偆柉娫儗儀儖偺媍榑傕偁傞傕偺偺丄惌晎偍傛傃崙夛偵媍惾傪帩偮慡偰偺惌搣偑妀暫婍偺奐敪丒曐桳偵斀懳偟偰偄傞丅 +僔乕儗乕儞杊塹 +戞擇師戝愴拞偺擔杮偼丄楢崌孯偺捠彜攋夡愴偵傛偭偰僔乕儗乕儞傪攋夡偝傟丄暔帒偑嬌搙偵媷朢偡傞忬嫷偵捛偄崬傑傟偨楌巎傪傕偭偰偄傞丅偝傜偵1980擭戙傛傝擔杮偺奀梞崙壠榑偺崅傑傝偲摨帪偵丄孯帠偺傒側傜偢丄宱嵪丒怘椘丒僄僱儖僊乕丒娐嫬側偳偺憤崌埨慡曐忈偺奣擮偑擣幆偝傟傞傛偆偵側偭偨丅嫏嬈偺埨慡傗悽奅拞偲偺杅堈偱偺棫崙傪堐帩偡傞忋偱僔乕儗乕儞偺杊塹乮奀愴傗捠彜攋夡側偳偺婋尟夞旔乯偑廳梫偱偁傞傕偺偺丄僌儘乕僶儖偵峀偑傞僔乕儗乕儞偺慡偰偺杊塹傪撈椡偱姰悑偡傞偙偲偼丄尰幚揑偵傕崲擄偱偁傝丄寷朄戞9忦偺惂栺傕偁傞丅傛偭偰丄摨偠偔奀梞崙壠偲偟偰乽奀梞偺帺桼乿傪昗炘偟丄僌儘乕僶儖偵孯帠揥奐偡傞傾儊儕僇偲嫤椡偡傞偙偲偱丄僐僗僩傪梷惂偟偰偺桳岠側奀梞偺埨慡傪恾偭偰偄傞丅堦曽偱丄儅儔僢僇奀嫭側偳偺奀懐傗僥儘傕丄搶傾僕傾慡堟偺傒側傜偢丄僌儘乕僶儖側嫟捠偺婋婡偲側傝丄旕懳徧愴憟偵懳墳偟偨崙嵺揑側寈嶡椡偺嫮壔丄暣憟梊杊傕廳梫側壽戣偲側偭偰偄傞丅 +拞壺恖柉嫟榓崙 +21擭楢懕偱崙杊旓偺2寘惉挿偲偄偆媫懍側孯奼傪懕偗丄孯帠椡偺嬤戙壔傪恑傔偰偄傞丅偦偺埨慡曐忈惌嶔偼丄幚懺傗彨棃憸丄堄巚寛掕偺夁掱偑晄摟柧偱偁傞[151]丅擔杮偲偼奀傪嫴傫偱愙偟偰偄傞偑丄拞崙偼奜梞娡戉偺寶愝偵傛偭偰奀梞尃塿傪奼挘偡傞巔惃傪嫮傔偰偍傝丄廃曈崙偲學憟傗暣憟傪峴偭偰偄傞丅拞偱傕戜榩偺暪崌乮戜榩夞廂乯偼崙惀[152]偲側偭偰偍傝丄撈棫偺摦偒偑偁傟偽晲椡怤峌偡傞偙偲傪帵嵈偟偰偄傞丅偟偐傕拞崙偺庡挘偵傛傟偽戜榩偵偼壂撽導愲妕彅搰偑娷傑傟偰偍傝丄拞崙偺椞桳傪庡挘偟偰偄傞丅嬤擭丄拞崙偺堦晹孯恖偑壂撽導偺撈棫傕偟偔偼暪崌乮棶媴夞廂乯傪媮傔傞棫応傪帵偟偰偍傝乮偨偩偟恖柉夝曻孯偺岞幃尒夝偱偼側偄乯丄崱屻偼撿惣彅搰側偄偟偼懢暯梞杒惣晹乮僼傿儕僺儞奀乯偵拞崙恖柉夝曻孯奀孯偑嫮偄塭嬁椡傪媦傏偡偙偲偑寽擮偝傟傞丅偙偺傛偆側忣惃偺壓偱擔杮偼丄拞崙偲偺懳榖傪懕偗傞堦曽偱丄拞崙偺孯帠椡偵懳峈偡傞梷巭椡傪惍旛偟丄擔暷埨慡曐忈懺惃偺堐帩丒嫮壔傪恾傞丅 +惗妶丒暥壔 [曇廤] + +徻嵶偼乽擔杮偺暥壔乿傪嶲徠 +惗妶巎丒暥壔巎 [曇廤] +撽暥帪戙埲慜偺偼傞偐愄丄擔杮恖偺慶愭偑杒曽偐傜搉棃偟偰埲棃丄嬤椬偺暥壔傪庢傝擖傟偮偮撈帺偵敪揥偟偨丅暥壔偵偮偄偰偼撿曽偐傜偺揱斃傕憐掕偝傟丄擔杮偺婎憌暥壔偵偼杒曽宯偲傒傜傟傞梫慺偲撿曽宯偲傒傜傟傞梫慺偑崿嵼偟偰偄傞丅 +4悽婭崰偐傜9悽婭崰傑偱丄搉棃恖偵傛傝丄戝棨偺暥壔偑揱傢偭偨丅擔杮傕尛銨巊丒尛搨巊傗棷妛惗傪攈尛偟丄愊嬌揑偵拞崙偺暥壔傪庢傝擖傟偨丅挬慛敿搰傗熭奀偲偺岎棳傕懕偄偰偄偨丅 +戝棨偲偺墲棃偑尭偭偨10悽婭崰偐傜丄偙傟傜偺桝擖偝傟偨搶傾僕傾暥壔偑嵼棃偺暥壔偲梈崌偟丄擔杮偵摿桳偺崙晽暥壔傊偲敪揥偡傞丅暯埨帪戙偺暥壔偼婱懓傗帥堾偵傛偭偰扴傢傟偰偄偨傕偺偑尰戙偵傑偱揱傢傝丄墹挬暥壔偺拞偐傜惗傑傟偨榓壧傗墹挬暔岅偼屻悽偺暥寍偺婯斖偲偟偰戝偒側塭嬁傪巆偟偨丅暯埨帪戙枛婜偵偼暓嫵怣嬄偺怺傑傝傪攚宨偵乽桯尯乿側偳偺拞悽揑側旤堄幆偑惗傑傟偨丅 +12悽婭崰丄杒憊偲偺杅堈偵傛偭偰徯夘偝傟偨慣廆偑慣偵敪揥偟丄媔拑偺廗姷傕慣廆偺帥堾偐傜忋憌奒媺偵掕拝偡傞丅岺寍傗寶抸側偳偺媄弍傕憊偐傜傕偨傜偝傟偨丅撿杒挬帪戙偵偼愴棎偺悽傪攚宨偵壺楉偱婏敳側旤傪懜傇乽偽偝傜乿偑棳峴偟偨丅幒挰帪戙偵偼丄晲巑偲婱懓偺暥壔偑梈崌偟偨杒嶳暥壔傗搶嶳暥壔偑壴奐偔丅乽夒乿傗乽傢傃丒偝傃乿偲偄偭偨擔杮揑側旤堄幆偑妋棫偟丄墡妝乮尰嵼偺擻妝乯傗拑偺搾乮尰嵼偺拑摴乯丄屚嶳悈側偳偺擔杮掚墍傗彂堾憿側偳偺寶抸偑惗傒弌偝傟偨丅抧曽暥壔偑敪揥偟丄嫗搒偺暥壔偑擔杮奺抧偵傕偨傜偝傟偨丅 +16悽婭偺敿偽偐傜億儖僩僈儖恖傗僗儁僀儞恖側偳儓乕儘僢僷偺恖乆偑棃峲偟丄僉儕僗僩嫵傗揝朇偑揱偊傜傟偨丅擔杮偺暥壔偼弶傔偰惣梞暥柧偵捈愙愙怗偟丄偙傟傪撿斬庯枴偲偟偰擔杮揑側宍偵曄壔偝偣丄墵惙側徚壔椡傪帵偟偨丅偟偐偟丄屻偺嵔崙偵傛傝惣梞暥壔偺庴偗擖傟偼弌搰傪捠偠偨僆儔儞僟偲偺岎堈偵尷掕偝傟偨丅17悽婭埲崀偺峕屗帪戙偵偼丄拞悽偺愴棎偺帪戙偑廔傢傝丄嵔崙偵傛傞暵嵔偝傟偨娐嫬偺拞偱嵞傃撈帺偺暥壔偑敪揥偟偨丅暥壔偺戝廜壔偑恑傒丄嫗搒丒戝嶃丒峕屗偺嶰戝搒巗傪拞怱偵弾柉揑側搒巗暥壔乮壧晳婈丄忩椱棡丄媃嶌丄攐鎫丄晜悽奊丄戝憡杘側偳乯偑斏塰偡傞丅傑偨丄崙妛偵傛傝擔杮撈帺偺壙抣娤傗暥壔傪尒捈偡晽挭傕惗傑傟偨丅偙偺娫丄傾僀僰偺暥壔偼擔杮偺廃墢暥壔寳偲偟偰撈帺偺條憡傪尒偣傞丅傑偨丄棶媴偼杮搚偲偺岎棳傪帩偪懕偗偮偮傕丄擔杮偺懠偺抧堟偲偼堎側偭偨撈帺偺摴傪曕傓丅偙偺忬嫷偼丄柧帯堐怴偵傛偭偰堦墳偺嬫愗傝偑偮偔丅 +柧帯堐怴偺屻丄嬤戙揑側撈棫崙壠偲偟偰偺懱嵸傪惍偊偨丅攑暓毷庍傗暥柧奐壔偵尒傞傛偆偵崙嶔偲偟偰揱摑暥壔偑梷埑偝傟丄墷暷偺暥壔偑媫懍偵庢傝擖傟傜傟偨丅摿偵搒巗晹偱堖暈丄怘帠丄寶抸側偳偝傑偞傑側傕偺偺墷暷壔偑恑傒丄弾柉偺惗妶偵戝偒側塭嬁傪梌偊偨丅堦曽丄擔忢惗妶偱偼丄揱摑揑側惗妶廗姷傕傑偨崻嫮偔巆傝丄摿偵抧曽偱偼埶慠偲偟偰揱摑揑側暥壔偑堐帩偝傟偰偄偨丅偦傟偑夝懱偝傟傞偺偼丄戞擇師悽奅戝愴屻偺崅搙宱嵪惉挿埲崀偱偁傞丅戝惓婜偵偼丄宱嵪偺岲宨婥側偳傪庴偗丄傾儊儕僇崌廜崙偺暥壔傪庢傝擖傟偨塮夋傗僗億乕僣側偳偺嫕妝揑側暥壔偑棳峴偟偨丅徍榓偵偐偗偰搒巗晹偱偼梞晽偺惗妶廗姷傕怹摟偟偰偄偔丅偟偐偟丄戞擇師悽奅戝愴偺愴帪壓偱偼墷暷晽偺暥壔偑尩偟偔惂尷偝傟丄揱摑暥壔傕惌晎偵摑惂偝傟偨丅 +1945擭乮徍榓20擭乯偵惌晎偑億僣僟儉愰尵傪庴戻偡傞偲丄傾儊儕僇孯傪拞怱偲偟偨楢崌崙孯嵟崅巌椷姱憤巌椷晹偑擔杮偺惌帯夵妚傪恑傔丄偦傟偲嫟偵傾儊儕僇暥壔傕擔杮恖偵庴偗擖傟傜傟偨丅椻愴壓偺撈棫偲偲傕偵惣懁彅崙偵慻傒擖傟傜傟偨擔杮偼丄傾儊儕僇棳偺惗妶丒暥壔傪栚昗偲偡傞傛偆偵側傞丅 +崅搙宱嵪惉挿婜偵帄傞偲丄廬棃偺惗妶廗姷傕戝暆偵曄傢傝丄揱摑揑側暥壔偺懡偔偑擔忢偺応偐傜巔傪徚偟偰偄偭偨偑丄帺怣傪偮偗偨擔杮恖偼丄帺傜偺暥壔傪嵞昡壙偡傞傛偆偵傕側傞丅椺偊偽丄1970擭乮徍榓45擭乯偺擔杮枩崙攷棗夛乮戝嶃枩攷乯偺懢梲偺搩偼丄撽暥偺寍弍傪儌僠乕僼偵偟偨傕偺偲偝傟傞丅擔杮塮夋丄億僺儏儔乕壒妝丄戝廜暥妛側偳偺戝廜暥壔偺桝弌傕惙傫偵峴傢傟丄搶傾僕傾彅崙傗墷暷偺暥壔偵戝偒側塭嬁傪梌偊傞傛偆偵傕側偭偨丅摿偵丄擔杮惢丄偁傞偄偼擔杮晽偺枱夋傗傾僯儊傗僐儞僺儏乕僞僎乕儉側偳偑悽奅偵敪怣偝傟丄條乆側杸嶤傪忔傝墇偊側偑傜丄庒偄悽戙傪拞怱偵峀偑偭偰偄傞丅 + + +亀尮巵暔岅亁偼丄暯埨帪戙拞婜偵惉棫偟偨挿曇彫愢偱偁傞丅 + + +壧晳婈偼丄峕屗帪戙偵抋惗偟敪払偟偨擔杮撈摿偺墘寑丒揱摑寍擻偱偁傞丅 + + +寍媁偼丄晳梮傗壒嬋丒柭暔偱墐惾偵嫽傪揧偊丄媞傪傕偰側偡彈惈偱偁傞丅 + + +戝憡杘偼丄恄摴偵婎偯偔擔杮屆棃偺恄帠偱偁傝丄崙媄偲擣抦偝傟傞乮搶嫗搒杗揷嬫 椉崙崙媄娰乯 + + +悧嵳傝偼丄忋枻偺愡嬪偵丄悧恖宍傪忺傝丄旽栞傗搷偺壴傪嫙偊丄敀庰偱廽偄丄彈帣偺岾暉傗惉挿傪婩傞峴帠偱偁傞丅 + + +偙偄偺傏傝偼丄抂屵偺愡嬪傑偱偺攡塉偺塉偺擔偵丄抝帣偺弌悽傪婅偭偰忺傜傟偨乮恄撧愳導憡柾尨巗乯 +擔杮暥妛 +榓壧 / 抁壧 / 攐嬪 / 愳桍 / 嫸壧 / 媃嶌 / 暔岅 / 戝廜彫愢 +擔杮旤弍 +擔杮夋 / 晜悽奊 / 戝榓奊 / 悈杗夋 / 旤恖夋 / 擔杮恖宍 / 暓憸 / 恄憸 +儊僨傿傾傾乕僩 +擔杮塮夋 / 擔杮偺儊僨傿傾寍弍100慖 / 擔杮偺枱夋 / 傾僯儊 / 僐儞僺儏乕僞僎乕儉 +揱摑岺寍昳乮柉寍昳乯 +幗婍 / 榓壠嬶 / 摡寍 / 僈儔僗岺寍 / 榓巻 / 榓妝婍 / 拑摴嬶 +擔杮寶抸巎 +擔杮掚墍 / 恄幮寶抸 / 擔杮偺廧戭 / 忯 / 晽楥 / 擔杮偺壏愹抧堦棗 / 儅儞僔儑儞 / 椏掄 /椃娰 / 嫃庰壆 / 鄕酀 / 屚嶳悈 +榓暈 +梺堖 / 嶌柋堖 / 塇怐 / 屟 / 怳懗 / 棷懗 / 彫栦 / 懌戃 / 壓懯 / 愵巕 +晲巑摴 +帢 / 壠栦 / 擔杮搧 / 忛 / 楌巎彂堦棗 / 擡幰 +晲摴 +屆晲摴 / 戝憡杘 / 廮摴 / 寱摴 / 媩摴 / 側偓側偨乮撱搧弍乯 / 朹弍 / 擔杮対朄 / 擔杮塲朄 / 嫃崌摴 / 崌婥摴 +棶媴屆晲弍 / 庤 (壂撽晲弍) / 嬻庤摴 / 嬻摴 / 忨摴 +偙傟傜偺堦晹偼丄悽奅偵徯夘偝傟丄憤崌奿摤媄傗嬤愙奿摤弍乮CQC乯丄僥僐儞僪乕傗僒儞儃丄僽儔僕儕傾儞廮弍偺惉棫偵戝偒側塭嬁傪梌偊偨丅傑偨丄崙偑岞幃偵擣傔偨傕偺偱側偄傕偺偺丄堦斒偵憡杘偑乽崙媄乿偲擣幆偝傟傞丅 +寍摴 +拑摴 / 壺摴 / 彂摴 / 壴墴 / 擔杮晳梮 / 崄摴 / 擔杮掚墍 / 杶嵧 +揱摑寍擻 +弮朚妝 +乽朚妝偺僕儍儞儖堦棗乿傕嶲徠 +夒妝乮榓妝婍乯 / 恄妝 +擻妝 +擻 / 幃嶰斣 / 嫸尵 +暥妝 / 壧晳婈 +婑惾墘寍 +棊岅 / 島択 / 楺嬋 / 枱嵥 / 墡傑傢偟 / 搒乆堩 +寍媁 / 晳媁 +尰戙寍擻 +墘壧 / 偍徫偄 / 尰戙墘寑 / 彮彈壧寑 / J-POP / J-ROCK +揱摑偺梀媃 +摤將 / 摤寋 / 摤媿 / 崺拵憡杘 +彨婝 / 埻岄 / 壴嶥 / 偐傞偨 / 塭奊 / 廟媐 +偠傖傫偗傫 / 偐偔傟傫傏 / 婼偛偭偙 / 塭摜傒婼 / 傔傫偙 / 偍偼偠偒 / 偡偛傠偔 / 愜傝巻 +偁傗偲傝 / 偐偛傔偐偛傔 / 偍庤嬍 / 庤傑傝 / 塇崻撍偒 / 撈妝 / 扂 / 抾攏 +尰戙偺梀媃 +嫞椫 / 僎乕僩儃乕儖 / 柾宆乮Template:柾宆傕嶲徠乯 / 僆僙儘 / 擔杮偺実懷揹榖暥壔 / 僱僢僩僒乕僼傿儞 +擔杮偺悽奅堚嶻 +崙嵺楢崌嫵堢壢妛暥壔婡娭偺悽奅堚嶻儕僗僩偵搊榐偝傟偨12審偺暥壔堚嶻丄4審偺帺慠堚嶻偑偁傞丅 +廽嵳擔 [曇廤] +徻嵶偼乽崙柉偺廽擔乿丄乽崙柉偺廽擔偵娭偡傞朄棩乿丄乽崙柉偺媥擔乿丄偍傛傃乽怳懼媥擔乿傪嶲徠 +擔晅 擔杮岅昞婰 旛峫 +1寧1擔 尦擔 +1寧戞2寧梛擔 惉恖偺擔 堏摦廽擔 +2寧11擔 寶崙婰擮偺擔 +3寧21擔慜屻 弔暘偺擔 堏摦廽擔乮墿摴忋偱懢梲偑墿宱0搙丒弔暘揰傪捠夁偡傞擔乯 +4寧29擔 徍榓偺擔 媽丗傒偳傝偺擔乮乣2006擭乯 +5寧3擔 寷朄婰擮擔 +5寧4擔 傒偳傝偺擔 媽丗崙柉偺媥擔乮乣2006擭乯 +5寧5擔 偙偳傕偺擔 +7寧戞3寧梛擔 奀偺擔 堏摦廽擔 +9寧戞3寧梛擔 宧榁偺擔 +9寧23擔慜屻 廐暘偺擔 堏摦廽擔乮墿摴忋偱懢梲偑墿宱180搙丒廐暘揰傪捠夁偡傞擔乯 +10寧戞2寧梛擔 懱堢偺擔 堏摦廽擔 +11寧3擔 暥壔偺擔 +11寧23擔 嬑楯姶幱偺擔 +12寧23擔 揤峜抋惗擔 +廆嫵 [曇廤] + + +恄摴偼擔杮撈帺偺廆嫵偱偁傝丄恄幮偵寶偰傜傟傞捁嫃偼偦偺徾挜偱偁傞乮峀搰導擓擔巗巗 尩搰恄幮乯 + + +暓嫵偼帥堾傗暓憸傪嶌傝丄偦傟傜傪怣嬄偺懳徾偲偡傞悽奅廆嫵偱偁傞乮撧椙導撧椙巗 搶戝帥乯 +徻嵶偼乽擔杮偺廆嫵乿丄乽嵳乿丄乽恄暓廗崌乿丄乽恄摴乿丄乽擔杮偺暓嫵乿丄乽杮抧悅鐟乿丄乽廋尡摴乿丄偍傛傃乽擔杮僉儕僗僩嫵巎乿傪嶲徠 +擔杮偺廆嫵偺怣幰悢偼暥晹壢妛徣偺廆嫵摑寁挷嵏偱偼丄恄摴宯偑栺1壄700枩恖丄暓嫵宯偑栺8,900枩恖丄僉儕僗僩嫵宯偑栺300枩恖丄偦偺懠栺1,000枩恖偲偝傟偰偄傞丅 +擔杮偱偼丄擔杮屌桳偺怣嬄偱偁傞恄摴偲奜棃偺巚憐偱偁傞暓嫵偑峀偔怣嬄偝傟丄敿偽梈崌偟偨恄暓廗崌偲偟偰暘嬈揑偵嫟懚偟偨丅恄摴偲暓嫵偼柧帯堐怴屻偺恄暓暘棧傪宱偰丄柧妋偵嬫暿偝傟偨偑丄恄暓廗崌偼奺抧偵巆傞嶳妜怣嬄側偳偵偦偺柤巆傪偲偳傔偰偄傞丅僇僩儕僢僋傗僾儘僥僗僞儞僩側偳偺僉儕僗僩嫵搆傕懚嵼偡傞偑丄愻楃傪庴偗偨惓幃側怣幰偼丄憤恖岥偺1%傪挻偊偢丄嫵夛傕幮夛偵嫮偄塭嬁椡傪桳偝側偄丅偄偭傐偆丄僉儕僗僩嫵搆偱偁傞挊柤側暥妛幰傗巚憐壠側偳暥壔恖偺幮夛揑側塭嬁偼丄昁偢偟傕彫偝偔側偄丅偟偐偟丄僋儕僗儅僗側偳偄偔偮偐偺媀幃丒嵳楃偼丄偟偽偟偽杮棃偺廆嫵偲娭學側偔悽懎揑側擭拞峴帠偲偟偰峀偔庴梕偝傟傞丅儉僗儕儉乮僀僗儔儉嫵搆乯傗儐僟儎嫵搆偼丄嵼擔奜崙恖傪彍偗偽傢偢偐偱偁傞丅 +僗億乕僣 / 儅僗儊僨傿傾 [曇廤] +僗億乕僣 +徻嵶偼乽擔杮偺僗億乕僣乿傪嶲徠 +19悽婭屻敿偵傾儊儕僇崌廜崙偐傜揱傢偭偨栰媴偑崙柉揑側僗億乕僣偲偟偰偺抧埵傪摼偨丅1934擭乮徍榓9擭乯偵戝擔杮搶嫗栰媴嬩妝晹偑寢惉偝傟丄1936擭乮徍榓11擭乯偵崙撪弶偺僾儘僼僃僢僔儑僫儖僗億乕僣偱偁傞擔杮怑嬈栰媴楢柨偑敪懌偟偨丅埲崀丄嵟戝偺儊僕儍乕僗億乕僣偲偟偰偺抧埵傪妋棫偟偨丅 +挿偔擔杮僾儘栰媴偑堦嫮偵孨椪偡傞帪戙偑懕偄偨偑丄1993擭乮暯惉5擭乯偺擔杮僾儘僒僢僇乕儕乕僌偑敪懌偟偰埲崀丄僒僢僇乕傕儊僕儍乕僗億乕僣偺1偮偲偟偰擣抦偝傟傞偵帄傞丅2001擭乮暯惉13擭乯傛傝丄慡偰偺僗億乕僣傪怳嫽偡傞偨傔偺帒嬥偺擯弌傪栚揑偲偟丄僗億乕僣怳嫽偔偠偑慡崙偱奐巒偝傟偨丅 +傑偨丄岞塩嫞媄偲偟偰擔杮偵敪徦偺嫞椫傗嫞掵丄僆乕僩儗乕僗丄偦偟偰奜棃偱偁傞嫞攏偑懚嵼偡傞丅擔杮偺嫞攏偺嵟戝偺庡嵜幰偱偁傞擔杮拞墰嫞攏夛偺攧傝忋偘偼悽奅堦偱偁傝丄暯嬒揑側徿嬥傕旕忢偵崅偄丅 +儅僗儊僨傿傾 +徻嵶偼乽擔杮偺怴暦乿丄乽擔杮偺儔僕僆曻憲嬊乿丄乽擔杮偺僥儗價僕儑儞曻憲嬊乿丄偍傛傃乽擔杮偵偍偗傞塹惎曻憲乿傪嶲徠 +撉攧怴暦丄挬擔怴暦丄枅擔怴暦偑嶰戝巻偱偁傞丅宱嵪巻偱偁傞擔杮宱嵪怴暦偼丄姅壙棑傪巒傔偲偡傞宱嵪偵娭楢偡傞婰帠偺斾廳偑崅偄丅峏偵丄嶻宱怴暦傪壛偊偨5巻偑慡崙巻偱偁傞丅 +曻憲偼丄崙塩曻憲偑懚嵼偣偢丄岞嫟曻憲傪扴偆擔杮曻憲嫤夛乮NHK乯丄媦傃懡偔偺柉娫曻憲偵傛傝丄惉傝棫偭偰偄傞丅庡偵揹攇朄丄曻憲朄側偳偵傛偭偰婯惂偝傟傞丅塹惎曻憲偼丄姱柉偑嫤椡偟偰暋悢偺曻憲塹惎丒捠怣塹惎傪棙梡偟偰偄傞丅働乕僽儖僥儗價偼丄塹惎曻憲偵斾傋傞偲晛媦偟偰偄側偄偑丄嬤擭丄ISP乮擔杮偺僀儞僞乕僱僢僩乯傗丄VoIP媄弍傪梡偄偨IP揹榖傪拞怱偲偡傞捈廂揹榖側偳丄揹婥捠怣栶柋傪採嫙偡傞揹婥捠怣帠嬈幰偲偟偰偺柺傪傕桳偡傞丅 +僾儗乕僩傗壩嶳偑崿嵼偟丄傑偨丄戜晽偺捠傝摴偵埵抲偡傞側偳丄忢偵嵭奞偲椬傝崌傢偣偩偭偨晽搚偐傜丄偙傟傜偺帺慠嵭奞傪枹慠偵杊偖偨傔丄嬞媫寈曬曻憲偑晛媦偟丄幚忣偵崌傢偣偰嬞媫搙偺尒捈偟偑搙乆側偝傟偰偄傞丅摿偵丄抧恔傗捗攇側偳偺曬摴偵偍偄偰偼丄乮捗攇寈曬丄捗攇拲堄曬丄捗攇梊曬側偳乯捗攇忣曬偺懍曬懱惂偑晘偐傟傞丅 +怘暥壔 [曇廤] +徻嵶偼乽:Category:擔杮偺怘暥壔乿丄乽擔杮椏棟乿丄乽榓壻巕乿丄偍傛傃乽擔杮偺嫿搚椏棟乿傪嶲徠 + + +揱摑揑側擔杮椏棟 +朙偐側嫏応傗旍梹側擾抧偵宐傑傟丄椙幙側怘嵽偺擖庤偑壜擻偱偁傞丅椙幙偱朙晉側堸椏悈偵傕宐傑傟丄揱摑揑側榓怘偺懠偵傕悽奅拞偺怘暥壔傪庢傝擖傟偨丅悽奅偱嵟傕怘暥壔偺朙偐側抧堟偺堦偮偲尵偊傞丅偨偩偟丄擔杮偺恖岥偺懡偝偐傜丄僇儘儕乕儀乕僗偺怘椏帺媼棪偼掅偔丄怘椏桝擖崙偱偁傞丅 +庡怘丒暃怘 +擔杮恖偼丄庡怘丒暃怘乮偍偐偢乯偺嬫暘偺堄幆偑嫮偔丄椉幰傪暿乆偵梕婍偵惙傝丄摨帪偵怘傋傞偺偑堦斒揑偱偁傞丅偦傟偵傛偭偰奺恖偺儁乕僗偱庡怘偲條乆側暃怘偲偺妱崌傪挷惍偡傞丅戙昞揑側庡怘偼丄暷傪悊偄偨斞偱偁傞丅傑偨丄僷儞傗査傕戝偒側抧埵傪愯傔傞丅堭偼丄偐偮偰媬峳怘偲偟偰廳梫側抧埵偵偁偭偨偑丄尰嵼偼庡怘偲偟偰埖傢傟傞偙偲偼傑偢側偄丅庡梫崚暔偱偼暷偺傒丄傎傏崙撪偱帺媼偟丄僐儉僊丄僩僂儌儘僐僔丄媦傃摛椶偼丄戝敿傪奀奜偐傜桝擖偟偰偄傞丅暃怘偼丄弌廯乮偩偟乯偲屇偽傟傞巪枴偺枴晅偗偑廳帇偝傟傞丅 +奀嶻暔 +巐曽傪奀偵埻傑傟丄嫏嬈偑摿偵惙傫偱偁傝丄棙梡偝傟傞嫑夘椶傕幚偵懡偄丅僫儅僐丄儂儎丄僋儔僎側偳偺悽奅揑偵捒偟偄暔傪傕娷傔偰懡條側奀嶻摦暔傪棙梡偟丄僐儞僽側偳偺奀憯傕廳梫側埵抲傪愯傔傞丅挷棟朄傕懡條偱丄庻巌丒巋恎偵傛傞惗怘傕峀偔峴傢傟傞丅 +怘擏 +暯栰偑彮側偔杚憪抧偵宐傑傟偢丄嶦惗傪婖傓暓嫵偺塭嬁偐傜壠抺偺擏傪怘傋傞廗姷傕堦斒揑偱側偐偭偨乮偨偩偟丄栰惗摦暔傗捁椶偼偟偽偟偽怘傋傜傟偰偄偨乯丅偟偐偟丄擔杮崙奜偺怘暥壔偺棳擖偵敽偄丄擏怘偼姰慡偵堦斒壔偟偨丅妛峑媼怘側偳偺塭嬁偐傜丄擕惢昳傪棙梡偡傞廗姷傕掕拝偟偰偄傞丅尰嵼偼擕惢昳丄寋棏丄寋擏偺帺媼棪偑斾妑揑崅偄偑丄媿擏丄撠擏偼丄桝擖偑夁敿傪愯傔[153]丄崙嶻偺擏偼丄庡偵嶻抧僽儔儞僪側偳偱崅媺昳傪巙岦偡傞丅帞椏偼戝敿傪桝擖偵埶懚偡傞丅 +栰嵷側偳 +揱摑揑偵恖暢擜傪旍椏偲偟偰嵧攟偝傟偰偒偨偨傔丄惗怘偺廗姷偑側偐偭偨偑丄愴屻丄惔寜側栰嵷偑嫙媼偝傟傞傛偆偵側傝丄僒儔僟側偳偺惗怘傕堦斒壔偟偨丅奀奜偐傜偺桝擖傕憹偊偰偄傞偑丄擾栻偑巆棷偟偨栰嵷偑彮側偐傜偢桝擖偝傟丄栤戣偵側傞偙偲傕偁傞丅 +実懷怘丒曐懚怘昳 +揱摑揑偵丄偍偵偓傝傗曎摉丄捫暔丄偝傑偞傑側姡暔側偳偑棙梡偝傟偰偒偨丅尰嵼丄僀儞僗僞儞僩怘昳傗椻搥怘昳側偳偺壛岺怘昳丄僷儞傗價僗働僢僩椶側偳丄懡條側怘昳偑棙梡偝傟傞丅 +歯岲昳 +揱摑揑偵椢拑傗榓壻巕丄暷壻偑恊偟傑傟偰偒偨丅尰嵼丄悽奅拞偺拑堸椏偑堸傑傟傞傛偆偵側傝丄僐乕僸乕傗峠拑丄僐僐傾傗塆棿拑側偳懡條側僜僼僩僪儕儞僋偑擔忢揑偵堸傑傟丄梞壻巕傕峀偔恊偟傑傟傞丅壻巕椶傗惔椓堸椏悈偼丄帺摦斕攧婡傗僐儞價僯僄儞僗僗僩傾側偳偱娙扨偵峸擖偱偒傞丅傑偨丄媔拑揦傕峀偔塩嬈偝傟偰偄傞丅 +庰椶 +揱摑揑偵暷傪尨椏偲偡傞擔杮庰偵壛偊丄暷傗僀儌丄敒側偳偺懡條側嶌暔傪尨椏偲偡傞從拺偑堸傑傟偰偒偨丅尰嵼丄價乕儖傗儚僀儞丄僂僀僗僉乕側偳傕堦斒壔偡傞側偳丄悽奅拞偺庰椶傪峸擖偱偒傞丅偨偩偟庰惻朄偵傛傝丄庰椶傪帺壠惗嶻偡傞偙偲偑偱偒側偄丅 +奜怘嶻嬈 +嫾敒丄偆偳傫丄庻巌側偳偺揱摑揑側榓怘偺僼傽乕僗僩僼乕僪偺懠偵傕丄擔杮恖偺岲傒偵曄壔偟偨梞怘傗拞壺椏棟偑旕忢偵敪払偟偰偄傞丅傑偨丄1970擭戙埲崀丄傾儊儕僇偐傜恑弌偟偨僼傽乕僗僩僼乕僪側偳偑晛媦偟偨傎偐丄傾僕傾傗儓乕儘僢僷偺怘暥壔傕棳擖偟丄戝搒巗偱偼悽奅拞偺椏棟傪怘傋傞偙偲偑偱偒傞丅帩偪婣傝憏嵷丒曎摉側偳偺拞怘嶻嬈傕敪払偟偰偄傞丅 +幮夛曐忈 [曇廤] +愴慜 +庡偵壠懓傗抧堟幮夛偵偍偗傞憡屳晑彆偵傛傞傕偺偲偝傟偨偑丄孯恖傪偼偠傔岞柋堳偵摿桳偺壎媼惂搙偑偁偭偨丅1942擭乮徍榓17擭乯偵愴旓偺挷払傪栚揑偵敪懌偟偨楯摥幰擭嬥曐尟偑丄擔杮偺幮夛曐忈惂搙偺巒傑傝偱偁傞丅1944擭乮徍榓19擭乯偵岤惗擭嬥曐尟朄偑惂掕偝傟偨偺傪宊婡偵柉娫楯摥幰偺岤惗擭嬥傕晛媦偟偨丅暲峴偟偰柉娫婇嬈偵偍偗傞弉楙楯摥幰偺挿婜屬梡丄擭岟捓嬥丄婇嬈擭嬥丄戅怑嬥偲偄偭偨丄愴屻偺擔杮宆暉巸幮夛傪扴偆婇嬈暉巸傕晛媦偟偨丅 +愴屻 +擔杮崙寷朄戞25忦偑掕傔傞乽寬峃偱暥壔揑側嵟掅尷搙偺惗妶傪塩傓尃棙乿丄偡側傢偪惗懚尃偺幚尰傪栚巜偟偨丅惌晎偼丄乽嵟掅尷搙偺惗妶傪塩傓乿偨傔偺帣摱曐堢丄妛峑嫵堢丄怑嬈孭楙丄屬梡曐尟乮1974擭乮徍榓49擭乯傑偱偺幐嬈曐尟傪宲彸乯丄忈奞幰夘岇丒帺棫巟墖丄惗妶曐岇偲偄偭偨暉巸僒乕價僗傪採嫙偟偮偮丄婇嬈暉巸傪廩幚偝偣傞幮夛惌嶔傪嵦梡偟偨丅偦偺夁掱偱怑堟曐尟偐傜奜傟偨懳徾傪媬嵪偡傞偨傔丄1958擭乮徍榓33擭乯偵姱挕傗婇嬈偵慻怐壔偝傟側偄懳徾偺偨傔偵崙柉寬峃曐尟偑敪懌偟丄1961擭乮徍榓36擭乯擭埲崀丄傎傏崙柉奆曐尟偑幚尰偟偨丅傑偨丄1959擭乮徍榓34擭乯擭偵婇嬈擭嬥傗怑堟擭嬥偐傜奜傟偨懳徾偺偨傔偵崙柉擭嬥傕敪懌偟偨丅 +嬤擭偐傜尰嵼偵帄傞幮夛栤戣 +彮巕崅楊壔偵傛傞堛椕旓晧扴偺憹戝偵敽偄丄嵿惌偺昇敆偟偨寬峃曐尟慻崌偑憹偊丄慻崌娗彾寬曐傗嫤夛偗傫傐偺曐尟椏棪傗崙屔晧扴棪偺堷偒忋偘偑媍榑偝傟傞丅尰嵼丄枅擭偺傛偆偵崙柉擭嬥曐尟椏傗岤惗擭嬥偺晧扴棪偑堷偒忋偘傜傟偰尰栶悽戙傊偺晧扴偑憹偟丄岞揑擭嬥偺悽戙娫奿嵎偑栤戣偵側偭偰偄傞丅 +惗妶曐岇惂搙傕悢乆偺惗妶曐岇栤戣傪書偊偰偄傞丅摉弶傛傝晄惓庴媼側偳偺栤戣偑偁偭偨偑丄晄嫷偺挿婜壔偵傛傝庴媼幰偑憹壛偟懕偗偰偍傝嵿惌晧扴偑柍帇偱偒側偄傕偺偵側偭偰偄傞丅傑偨僨僼儗偺恑峴偵敽偆捓嬥偺掅壓傗旕惓婯屬梡偺憹壛偼丄憡懳揑偵惗妶曐岇偺惗妶悈弨傪堷偒忋偘傞偙偲偵側偭偨丅偙傟偵傛傝崙柉擭嬥偺傒傗掅捓嬥楯摥偱惗妶偡傞傛傝傕丄惗妶曐岇傪庴偗偨傎偆偑椙偄曢傜偟傪偱偒傞偲偄偆壜擻惈偑丄帺棫傪栚巜偝側偄偲偄偆儌儔儖僴僓乕僪傪惗傓偺偱偼側偄偐偲偄偆斸敾傪嫮傔傞偙偲偵側偭偨丅 +寬峃丒堛椕 [曇廤] +庻柦 +2006擭乮暯惉18擭乯搙偺暯嬒庻柦偼丄抝惈79.0嵨丄彈惈85.8嵨偱偁傞[154]丅傑偨丄悽奅堦偺挿庻偱偁傞[155]丅傑偨丄寬峃庻柦偱傕丄抝惈72.3嵨丄彈惈77.7嵨乮2001擭乲暯惉13擭乴乯偲丄偙傟傕悽奅堦偺挿庻偱偁傞丅 +庡側巰場 +廔愴捈屻傑偱寢妀側偳偺姶愼徢偑懡偐偭偨偑丄尰嵼乮2003擭乮暯惉15擭乯 / 2004擭乲暯惉16擭乴乯丄堦偵埆惈怴惗暔乮娻乯丄擇偵怱幘姵丄嶰偵擼寣娗幘姵偲丄惗妶廗姷昦傪拞怱偲偡傞枬惈幘姵偑庡偱偁傞丅偟偐偟丄崱擔偱傕寢妀偵傛傞巰朣棪傕崅偄丅 +堛椕廬帠幰偺恖悢 +悽奅嵟崅儗儀儖偺廃嶻婜巰朣棪丒暯嬒梋柦傪払惉偡傞堦曽丄2004擭乮暯惉16擭乯搙偺摑寁抣偵傛傞偲丄恖岥1000恖偁偨傝偺堛椕廬帠幰偺恖悢偼丄堛巘偑1.98丄帟壢堛巘偑0.71丄娕岇巘偑7.79丄彆嶻巘偑0.19丄栻嵻巘偑1.21偱偁傝丄堦恖摉偨傝偺 GDP 偑20,000僪儖埲忋偺崙乆偺拞偱傕嵟掅僌儖乕僾偵懏偟丄擔杮傪忋夞傞奐敪搑忋崙偡傜懡偔懚嵼偡傞[156]偙偲側偳偐傜丄偦偺晄懌偑巜揈偝傟偰偄傞丅 +曐寬乮寬峃乯傊偺巟弌 +GDP 偵愯傔傞斾棪偑7.8%丄惌晎偑晧扴偡傞斾棪偑81.3%偱丄堦恖摉偨傝偺 GDP 偑20,000僪儖埲忋偺崙乆偺拞偵偍偗傞昗弨揑側悈弨偱偁傞[157]丅 +媫懍偵恑傓弌惗棪偺掅壓丒楯摥悽戙恖岥偺尭彮丒崅楊壔幮夛傊偺懳墳偲偟偰丄崙柉寬峃曐尟椏偺憹妟丄堛椕旓帺屓晧扴暘偺憹壛丄屻婜崅楊幰堛椕惂搙偺摫擖側偳丄堦楢偺堛椕惂搙夵妚偵傛傝丄晧扴偑憹壛偡傞孹岦偵偁傞丅嬤擭丄偙傟傜堛椕旓傊偺巟弌傪梷惂偡傞惌嶔偵傛偭偰堛椕偺僒乕價僗悈弨傕掅壓偟丄昦堾偺70%偑愒帤宱塩偱丄嶻壢傗媬媫堛椕偺攑巭側偳偺廳梫側婡擻偺掆巭偼丄奺抧偱幮夛栤戣偲側偭偰偄傞丅 +専塽側偳 +嬤擭丄戝妛偺堛妛嫵堢傗婎慴堛妛尋媶偺応偵偍偗傞姶愼徢傗婑惗拵徢偺埖偄偑屻戅偟丄杻怾偺桝弌崙偲偟偰旕擄偝傟偰偄傞丅傑偨丄奀奜偐傜偺昦尨懱偺堏擖傗奀奜椃峴幰偑婣崙偟偨屻偺姶愼徢丒婑惗拵徢側偳偺敪徢偵懳偟偰偺懺惃偵傕婋湝偑書偐傟偰偄傞丅 +彮巕崅楊壔 [曇廤] +尰嵼丄偄傢備傞彮巕崅楊壔偑恑傓丅 +彮巕壔丒堢帣丒巕堢偰 +堦帪偼丄柧帯埲崀偺嬤戙壔偺夁掱偱丄擕帣偺巰朣棪偺掅壓傗崙椡偺忋徃偵傛偭偰恖岥偺寖憹偑婲偙偭偨懠丄愴屻偺儀價乕僽乕儉乮抍夠偺悽戙乯偵傛傝丄庒擭憌傎偳懡偄僺儔儈僢僪忬偺峔惉偲側偭偨丅偟偐偟丄崅搙宱嵪惉挿埲崀丄堦恖偺彈惈偑惗奤偵嶻傓悢乮崌寁摿庩弌惗棪乯傕悽奅嵟彮儗儀儖偺1.3嬤偔傑偱掅壓偟偨丅偦偺尨場偲偟偰丄埲壓側偳偺暋崌揑側梫場偑巜揈偝傟傞[158]丅 +堛妛丒堛椕偺岦忋偵傛傞丄巰朣棪偺尭彮丅 +嫵堢悈弨偺岦忋偵傛傞丄妛旓晧扴偺憹戝丅 +岞揑側堢帣巟墖偺晄懌丅 +挿帪娫楯摥偵傛傞堢帣偺偨傔偺帪娫偺晄懌傗丄巇帠偲堢帣偲偺椉棫偺崲擄偝丅 +妀壠懓壔偵傛傞丄慶晝曣偐傜偺晑彆偺尭彮丅 +抧堟幮夛偵偍偗傞憡屳晑彆偺婓敄壔丅 +堢帣埲慜偵丄寢崶偡傜弌棃側偄掅強摼幰憌偺憹戝丅 +惌晎偼丄弌惗棪偺掅壓傪怺崗側栤戣偲偟丄尰嵼偺恖岥傪堐帩偱偒傞2.0?2.1慜屻傑偱偺憹壛傪棟憐偲偡傞偑丄桳岠側懳嶔偑惉傜偢丄偦偺尒捠偟傕棫偨側偄丅2010擭乮暯惉22擭乯4寧傛傝丄巕偳傕庤摉朄偑巤峴偝傟偨偽偐傝偱偁傞丅 +崅楊壔幮夛丒夘岇 +宱嵪揑偵朙偐偵側偭偨偙偲傗堛妛丒堛椕偺岦忋偵傛傝丄暯嬒庻柦丒暯嬒寬峃庻柦偑悽奅偱嵟傕崅偄崙偵側偭偨偑丄摨帪偵丄夘岇偑昁梫側崅楊幰恖岥偺憹壛偵傕帄偭偨丅乮堢帣偲摨條丄乯帪娫偺晄懌傗巇帠偲偺椉棫偺崲擄偝丄妀壠懓壔偵傛傞慶晝曣偺悽戙偲偺暿嫃傗崅楊幰偺傒乮晇晈2恖傗1恖乯悽懷偺憹壛丄抧堟幮夛偵偍偗傞憡屳晑彆偺婓敄壔側偳偑暋崌揑側梫場偲側傝丄揱摑揑偵峴傢傟偰偒偨壠懓偵傛傞崅楊幰偺夘岇偑崲擄偲側偭偨偙偲偐傜丄2000擭乮暯惉12擭乯偵夘岇曐尟偑憂愝偝傟丄壠懓丒峴惌丒抧堟幮夛偺嫤椡偵傛傞惌嶔偵揮姺偟偨丅偟偐偟丄晄廫暘側宱尡傗丄寖柋偵斾偟偰掅妟側夘岇曬廣備偊偵帠嬈幰傗廬帠幰偑廫暘側廂擖傪摼傜傟側偄偙偲丄峴惌偺昁梫廫暘側梊嶼偺晄懌側偳偺暋崌揑側梫場偵傛傝丄條乆側廀梫偵懳偡傞昁梫廫暘側僒乕價僗偺採嫙偵帄傜側偄丅 +帺嶦 [曇廤] +悽奅曐寬婡娭乮WHO乯偺摑寁乮2010擭乲暯惉22擭乴乯偵傛傞偲丄WHO偵帺嶦摑寁傪曬崘偡傞104偐崙偺拞偵偍偗傞帺嶦棪偺弴埵偼丄崅偄曽偐傜戞6埵偱偁傝丄恖岥堦恖摉偨傝偺GDP偑20,000僪儖埲忋偺崙乆偺拞偱偼丄戞1埵偱偁傞丅 +惌晎偼丄偙偺愭恑崙偱傕嬌傔偰崅偄帺嶦棪傪廳梫側栤戣偲擣幆偟丄偦偺尨場偵偮偄偰偼丄廆嫵丒巰惗娤側偳擔杮恖偺條乆側惛恄惈偑壖愢偲偟偰採帵偝傟傞偑丄埶慠偲偟偰夝柧偝傟偰偄側偄丅扐偟丄彅崙偲斾妑偟丄幮夛慡懱偱帺嶦傪曪妵揑偵梊杊偡傞懳嶔偺晄旛偑巜揈偝傟傞丅2006擭乮暯惉18擭乯偵帺嶦懳嶔婎杮朄偑惂掕偝傟偨偑丄婎杮揑側榞慻傒傪婯掕偡傞偵巭傑傝丄嬶懱揑側惂搙傗惌嶔偺婯掕偵朢偟偄[159]丅 +嫵堢丒壢妛丒媄弍 [曇廤] + +徻嵶偼乽擔杮偺嫵堢乿丄乽擔杮嫵堢巎乿丄偍傛傃乽嫵堢婎杮朄乿傪嶲徠 +媊柋嫵堢丒弶摍嫵堢丒拞摍嫵堢 [曇廤] +徻嵶偼乽媊柋嫵堢#擔杮乿丄乽弶摍嫵堢乿丄偍傛傃乽拞摍嫵堢乿傪嶲徠 +1990擭乮暯惉2擭乯帪揰偺幆帤棪偼丄99.8%乮抝99.9%丄彈99.7%乯丅擔杮崙愋傪桳偡傞6嵨偐傜15嵨傑偱偺9擭娫乮妛楊乯傪懳徾偲偡傞媊柋嫵堢偑幚巤偝傟傞丅堦斒偵偼丄彫妛峑6擭娫丄拞妛峑3擭娫丅摿暿巟墖妛峑偵偮偄偰偼丄彫妛晹6擭娫丄拞妛晹3擭娫丅拞摍嫵堢妛峑偵偮偄偰偼丄慜婜壽掱3擭娫丅側偍丄拞妛峑傪懖嬈偟偨撪偺栺96%偑崅摍妛峑偵恑妛偡傞丅 +惗奤妛廗丒嫵堢孭楙 [曇廤] +徻嵶偼乽惗奤妛廗乿偍傛傃乽嫵堢孭楙乿傪嶲徠 + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +崅摍嫵堢丒婎慴壢妛 [曇廤] +徻嵶偼乽崅摍嫵堢#擔杮偵偍偗傞崅摍嫵堢乿偍傛傃乽婎慴壢妛乿傪嶲徠 +乽擔杮恖偺僲乕儀儖徿庴徿幰乿傕嶲徠 + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +僥僋僲儘僕乕尋媶奐敪丒墳梡壢妛 [曇廤] + + +擔杮偺塅拡奐敪乮JAXA丒偒傏偆乯 +乽僥僋僲儘僕乕乿丄乽尋媶奐敪乿丄偍傛傃乽墳梡壢妛乿傕嶲徠 +悽奅揑偵傕懡偔偺暘栰偱崅悈弨偺僥僋僲儘僕乕傪桳偡傞丅崙嵺摿嫋偺弌婅悢偼丄傾儊儕僇崌廜崙偵師偖悽奅戞2埵丄摿嫋廂擖傕傾儊儕僇偵師偖悽奅戞2埵偺崟帤崙偱偁傞丅 +娐嫬丒僄僱儖僊乕偵娭楢偡傞媄弍 +悽奅揑偵傕崅悈弨偺媄弍傪桳偡傞丅僨傿乕僛儖僄儞僕儞偺摿嫋偺弌婅悢偼丄悽奅戞1埵偱偁傞丅尨巕椡敪揹僔僗僥儉傪撈帺奐敪偡傞媄弍傪帩偮崙偺傂偲偮丅悽奅揑偵嵟傕崅悈弨偺擇師揹抮媄弍傪桳偟丄僴僀僽儕僢僪僇乕傗崅惈擻側実懷忣曬婡婍偺婎斦偲側偭偰偄傞丅僶僀僆擱椏傗擱椏揹抮丄懢梲岝敪揹側偳怴僄僱儖僊乕偺尋媶傕惙傫偩偑丄晛媦柺偱尵偊偽彅奜崙偵棫偪抶傟偰偄傞丅 +忣曬媄弍 +儅僀僋儘僾儘僙僢僒愝寁偵娭偟偰偼崅悈弨偺媄弍傪桳偟丄儅僀僋儘僐儞僩儘乕儔奐敪偱偼傾儊儕僇崌廜崙偵師偖奐敪嫆揰偲側偭偰偄傞丅擔杮婇嬈偼敿摫懱僨僶僀僗偺惢憿憰抲偱崅偄僔僃傾傪桳偡傞偑丄僴乕僪僨傿僗僋僪儔僀僽乮HDD乯丄僼儔僢僔儏儊儌儕傗塼徎僨傿僗僾儗僀偺惗嶻偱偼丄娯崙傗戜榩偵墴偝傟偰偄傞丅岝僼傽僀僶乕傗寢徎堷忋媄弍側偳慺嵽偵娭偡傞尋媶偵岤傒偑偁傝丄偦偺婎慴媄弍偼丄埶慠偲偟偰桪埵偱偁傞丅僜僼僩僂僃傾暘栰偱偼丄慻傒崬傒僔僗僥儉偺媄弍幰憌偑摿偵岤偄丅 +尨嵽椏丒僫僲僥僋僲儘僕乕 +摿庩峾丄崌惉慇堐丄僙儔儈僢僋僗側偳暆峀偄暘栰偱悽奅揑偵傕崅悈弨偺媄弍傪桳偟偰偄傞丅摿偵暋崌嵽椏傪摼堄偲偟丄帺摦幵嶻嬈丒憿慏丒峲嬻塅拡丒杊塹嶻嬈側偳傪巟偊傞丅 +愭抂寁應媄弍 +帴椡傗嬤愙応儅僀僋儘攇丄拞惈巕偺棙梡媄弍丄暋崌寁應媄弍側偳偼丄崅偄悈弨偵偁傞偑丄僀僆儞傗儗乕僓乕棙梡媄弍側偳偼丄掅悈弨偱偁傞丅 +儔僀僼僒僀僄儞僗乮惗柦壢妛乯 +傾儊儕僇崌廜崙丄偦偟偰儓乕儘僢僷慡懱偵師偖3斣庤偺埵抲偵偁傞丅姴嵶朎偵娭楢偡傞媄弍偵偮偄偰傕恖岺懡擻惈姴嵶朎乮iPS嵶朎乯偺媄弍偱悽奅傪愭峴偡傞偑丄姴嵶朎偵娭楢偡傞媄弍偺慡懱偱尵偊偽丄摿嫋偺弌婅悢偺敿暘埲忋偑傾儊儕僇崌廜崙偱丄埲壓丄EU丄擔杮偲懕偔丅 +塅拡奐敪 +徻嵶偼乽擔杮偺塅拡奐敪乿丄乽塅拡峲嬻尋媶奐敪婡峔乿丄偍傛傃乽塅拡婎杮朄乿傪嶲徠 +1970擭偵擔杮弶偺恖岺塹惎乽偍偍偡傒乿傪懪偪忋偘丄僜暷暓偵懕偒悽奅偱4斣栚偵塹惎傪帺椡偱懪偪忋偘偨崙偲側偭偨丅崙嵺塅拡僗僥乕僔儑儞寁夋偵偼擔杮偑傾僕傾偱桞堦嶲壛偟偰偄傞丅 +宱嵪丒嶻嬈丒岎捠 [曇廤] + + + +擔杮嬧峴偼丄擔杮偺拞墰嬧峴偱偁傞乮搶嫗搒拞墰嬫 擔杮嬧峴杮揦乯 + + +搶嫗徹寯庢堷強偼丄擔杮偺徹寯庢堷強偺拞悤揑懚嵼偱偁傞乮搶嫗搒拞墰嬫乯 +徻嵶偼乽擔杮偺宱嵪乿傪嶲徠 +婯柾丒埵抲 [曇廤] +帒杮庡媊丒巗応宱嵪傪嵦梡偡傞岺嬈崙偱偁傝丄2010擭帪揰偱丄崙撪憤惗嶻 (GDP) 偑US僪儖帪壙姺嶼偺堊懼儗乕僩偱悽奅戞3埵乮峸攦椡暯壙 (PPP) 偱悽奅戞3埵乯偵埵抲偡傞宱嵪戝崙偱偁傞丅堦恖摉偨傝 GDP 偼2010擭帪揰偱丄US僪儖帪壙姺嶼偱悽奅戞16埵丄峸攦椡暯壙 (PPP) 偱悽奅戞24埵偱偁傞丅 +乽崙偺崙撪憤惗嶻弴儕僗僩 (堦恖摉傝堊懼儗乕僩)乿偍傛傃乽崙偺崙撪憤惗嶻弴儕僗僩 (堦恖摉傝峸攦椡暯壙)乿傕嶲徠 +捠壿偱偁傞墌 (\, yen, JPY) 偼丄崅偄怣擣傪桳偡傞崙嵺捠壿偺堦偮偱偁傞丅擔杮恖偼丄偦偺怣擣偺崅偝偐傜尰嬥寛嵪傗挋拁傪岲傓孹岦偑偁傞丅1964擭乮徍榓39擭乯偵宱嵪嫤椡奐敪婡峔 (OECD) 偵壛柨偟丄僒儈僢僩乮庡梫崙庱擼夛媍丒摉帪偺G5丒屻偵G7丒尰嵼偺G8乯偵傕1975擭乮徍榓50擭乯偺戞1夞偐傜嶲壛偡傞側偳丄偦偺摦岦傕悽奅宱嵪偵嫮偔戝偒側塭嬁傪梌偊傞丅[梫弌揟] +宱嵪巎 [曇廤] +柧帯埲棃丄惣墷宆偺柉朄揟傪摫擖偟丄嵿嶻尃傪婎慴偲偟偨帒杮庡媊傪宱嵪偺婎杮偲偡傞丅戞擇師悽奅戝愴帪偺愴帪懱惂傪宱尡偟偨屻丄暔壙摑惂椷傗孹幬惗嶻曽幃丄奜壿弨旛偵敽偆妱摉惂側偳丄捠嶻徣傗戝憼徣偑庡摫偡傞岇憲慏抍曽幃偵傛傝丄惢憿嬈傪幉偵崅搙宱嵪惉挿傪壥偨偟偨丅1968擭乮徍榓43擭乯丄崙柉憤惗嶻 (GNP) 儀乕僗偱傾儊儕僇崌廜崙偵師偄偱戞2埵偺婯柾偺帒杮庡媊崙偲側偭偨丅懠偺帒杮庡媊彅崙偲斾妑偟偰幐嬈棪傕掅偔丄乽嵟傕惉岟偟偨幮夛庡媊崙壠乿偲尵傢傟偨帪戙傕偁偭偨丅1974擭乮徍榓49擭乯偺僆僀儖僔儑僢僋傪婡偵埨掕惉挿婜偵擖傝丄帺摦幵丄揹壔惢昳丄僐儞僺儏乕僞側偳偺寉敄抁彫嶻嬈偑媫惉挿偡傞嶻嬈峔憿偺揮姺偑恑傫偩丅墌崅偑恑傓拞丄斾妑楎埵偺嶻嬈偺偄偔偮偐偼丄嫞憟椡傪憆幐偟偰悐戅偟丄帺摦幵嶻嬈側偳丄斾妑桪埵偱嫞憟椡偺崅偄桝弌嶻嬈偼丄墌崅偺攇傪忔傝愗傝丄婎姴嶻嬈偲偟偰悽奅偱傕嵟崅悈弨偺嫞憟椡傪帩偮偵帄偭偨丅偟偐偟丄惢憿嬈偱偼惗嶻嫆揰偑奀奜偵棳弌偡傞嬻摯壔偑恑峴偟偰偄傞丅 1990擭戙慜敿偵僶僽儖宨婥偑曵夡偟偨偙偲偵傛傞晄嫷偱丄乽幐傢傟偨10擭乿偲屇偽傟傞挿婜晄嫷偵嬯偟傫偩丅擔杮偺宱嵪惉挿棪偼丄崅搙惉挿婜偼傕偪傠傫偺偙偲丄埨掕惉挿婜偵傕墷暷傪忋夞偭偰偄偨偑丄1990擭戙埲崀偼墷暷傗搶傾僕傾彅崙傪戝暆偵壓夞偭偰偄傞乮1991擭偐傜2009擭傑偱偺擔杮偺暯嬒宱嵪惉挿棪偼0.8%乯丅擔杮偼宲懕揑偵傾儊儕僇崙嵚傪峸擖偟丄2012擭3寧帪揰偱1挍830壄僪儖暘傪曐桳偟拞崙偵師偖悽奅戞擇埵偺曐桳検偲側偭偰偄傞偑丄嬤擭偺僪儖埨偱栺40挍墌偺堊懼嵎懝偑敪惗偟偰偄傞丅傾儊儕僇崙嵚偐傜偼枅擭14.5挍墌偑彏娨偝傟傞偑丄彏娨嬥傪傾儊儕僇崙嵚嵞峸擖偵廩偰偰偄傞[160][161]丅1999擭10寧埲崀丄傾儊儕僇崙嵚峸擖偵偼擔杮崙柉偺梐挋嬥偑摉偰傜傟偰偄傞[162]丅 +奿嵎幮夛 +崅搙宱嵪惉挿傪悑偘偨擔杮偱偼丄乽崙柉憤拞棳乿偲屇偽傟傞昻崲憌偑懚嵼偟側偄偐偺傛偆側堄幆偑怹摟偟偰偄偨偑丄嬤擭丄昻崲憌偺懚嵼偑峀偔抦傜傟丄昻晉偺嵎偑奼戝偟偰偄傞偲偄偆堄幆偑峀傑偭偨丅宱嵪嫤椡奐敪婡峔 (OECD) 偺摑寁偵傛傟偽丄2005擭乮暯惉17擭乯搙偺昻崲棪偼丄OECD壛柨崙乮30儢崙偺偆偪丄昻崲棪傪摑寁偡傞17儢崙[163]乯偺撪偺戞2埵丄15.3%偱偁傞丅偙偺尨場偲偟偰偼丄崅楊壔幮夛偵傛傞擭嬥惗妶幰傗捓嬥偺掅偄旕惓婯屬梡偺憹壛偑嫇偘傜傟傞丅惻惂傗幮夛巟弌偼丄堦斒偵奿嵎惀惓偺婡擻傪桳偡傞偑丄擔杮偱偼崙柉擭嬥傗崙柉寬峃曐尟丄夘岇曐尟偺媡恑惈偑崅偄偨傔丄晉偺嵞暘攝偑媡偵奿嵎奼戝偵偮側偑偭偰偟傑偭偰偄傞偙偲偑帵偝傟偰偄傞丅 +幐嬈 +愴屻偺擔杮婇嬈偱偼廔恎屬梡惂搙偑偲傜傟偰偄偨帠傕偁傝丄幐傢傟偨10擭傑偱幐嬈偑幮夛栤戣壔偡傞偙偲偼婬偩偭偨丅椺奜偲偟偰丄僆僀儖僔儑僢僋偺屻丄堦帪幐嬈幰偑憹壛偟偨偑丄偦偺屻偺宨婥夞暅偱堦帪揑側晄埨偵廔傢偭偰偄偨偑丄僶僽儖宨婥曵夡屻偺暯惉晄嫷偵傛偭偰廇怑昘壨婜偲屇偽傟傞帪戙偑朘傟丄幐嬈偑幮夛栤戣壔偟偨丅傑偨丄2008擭埲崀偺悽奅嬥梈婋婡偵傛偭偰姰慡幐嬈棪偼愴屻嵟埆悈弨偺5.0%偵傑偱埆壔偟偰偄傞[164]丅 +嵚柋 +1990擭戙埲崀偵偍偗傞嵿惌惌嶔偵傛傝丄岞揑嵚柋(崙丒抧曽偺崌寁)偑1100挍墌埲忋偲側偭偰偄傞偑丄偦偺杦偳偼崙撪偱徚壔偟偰偍傝丄奜崙偵懳偡傞嵚柋偼5%掱搙偲掅偄丅 +彫偝側惌晎 +恖岥偵愯傔傞岞柋堳偺斾棪偑掅偔丄宱嵪偵愯傔傞岞塩婇嬈偺婯柾傕彫偝偄丅婇嬈撪暉巸傗壠掚丒抧堟幮夛偱偺憡屳晑彆傪廳帇偟偨幮夛曐忈惂搙傪峔抸偡傞偙偲偵傛傝丄彅奜崙偵斾傋偰乽彫偝側惌晎乿傪幚尰偟偰偄傞丅嬤擭丄峴惌夵妚偑榑偠傜傟丄岞柋堳偺峏側傞嶍尭傗柉塩壔偑恑傔傜傟偰偄傞丅[梫弌揟] +擾椦悈嶻嬈 [曇廤] + + +暷偼丄擔杮偱偼庡怘偲偟偰廳梫側擾嶻暔偱偁傞丅尰嵼偱偼丄尭斀惌嶔偑峴傢傟偰偄傞乮怴妰導撿嫑徖巗乯 +擾嬈 +懠崙偲斾妑偟偰惗嶻検偑懡偄擾嶻暔偼丄惗巺丄僉儍儀僣丄僀僱乮暷乯丄僒僣儅僀儌丄僞儘僀儌乮庡偵僒僩僀儌乯丄拑丄儂僢僾側偳偱偁傞丅 +暷偼丄擔杮恖偺庡怘偱偁傞偑丄懠偵暷傪庡怘偲偡傞彅崙傕懡偄偨傔丄1100枩僩儞乮悽奅僔僃傾1.9%乯偺惗嶻検偵巭傑傞丅 +僉儍儀僣丄僞儘僀儌嵧攟偼丄悽奅戞5埵偱偁傞丅 +抺嶻嬈乮抺嶻乯偱偼丄梴寋偑惙傫偱偁傝丄寋棏偺嵦庢検偼丄悽奅戞3埵偱偁傞丅 +椦嬈 +1970擭乮徍榓45擭乯埲崀偺栘嵽偺桝擖帺桼壔偵傛傝嫞憟椡傪憆幐偟丄堦晹偺僽儔儞僪栘嵽偺嶻抧傪彍偒丄婛偵夡柵忬懺偵捛偄崬傑傟偰偄傞丅 +悈嶻嬈丒嫏嬈 +嫏妉崅偼丄2002擭乮暯惉14擭乯帪揰偱悽奅戞5埵乮440枩僩儞乯偱偁傞丅 +杅堈乮桝擖丒桝弌乯 +怘椏帺媼棪偼丄60%傪悽奅奺抧偐傜偺桝擖偵棅傞偨傔丄栺40%偲掅偄丅嬤擭丄怘偺埨慡傊偺娭怱偺崅傑傝偐傜崙嶻僽儔儞僪偺廀梫偑夞暅偟丄堦晹偺擾嶻暔偼丄崅媺怘嵽偲偟偰桝弌偝傟傞丅傑偨丄拞崙偱偺嫑夘椶傪徚旓偡傞廗姷偺峀偑傝偵傛傝丄悈嶻暔偺桝弌偑媫憹偟偰偄傞[165][166]丅 +廬帠幰 +崅楊壔偑恑傒丄彨棃偺恖嵽偺堢惉偑壽戣偱偁傞丅[梫弌揟] +峼岺嬈 [曇廤] +峼嬈 +抧壓帒尮偼丄慡懱偲偟偰偺嶻弌検偑奣偟偰彮側偄傕偺偺丄杽憼偝傟傞峼暔偺庬椶偑旕忢偵朙晉偱丄懎偵乽峼暔偺攷暔娰乿[167]偲屇偽傟傞丅峼嬈偺拞怱傪愯傔傞偺偼丄悽奅戞5埵乮2001擭乲暯惉13擭乴乯偺320枩僩儞傪嶻弌偡傞棸墿丄偦偟偰丄悽奅戞2埵乮2005擭乲暯惉17擭乴乯偺6500僩儞傪嶻弌偡傞儓僂慺偱偁傞丅偦偺懠丄嶻弌検偱偼丄揤慠僈僗偺101愮挍僕儏乕儖傗愇扽偺302枩僩儞偑栚棫偮丅彮検側偑傜丄尨桘傪傕嶻弌偡傞乮栺37枩僉儘儕僢僩儖丒2001擭乮暯惉13擭乯帪揰乯丅嬥懏帒尮偼丄垷墧偺4枩3000僩儞傪昅摢偵丄墧丄摵傪嶻弌偡傞丅偙偺3嬥懏偼丄偄偢傟傕旕揝嬥懏偲偟偰旕忢偵廳梫偱偁傞丅偟偐偟丄偄偢傟傕崙撪徚旓検偺4%丄6.8%丄0.02%偟偐榙偊側偄丅偐偮偰戝検偵嶻弌偟偰偄偨嬥傗嬧傕嵦孈偝傟傞偑丄尰嵼偄偢傟傕悽奅揑側僔僃傾偑0.5%埲壓乮嬥8.6僩儞丒嬧81僩儞乯偱偁傞丅崙撪廀梫傪榙偆偩偗偺嶻弌検偑偁傞抧壓帒尮偼丄愇奃娾乮僙儊儞僩尨椏乯丄宂愇乮悈徎/僈儔僗丒儗儞僘丒岝僼傽僀僶乕丒寶抸嵽椏偺尨椏乯側偳丄偛偔嬐偐偱偁傞丅 +尰嵼丄偁傑傝帒尮偲偟偰妶梡偝傟偰偄側偄偑丄儊僞儞僴僀僪儗乕僩偑嬤奀偵懡偔柊傞偙偲偑暘偐偭偰偄傞丅偙傟偼丄嵦孈偺庤朄偑枹偩妋棫偟偰偄側偄偑丄彨棃揑偵愇桘偑屚妷偟偨嵺偵偍偗傞怴僄僱儖僊乕偲偟偰拲栚傪梺傃偰偄傞丅[梫弌揟]嬤擭偱偼丄搒巗峼嶳偲偄偆峫偊曽傕晛媦偟丄擔杮偵拁愊偝傟傞婱嬥懏傗儗傾儊僞儖偺杽憼検偑悽奅桳悢偱偁傞偲偺尋媶偑偁傝丄攑婞偝傟傞壠揹傗揹巕婡婍側偳偐傜丄偙傟傜傪儕僒僀僋儖偡傞帠嬈妶摦傕峀偑傝傪尒偣傞丅 +岺嬈 + + +擔杮偼悽奅桳悢偺儊乕僇乕傪悢懡偔桳偟丄媄弍傕悽奅嵟崅悈弨偱偁傞乮儗僋僒僗丒LS僴僀僽儕僢僪乯 + + +擔杮偼儘儃僢僩愭恑崙偱傕偁傝丄嶻嬈梡儘儃僢僩傪弶傔條乆側暘栰偱妶梡偝傟偰偄傞乮儂儞僟丒ASIMO乯 +婎姴嶻嬈偱偁傝丄摿偵慺嵽丒嬥懏壛岺丒憿慏丒搚栘岺妛丒婡夿岺妛丒揹婥岺妛丒揹巕岺妛側偳偺惢憿嬈偼丄悽奅嵟崅悈弨偺媄弍傪堐帩偡傞丅尨桘丒僑儉丒揝峼愇側偳偺尨嵽椏傪桝擖偟偰帺摦幵丄揹婥惢昳丄揹巕婡婍丄揹巕晹昳丄壔妛惢昳側偳偺岺嬈惢昳傪桝弌偡傞壛岺杅堈偑摿挜偱偁傞偑丄嬤擭丄戝娯柉崙傗拞壺柉崙偐傜偺揹巕晹昳傗揹巕婡婍側偳偺敿惢昳偺桝擖傕憹戝偟丄桝弌昳丄桝擖昳丄嫟偵揹巕婡婍偑嵟戝偱偁傞丅 +僩儓僞帺摦幵傗擔嶻帺摦幵丄杮揷媄尋岺嬈側偳傪昅摢偵悽奅桳悢偺帺摦幵嶻嬈傪梚偟丄悽奅戞3埵偺怴幵斕攧丄悽奅戞2埵偺曐桳戜悢傪婰榐偡傞[168]丅 +乽擔杮幵乿傕嶲徠 +堦曽丄峲嬻塅拡嶻嬈乮峲嬻塅拡岺妛乯丒堛栻昳壔妛丒僶僀僆僥僋僲儘僕乕丒忣曬媄弍側偳偺怴偟偄嶻嬈偺暘栰偵偍偄偰偼丄昁偢偟傕嵟崅悈弨偲尵偊偢丄傑偨丄慡懱偲偟偰偺惢憿嬈偼丄拞崙傗娯崙丄戜榩側偳偺怴嫽崙偺惉挿偵墴偝傟丄1980擭戙傪僺乕僋偵廂塿棪傕壓棊傪懕偗傞丅偦偺偨傔丄僫僲僥僋僲儘僕乕傗柉惗梡偺儘儃僢僩岺妛丄惗暔岺妛丄嬥梈岺妛側偳偵妶楬傪尒弌偦偆偲偟偰偄傞丅 +捠彜丒嬥梈 [曇廤] +2002擭乮暯惉14擭乯帪揰偺庡梫側桝弌偺憡庤崙偼丄嬥妟儀乕僗偱28.9%傪愯傔傞傾儊儕僇崌廜崙丄拞壺恖柉嫟榓崙 (9.6%)丄戝娯柉崙 (6.9%)丄崄峘 (6.1%)丄僔儞僈億乕儖 (3.4%)偱偁傞丅傾儊儕僇崌廜崙丄搶傾僕傾丄搶撿傾僕傾傊偺桝弌傪崌傢偣偰55%傪愯傔傞丅桝擖偺憡庤崙偼丄傾儊儕僇崌廜崙 (18.3%)丄拞崙 (17.4%)丄娯崙 (4.6%)丄僀儞僪僱僔傾 (4.2%)丄僆乕僗僩儔儕傾 (4.2%) 偱偁傝丄埲忋偱48.7%傪愯傔傞丅杅堈廂巟偼丄崟帤乮2004擭乮暯惉16擭乯偵栺14挍墌乯偱偁傞丅庡梫側桝弌昳偼丄嬥妟儀乕僗偱帺摦幵 (22.3%)丄婡夿椶 (21.6%)丄揹婥婡夿 (20.5%)丄揝峾 (3.7%)丄壔妛栻昳 (3.1%) 偺弴偱偁傞丅庡側桝擖昳偼丄揹婥婡夿 (12.2%)丄婡夿椶 (11.2%)丄尨桘 (10.8%)丄堖椶 (5.2%)丄揤慠僈僗 (5.2%) 偱偁傞[169]丅 + + +搶嫗偼悽奅嵟戝偺搒巗寳恖岥偲宱嵪婯柾傪寭偹旛偊傞丄悽奅堦偺儊僈僔僥傿偱偁傞丅 +擔杮偺嶻嬈偼丄敪揥偺夁掱偱娫愙嬥梈偵傛傞帒嬥挷払傪峀偔梡偄偨偨傔丄嬧峴偑宱嵪偵梌偊傞塭嬁偑戝偒偄丅嬧峴偼丄梈帒偱搚抧帒嶻傪扴曐偵庢傞偙偲偑懡偐偭偨偨傔丄搚抧偑宱嵪偵梌偊傞塭嬁傕戝偒偄丅偟偐偟丄僶僽儖宨婥偺曵夡屻偼丄捈愙嬥梈傗巗応宆娫愙嬥梈傊偺揮姺偑恑傔傜傟偰偄傞丅嬥梈婡娭偱偼丄僶僽儖帪婜偺徟偘晅偒丄偄傢備傞晄椙嵚尃栤戣偑挿堷偒丄1990擭戙弶摢偵嬥梈婋婡傪堷偒婲偙偟偨丅偟偐偟丄惌晎庡摫偱戝崌暪偑峴傢傟偰岞揑帒嬥傪拲擖偟偰偺嫮堷側夝寛偑恾傜傟丄偦偺屻偼丄挻掅嬥棙惌嶔偺壓丄崅廂塿傪忋偘傞傛偆偵側偭偨丅擔杮嬧峴偼丄2006擭乮暯惉18擭乯偵僛儘嬥棙傪夝彍偟偨偑丄枹偩嬥棙偺悈弨偑掅偔悇堏偟丄屄恖徚旓偺怢傃傕尒傜傟側偄側偳丄宱嵪夞暅偑柧妋偱側偔丄2007擭乮暯惉19擭乯尰嵼丄偦傟埲忋偺嬥棙堷偒忋偘偵帄偭偰偄側偄丅 +傑偨丄宲懕揑側宱忢崟帤偵傛傝丄悽奅嵟戝偺嵚尃崙偱偁傝丄悽奅宱嵪偐傜偺攝摉傗棙巕偺庴偗庢傝偑師戞偵憹戝偟偰偄傞丅2010擭尰嵼丄擔杮偺懳奜帒嶻巆崅偼563挍5,260壄墌丄懳奜晧嵚巆崅偼312挍310壄墌偱丄嵎偟堷偒懳奜弮帒嶻巆崅偼悽奅嵟戝偺251挍4,950壄墌偱偁傞[170]丅 +擔杮偲偟偰偼悽奅嵟戝偺崟帤崙偱偁傞偑丄擔杮惌晎偼嵨擖偺47.9%偑岞嵚偱榙傢傟偰偄傞忬嫷偱偁傞乮暯惉23擭搙堦斒夛寁梊嶼乯[171]丅偟偐偟側偑傜丄擔杮崙嵚偺傎偲傫偳偼崙撪曐桳偱偁傝丄擔杮崙撪偺帒嶻偲側偭偰偄傞丅 +岎捠 [曇廤] +徻嵶偼乽擔杮偺岎捠乿傪嶲徠 +乽擔杮偺婇嬈堦棗 (嬻塣)乿丄乽擔杮偺婇嬈堦棗 (棨塣)乿丄偍傛傃乽擔杮偺婇嬈堦棗 (奀塣)乿傕嶲徠 +屆偔偐傜杒懢暯梞媦傃杒搶傾僕傾偺岎捠偺梫強偲偟偰奀塣傗峲嬻偵偍偄偰廳梫側埵抲傪愯傔丄悽奅揑偵桳悢偺婯柾偺奀塣夛幮傗峲嬻夛幮偑懚嵼偟丄奺崙傪寢傇丅傑偨丄傾僕傾偵偍偄偰嵟傕憗偔揝摴傪摫擖偟偨崙偺堦偮偱偁傝丄巹揝偵傛傞揝摴栐偑慡崙傪栐梾偟偰偄傞丅傑偨丄崅搙宱嵪惉挿埲崀丄儌乕僞儕僛乕僔儑儞偑恑傒丄摴楬栐丒崅懍帺摦幵愱梡摴楬栐偑敪払偟偰偄傞丅 +峲嬻 + + +MRJ偼丄嵟怴塻偺崙嶻彫宆椃媞婡偲偟偰奐敪偑恑傔傜傟偰偄傞師悽戙儕乕僕儑僫儖僕僃僢僩偱偁傞乮嶰旽峲嬻婡乯 +乽擔杮偺峲嬻婡嶻嬈乿傕嶲徠 +1950擭戙埲崀丄擔杮峲嬻偑擔杮偺僼儔僢僌丒僉儍儕傾偲偟偰崙撪奜偵楬慄傪峀偘丄傾僼儕僇傪彍偔慡戝棨傊廇峲偟丄尰嵼傕傾僕傾偺傒側傜偢悽奅偱傕桳悢偺婯柾傪屩傞峲嬻夛幮偲偟偰抦傜傟偰偄偨偑丄2010擭丄夛幮峏惗朄偺揔梡傪庴偗偨丅傑偨丄1980擭戙傑偱崙撪慄偺傒傪塣峲偟偨慡擔杮嬻桝偼丄尰嵼丄傾僕傾寳傪拞怱偵墷暷傊崙嵺慄傪塣峲偡傞丅 +1990擭戙埲崀偺婯惂娚榓傪庴偗丄僗僇僀儅乕僋傗杒奀摴崙嵺峲嬻丄僗僇僀僱僢僩傾僕傾峲嬻側偳偑怴婯嶲擖偟丄崙撪峲嬻塣捓偺堷偒壓偘偵婑梌偟偨丅 +抧曽傪拞怱偵嬻峘僀儞僼儔偑廩幚偟丄崙撪偵98傕偺嬻峘傪桳偡傞丅堦曽丄搒巗晹偵偍偗傞嬻峘僀儞僼儔偼丄惍旛搑忋偱枬惈揑側梕検晄懌偱偁傝丄峲嬻廩幚偺懌偐偣偲側偭偰偄傞丅 +揝摴 + + +怴姴慄偼丄戝搒巗娫傪寢傇JR偺崅懍姴慄揝摴偱偁傞乮N700宯乯 +徻嵶偼乽擔杮偺揝摴乿丄乽擔杮偺抧壓揝乿丄偍傛傃乽擔杮偺儌僲儗乕儖乿傪嶲徠 +柧帯堐怴埲崀丄1872擭乮柧帯5擭乯10寧14擔偺怴嫶墂乮偺偪偺幀棷墂乯 - 墶昹墂乮尰丒嶗栘挰墂乯娫偺奐捠傪旂愗傝偵丄崙嶔偲偟偰慡崙偵揝摴栐偑媫懍偵晘愝偝傟丄擔杮崙桳揝摴乮崙揝乯傗懠偺悢懡偔偺巹揝傊偲敪揥偟偨丅1970擭戙傑偱偵巹揝丄崙揝偲傕偵懡偔偺楬慄偑揹壔偝傟丄悽奅偵椺傪尒側偄婯柾偱暘崗傒丒昩扨埵偺僗働僕儏乕儖偱塣峴偝傟丄偦偺婯柾丄媄弍丄塣塩僲僂僴僂嫟偵悽奅嵟崅悈弨偲尵傢傟傞丅 +1964擭乮徍榓39擭乯偵崙揝乮尰嵼偺JR乯偵傛偭偰摫擖偝傟偨怴姴慄偼丄搒巗娫傪寢傇崅懍揝摴偲偟偰嬻楬偵暲傇抧埵傪抸偒丄嵼棃慄偲婯奿偑堎側傞偺偱慡崙偱奐捠偟偰偄側偄偑丄惍旛偑懕偔丅搒巗寳偱偼丄偦傟偵抧壓揝傗儌僲儗乕儖偑壛傢傞丅峏偵丄嬤擭偺娐嫬栤戣偺堄幆偐傜楬柺揹幵偑尒捈偝傟丄晉嶳導側偳偱儔僀僩儗乕儖偑摫擖偝傟偰偄傞丅 +2003擭乮暯惉15擭乯8寧偺壂撽搒巗儌僲儗乕儖慄乮備偄儗乕儖乯偺奐捠偵傛偭偰慡偰偺搒摴晎導偵峀偑傝丄2004擭乮暯惉16擭乯偺帪揰偱偺慡崙偵偍偗傞憤慡挿偼丄23,577 km偱偁傞丅 +摿昅偡傋偒偼丄崅懍揝摴栐偵傛傞崙撪峲嬻楬慄偺抲偒姺偊傪幚尰偟偮偮偁傞偙偲偱丄夁嫀偵傕怴姴慄奺楬慄偺奐捠偵敽偭偰暲峴偡傞峲嬻楬慄偑弴師惍棟偝傟偰偍傝丄杒奀摴怴姴慄丒儕僯傾拞墰怴姴慄偺奐捠偵傛偭偰搶嫗敪拝偺崙撪峲嬻楬慄偼戝暆偵嶍尭偝傟傞梊掕偱偁傞丅 +摴楬 + + +晉巑嶳偲擔杮偺戝摦柆偺梉宨丅嶳懁偺崙摴1崋偲奀懁偺搶柤崅懍摴楬乮惷壀導惷壀巗乯 +徻嵶偼乽擔杮偺摴楬乿丄乽擔杮偺崅懍摴楬乿丄偍傛傃乽擔杮偵偍偗傞帺摦幵乿傪嶲徠 +崅搙宱嵪惉挿埲崀丄帺摦幵嶻嬈偺曐岇傪栚揑偵丄崙撪偵偍偗傞棨塣偺庡椡傪僩儔僢僋偵偡傞惌嶔偑嵦梡偝傟偨偙偲側偳偐傜丄慡崙揑偵摴楬丒崅懍摴楬偺惍旛偑恑傔傜傟偨丅偟偐偟丄嬤擭丄搒巗晹傪拞怱偵枬惈壔偟偨廰懾傗捠峴椏偺崅偝丄挀幵僗儁乕僗妋曐偺崲擄偝丄娐嫬栤戣傊偺懳嶔偲偟偰丄揝摴傗峲嬻婡側偳偺岞嫟桝憲丄慏敃桝憲側偳偑尒捈偝傟偰偄傞丅 +2004擭乮暯惉16擭乯帪揰偱偺曑憰偝傟偨摴楬偺慡挿偼丄1,177,278 km偱偁傞丅 +奀塣 +乽奀塣#擔杮偺奀塣夛幮乿偍傛傃乽憿慏#擔杮偺憿慏巎乿傕嶲徠 +巐曽傪奀偵埻傑傟丄寚偐偣側偄塣憲庤抜偱偁傝丄増娸晹偵岺嬈抧懷傗恖岥偑廤拞偡傞棟桼偱傕偁傞丅擔杮梄慏傗彜慏嶰堜側偳偺悽奅桳悢偺婯柾傪帩偮慏夛幮偑19悽婭偺屻敿偐傜奺崙偲偺娫偵壿暔慏傗椃媞慏傪塣峲偟偰偒偨丅尰嵼丄拞搶傗搶撿傾僕傾偐傜愇桘傗揤慠僈僗側偳偺帒尮偑桝擖偝傟丄儓乕儘僢僷傗傾儊儕僇崌廜崙傊揹壔惢昳傗帺摦幵側偳偑桝弌偝傟傞丅崙撪峲楬偵偍偄偰傕戝彫偺慏夛幮偵傛偭偰懡悢偺壿媞僼僃儕乕傗崅懍慏偑塣峲偝傟傞丅傑偨丄憿慏暘栰偵偍偄偰傕丄偦偺媄弍椡偺崅偝偐傜悽奅桳悢偺婯柾傪曐偮丅 +媟拲 [曇廤] + +[僿儖僾] +^ 媑懞晲旻 亀屆戙揤峜偺抋惗亁乮妏愳彂揦丄1998乯 +^ 亀擔杮彂婭亁姫擵戞堦 恄戙忋 戞巐抜乽擔杮丄崯塢栯杻摣丅壓奆澚崯乿乮擔杮丄偙傟儎儅僩偲尵偆丅壓偼奆偙傟偵側傜偊乯 +^ 孎扟岞抝 亀戝墹偐傜揤峜傊 擔杮偺楌巎03亁乮島択幮丄2001擭乯丄媑揷岶 亀擔杮抋惗亁乮娾攇怴彂丄1997擭乯側偳 +^ 媑揷岶 亀擔杮偺抋惗亁乮娾攇怴彂丄1997擭乯 +^ 揤晲揤峜偼丄旘捁忩屼尨椷偑惉棫偡傞埲慜偺686擭偵杤偟偰偄傞丅 +^ 恄栰巙棽岝亀乽擔杮乿偲偼壗偐亁乮島択幮尰戙怴彂丄2005擭乯側偳 +^ 恄栰巙棽岝亀乽擔杮乿偲偼壗偐亁乮島択幮尰戙怴彂丄2005擭乯 +^ 屆揷搶嶑乽崙崋乿愡乮乽擔杮乿崁丄亀崙巎戝帿揟亁戞11姫丄媑愳峅暥娰丄1990擭乯 +^ 亀懕擔杮婭亁宑塤尦擭乮704擭乯幍寧忦偵丄埦揷恀恖傪幏愡巊偲偡傞尛搨巊偑搨乮戝廃乯偐傜婣崙偟偨偲偺婰弎偑偁傞丅 +^ 亀媽搨彂亁楍橞戞149乽搶埼乿丄乽榒殸幰丄屆榒搝殸栫丅乧擔杮殸幰丄榒殸擵暿庬栫丅埲懘殸嵼擔绮丄屘埲擔杮堊柤丅埥濰 榒殸帺湨懘柤晄夒丄夵堊擔杮丅埥塤 擔杮鋚彫殸丄暲榒殸擵抧丅乿 +^ 亀怴搨彂亁楍橞戞145乽搶埼乿丄乽擔杮丄屆榒搝栫丅乧屻鈉廗壞壒丄湨榒柤丄峏錴擔杮丅巊幰帺尵丄殸嬤擔強弌丄埲堊柤丅埥塤擔杮擳彫殸丄堊榒強暲丄屘朻懘錴丅乿 +^ 偙傟傜偺婰弎偼丄揤晲揤峜偑戝桭峜巕偺嬤峕挬掛傪柵朣偝偣偨恜怽偺棎傪帵偡偲偡傞愢偑偁傞丅 +^ 堜恀惉曟帍偼丄拞壺恖柉嫟榓崙偺锜惣徣惣埨巗撪岺帠尰応偱敪尒偝傟偨偲丄2004擭10寧偵敪昞偝傟偨丅 +^ 乽擔杮乿屇徧丄嵟屆偺椺偐 678擭偺曟帍丠拞崙偱敪尒 - 暥壔 - 挬擔怴暦 2011擭10寧22擔 +^ 栐栰慞旻亀乽擔杮乿偲偼壗偐亁乮島択幮丄2000擭乯丄恄栰巙慜宖彂側偳丅 +^ 恄栰巙棽岝偼丄擔杮偺徧偑拞崙偺悽奅娤偺拞偐傜惗傑傟偨壜擻惈傪巜揈偟偨忋偱丄屘偵擔杮偺崙崋偑搨偵庴偗梕傟傜傟偨偺偱偼側偄偐偲峫嶡偟偰偄傞丅 +^ 搶栰帯擵亀尛搨巊偲惓憅堾亁乮娾攇彂揦丄1992擭乯傗恄栰巙慜宖彂側偳丅 +^ a b 戞171夞崙夛 幙栤戞570崋 擔杮崙崋偵娭偡傞幙栤庡堄彂 廜媍堾岞幃僒僀僩 +^ 枩梩廤偱枍帉乽擔偺杮偺乿偼乽戝榓乮傗傑偲乯乿偵偐偐傞枍帉丅擔偺杮偺戝榓偺崙偺捔乮偟偢傔乯偲傕偄傑偡恄偐傕乮goo帿彂乽傂偺傕偲-偺乿[1]乯丅擔偺弌傞杮偺堄枴偐傜擔杮偺堎柤丅乽傂偺傕偲偺枛偺悽偵惗傑傟媼傂偮傜傓乮尮巵暔岅乯乿乮goo帿彂乽傂偺傕偲乿[2]乯丅傑偨乽擔偺杮偺崙乿偼擔偺杮偵摨偠丅乽擔偺杮偺崙偵擡怞乮偵傫偵偔乯偺晝曣偁傝乮塅捗曐暔岅乯乿[3] +^ 媽搨彂偵偼榒崙丒擔杮揱偑偁傝丄乽擔曈偵偁傞備偊偵擔杮傪傕偭偰柤偲側偡乿乮擔杮殸幰榒殸擵暿庬栫丄埲懘殸嵼擔绮丄屘埲擔杮堊柤乯偲偁傝丄偙傟傪乽僯僢儁儞乿乽僯僢億儞乿偺岅尮偲悇棟偡傞巎壠傕偄傞丅亀棩椷帪戙偺擔杮亁崱堜嬘堦乮PDF-P.194乯 +^ 亀擔杮彂婭亁姫擵戞堦 恄戙忋 戞巐抜乽擔杮丄崯塢栯杻摣丅壓奆澚崯乿乮擔杮丄偙傟儎儅僩偲尵偆丅壓偼奆偙傟偵側傜偊乯 +^ 娾嶈彫栱懢 亀擔杮偺崙崋亁乮媑愳峅暥娰丄1970乯丄媑揷岶 亀慜宖彂亁丅 +^ 媑揷搶嶑乽崙崋乿愡乮乽擔杮乿崁 亀崙巎戝帿揟亁丄媑愳峅暥娰丄1990乯 +^ 彫抮惔帯 亀擔杮岅偼埆杺偺尵岅偐? - 偙偲偽偵娭偡傞廫偺榖亁 妏愳彂揦丄2003丅 +^ 帥搰椙埨亀榓娍嶰嵥恾夛亁 +^ 媨嶈惓彑乽奀偐傜偺悽奅巎乿妏愳慖彂丄68暸丅鄆廈偼丄朒棄傗曽忎偲傕偵搶曽嶰恄嶳偺傂偲偮偱偁傞丅 +^ 乽桳娍丄峜榘丄惞怶丄戝憊乿摍丅椺奜偲偟偰乽戝尦丒戝柧丒戝惔乿偑偁傝丄偙偺3椺偺傒擇暥帤偱惓幃崙柤丅 +^ 擔杮崙偺岞報偱偁傞乽崙帲乿偱偼丄柧帯帪戙偵嶌惢偝傟偨乽戝擔杮殸帲乿偑巊梡偝傟懕偗偰偄傞丅 +^ 亀擔杮彂婭恄戙島弎亁憗堫揷戝妛恾彂娰憼 +^ 乽rib?n乿昞婰偼拞崙昗弨岅乮傑偨偼杒嫗岅乯偺応崌丅側偍丄拞崙岅偺傾儖僼傽儀僢僩昞婰偵偼偝傑偞傑側宍幃偑偁傝丄偙偺応崌偺乽ri乮擔乯乿傕宍幃偵傛偭偰乽rih乿乽jih乿側偳偲傕昞婰偝傟傞乮en:Bopomofo#Comparison傪嶲徠乯丅偮傑傝丄偙偺巕壒偼乽r乿偵傕乽j乿偵傕帡偨壒偱偁傝丄摿偵姫偒愩傪偟側偄抧堟乮戜榩撿晹側偳乯偱偼乽j乿傗乽z乿偵敪壒偑嬤偄丅堦曽丄戞2壒愡偺乽b乿偼乽p乿偺柍婥壒偱丄偄傢備傞戺壒偺乽b乿偲偼堎側傞偑丄傾儖僼傽儀僢僩偵偼偦傟偵憡摉偡傞暥帤偑側偄偨傔丄乽b乿偑梡偄傜傟傞丅乽?乿偼僔儏儚乕偩偑丄塸岅側偳偺濨枂曣壒偲偼惈奿偑堎側傞丄1偮偺撈棫偟偨曣壒乮乽僄乿偲乽僆乿偺拞娫偺傛偆側壒乯偱偁傞丅偙偺乽b?乿偵憡摉偡傞擔杮岅偺暥帤偑側偄偨傔丄偙偙偱偼曋媂忋丄乽儀乿偲偟偰偁傞丅 +^ 儀僩僫儉偼丄僼儔儞僗偺怉柉抧偵側傞傑偱娍帤傪巊梡偟偰偄偨帪戙偺柤巆丅儀僩僫儉岅戝帿揟側偳偱幚嵺偺敪壒傪妋擣偱偒傞丅 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-3 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-4 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-5 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-6 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-7 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-8 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-9 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-10 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-11 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-13 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-14 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-22 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-23 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-24 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-25 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-26 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-27 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-28 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-29 +^ 嬨廈戝妛晬懏恾彂娰強憼乽傾僕傾恾2乿-31 +^ 栐栰慞旻亀乽擔杮乿偲偼壗偐 擔杮偺楌巎00亁乮島択幮丄2000乯側偳 +^ 乽峀帿墤乿乮娾攇彂揦丄2008擭1寧戞6斉敪峴乯偵傛傟偽丄乽嬤戙乿偲偼乽峀媊偵偼嬤悽偲摨媊偱丄堦斒偵偼晻寶惂幮夛偺偁偲傪偆偗偨帒杮庡媊幮夛偵偮偄偰偄偆丅擔杮巎偱偼柧帯堐怴偐傜懢暯梞愴憟偺廔寢傑偱偲偡傞偺偑捠愢丅乿偲丄乽尰戙乿偲偼乽擔杮巎偱偼懢暯梞愴憟偺攕愴埲屻傑偨偼曐庣崌摨偺1955擭埲崀丄悽奅巎偱偼19悽婭枛偺掗崙庡媊惉棫婜埲屻丄儘僔傾妚柦偲戞堦師悽奅戝愴埲屻丄戞擇師悽奅戝愴屻側偳丄偝傑偞傑側嬫暘偑峴傢傟偰偄傞丅乿偲偦傟偧傟掕媊偝傟偰偄傞丅 +^ 栐栰慞旻 亀慜宖彂亁丅 +^ 崅桍岝庻丒抾撪棟嶰曇亀妏愳擔杮巎帿揟 戞擇斉亁乮妏愳彂揦丄1974擭12寧敪峴乯偺乽棶媴墹崙乿偺崁栚偵傛傟偽丄乽1609乮宑挿14乯嶧杸斔偑戝孯傪傕偭偰惇暈偟丄埲屻嶧杸偼棶媴偺墹崙懱惂傪壏懚偟丄墏旤彅搰傪捈妽抧偲偟丄棶媴墹崙偵峷擺傪壽偟丄撨攅偵嵼斣曭峴傪抲偄偨丅乿偲婰偝傟偰偄傞丅 +^ 慜宖偺乽彫妢尨彅搰乿偵傛傟偽丄乽1827乮暥惌10乯僀僊儕僗孯娡偑扵専丄愯椞丅偦偺屻傾儊儕僇恖偑堏廧丅乿偲婰嵹偝傟偰偄傞丅 +^ 亀楌巎丄枹棃傪傒偮傔偰亁嫵堢弌斉 +^ 崅桍岝庻丒抾撪棟嶰曇亀妏愳擔杮巎帿揟 戞擇斉亁乮妏愳彂揦丄1974擭12寧敪峴乯偺乽枮廈帠曄乿偺崁栚偵傛傟偽丄乽1931擭乮徍榓6擭乯9寧18擔偺桍忦屛帠審偵傛偭偰奐巒偝傟偨擔杮偺枮廈乮拞崙搶杒晹乯怤棯愴憟丅乿偲婰偝傟偰偄傞丅 +^ 擔拞娯3崙嫟捠楌巎嫵嵽埾堳夛曇亀擔杮丒拞崙丒娯崙嫟摨曇廤 枹棃傪傂傜偔楌巎 搶傾僕傾3崙偺嬤尰戙巎亁乮崅暥尋丄2005擭5寧敪峴乯偺乽戞3復 怤棯愴憟偲柉廜偺旐奞乿偺乽1愡 擔杮偺拞崙搶杒抧曽傊偺怤棯乿偺乽1 枮廈帠曄乿偺105儁乕僕偺嵍忋偵宖嵹偝傟偰偄傞乽儕僢僩儞挷嵏彂乮堦晹乯乿偵傛傟偽丄乽枮廈偺庡尃偼拞崙偵懏偡傞丅擔杮孯偺孯帠峴摦偼惓摉側傞帺塹峴摦偲偼擣傔傜傟側偄丅乮枮廈崙乯惌晎偺巜摫幰偼柤栚忋枮廈恖偱偁傞偑丄幚尃偼擔杮偺姱椈偲屭栤偑彾埇偟偰偄傞丅尰抧偺拞崙恖偺栚偵偼丄擔杮恖偺摴嬶偵側偭偰偄傞偲塮偭偰偄傞丅乿偲婰嵹偝傟偰偄傞丅 +^ 撨壪捠悽偼丄亀堒彂亁偺揂尯拲偵丄1260擭偵堦搙乮姳巟堦塣偺60擭乮乽1尦乿乯亊21尦亖乽1幜乿乯偺恏撗擭偵偼戝妚柦偑婲偙傞偲偁傝丄偙傟傪傕偭偰悇屆揤峜9擭乮601擭乯偺恏撗擭偐傜1260擭慜偱摉偨傞婭尦慜660擭偵恄晲揤峜偑懄埵偟偨偲偝傟偨偲偡傞愢傪彞偊偨丅側偍丄恄晲揤峜偵嶦偝傟偨挿悜旻偺孼埨擔旻偑捗寉偵朣柦偟偨偙偲傪傕偭偰擔杮偺寶崙偲偡傞屆暥彂丒屆暥專乮亀拞懜帥暥彂亁丄亀暯愹嶨婰亁側偳乯偑搶杒抧曽偵揱傢傞丅 +^ 堦晹偺尰峴朄偱偼桳岠丅乽塠擭僯娭僗儖審乿乮柧帯31擭捄椷戞90崋乯側偳偺朄棩暥彂偵婰嵹偝傟偰偄傞 +^ 擔杮偺寷朄懱宯偱偼丄怴媽寷朄偲傕偵椞搚婯掕偑懚嵼偣偢丄斾妑朄妛偺娤揰偱偼偙傟偼堎椺偱偁傞丅柧帯寷朄偵偼椞搚婯掕偑側偔丄儘僄僗僄儖埬偺抜奒偵偍偄偰偼丄椞搚偼帺柧偺傕偺偱偁傝丄傑偨崙懱偵娭傢傝媍堾偵懏偝側偄傕偺偩偲偟偰椞搚婯掕偼棫偪徚偊偨偺偱偁傞偑丄幚嵺偵偼儘僄僗僄儖偺擣幆偲偼堎側傝擔杮偺椞搚偼杒乮姃懢丒杒奀摴乯傕撿乮棶媴乯傕懳奜惌嶔偼晄埨掕側拞偵偁偭偨丅偙偺帠忣偼柧帯惌晎偵偲偭偰岲搒崌偱偁偭偨偙偲偼妋偐偱業崪側傕偺偲偟偰偼乽変僇寷朄僴椞搚僯廇僀僥婯掕僗儖強僫僔丄彅崙寷朄僲埥僴椞搚儝楍嫇僗儖僩恟僞堎儗儕丄僒儗僴変僯嵼儕僥僴丄椞搚僲妉摼僴寷朄夵惓僲庤懕儝梫僙僗乿乮忋悪怲媑乽怴峞丒寷朄弎媊乿1924擭P.143乯偲夝偝傟偰偄偨丅*乽寷朄偵偍偗傞椞搚乿愇懞廋乮朄惂棟榑39pp158-185.2007-03.怴妰戝妛朄妛夛ISSN-0286-1577乯[4][5]*乽怉柉抧朄惂偺宍惉-彉愢-乿愇懞廋乮愱廋戝妛朄壢戝妛堾 戞6夞搶傾僕傾朄揘妛夛僔儞億僕僂儉乯[6] +^ 崙搚岎捠徣僒僀僩 棧搰怳嫽壽 棧搰偲偼乮搰偺婎慴抦幆乯[7] 2009擭11寧27擔墈棗 +^ 奀忋曐埨挕奀梞忣曬晹. 乬擔杮偺椞奀摍奣擮恾乭. 2007擭9寧13擔墈棗丅 +^ 乬奀忋曐埨挕僷儞僼儗僢僩乭. 奀忋曐埨挕. 2012擭4寧28擔墈棗丅 +^ 乬擔杮偺戝棨扞奼挘丄崙楢偑擣掕丂壂僲捁搰廃曈側偳乭. 擔宱怴暦. (2012擭4寧28擔) 2012擭4寧28擔墈棗丅 +^ 掗崙彂堾曇廤晹亀怴曇昗弨崅摍抧恾 嵟怴斉亁乮掗崙彂堾丄2003擭9寧敪峴乯偺乽婥岓乮擇乯乿偺乽(2) 擔杮偵偍偗傞働僢儁儞偺婥岓嬫乿乮102儁乕僕塃忋乯偵傛傞丅 +^ 1970擭戙埲崀丄墶偽偄忬嫷偵偁傞丅僽儔僕儖57%丄僇僫僟51%側偳丄尭彮孹岦偵偁傞悽奅奺崙偺怷椦棪偵斾傋傞偲撍弌偟偨悢抣偱偁傞丅 +^ 乬擔杮偺儔儉僒乕儖忦栺幖抧乭. 娐嫬徣. 2011擭4寧4擔墈棗丅 +^ 乬擔杮嬤奀偼惗暔懡條惈偺儂僢僩僗億僢僩丄慡奀梞惗暔庬悢偺14.6%偑暘晍 (PDF)乭. 奀梞尋媶奐敪婡峔 (2010擭7寧26擔). 2010擭10寧16擔墈棗丅 +^ 嶰嫶婯岹亀娐嫬宱嵪擖栧亁擔宱暥屔:2007 +^ 扟壀晲梇丒嶳岥宐堦榊娔廋丒嶰徣摪曇廤強曇亀僐儞僒僀僗擔杮抧柤帠揟 戞3斉亁乮嶰徣摪丄1989擭12寧敪峴乯偺乽拞晹抧曽乿偺崁栚偵傛傟偽丄乽杒棨丒搶嶳乮拞墰崅抧乯丒搶奀偺3抧曽偵嬫暘偝傟傞乿偲婰嵹偝傟偰偄傞丅 +^ 亀峀帿墤亁乮娾攇彂揦丄2008擭1寧戞榋斉敪峴乯偺乽拞晹抧曽乿偺崁栚偵傕丄乽杒棨丒拞墰崅抧丒搶奀偺3抧曽偵傕嬫暘偝傟傞丅乿偲婰嵹偝傟偰偄傞丅 +^ 扟壀晲梇丒嶳岥宐堦榊娔廋丒嶰徣摪曇廤強曇亀僐儞僒僀僗擔杮抧柤帠揟 戞3斉亁乮嶰徣摪丄1989擭12寧敪峴乯偺乽杒棨抧曽乿偺崁栚偵傛傟偽丄乽杒棨3導丗晉嶳丒愇愳丒暉堜, 杒棨4導丗杒棨3導偵怴妰導傪壛偊傞丅晛捠4導偺憤徧丅忋戙偐傜偺杒棨摴偺抧堟丅乿偲側偭偰偄傞丅 +^ 亀峀帿墤亁乮娾攇彂揦丄2008擭1寧戞榋斉敪峴乯偺乽杒棨乿偺崁栚偵傛傟偽丄乽(1)晉嶳丒愇愳丒暉堜丒怴妰4導偺憤徧丅杒棨抧曽丅(2)杒棨摴偺棯乿偲側偭偰偄傞丅 +^ 崅桍岝庻丒抾撪棟嶰曇亀妏愳擔杮巎帿揟 戞擇斉亁乮妏愳彂揦丄1974擭12寧敪峴乯偺乽杒棨摴乿偺崁栚偵傛傟偽丄乽垽敪乮偁傜偪乯偺娭埲杒偺擔杮奀偵柺偟偨庒嫹丒墇慜丒墇拞丒墇屻丒壛夑丒擻搊丒嵅搉偺7崙偐傜側傞丅乿偲側偭偰偄傞丅 +^ 扟壀晲梇丒嶳岥宐堦榊娔廋丒嶰徣摪曇廤強曇亀僐儞僒僀僗擔杮抧柤帠揟 戞3斉亁乮嶰徣摪丄1989擭12寧敪峴乯偺乽搶嶳抧曽乿偺崁栚偵傛傟偽丄乽婒晫丒挿栰丒嶳棞3導偺抧丅抧棟揑偵偼婒晫導偱偼杒晹偺旘懰乮傂偩乯偺傒傪娷傒, 撿晹偺旤擹乮傒偺乯偼搶奀抧曽偵懏偡傞丅乿偲側偭偰偄傞丅 +^ 慜宖偺乽拞墰崅抧乿偺崁栚偵傛傟偽丄乽嶳棞丒挿栰丒婒晫3導偵傑偨偑傞杮廈拞墰晹偺崅抧抧堟偺徧丅乮拞棯乯抧棟嬫偲偟偰偼搶嶳抧曽偲摨媊偱, 搶奀抧曽丒杒棨抧曽偵懳偡傞丅乿偲側偭偰偄傞丅 +^ 崅桍岝庻丒抾撪棟嶰曇亀妏愳擔杮巎帿揟 戞擇斉亁乮妏愳彂揦丄1974擭12寧敪峴乯偺乽棶媴乿偺崁栚偵偼乽1609乮宑挿14乯嶧杸斔椞偲偟偰暘妱偝傟傞埲慜偺墏旤彅搰傪娷傓丅乿偲婰偝傟偰偄傞丅 +^ 幠揷晲曇亀悽奅偺偙偲偽彫帠揟亁乮戝廋娰彂揦丄1993擭6寧弶斉敪峴乯偺乽29 壂撽岅乿乮慏捗岲柧幏昅乯偺乽庡側巊梡抧堟乿偵傛傟偽丄乽峀偄堄枴偱偼墏旤偐傜敧廳嶳傑偱偺丄偄傢備傞棶媴岅寳傪丄嫹偄堄枴偱偼庱棦傪巜偡丅乿偲婰偝傟傞傎偐丄114暸偺抧恾偵傛傞偲丄僩僇儔楍搰偲墏旤彅搰偲偺娫偵乽尵岅嫬乿偑堷偐傟偰偄傞丅側偍丄乽偙偲偽偺攚宨乿偺朻摢偵偼乽壂撽岅偼擔杮岅偱偁傝丄嫟捠岅偵懳偟偰曽尵偲偟偰埵抲偯偗傜傟傑偡丅乿偲柧婰偟偰偄傞丅 +^ 挅愳椣岲娔廋丒嶰徣摪曇廤強曇亀嶰徣摪惗暔彫帠揟 戞4斉亁乮嶰徣摪丄1994擭2寧敪峴乯偺乽搉悾慄乿偺崁栚偵傛傟偽丄乽歁擕椶丒椉惗椶丒唳拵椶丒僔儘傾儕側偳偵偮偄偰挷嵏偟偨寢壥丄媽杒嬫偲媽搶梞嬫偲偺暘晍嫬奅慄偲偟偰採彞偟偨墏旤戝搰偲壆媣搰偺娫偺慄乿偲婰偝傟偰偄傞丅 +^ 椺偊偽搶嫗奜崙岅戝妛岅妛尋媶強曇亀悽奅偺尵岅僈僀僪僽僢僋 2 傾僕傾丒傾僼儕僇抧堟亁乮嶰徣摪丄1998擭3寧敪峴乯偺乽擔杮岅乿乮憗捗宐旤巕幏昅乯偺乽1 巊梡恖岥丒暘晍抧堟乿偺294暸偵宖嵹偝傟偰偄傞抧恾偵傛傟偽丄棶媴曽尵偼墏旤丒壂撽丒愭搰偺3曽尵偐傜峔惉偝傟偰偄傞昤偒曽偲側偭偰偄傞丅側偍丄乽2 宯摑丒楌巎乿偵偼乽棶媴彅搰偱榖偝傟偰偄傞尵岅偲杮搚偱榖偝傟偰偄傞尵岅偲偑摨宯偱偁傞偙偲偼丄尵岅妛揑偵偼柧傜偐偩偲偝傟丄擔杮岅偺曽尵偲偟偰傑偢戝偒偔丄棶媴曽尵偲杮搚曽尵偵暘偗傞偺偑堦斒揑偱偁傞丅乿偲傕柧婰偟偰偄傞丅 +^ 掗崙彂堾曇廤晹曇亀昗弨崅摍抧恾-抧恾偱撉傓尰戙幮夛-怴掶斉亁乮掗崙彂堾丄2004擭1寧敪峴乯偺乽摑寁帒椏乿偺偆偪乽(12)擔杮偺偍傕側搒巗偺寧暯嬒婥壏丒寧崀悈検乿偵傛傞偲丄乽撿惣彅搰偺婥岓乿偺婥岓嬫偲偟偰墏旤巗柤悾偲撨攅偑楍嫇偝傟偰偄傞丅 +^ 憤柋徣摑寁嬊 (2007擭1寧22擔). 乬恖岥悇寁寧曬乭. 2007擭9寧13擔墈棗丅 +^ Central Intelligence Agency, "Japan". 乬The World Fact Book Online ed.乭. 2007擭9寧13擔墈棗丅 +^ 亀暯惉22擭崙惃挷嵏 恖岥懍曬廤寁寢壥 慡崙丒搒摴晎導丒巗嬫挰懞暿恖岥媦傃悽懷 摑寁昞亁乮憤柋徣摑寁嬊丄2011擭2寧25擔敪昞乯偵傛傞丅 +^ 慜宖偵傛傞丅 +^ 乬The World Factbook乭 (塸岅). CIA (2012擭3寧6擔). 2012擭3寧25擔墈棗丅 +^ a b 恖岥摑寁[儕儞僋愗傟] 偍傛傃婣壔摑寁 擔杮崙 憤柋徣 摑寁嬊 +^ 乽挬慛愴憟偲擔杮偺懳墳乿彲巌弫堦榊乮杊塹尋媶強婭梫戞8姫戞3崋2006.3乯[8]2復P.44埲崀偵徻偟偄 +^ 偙偙偐傜偺婰弎偵偮偄偰亀彂昡:埨堜嶰媑挊:掗崙擔杮偲壺嫛-擔杮丒戜榩丒挬慛亁捖棃岾乮尰戙拞崙尋媶戞19崋2006.10.7乯[9][10]偐傜婲昅偟偨丅 +^ 柧帯32擭捄椷戞352崋乽忦栺庒僴姷峴僯埶儕嫃廧僲帺桼儝桳僙僒儖奜崙恖僲嫃廧媦塩嬈摍僯娭僗儖審乿 +^ 捖棃岾2006.10.7偵傛傟偽乽娯崙恖偵偼姷峴偵傛傝撪抧嶨嫃偑梕擣偝傟偰偄乮偨乯乿乮P.75丄PDF-P.3乯 +^ 嵼擔戜榩恖偼1930擭戙偵擖傞傑偱偼彮側偔丄偟偐傕偦偺戝敿偼棷妛惗偱偁偭偨偲偄傢傟偰偄傞丅乽嬤戙擔杮偲奜崙恖楯摥幰乿嶳榚孾憿乮柧愇彂揦1994乯P.11 +^ 乽戞擇師悽奅戝愴慜屻偺擔杮偵偍偗傞戜榩弌恎幰偺掕廧偺堦夁掱乿墿壝鹔 乮奀峘搒巗尋媶 恄屗戝妛暥妛晹 奀峘搒巗尋媶僙儞僞乕2008.03乯[11][12] +^ 1920擭戙偺搶嫗嵼廧拞崙恖楯摥幰偵偮偄偰偼乽1920擭戙偺搶嫗晎偵偍偗傞拞崙恖楯摥幰偺廇嬈峔憿偲嫃廧暘壔乿垻晹峃媣乮柤屆壆戝妛恖暥抧棟戞51姫戞1崋1999擭乯[13][14]偑徻偟偄丅 +^ 挬慛椞堟偺奜偵弌傞傕偺偼嫃廧抧強妽寈嶡彁側偄偟挀嵼強偑徹柧彂傪壓晅偡傞偙偲傪婯掕偟偨丅椃峴撏弌嫋壜惂丅挬慛愋恇柉偼擔杮傊偺椃峴乮偁傞偄偼偦偺柤栚偱偺揮弌乯偼戝暆偵惂尷偝傟偨偑丄枮廈傊偺椃峴偼傎偲傫偳惂尷偑側偔丄惻娭怰嵏掱搙偱偺搉峲傗椃峴偑擣傔傜傟偰偄偨丅亀怉柉抧挬慛偵偍偗傞挬慛憤撀晎偺娤岝惌嶔亁棝椙昉乮杒搶傾僕傾尋媶戞13崋2007擭3寧 搰崻導棫戝妛杒搶傾僕傾抧堟尋媶僙儞僞乕 乯[15][16] +^ 偙傟偼愴帪拞偵椬慻偺堦堳偲偟偰擣傔偰傕傜偆偙偲偑偱偒偢丄攝媼偑庴偗傜傟側偄側偳偺嬶懱揑側崲擄偲偟偰尰傟偨丅 +^ 嵸敾強朄74忦偱偼丄乽嵸敾強偱偼丄擔杮岅傪梡偄傞丅乿偲掕傔傜傟偰偄傞丅 +^ 奜崙岅傪惓暥偲偡傞忦栺偼丄擔杮偵偍偗傞崙撪朄揑岠椡偵拲栚偡傟偽丄乽奜崙岅偱婰偝傟偨擔杮朄乿偲偄偆偙偲偵側傞丅 +^ 暥晹壢妛徣 (1995擭11寧1擔). 乬戞擇乑婜崙岅怰媍夛 怴偟偄帪戙偵墳偠偨崙岅巤嶔偵偮偄偰乮怰媍宱夁曬崘乯乭. 2009擭12寧29擔墈棗丅 +^ 愇堜暷梇曇亀悽奅偺偙偲偽丒帿彂偺帿揟 傾僕傾曇亁乮嶰徣摪丄2008擭8寧敪峴乯偺乽棶媴岅乿乮崅峕廎棅巕幏昅乯偺朻摢偵丄乽棶媴岅偼墏旤戝搰偐傜梌撨崙傑偱嫍棧偵偟偰栺1,000僉儘儊乕僩儖偵傢偨傞棶媴楍搰偺搰乆偱榖偝傟偰偒偨尵岅偺憤徧偱偁傞丅戝偒偔偼墏旤丒壂撽曽尵孮乮杒棶媴曽尵乯偲媨屆丒敧廳嶳曽尵孮乮撿棶媴曽尵乯偵嬫暘偝傟, 椉幰偼傑偭偨偔捠偠側偄偔傜偄堎側偭偰偄傞丅偝傜偵曽尵偼搰偛偲偵堎側傝, 嵶偐偔偼懞棊嫟摨懱偺帤偛偲偵堎側傞偲偄傢傟偰偒偨丅乿偲婰嵹偝傟偰偄傞丅 +^ 妬栁庽丒拞搰桼旤丒椦揙曇亀帠揟 悽奅偺偙偲偽141亁乮戝廋娰彂揦丄2009擭8寧弶斉敪峴乯偺乽2 壂撽岅乿乮惣壀晀幏昅乯偺乽偳傫側尵岅丠乿偵偼丄乽僂僠僫乕僌僠偼棶媴彅曽尵偺1偮偱壂撽曽尵偲傕屇偽傟丄杒棶媴曽尵孮偵懏偟傑偡丅摨偠偔杒棶媴曽尵孮偵懏偡傞偺偼墏旤彅搰偺墏旤曽尵偱丄偙偪傜偼峴惌揑偵幁帣搰導偵懏偟傑偡丅偙偺峴惌嬫暘偼丄17悽婭偼偠傔丄擔杮偺嶧杸斔偑棶媴傪峌傔偰丄墏旤彅搰傪捈妽抧偵丄壂撽彅搰埲撿傪棶媴墹崙偺巟攝偵擟偣偨偙偲偵桼棃偟傑偡丅壂撽偲墏旤偑尵岅揑偵嬤偄偺偵斾傋丄摨偠壂撽導偵懏偟偰偄傞媨屆丒敧廳嶳偺尵岅偼壂撽搰偺尵岅偲捠偠崌傢側偄傎偳堎側傝丄撿棶媴曽尵孮傪宍惉偟偰偄傑偡丅乿偲婰嵹偝傟偰偄傞丅 +^ 1973擭6寧28擔嶲媍堾撪妕埾堳夛丄惌晎埾堳媑殸堦榊撪妕朄惂嬊挿姱摎曎 +^ 儘僔傾偑幚岠巟攝偟偰偄傞6懞偼悢偵娷傑傟偰偄側偄丅 +^ 挰懞憤夛偺応崌傕偁傞丅 +^ 朄柋徣. 乬斊嵾敀彂>暯惉19擭斉偺斊嵾敀彂>戞2曇 斊嵾幰偺張嬾>戞3復 嵸敾>戞1愡 廔嬊嵸敾>1 嵸敾妋掕恖堳>2-3-1-1-昞 慡帠審嵸敾妋掕恖堳乭. 2008擭8寧26擔墈棗丅 +^ 朄柋徣. 乬斊嵾敀彂>暯惉15擭斉偺斊嵾敀彂>戞2曇 斊嵾幰偺張嬾>戞3復 嵸敾>戞1愡 廔嬊嵸敾>1 嵸敾妋掕恖堳>2-3-2-1-昞 慡帠審嵸敾妋掕恖堳乭. 2008擭8寧26擔墈棗丅 +^ 朄柋徣. 乬斊嵾敀彂>暯惉14擭斉偺斊嵾敀彂>戞2曇 斊嵾幰偺張嬾>戞3復 嵸敾>戞2愡 廔嬊嵸敾>1 嵸敾妋掕恖堳>2-3-2-1-昞 慡帠審嵸敾妋掕恖堳乭. 2008擭8寧26擔墈棗丅 +^ 朄柋徣. 乬斊嵾敀彂>暯惉9擭斉偺斊嵾敀彂>戞2曇 寷朄巤峴50擭偺斊嵾幰張嬾>戞4復 嵸敾>戞2愡 廔嬊嵸敾>1 慡帠審嵸敾妋掕恖堳>II-4昞 慡帠審嵸敾妋掕恖堳乭. 2008擭8寧26擔墈棗丅 +^ a b 斊嵾偺悽奅傪昚偆. 乬巰孻幏峴丒敾寛悇堏乭. 2008擭8寧26擔墈棗丅 +^ 朄柋徣. 乬斊嵾敀彂>徍榓35擭斉偺斊嵾敀彂>戞2曇 斊嵾幰偺妋掕>戞1復 斊嵾偺憑嵏丄専嶡偍傛傃嵸敾>戞5愡 廔嬊嵸敾>1 巰孻>II-37昞 嵾柤暿偺巰孻妋掕恖堳摍乭. 2008擭8寧26擔墈棗丅 +^ 朄柋徣. 乬斊嵾敀彂>徍榓43擭斉偺斊嵾敀彂>栚師>戞3曇 斊嵾偲斊嵾幰張嬾偺100擭>III-7昞 巰孻幏峴恖堳乮柧帯6乣徍榓42擭乯乭. 2008擭8寧26擔墈棗丅 +^ Reporters sans frontieres - Japan - Annual report 2007 +^ Reporters sans frontieres - Annual Worldwide Press Freedom Index - 2007 +^ 戜榩弌恎偺墿暥梇偼丄擔拞娭學偼乽恊慞乿偱偼側偔乽桭岲乿偱偁傝丄乽屶墇摨廙乿忬懺偵偁傞偲偄偆乮巟撨偺杮幙傛傝乯丅 +^ http://www.tokyo-np.co.jp/article/world/news/CK2012053102000083.html +^ 嵼戝娯柉崙擔杮崙戝巊娰 娯崙惌晎偵傛傞擔杮暥壔奐曻惌嶔 2003.12.30 +^ 楅栘堦巌 娯崙偵偍偗傞擔杮戝廜暥壔偺奐曻 2004擭3寧15擔 +^ 媿嶳棽堦 (2010擭12寧13擔). 乬擔僞僀杅堈丄擔拞偵彑傞嬞枾搙乮傾僕傾Biz怴挭棳乯乭. 擔杮宱嵪怴暦 2010擭12寧14擔墈棗丅 +^ a b 挰懞戝恇偺僽儖僱僀丄儀僩僫儉媦傃僇儞儃僕傾朘栤 乮奣梫偲昡壙乯 奜柋徣 +^ 僀儞僪僱僔傾偺寈嶡偵懳偡傞巗柉寈嶡妶摦懀恑僾儘僕僃僋僩偼丄擔杮偺岎斣僔僗僥儉側偳傪僀儞僪僱僔傾偵傕摫擖偟惉壥傪偁偘偨偲偄傢傟傞丅憪栰岤亀ODA偺尰応偱峫偊偨偙偲亁擔杮曻憲弌斉嫤夛 (2010/04) +^ 抦揑嵿嶻尃憤嬊傪懳徾偲偟偨抦揑嵿嶻偵娭偡傞朄惍旛巟墖[17]傗丄嵸敾強傪懳徾偲偟偨朄惍旛巟墖側偳乮2009擭傑偱)僀儞僪僱僔傾朄惍旛巟墖 +^ 徏旜旤峕乽僆儔儞僟擔宯2悽丄晝憑偟乗僀儞僪僱僔傾挀棷暫偺巕傜 暯屗偱岎棳夛乿亀挬擔怴暦亁2008擭9寧10擔晅挬姧乮挿嶈乯丄31暸丅 +^ 乬擔報庱擼夛択丄埨曐嫟摨愰尵偵彁柤乭. 嶻宱怴暦. 2008擭10寧22擔墈棗丅 +^ 1996擭2寧29擔丄枅擔怴暦婰帠傛傝丅 +^ 乬曬摴姱夛尒婰榐乮梫巪乯乮暯惉22擭1寧乯乭. 奜柋徣. 2012擭4寧28擔墈棗丅 +^ 梌撨崙搰壂偵奼戝 杊嬻幆暿寳丄戜榩偵愢柧 - 嶻宱怴暦[儕儞僋愗傟] 2010擭5寧26擔 +^ 戜榩偑乽堚姸乿 梌撨崙搰晅嬤偺杊嬻幆暿寳尒捈偟 - 挬擔怴暦[儕儞僋愗傟] 2010擭5寧29擔 +^ 乬擔杮恖偼乽悽奅堦娊寎偝傟傞娤岝媞乿乭. ITmedia. 2007擭5寧29擔墈棗丅 +^ UNODC. 乬Data and Analysis>Crime surveys>The periodic United Nations Surveys of Crime Trends and Operations of Criminal Justice Systems>Fifth Survey (1990 - 1994)乭. 2008擭8寧26擔墈棗丅 +^ UNODC. 乬Data and Analysis>Crime surveys>The periodic United Nations Surveys of Crime Trends and Operations of Criminal Justice Systems>Sixth Survey (1995 - 1997)>Sorted by variable乭. 2008擭8寧26擔墈棗丅 +^ UNODC. 乬Data and Analysis>Crime surveys>The periodic United Nations Surveys of Crime Trends and Operations of Criminal Justice Systems>Seventh Survey (1998 - 2000)>Sorted by variable乭. 2008擭8寧26擔墈棗丅 +^ UNODC. 乬Data and Analysis>Crime surveys>The periodic United Nations Surveys of Crime Trends and Operations of Criminal Justice Systems>Eighth Survey (2001 - 2002)>Sorted by variable乭. 2008擭8寧26擔墈棗丅 +^ UNODC. 乬Data and Analysis>Crime surveys>The periodic United Nations Surveys of Crime Trends and Operations of Criminal Justice Systems>Ninth Survey (2003 - 2004)>Values and Rates per 100,000 Total Population Listed by Country乭. 2008擭8寧26擔墈棗丅 +^ 擔杮桳帠偺嵺暷孯偼帺摦嶲愴偱偼側偄丅暷孯偼傾儊儕僇戝摑椞柦椷偵傛傝孯帠峴摦傪奐巒偡傞偑丄戝摑椞柦椷偐傜擇儢寧傪宱夁偟偨応崌丄暷孯偺妶摦宲懕偵偼暷崙媍夛偺摨堄偑昁梫偲側傞丅嵟弶偺戝摑椞柦椷丄偦偟偰擇儢寧宱夁屻媍夛偺摨堄偑側偗傟偽丄暷孯偵傛傞擔杮偺杊塹偼峴傢傟側偄丅 揷曣恄弐梇 亀揷曣恄崙孯亁ISBN 978-4819111164 +^ 寷朄偲偺寭偹崌偄偐傜惓幃側崙孯壔偑偝傟偰偄側偄偑丄僴乕僌棨愴忦栺偑掕傔傞偲偙傠偺岎愴帒奿傪帩偮抍懱偺忦審傪桳偟偰偍傝丄帠幚忋偺孯戉偲尒橍偝傟傞 +^ Vision of Humanity>Global Peace Index - Methodology and Data Sources 2009擭10寧6擔墈棗 +^ Vision of Humanity>Global Peace Index 2009擭10寧6擔墈棗 +^ SIPRI>Databases>sources and methods>SIPRI military expenditure database on line>SIPRI Military Expenditure Database 2009擭10寧6擔墈棗 +^ CIA>World Factbook>Country Comparison>Military expenditures 2009擭10寧6擔墈棗 +^ a b SIPRI>Military Expenditure and Arms Production>data on military expenditure>The 15 major spender countries in 2008(table) 2009擭10寧6擔墈棗 +^ 摨柨崙暷偵傛傞巜揈偲惀惓梫惪僔乕僼傽乕暷挀擔戝巊丄杊塹旓偺憹妟傪婜懸(嶻宱怴暦2008擭5寧20擔攝怣)[儕儞僋愗傟]JapanToday斉 +^ 暷崙杊師姱曗乽杊塹梊嶼傗巚偄傗傝梊嶼傪憹傗偡傋偒乿帪帠捠怣2010擭7寧27擔 +^ 晲婍桝弌嶰尨懃乽尒捈偟傕乿 杒戲杊塹憡乮嫟摨捠怣2010/01/12攝怣乯 +^ 杊塹徣>朄椷丄梊嶼媦傃寛嶼>杊塹梊嶼娭楢暥彂>変偑崙偺杊塹偲梊嶼>暯惉21擭搙梊嶼偺奣梫>PDF偺27儁乕僕丄暥彂偺24儁乕僕 2009擭10寧6擔墈棗 +^ SIPRI>Military Expenditure and Arms Production>data on military expenditure>Recent trends in military expenditure 2009擭10寧6擔墈棗 +^ 撪妕晎>摑寁忣曬丒挷嵏寢壥>SNA>2. 摑寁昞堦棗>朄椷丄梊嶼媦傃寛嶼>1-2. 帪宯楍昞乮GDP丒屬梡幰曬廣乯 (2) 帪宯楍昞 I. 崙撪憤惗嶻乮巟弌懁乯媦傃奺廀梫崁栚>柤栚楋擭>PDF偺31儁乕僕 2009擭10寧6擔墈棗 +^ 杊塹徣>朄椷丄梊嶼媦傃寛嶼>杊塹梊嶼娭楢暥彂>変偑崙偺杊塹偲梊嶼>暯惉20擭搙梊嶼偺奣梫>PDF偺32儁乕僕丄暥彂偺30儁乕僕 2009擭10寧6擔墈棗 +^ 杊塹徣>朄椷丄梊嶼媦傃寛嶼>杊塹梊嶼娭楢暥彂>変偑崙偺杊塹偲梊嶼>暯惉21擭搙梊嶼偺奣梫>PDF偺31儁乕僕丄暥彂偺28儁乕僕&PDF偺36儁乕僕丄暥彂偺33儁乕僕 2009擭10寧6擔墈棗 +^ 拞崙偺孯帠椡傪嫼埿偵偟偑偪側梫場偺1偮偼丄偦偺孯帠懺惃偺旈枾惈偵偁傞丅屆怷 媊媣乮僕儍僷儞價僕僱僗僾儗僗2012.06.20宖嵹)傛傝堷梡 +^ 乽戜榩偼丄拞壺恖柉嫟榓崙偺恄惞側椞搚偺堦晹偱偁傞丅慶崙摑堦偺戝嬈傪姰惉偡傞偙偲偼丄戜榩偺摨朎傪娷傓丄慡拞崙恖柉偺恄惞側愑柋偱偁傞丅乿拞崙偺寷朄乮崙?乯彉暥傛傝堷梡 +^ 撈棫峴惌朄恖嶻嬈媄弍憤崌尋媶強朶業學悢僴儞僪僽僢僋[18] +^ 岤惗楯摥徣. 乬擔杮恖偺暯嬒梋柦乭. 2008擭4寧9擔墈棗丅 +^ 悽奅曐寬婡娭乮WHO乯. 乬Data and statistics乭. 2008擭4寧9擔墈棗丅 +^ WHO. 乬Data and Statistics>World Health Statistics 2007 - Health systems human resources乭. 2008擭5寧4擔墈棗丅 +^ WHO. 乬Data and Statistics>World Health Statistics 2007 - Health systems expenditures in health乭. 2008擭5寧4擔墈棗丅 +^ 嶳揷徆峅亀彮巕幮夛擔杮乗傕偆傂偲偮偺奿嵎偺備偔偊亁乮娾攇怴彂丄2007擭乯 +^ 朄椷僨乕僞採嫙僔僗僥儉. 乬帺嶦懳嶔婎杮朄乭. 2008擭6寧19擔墈棗丅 +^ http://www.treasury.gov/resource-center/data-chart-center/tic/Documents/mfh.txt +^ http://www.shugiin.go.jp/itdb_kaigiroku.nsf/html/kaigiroku/001817820110927002.htm?OpenDocument +^ http://www.shugiin.go.jp/itdb_kaigiroku.nsf/html/kaigiroku/003018020120302001.htm?OpenDocument +^ 媽嫟嶻寳傗娯崙丄儊僉僔僐丄僩儖僐側偳偼娷傑傟側偄 +^ 乬憤柋徣摑寁嬊乹2乺乮廇嬈忬懺丄姰慡幐嬈幰悢丄姰慡幐嬈棪摍乯乭. 2009擭5寧30擔墈棗丅 +^ 擾椦悈嶻徣崙嵺晹崙嵺惌嶔壽 (2006擭5寧23擔). 乬擾椦悈嶻暔桝弌擖奣嫷乮2005擭乯 (PDF)乭. 2007擭9寧13擔墈棗丅 +^ 擔杮嬧峴敓娰巟揦. 乬嵟嬤偺悈嶻暔偺桝弌媫憹偲偦偺攚宨乮2005擭乯乭. 2010擭2寧10擔墈棗丅 +^ 擔杮抧幙妛夛 抧幙慡斒Q&A[19]Q25. +^ 2004擭[20] +^ 栴栰峆懢婰擮夛曇亀擔杮崙惃恾夛亁2004/05擭斉乮戞62斉乯丄2004擭6寧丄ISBN 4-87549-132-8 +^ 乬暯惉22擭枛 杮朚懳奜帒嶻晧嵚巆崅偺奣梫乮嶲峫3乯 (PDF)乭. 嵿柋徣. 2012擭4寧18擔墈棗丅 +^ 乬擔杮偺嵿惌娭學帒椏 (PDF)乭. 嵿柋徣. 2012擭4寧18擔墈棗丅 +嶲峫暥專 [曇廤] + +扟壀堦榊丄恗揷摴晇丄娾堜婭巕亀擔杮恖偺堄幆偲峴摦亁搶嫗戝妛弌斉夛 ISBN 978-4-13-056101-3 +娭楢崁栚 [曇廤] + + 億乕僞儖 擔杮 + 擔杮偵娭楢偡傞儊僨傿傾偑偁傝傑偡丅 +擔杮偺娤岝 +戝擔杮掗崙寷朄壓偺擔杮 +楢崌崙孯愯椞壓偺擔杮 +擔杮岅 +愭恑崙 +榒 +榓晽 +奜晹儕儞僋 [曇廤] + +僂傿僉儁僨傿傾偺巓枀僾儘僕僃僋僩偱 +乽擔杮乿偵娭偡傞忣曬偑専嶕偱偒傑偡丅 + 僂傿僋僔儑僫儕乕偱帿彂崁栚 + 僂傿僉僽僢僋僗偱嫵壢彂傗夝愢彂 + 僂傿僉僋僅乕僩偱堷梡嬪廤 + 僂傿僉僜乕僗偱尨暥 + 僐儌儞僘偱儅儖僠儊僨傿傾 + 僂傿僉僯儏乕僗偱僯儏乕僗 + 僂傿僉僶乕僔僥傿偱妛廗巟墖 +惌晎 +撪妕晎 +庱憡姱揁 +憤柋徣摑寁嬊 +娤岝 +擔杮惌晎娤岝嬊 \ No newline at end of file diff --git a/test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt b/test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt new file mode 100644 index 0000000..890b7a1 --- /dev/null +++ b/test/testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt @@ -0,0 +1,1522 @@ +愮栭堦栭暔岅偺偁傜偡偠 +愮栭堦栭暔岅 > 愮栭堦栭暔岅偺偁傜偡偠 + 億乕僞儖 暥妛 +愮栭堦栭暔岅偺偁傜偡偠乮偣傫傗偄偪傗傕偺偑偨傝偺偁傜偡偠乯偱偼丄愮栭堦栭暔岅偺偁傜偡偠傪婰弎偡傞丅 +栭悢偲暔岅柤偼亀姰栿愮堦栭暔岅亁乮朙搰梌巙梇傎偐栿丄娾攇暥屔丄儅儖僪儕儏僗斉偺東栿丄ISBN 4-00-327801-1 傎偐慡13姫乯偵弨嫆丅 +僶乕僩儞斉傊偺懳墳偼丄亀僶乕僩儞斉 愮栭堦栭暔岅亁乮戝応惓巎栿丄拀杸彂朳偪偔傑暥屔丄ISBN 4-480-03841-8 傎偐慡11姫乯偵弨嫆丅 +搶梞暥屔斉傊偺懳墳偼丄傾儔價傾岅偺僇儖僇僢僞戞擇斉偐傜偺捈愙偺東栿偱偁傞亀傾儔價傾儞丒僫僀僩亁乮慜搱怣師丒抮揷廋栿丄暯杴幮搶梞暥屔丄ISBN 4-582-80071-8 傎偐慡18姫媦傃暿姫乯傊偺懳墳丅 +拲堄丗埲崀偺婰弎偱暔岅丒嶌昳丒搊応恖暔偵娭偡傞妀怱晹暘偑柧偐偝傟偰偄傑偡丅柶愑帠崁傕偍撉傒偔偩偝偄丅 +栚師 [旕昞帵] +1 僔儍僴儕儎乕儖墹偲掜僔儍僴僓儅乕儞墹偲偺暔岅 +2 彜恖偲婼恄乮僀僼儕乕僩乯偲偺暔岅乮戞1栭 - 戞3栭乯 +2.1 戞堦偺榁恖偺榖 +2.2 戞擇偺榁恖偺榖 +2.3 戞嶰偺榁恖偺榖 +3 嫏巘偲婼恄偲偺暔岅乮戞3栭 - 戞9栭乯 +3.1 僀僂僫儞墹偺戝恇偲堛巘儖僀傾儞偺暔岅 +3.1.1 僔儞僨傿僶乕僪墹偺戦 +3.1.2 墹巕偲怘恖婼偺暔岅 +4 壸偐偮偓恖懌偲壋彈偨偪偲偺暔岅乮戞9栭 - 戞18栭乯 +4.1 戞堦偺戯敨憁偺榖 +4.2 戞擇偺戯敨憁偺榖 +4.3 戞嶰偺戯敨憁偺榖 +4.4 戞堦偺壋彈僝僶僀僟偺榖 +4.5 戞擇偺壋彈傾儈僫偺榖 +5 巃傜傟偨彈偲嶰偮偺椦岀偲崟恖儕僴儞偲偺暔岅乮戞18栭 - 戞24栭乯 +5.1 戝恇僰乕儗僨傿儞偲偦偺孼戝恇僔儍儉僙僨傿儞偲僴僒儞丒僷僪儗僨傿儞偺暔岅 +6 偣傓偟抝偍傛傃巇棫壆偲僉儕僗僩嫵搆偺拠攦恖偲屼梡學偲儐僟儎恖偺堛幰偲偺暔岅乮戞24栭 - 戞32栭乯 +6.1 僉儕僗僩嫵搆偺拠攦恖偺榖 +6.1.1 塃庤偺側偄僶僌僟乕僪偺庒偄彜恖偺榖 +6.2 僔僫墹偺屼梡學偺榖 +6.2.1 恊巜偺側偄彜恖偺榖 +6.3 儐僟儎恖堛巘偺榖 +6.3.1 塃庤偺側偄儌乕僗儖偺庒幰偺榖 +6.4 巇棫壆偺榖 +6.4.1 懌偺埆偄庒幰偲僶僌僟乕僪偺彴壆偺暔岅 +6.4.2 僶僌僟乕僪偺彴壆偲偦偺6恖偺孼偺暔岅 +6.4.2.1 彴壆偺暔岅 +6.4.2.2 彴壆偺戞堦偺孼僶僋僽乕僋偺暔岅 +6.4.2.3 彴壆偺戞擇偺孼僄儖丒僴僟乕儖偺暔岅 +6.4.2.4 彴壆偺戞嶰偺孼僶僋僶僋偺暔岅 +6.4.2.5 彴壆偺戞巐偺孼僄儖丒僋乕僘偺暔岅 +6.4.2.6 彴壆偺戞屲偺孼僄儖丒傾僗僔儍乕儖偺暔岅 +6.4.2.7 彴壆偺戞榋偺孼僔儍僇乕儕僋偺暔岅 +7 旤偟偄傾僯僗丒傾儖丒僕儍儕僗偲傾儕丒僰乕儖偺暔岅乮戞32栭 - 戞36栭乯 +8 僈僱儉丒儀儞丒傾僀儐乕僽偲偦偺枀僼僃僩僫乕偺暔岅乮戞36栭 - 戞44栭乯 +8.1 僗乕僟儞偺戞1偺崟恖泚姱僒儚乕僽偺暔岅 +8.2 僗乕僟儞偺戞2偺崟恖泚姱僇乕僼儖偺暔岅 +9 僆儅儖丒傾儖丒僱儅乕儞墹偲偦偺偄傒偠偒擇恖偺墹巕僔儍乕儖僇乕儞偲僟僂乕儖儅僇乕儞偲偺孯暔岅乮戞44栭 - 戞145栭乯 +9.1 嶰偮偺栧偵偮偄偰偺尵梩 +9.2 僆儅儖丒傾儖丒僱儅乕儞墹曵屼偺暔岅側傜傃偵偦傟偵愭棫偮帄尵 +9.2.1 戞堦偺壋彈偺尵梩 +9.2.2 戞擇偺壋彈偺尵梩 +9.2.3 戞嶰偺壋彈偺尵梩 +9.2.4 戞巐偺壋彈偺尵梩 +9.2.5 戞屲偺壋彈偺尵梩 +9.2.6 榁彈偺尵梩 +9.3 憁堾偺暔岅 +9.4 傾僘傿乕僘偲傾僘傿乕僓偲旤傢偟偒墹姤懢巕偺暔岅 +9.4.1 旤抝傾僘傿乕僘偺暔岅 +9.4.2 僪僯儎昉偲墹姤懢巕偺暔岅 +9.5 僟僂乕儖儅僇乕儞墹偺曵屼 +9.6 僟僂乕儖儅僇乕儞偺墹巕丄庒偒僇儞儅僇乕儞偺朻尟 +10 捁廱壚榖乮戞146栭 - 戞151栭乯 +10.1 闍捁偲岴悵偺晇晈偺榖 +10.2 梤帞偄偲壋彈偺憓榖 +10.3 婽偲嫏巘捁偺榖 +10.4 楾偲屜偺榖 +10.5 彫憀偲陮乮偄偨偪乯偺榖 +10.6 塆偲阬崄擫偺榖 +10.7 塆偲屜偺榖 +11 旤偟偒僔儍儉僗僄儞僫僴乕儖偲傾儕丒儀儞丒儀僢僇儖偺暔岅乮戞152栭 - 戞169栭乯 +12 僇儅儔儖僓儅乕儞偲偁傜備傞寧偺偆偪嵟傕偆傞傢偟偄寧僽僪僁乕儖昉偲偺暔岅乮戞170栭 - 戞236栭乯 +13 乽岾抝乿偲乽岾彈乿偺暔岅乮戞237栭 - 戞248栭乯 +14 乽傎偔傠乿偺暔岅乮戞250栭 - 戞269栭乯 +15 攷妛偺僞儚僢僪僪偺暔岅乮戞270栭 - 戞287栭乯 +16 帊恖傾僽乕丒僰儚乕僗偺帠審乮戞287栭 - 戞290栭乯 +17 慏忔傝僔儞僪僶乕僪偺暔岅乮戞290栭 - 戞315栭乯 +17.1 慏忔傝僔儞僪僶乕僪偺暔岅偺戞堦榖 偦偟偰偙傟偼戞堦偺峲奀偱偁傞 +17.2 慏忔傝僔儞僪僶乕僪偺暔岅偺戞擇榖 偦偟偰偙傟偼戞擇偺峲奀偱偁傞 +17.3 慏忔傝僔儞僪僶乕僪偺暔岅偺戞嶰榖 偦偟偰偙傟偼戞嶰偺峲奀偱偁傞 +17.4 慏忔傝僔儞僪僶乕僪偺暔岅偺戞巐榖 偦偟偰偙傟偼戞巐偺峲奀偱偁傞 +17.5 慏忔傝僔儞僪僶乕僪偺暔岅偺戞屲榖 偦偟偰偙傟偼戞屲偺峲奀偱偁傞 +17.6 慏忔傝僔儞僪僶乕僪偺暔岅偺戞榋榖 偦偟偰偙傟偼戞榋偺峲奀偱偁傞 +17.7 慏忔傝僔儞僪僶乕僪偺暔岅偺戞幍榖 偦偟偰偙傟偼戞幍偺嵟屻偺峲奀偱偁傞 +18 旤偟偒僘乕儉儖僢僪偲乽塰岝乿偺懅巕傾儕僔儍乕儖偲偺暔岅乮戞316栭 - 戞331栭乯 +19 怓堎側傞榋恖偺壋彈偺暔岅乮戞331栭 - 戞338栭乯 +20 惵摵偺挰偺鉟択乮戞339栭 - 戞346栭乯 +21 僀僽儞丒傾儖丒儅儞僗乕儖偲擇恖偺壋彈偺暔岅乮戞346栭 - 戞353栭乯 +22 擏壆儚儖僟乕儞偲戝恇偺柡偺榖乮戞353栭 - 戞355栭乯 +23 抧壓偺昉儎儉儕僇彈墹偺暔岅乮戞355栭 - 戞373栭乯 +23.1 僽儖僉儎偺暔岅 +23.1.1 斶偟傒偺旤惵擭偺暔岅 +24 抭宐偺壴墍偲悎偺掚乮戞373栭 - 戞393栭乯 +24.1 傾儖丒儔僔乕僪偲偍側傜 +24.2 庒幰偲偦偺愭惗 +24.3 晄巚媍側戃 +24.4 垽偺怰敾幰傾儖丒儔僔乕僪 +24.5 偄偢傟傪慖傇偐丠惵擭偐丄偼偨傑偨憇擭偐丠 +24.6 層塟偺抣抜 +24.7 敀敮 +24.8 栥拝夝寛 +24.9 傾僽乕丒僰儚乕僗偲僙僢僩丒僝僶僀僟偺梺傒 +24.10 傾僽乕丒僰儚乕僗偺懄塺 +24.11 閱攏 +24.12 僙僢僩丒僝僶僀僟偺尰峴斊 +24.13 梇偐丄帗偐丠 +24.14 暘偗慜 +24.15 妛峑偺愭惗 +24.16 壓拝偺朌庢傝暥 +24.17 攗偺挙傝崬傒暥 +24.18 饽偺拞偺嫵墹 +24.19 憻暔偺憒彍晇 +24.20 壋彈乽椓偟娽乿 +24.21 壋彈偐丠惵擭偐丠 +25 婏夦側嫵墹乮戞393栭 - 戞399栭乯 +26 乽錛偺錕錘乿偲乽悽偺娊傃乿偺暔岅乮戞399栭 - 戞414栭乯 +27 崟抙偺攏婏択乮戞414栭 - 戞432栭乯 +28 彈儁僥儞巘僟儕儔偲偦偺柡偺彈偄偐偝傑巘僓僀僫僽偲偑丄夐偺傾僼儅乕僪傗儁僗僩偺僴僒儞傗悈嬧偺傾儕偲偩傑偟偁偄傪偟偨暔岅乮戞432栭 - 戞465栭乯 +29 嫏巘僕僁僨儖偺暔岅傑偨偼杺朄偺戃乮戞465栭 - 戞487栭乯 +30 傾僽乕丒僉乕儖偲傾僽乕丒僔乕儖偺暔岅乮戞487栭 - 戞501栭乯 +31 擋偊傞墍偺摴榖乮戞502栭 - 戞505栭乯 +31.1 嶰偮偺婅偄偛偲 +31.2 庒幰偲晽楥壆偺偁傫傑 +31.3 敀偵傕偄傠偄傠 +32 棨偺傾僽僪僁僢儔乕偲奀偺傾僽僪僁僢儔乕偺暔岅乮戞505栭 - 戞515栭乯 +33 墿怓偄庒幰偺暔岅乮戞515栭 - 戞526栭乯 +34 乽捬炛偺壴乿偲乽寧偺旝徫乿偺暔岅乮戞526栭 - 戞549栭乯 +35 儌乕僗儖偺僀僗僴乕僋偺搤偺堦栭乮戞549栭 - 戞551栭乯 +36 僄僕僾僩偺昐惄偲偦偺怓敀偒巕嫙偨偪乮戞551栭 - 戞554栭乯 +37 僇儕乕僼偲嫵墹乮僇儕乕僼傽乯偺暔岅乮戞554栭 - 戞576栭乯 +38 僴僒儞丒傾儖丒僶僗儕偺朻尟乮戞576栭 - 戞615栭乯 +39 梲婥偱柍嶌朄側楢拞偺嵗択廤乮戞616栭 - 戞622栭乯 +39.1 楌巎揑側曻洓 +39.2 擇恖偺埆媃幰 +39.3 彈偺嶔棯 +40 娽傪妎傑偟偨塱柊偺抝偺暔岅乮戞622栭 - 戞653栭乯 +41 僓僀儞丒傾儖丒儅儚僔僼偺楒乮戞653栭 - 戞666栭乯 +42 晄惛側庒幰偺暔岅乮戞666栭 - 戞671栭乯 +43 庒幰僰乕儖偲桬傑偟偄僼儔儞僋墹彈偺暔岅乮戞671栭 - 戞714栭乯 +44 姲恗戝搙偲偼壗丄悽偵張偡傞摴偼偄偐偵偲榑偠崌偆偙偲乮戞714栭 - 戞720栭乯 +44.1 僒儔僨傿儞偲偦偺戝恇偺暔岅 +44.2 斾梼捤 +44.3 僸儞僪偺棧崶 +45 張彈偺嬀偺嬃偔傋偒暔岅乮戞720栭 - 戞731栭乯 +46 傾儔僕儞偲杺朄偺儔儞僾偺暔岅乮戞731栭 - 戞774栭乯 +47 恖偺悽偺傑偙偲偺抭宐偺偨偲偊榖乮戞774栭乯 +48 錕錘偺旝徫偺僼傽儕僓乕僪乮戞774栭 - 戞779栭乯 +49 僇儅乕儖偲払幰側僴儕儅偲偺暔岅乮戞780栭 - 戞787栭乯 +50 梤偺媟偺暔岅乮戞787栭 - 戞788栭乯 +51 塣柦偺尞乮戞788栭 - 戞794栭乯 +52 岻傒側鎫鎮偲桖偟偄撢抭偺廤偄乮戞794栭 - 戞806栭乯 +52.1 尭傜側偄憪棜 +52.2 傾儖丒儔僔乕僪偺摴壔栶僶僴儖儖 +52.3 悽奅暯榓傊偺桿偄 +52.4 晄擻偺偍庺偄(偍傑偠側偄) +52.4.1 擇恖偺僴僔乕僔儏怘傜偄偺暔岅 +52.4.1.1 朄姱乽洓偺晝乿偺暔岅 +52.4.1.2 朄姱偺閱攏 +52.4.1.3 朄姱偲巈閱攏 +52.4.1.4 敳偗栚偺側偄朄姱 +52.4.1.5 彈摴妝偺払恖偺嫵偊 +52.4.1.6 僴僔乕僔儏怘傜偄偺敾寛 +53 僰儗儞僫僴乕儖昉偲旤偟偄杺彈偺暔岅乮戞807栭 - 戞814栭乯 +54 乽恀庫壺乿偺暔岅乮戞814栭 - 戞819栭乯 +55 掗墹儅僴儉乕僪偺擇偮偺悽奅乮戞819栭 - 戞821栭乯 +56 掙側偟偺曮屔乮戞821栭 - 戞826栭乯 +57 婥偺撆側晄媊偺巕偺偙傒偄偭偨暔岅乮戞826栭 - 戞844栭乯 +57.1 庒幰偺墡偺暔岅 +57.2 戞堦偺嫸恖偺暔岅 +57.3 戞擇偺嫸恖偺暔岅 +57.4 戞嶰偺嫸恖偺暔岅 +58 嬨廫嬨偺嶯庱偺壓偱偺栤摎乮戞844栭 - 戞847栭乯 +59 嵶孨偳傕偺暊崟偝乮戞847栭 - 戞851栭乯 +59.1 壻巕壆偺榖偟偨暔岅 +59.2 敧昐壆偺榖偟偨暔岅 +59.3 擏壆偺榖偟偨暔岅 +59.4 扜揓悂偒偺榖偟偨暔岅 +60 傾儕丒僶僶偲巐廫恖偺搻懐偺暔岅乮戞851栭 - 戞860栭乯 +61 僶僌僟乕僪偺嫶忋偱傾儖丒儔僔乕僪偺弌夛偭偨恖偨偪乮戞860栭 - 戞876栭乯 +61.1 敀偄柲攏偺庡恖偺庒幰偺暔岅 +61.2 僀儞僪偲僔僫偺嬋傪憈偡傞恖乆傪廬偊偨攏忋偺庒幰偺暔岅 +61.3 婥慜偺傛偄彾偺榁恖偺暔岅 +61.4 岥偺楐偗偨晄嬶偺妛峑嫵巘偺暔岅 +61.5 嫶忋偱杍傪墸偭偰傕傜偆栍恖偺暔岅 +62 僗儗僀僇昉偺暔岅乮戞876栭 - 戞881栭乯 +63 偺偳偐側惵弔偺抍烺乮戞881栭 - 戞894栭乯 +63.1 婃屌側摢偺彮擭偲彫偝側懌偺枀 +63.2 懌忺傝 +63.3 墹彈偲壊嶳梤偺暔岅 +63.4 墹巕偲戝婽偺暔岅 +63.5 僄僕僾僩偺摛攧傝柡 +63.6 夝彍恖 +63.7 寈嶡戉挿 +63.8 扤偑偄偪偽傫姲戝偐 +63.9 嫀惃偝傟偨彴壆 +63.10 僼傽僀儖乕僘偲偦偺嵢 +63.11 惗傑傟偲怱 +64 晄巚媍側彂暔偺暔岅乮戞895栭 - 戞904栭乯 +65 嬥崉墹巕偺壺楉側暔岅乮戞904栭 - 戞922栭乯 +66 妸宮撢抭偺払恖偺偝傑偞傑側婏峴偲愴弍乮戞922栭 - 戞925栭乯 +67 壋彈乽怱偺寙嶌乿捁偺彈戙姱偺暔岅乮戞926栭 - 戞937栭乯 +68 僶僀僶儖僗墹偲寈嶡戉挿偨偪偺暔岅乮戞937栭 - 戞954栭乯 +68.1 戞堦偺寈嶡戉挿偺岅偭偨暔岅 +68.2 戞擇偺寈嶡戉挿偺岅偭偨暔岅 +68.3 戞嶰偺寈嶡戉挿偺岅偭偨暔岅 +68.4 戞巐偺寈嶡戉挿偺岅偭偨暔岅 +68.5 戞屲偺寈嶡戉挿偺岅偭偨暔岅 +68.6 戞榋偺寈嶡戉挿偺岅偭偨暔岅 +68.7 戞幍偺寈嶡戉挿偺岅偭偨暔岅 +68.8 戞敧偺寈嶡戉挿偺岅偭偨暔岅 +68.9 戞嬨偺寈嶡戉挿偺岅偭偨暔岅 +68.10 戞廫偺寈嶡戉挿偺岅偭偨暔岅 +68.11 戞廫堦偺寈嶡戉挿偺岅偭偨暔岅 +68.12 戞廫擇偺寈嶡戉挿偺岅偭偨暔岅 +69 奀偺錕錘偲僔僫偺壋彈偺暔岅乮戞954栭 - 戞959栭乯 +70 朓枿擖傝偺棎傟敮壻巕偲孋捈偟偺壭傪傑偒偪傜偡彈朳偲偺暔岅乮戞959栭 - 戞971栭乯 +71 抭宐偲楌巎偺揤憢乮戞971栭 - 戞994栭乯 +71.1 帊恖僪儔僀僪丄偦偺崅绨側惈奿偲崅柤偺彈棳帊恖僩僁儅乕僨傿儖丒僄儖丒僴儞僒乕傊偺楒 +71.2 帊恖僼傿儞僪偲偦偺擇恖偺柡丄彈忎晇擔椫僆僼傽僀儔偲寧椫儂僛僀儔 +71.3 墹彈僼傽乕僥傿儅偲帊恖儉儔僉乕僗偲偺楒偺朻尟 +71.4 僼僕儖墹偺暅廞 +71.5 嵢偐傜偺晇偺昳掕傔 +71.6 椉抐幰僂儅儖 +71.7 壧昉嬻怓偺僒儔乕儅乕 +71.8 墴偟偐偗媞 +71.9 敄柦偺挒昉 +71.10 斶偟偒庱忺傝 +71.11 儌乕僗儖偺僀僗僴乕僋偲怴嬋 +71.12 擇恖偺晳昉 +71.13 棊壴惗桘偺僋儕乕儉偲朄妛忋偺擄栤夝寛 +71.14 愹偺傾儔價傾柡 +71.15 偟偮偙偝偺曬偄 +72 僕儍傾僼傽儖偲僶儖儅僋壠偺嵟屻乮戞994栭 - 戞998栭乯 +73 僕儍僗儈儞墹巕偲傾乕儌儞僪昉偺桪偟偄暔岅乮戞998栭 - 戞1001栭乯 +74 戝抍墌 +75 娭楢崁栚 +76 媟拲 +77 奜晹儕儞僋 +僔儍僴儕儎乕儖墹偲掜僔儍僴僓儅乕儞墹偲偺暔岅 [曇廤] + +僶乕僩儞斉乽僔儍乕儕儎儖墹偲偦偺掜偺暔岅乿 +搶梞暥屔斉乽僔儍乕儕儎儖墹偲偦偺掜孨偺榖乿 +愄乆丄僀儞僪偲僔僫傪巟攝偡傞墹偵擇恖偺懅巕偑偄偨丅孼偺僔儍僴儕儎乕儖偲掜偺僔儍僴僓儅乕儞偼偦傟偧傟偺崙傪帯傔偰偄偨丅偁傞偲偒孼偼掜偵夛偄偨偔側傝丄巊偄傪傗偭偰屇傃婑偣偨丅弌敪偟偰偡偖孼傊偺憽傝暔傪朰傟偨帠偵婥晅偄偨僔儍僴僓儅乕儞偑媨揳傊庢偭偰曉偡偲丄斳偑堦恖偺搝楆偲晜婥偺嵟拞偱偁偭偨丅斵偼斳偲搝楆傪嶦偟偰偐傜孼偺崙傪朘傟偨偑丄彎怱偺偨傔傂偳偔嵡偄偱偄偨丅偟偐偟孼偺棷庣偺娫丄僔儍僴僓儅乕儞偼孼偺斳偑擇廫恖偺抝搝楆偲擇廫恖偺彈搝楆傪憡庤偵抯懺偺尷傝傪恠偔偡偺傪栚寕偟丄帺暘偵婲偒偨弌棃帠偼偙傟偵妑傋傟偽傑偟偩偲巚偭偰尦婥傪庢傝栠偟偨丅婣偭偰偒偨僔儍僴儕儎乕儖偼掜偑偡偭偐傝柧傞偔側偭偨偺傪尒偰棟桼傪恞偹偨丅掜偑栚寕偟偨帠傪暦偒丄偝傜偵帺暘偺娽偱偦傟傪妋偐傔傞偲丄僔儍僴儕儎乕儖偼徴寕偺偁傑傝掜偲嫟偵媨揳傪屻偵偟偰棳楺偺椃偵弌偨丅 +偁傞奀曈偺堦杮偺栘偺壓偱擇恖偑媥傫偱偄傞帪偵杺恄偑傗偭偰偒偨丅擇恖偑栘偵搊偭偰尒偰偄傞偲丄杺恄偼摢偺忋偺烠偐傜旕忢偵旤偟偄壋彈傪弌偟丄偦偺旼枍偱柊傝巒傔偨丅栘偺忋偺孼掜偵婥晅偄偨壋彈偼擇恖偵帺暘偲惈岎偡傞傛偆尵偄丄偟側偗傟偽杺恄傪婲偙偟偰擇恖傪嶦偝偣傞偲嫼偟偨丅嫰偊偨擇恖偼尵偆偲偍傝偵偟偨丅嵪傓偲壋彈偼丄帺暘偼崶楃偺栭偵杺恄偵偝傜傢傟偒偰崱偵帄傞偙偲丄偟偐偟偙傟傑偱杺恄偑柊偭偰偄傞寗偵屲昐幍廫恖偺抝偨偪偲惈岎偟偨偙偲丄側傫偲側傟偽彈偑壗偐傪偟偨偄偲巚偊偽壗幰傕偦傟傪梷偊傞帠側偳弌棃側偄偙偲傪岅偭偰暦偐偣偨丅杺恄偱偝偊帺暘払傛傝傕崜偄晄掑偵憳偭偰偄傞偙偲偵嬃扱偟偨擇恖偼偦傟偧傟偺搒傊婣偭偰偄偭偨丅 +媨揳偵栠偭偨孼偺僔儍僴儕儎乕儖偼傑偢斳偲審偺搝楆払偺庱傪檰偹偝偣偨丅偦偟偰戝恇偵枅斢堦恖偺張彈傪楢傟偰棃傞傛偆柦偠丄張彈偲怮偰偼梻挬偵側傞偲嶦偡傛偆偵側偭偨丅嶰擭傕偡傞偲搒偐傜庒偄柡偼巔傪徚偟偰偟傑偭偨偑丄偦傟偱傕墹偼戝恇偵張彈傪楢傟偰棃傞傛偆柦偠偨丅偙偺戝恇偵偼柡偑擇恖偄偨偑丄嫲晐偲擸傒偵傗偮傟偨晝傪尒偰丄巓柡偺僔儍僴儔僓乕僪偼帺暘傪墹偵沇崌傢偣傞傛偆晝偵尵偭偨丅墹偺傕偲偵嶲忋偟偨僔儍僴儔僓乕僪偼枀偺僪僯傾僓乕僪傪屇傃婑偣偨丅墹偲僔儍僴儔僓乕僪偺彴擖傝偑嵪傓偲丄僪僯傾僓乕僪偼偐偹偰巓偵尵偄娷傔傜傟偨偲偍傝巓偵暔岅傪偹偩偭偨丅屆崱偺暔岅偵捠偠偰偄傞僔儍僴儔僓乕僪偼崙拞偺柡払偺柦傪媬偆偨傔丄帺傜偺柦傪搎偗偰墹偲枀傪憡庤偵栭捠偟岅傝巒傔偨丅愮栭堦栭偺巒傑傝偱偁傞丅 +彜恖偲婼恄乮僀僼儕乕僩乯偲偺暔岅乮戞1栭 - 戞3栭乯 [曇廤] + +僶乕僩儞斉乽彜恖偲杺恄偺暔岅(戞1栭乚戞2栭)乿 +搶梞暥屔斉乽彜恖偲杺墹偲偺暔岅(戞1栭乚戞2栭)乿 +偁傞椃偺彜恖偑僫僣儊儎僔偺庬傪幪偰偨偲偙傠丄婼恄乮僀僼儕乕僩乯偑尰傟丄乽偦偺庬偑摉偨偭偰婼恄偺巕嫙偑巰傫偩偺偱丄偦偺彜恖傪嶦偡乿偲尵偭偨丅彜恖偼丄恎曈惍棟傪偟偨傜昁偢偙偙偵婣傞偙偲傪惥偄丄崙偵婣傝恎曈惍棟傪偟偰丄婼恄偺強偵栠偭偰偒偨丅偡傞偲丄乽惴梤乮僇儌僔僇乯傪偮傟偨榁恖乿偲乽2旵偺椔將傪偮傟偨榁恖乿偲乽柲閫攏傪偮傟偨榁恖乿偑捠傝偐偐傝丄婼恄偵懳偟偰乽晄巚媍側榖傪暦偐偣傞偺偱丄彜恖傪嫋偟偰梸偟偄乿偲婅偄弌偨丅 婼恄偼3恖偺榖傪暦偄偰丄偦傟偵姶怱偟丄彜恖傪嫋偡偙偲偵側偭偨丅 +戞堦偺榁恖偺榖 [曇廤] +偁傞彜恖偼丄嵢偲偺娫偵巕偑偱偒側偐偭偨偺偱丄彣傪庢偭偨偲偙傠丄偡偖偵抝偺巕偑惗傑傟偨丅嵢偼幑搃偟丄彣偲抝偺巕傪杺朄偱媿偵曄偊偰偟傑偭偨丅彜恖偼彣偺媿傪抦傜偢偵嶦偟偰偟傑偄丄抝偺巕偺媿傕嶦偟偦偆偵側傞偑丄媿偑偁傑傝偵媰偔偺偱巚偄偲偳傑偭偨丅媿帞偄偺柡偑丄媿偺惓懱傪尒攋傝丄媿傪抝偺巕偵栠偟丄彜恖偺嵢傪杺朄偱惴梤乮僇儌僔僇乯偵曄偊偨丅彜恖偺懅巕偼丄媿帞偄偺柡偲寢崶偟偨丅 +戞擇偺榁恖偺榖 [曇廤] +抝3恖偺孼掜偑偄偰丄晝恊偺堚嶻傪憡懕偟偨丅枛偺掜偼抧尦偱彜攧傪懕偗偨偑丄孼2恖偼戉彜偲椃偵弌偰丄堦暥柍偟偵側偭偰曉偭偰偒偨丅掜偼孼偵嬥傪梌偊丄抧尦偱偄偭偟傚偵彜攧傪偡傞偑丄偡偖偵孼2恖偼戉彜偲嵞傃椃偵弌偰丄堦暥柍偟偵側偭偰曉偭偰偒偨丅嵞搙丄掜偼孼偵嬥傪梌偊丄抧尦偱偄偭偟傚偵彜攧傪偟偨丅3恖偼丄崱搙偼偄偭偟傚偵椃偵弌傞偙偲偵偟偨丅椃偺搑拞偱丄枛偺掜偼丄傏傠傪拝偨彈偵弌夛偄丄寢崶偟偨丅3孼掜偼戝栕偗偟偰曉偭偰偔傞丅偟偐偟丄孼2恖偼掜偺嵢偵幑搃偟丄掜偲嵢傪嶦偦偆偲偡傞偑丄掜偺嵢偼幚偼彈婼恄偱丄媡偵孼2恖傪杺朄偱椔將偵曄偊偰偟傑偭偨丅 +椶帡偺榖:戞堦偺壋彈僝僶僀僟偺榖 +戞嶰偺榁恖偺榖 [曇廤] +偁傞彜恖偑椃偐傜婣偭偨偲偙傠丄嵢偑崟恖搝楆偲晜婥偟偰偄傞尰応傪敪尒偟偨丅嵢偑偦傟偵婥偯偒丄杺朄偱彜恖傪將偵曄偊偰偟傑偭偨丅將偵側偭偨彜恖偼擏壆偵廍傢傟傞偑丄偦偺擏壆偺柡偑惓懱傪尒攋傝丄恖娫偺巔偵栠偟偰偔傟偨丅彜恖偼擏壆偺柡偐傜杺朄傪嫵傢傝丄晜婥偟偨嵢傪杺朄偱柲閫攏偵曄偊偨丅 +嫏巘偲婼恄偲偺暔岅乮戞3栭 - 戞9栭乯 [曇廤] + +僶乕僩儞斉乽嫏巘偲杺恄偺暔岅(戞3栭乚戞9栭)乿 +搶梞暥屔斉乽嫏晇偲杺墹偲偺暔岅(戞3栭乚戞9栭)乿 +偁傞嫏巘偑栐傪懪偮偲丄僗儔僀儅乕儞乮僜儘儌儞墹乯偺晻報偑偁傞捹偑庢傟偨丅嫏巘偑捹傪奐偗傞偲丄僒僋儖丒僄儖丒僕儞僯乕偲偄偆婼恄偑尰傟偨丅婼恄偑嫏巘傪嶦偦偆偲偡傞偲丄嫏巘偑乽杮摉偵偙偺彫偝側捹偵擖傟傞偺偐乿偲暦偒丄婼恄偑捹偵擖偭偨偲偙傠傪丄嵞搙晻報偟偰偟傑偭偨丅婼恄偼晻報傪夝偔傛偆偵崸婅偡傞偑丄嫏巘偼乽僀僂僫儞墹偺戝恇偲堛巘儖僀傾儞偺暔岅乿傪岅傝抐偭偨丅偟偐偟丄婼恄偼嵞搙崸婅偟偨偨傔丄嫏巘偼晻報傪夝偒丄婼恄偼偍楃偵丄晄巚媍側嫑偑庢傟傞屛傪嫏巘偵嫵偊偨丅 +嫏巘偼偦偺屛偱嫑傪庢傝丄墹乮僗儖僞儞乯偵專忋偟偰懡妟偺朖旤傪傕傜偭偨丅墹偺椏棟恖偑嫑傪椏棟偟傛偆偲偡傞偲丄挷棟応偺暻偐傜壋彈偑弌偰偒偰丄嫑傪崟偙偘偵偟丄暻偺拞偵徚偊偰峴偭偨丅墹偼晄巚媍偵巚偄丄嫏巘偐傜屛偺応強傪暦偒丄挷嵏偵弌偐偗偨偲偙傠丄屛偺斎偺媨揳偵廧傓屘儅乕儉乕僪墹偺巕偱偁傞儅僒僂僟墹偵弌夛偭偨丅埲慜丄儅僒僂僟墹偼丄嵢偑崟恖偲晜婥偟偰偄傞偲偙傠傪尒偮偗丄崟恖傪嶦偦偆偲偟偨偑丄媡偵嵢偺杺朄偵偐偐傝丄壓敿恎傪愇偵偝傟偰摦偗側偔側傝丄崙柉偼嫑偵偝傟丄崙偼屛偵偝傟偰偄偨丅墹偼榖傪暦偔偲丄崟恖傪嶦偟丄崟恖偺傆傝傪偟偰丄儅僒僂僟墹偺嵢偵杺朄傪夝偔傛偆偵柦偠丄杺朄偑夝偗傞偲彈傪嶦偟偨丅墹偵偼巕嫙偑偄側偐偭偨偺偱丄儅僒僂僟墹傪梴巕偵偟偰丄搒偵婣傝岾偣偵曢傜偟偨丅 +僀僂僫儞墹偺戝恇偲堛巘儖僀傾儞偺暔岅 [曇廤] +儖乕儉恖乮儘乕儅恖乯偺崙僼傽儖僗偺僀僂僫儞墹偼傜偄昦偵偐偐傝丄扤傕帯偣側偐偭偨丅偦偙偵儖僀傾儞偲偄偆堛巘偑棃偰丄乽攏偵忔偭偰捚偱嬍傪懪偰偽帯傞乿偲尵偄丄幚嵺墹偺昦婥偼帯偭偨丅墹偼儖僀傾儞傪廳梡偟偨偑丄偦傟偵幑搃偟偨戝恇偑儖僀傾儞傪拞彎偟丄嶦偡傛偆偵恑尵偟偨丅偦傟偵懳偟丄墹偼乽僔儞僨傿僶乕僪墹偺戦乿偺榖傪偟丄儖僀傾儞傪斴偆丅偙傟偵懳偟戝恇偼乽墹巕偲怘恖婼偺暔岅乿傪偟丄墹偵儖僀傾儞傪嶦偡偙偲傪寛怱偝偣傞丅 +墹偼儖僀傾儞傪屇傃弌偟嶦偡偙偲傪崘偘傞偑丄儖僀傾儞偼墹偵堦嶜偺杮傪專忋偟乽巹傪嶦偟偨傜丄偙偺杮傪奐偄偰撉傔偽丄巹偺庱偼偳傫側栤偄偵傕摎偊傞偱偟傚偆乿偲尵偭偨丅墹偼嬃偒丄儖僀傾儞傪嶦偡慜偵杮傪撉傕偆偲偡傞偑丄杮偺巻偼挘傝晅偄偰偄偰丄梕堈偵儁乕僕傪傔偔傞偙偲偑偱偒偢丄墹偼巜傪側傔側偑傜儁乕僕傪傔偔傞偑丄幚偼杮偵偼撆偑揾偭偰偁傝丄撆傪側傔偨墹偼巰傫偱偟傑偭偨丅 +僔儞僨傿僶乕僪墹偺戦 [曇廤] +僼傽儖僗偺墹僔儞僨傿僶乕僪偼丄偁傞帪丄壠棃偲嫟偵庪偵弌偰戝偒側惴梤乮僇儌僔僇乯傪尒偮偗乽偙傟傪傗傝夁偛偟偨幰偼柦偑側偄偧乿偲愰尵偟偨丅偲偙傠偑惴梤偼丄墹偺摢忋傪旘傃墇偊偰摝偘偰偟傑偄丄墹偼帺暘偵巰孻傪愰崘偟偨宍偵側偭偰偟傑偭偨丅偦偺帪丄墹偺戦偑惴梤偵捛偄偮偒丄僋僠僶僔偱娽傪捵偟偰惴梤傪摦偗側偔偟丄墹偼惴梤傪曔傑偊傞偙偲偑偱偒偨丅 +墹偼丄栘偺姴傪偮偨偆悈傪尒偮偗丄攖偵庢偭偰戦偵梌偊傞偑丄戦偼攖傪搢偟偰堸傑側偐偭偨丅崱搙偼攏偵梌偊傞偑丄戦偼偦傟傕搢偟偰攏偵堸傑偣側偐偭偨丅墹偼搟傝丄戦傪嶦偡偑丄墹偑悈偲巚偭偰偄偨暔偼丄撆幹偺撆偱偁偭偨偙偲傪抦傝屻夨偟偨丅 +墹巕偲怘恖婼偺暔岅 [曇廤] +偁傞墹巕偑庪偵弌偨偲偒丄戝偒側廱偑尒偮偐傝丄偍嫙偺戝恇偼墹巕偵捛偄偐偗傞傛偆偵尵偭偨丅墹巕偼嵒敊偺墱怺偔傑偱廱傪捛偭偰峴偭偨偑丄寢嬊尒幐偭偰偟傑偭偨丅偡傞偲丄偦偙偱墹巕偼戉彜偐傜偼偖傟偨僀儞僪偺墹彈傪尒偮偗丄偙傟傪彆偗偰攏偵忔偣婣傠偆偲偟偨丅 +婣傞搑拞丄墹彈偼梡傪懌偟偵峴偒偨偄偲尵偄丄墹巕偼攏傪媥傔偨丅墹巕偼墹彈偺屻傪偙偭偦傝偮偗偰峴偒丄墹彈偼幚偼彈怘恖婼偱丄墹巕傪怘傋傛偆偲偟偰偄傞偙偲傪抦偭偨丅栠偭偰偒偨墹彈偵墹巕偼乽巹偵偼揋偑偄傞乿偲尵偆偲丄墹彈偼乽恄偵婩傟偽揋偼徚偊傞乿偲摎偊偨丅墹巕偑恄偵婩傞偲丄墹彈偼徚偊偰偟傑偄丄墹巕偼彆偐偭偨丅墹巕偼丄戝恇偑廱傪捛偆傛偆偵尵偭偨偙偲偑偙偺婋尟偺尨場偲峫偊丄戝恇傪巰孻偵偟偨丅 +壸偐偮偓恖懌偲壋彈偨偪偲偺暔岅乮戞9栭 - 戞18栭乯 [曇廤] + +僶乕僩儞斉乽僶僌僟僢僪偺寉巕偲嶰恖偺彈(戞9栭乚戞19栭)乿 +搶梞暥屔斉乽壸扴偓傗偲嶰恖偺柡偺暔岅(戞9栭乚戞19栭)乿 +僶僌僟乕僪偺偁傞壸偐偮偓恖懌偺強偵丄旤偟偄壋彈僼傽僸儅偑棃偰偙傟傪屬偄丄巗応偱攦偭偨崑壺側椏棟傗壻巕傪戝偒側娰傑偱塣偽偣偨丅娰偵偼丄忋偺巓僝僶僀僟偲拞偺巓傾儈僫偑偍傝丄壸偐偮偓恖懌偼梇曎偺嵥擻傪婥偵擖傜傟丄媞偲偟偰寎偊傜傟丄4恖偼慡棁偱媃傟偨丅 +偡傞偲丄3恖偺戯敨憁(僇儔儞僟乕儖)偑朘偹偰棃偰丄偝傜偵丄彜恖偵曄憰偟偨嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪丄戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕丄屼樜搧帩偪儅僗儖乕儖偺3恖慻偑朘偹偰棃偨丅慡堳偑乽擆偵娭傢傝側偒帠傪岅傞側偐傟丄偟偐傜偢傫偽擆偼岲傑偞傞偙偲傪暦偔側傜傫乿偲惥偆偲丄媞偲偟偰寎偊傜傟傞丅怘帠偑嵪傓偲丄忋偺巓僝僶僀僟偼2旵偺柲將傪儉僠偱懪偪偼偠傔偨丅師偵丄拞偺巓傾儈僫偼旡攊傪抏偒帊傪壧偄丄姶嬌傑偭偰暈傪攋偭偰偟傑偆偑丄懱偵儉僠偺嵀偑偁傞偺偑尒偊偨丅媞偨偪偼丄晄巚媍偵巚偄丄惥偄偵傕偐偐傢傜偢丄巓枀偵幙栤偟偰偟傑偭偨丅偡傞偲7恖偺崟恖寱巑偑尰傟丄媞傪慡堳敍偭偰偟傑偭偨丅偦偙偱丄媞偨偪偑恎偺忋榖傪偡傞偙偲偵側傝丄乽戞堦偺戯敨憁偺榖乿乽戞擇偺戯敨憁偺榖乿乽戞嶰偺戯敨憁偺榖乿偑岅傜傟偨丅壋彈偨偪偼榖偵姶摦偟丄媞慡堳傪嫋偟夝曻偟偨丅 +梻擔丄媨揳偵婣偭偨嫵墹偼丄3恖偺壋彈偲3恖偺戯敨憁傪屇傃弌偟丄壋彈偨偪偵榖傪偝偣丄乽戞堦偺壋彈僝僶僀僟偺榖乿偲乽戞擇偺壋彈傾儈僫偺榖乿偑岅傜傟偨丅嫵墹偼丄彈婼恄傪屇傃弌偟2旵偺柲將傪2恖偺壋彈偵栠偟丄僝僶僀僟偲偙偺2恖偺壋彈傪3恖偺戯敨憁偲寢崶偝偣偨丅拞偺巓傾儈僫偼嫵墹偺懅巕傾儖丒傾儈乕儞偲寢崶偝偣丄枛偺枀僼傽僸儅偼嫵墹帺恎偲寢崶偝偣偨丅壸偐偮偓恖懌偼帢廬挿偵擟柦偟偨丅斵傜偼丄嫵墹偺斴岇偺壓丄岾偣偵曢傜偟偨丅 +戞堦偺戯敨憁偺榖 [曇廤] +巹偼偁傞崙偺墹偺懅巕偱丄晝墹偺掜偼暿偺崙偺墹偱丄巹偼偦偺崙偵梀傃偵棃偰偄偨丅偁傞栭丄掜墹偺墹巕偵棅傑傟偰丄墹巕偲偁傞彈偲3恖偱曟応傑偱峴偒丄墹巕偲彈偑抧壓奒抜傪壓傝偨傜丄奒抜偵奧傪偟偰暘偐傜側偄傛偆偵搚偱杽傔丄偦偺偙偲傪旈枾偵偡傞傛偆偵尵傢傟丄偦偺捠傝偵偟偨丅偟偐偟丄巹偼旈枾傪庣傞偙偲偑晧扴偵側傝丄帺暘偺崙偵婣傠偆偲偟偨丅 +偲偙傠偑丄帺暘偺崙偱偼戝恇偑斀棎傪婲偙偟偰晝墹傪嶦偟偰偍傝丄巹偼曔傜偊傜傟偰偟傑偭偨丅埲慜丄巹偼戝恇偺栚傪岆偭偰栴偱捵偟偰偍傝丄偦偺暅廞偲偟偰戝恇偵嵍栚傪捵偝傟丄偝傜偵張孻偝傟傞偙偲偲側偭偨丅偟偐偟丄晝墹偺壎傪抦傞幰偵傛傝摝偑偟偰傕傜偭偨丅 +巹偼丄掜墹偺搒偵峴偒丄掜墹偵慡偰傪榖偟偨丅掜墹偼丄抧壓奒抜傪尒偮偗丄壓傝偰偄偔偑丄墹巕偲偄偭偟傚偵偄偨彈偼幚偼墹巕偺枀偱偁傝丄嬤恊崶偑嫋偝傟側偄偨傔抧壓偵怘椏傪拁偊偦偙偱曢傜偦偆偲偟偨傕偺偱偁偭偨偑丄抧壓偺怮戜偱恄偺搟傝偵怗傟偰書偒崌偭偨傑傑扽偵側偭偰偄傞2恖傪敪尒偟偨丅 +偦偺偲偒丄帺暘偺崙偺戝恇偺孯偑掜墹偺崙偵峌傔偰偒偰丄偙傟傪柵傏偟偨丅巹偼戯敨憁(僇儔儞僟乕儖)偲側傝丄僶僌僟乕僪偵摝偘傞偙偲偲側偭偨丅 +戞擇偺戯敨憁偺榖 [曇廤] +巹偼偁傞崙偺墹巕偱偁偭偨偑丄僀儞僪傊岦偆椃偺搑拞丄搻懐偵廝傢傟丄堦恖尒抦傜偸挰偵摝偘墑傃偨丅崙偵婣傞偙偲偑偱偒偢丄栘偙傝偲偟偰惗妶偡傞偑丄偁傞擔丄怷偱晙偑抧拞偵杽傕傟偨摵偺椫偵傂偭偐偐傝丄偦傟傪孈傝忋偘傞偲丄抧拞偵宷偑傞奒抜偑尰傟偨丅偦傟傪壓傝傞偲丄崑壺側峀娫偵捠偠丄怮戜偵旤偟偄壋彈偑偄偨丅壋彈偼僀儞僪偺崟抙搰偺墹傾僋僫儌僗偺墹彈偱丄12嵨偺帪丄寢崶幃偺慜栭丄杺墹偺懅巕儔僕儌僗偺懅巕僕僆儖僕儘僗偵偝傜傢傟偰丄埲棃20擭娫偙偙偵娔嬛偝傟偰丄10擔偵1斢丄婼恄僕僆儖僕儘僗偺憡庤傪偝偣傜傟偰偄偨丅巹偼婼恄偺晄嵼傪椙偄偙偲偵墹彈偲岎傢傞偑丄寢嬊婼恄偵尒偮偐偭偰偟傑偄丄墹彈偼愜烞偺枛嶦偝傟丄巹偼墡偵偝傟偰丄偁傞嶳偺捀偵幪偰傜傟偨丅 +墡偵側偭偨巹偼丄嶳偺捀偐傜揮偘棊偪丄奀娸偵拝偒丄捠傝偑偐偭偨慏偺慏挿偵廍傢傟偨丅慏偑偁傞峘偵擖偭偨偲偙傠丄墡偵側偭偨巹偼巻偵尒帠側昅愓偱帊傪彂偄偨偺偱丄峘偺墹偼嬃偒丄墹偼慏挿偐傜墡偵側偭偨巹傪攦偄庢傝丄媨揳偱帞偆偙偲偵偟偨丅媨揳偱偼昉孨偑巹偺惓懱傪尒攋傝丄巹傪尦偺巔偵栠偦偆偲丄婼恄僕僆儖僕儘僗偲寖偟偄杺朄偺愴偄傪巒傔偨丅愴偄偱壩偲壩偑傇偮偐傝崌偄丄婼恄僕僆儖僕儘僗偲昉孨偼從偗巰偵丄墹偼婄偺壓敿暘傪從偐傟丄巹偼嵍栚傪從偐傟偰幐偆偑丄恖娫偺巔偵栠傞偙偲偑偱偒偨丅 +昉孨傪幐偭偨斶偟傒偵丄墹偼巹偵嫀傞傛偆偵尵偄丄巹偼戯敨憁(僇儔儞僟乕儖)偵側偭偰丄僶僌僟乕僪偵棃偨丅 +戞嶰偺戯敨憁偺榖 [曇廤] +巹偼偁傞崙偺墹巕偱偁傝丄晝墹僇僔僽偺巰屻丄墹偲側偭偨丅偁傞偲偒椞抧傪弰傞慏偺椃偵弌偨偑丄棐偱恑楬傪幐偄乽帴愇偺搰乿偵慏偼堷偒婑偣傜傟暘夝偟丄巹偼乽帴愇偺搰乿偵懪偪忋偘傜傟偨丅偡傞偲惡偑暦偙偊丄乽懌尦傪孈傞偲媩偲3杮偺栴偑尒偮偐傞偺偱丄偦傟偱搰偺捀忋偵偄傞摵偺攏偵忔傞摵偺婻巑傪寕偰丅偡傞偲摵偺婻巑偼奀拞偵棊偪傞偺偱丄媩偲栴傪懌尦偵杽傔傛丅搰偼捑傓偑丄摵偺抝傪忔偣偨慏偑捠傝偐偐傞偺偱丄偦偺慏偵忔傝10擔偺椃偺屻丄媬偄偺奀偵帄傞丅偟偐偟傾儔乕偺柤傪彞偊偰偼側傜側偄丅乿偲崘偘傜傟偨丅巹偼偦偺捠傝偵峴摦偟偨偑丄10擔栚偵巚傢偢傾儔乕偵姶幱偺尵梩傪曺偘偰偟傑偄丄偦偺弖娫摵偺抝偼巹傪奀偵搳偘幪偰偨丅 +巹偼偁傞柍恖搰偵昚拝偟偨丅巹偑尒偰偄傞偲丄慏偑棃偰丄搚傪孈偭偰抧拞偵杽傔偨奒抜傪奐偒丄怘椏偲旤偟偄彮擭傪偦偺拞偵巆偟丄奒抜傪嵞搙杽傔偰丄慏偼嫀偭偰偄偭偨丅巹偼丄搚傪孈傝曉偟丄奒抜傪崀傝偨偲偙傠丄彮擭偼崑彜偺懅巕偱丄愯偄巘偐傜乽帴愇偺搰偑捑傫偱40擔屻偵丄僇僔僽偺懅巕偵嶦偝傟傞乿偲偄偆偍崘偘傪暦偨偺偱丄偙偙偵塀傟偵棃偨偲榖偟偰偔傟偨丅巹偼彮擭偲偄偭偟傚偵抧壓偱曢傜偟偨偑丄梊尵偺擔丄巹偺帩偭偨曪挌偑彮擭偺嫻偵巋偝傝丄彮擭偼巰傫偱偟傑偆丅偦偙傊彮擭傪寎偊傞崑彜偺慏偑棃偨偺偱丄巹偼塀傟偨丅 +奀傪尒傞偲丄堷偒挭偱搰偲棨偑宷偑偭偰偄傞偺偑尒偊偨偺偱丄巹偼偦偙傪搉偭偰棨偵摝偘偨丅棨偵偼嫄戝側恀鐹偺媨揳偑偁傝丄偦偙偵嵍栚偺捵傟偨10恖偺婏柇側庒幰偲堦恖偺榁恖偑偄偰丄榁恖偵嵍栚偺棟桼傪暦偔偲乽梤偺旂傪偐傇傝業戜偵偄傞偲丄儘僋偲偄偆嫄捁偑梤偲娫堘偊偝傜偭偰墦偄嶳偺忋傑偱楢傟偰峴偔偺偱丄偦偙偱摝偘弌偟丄曕偄偰墿嬥偺媨揳傑偱峴偗偽暘偐傞乿偲尵傢傟偨丅尵傢傟偨偲偍傝偵偟偰墿嬥偺媨揳偵擖傞偲丄旤偟偄40恖偺壋彈偨偪偑偄偰丄旕忢側娊懸傪庴偗丄40恖偲弴斣偵栭傪嫟偵偟偨丅偁傞擔丄40恖偺壋彈偼乽40擔娫媨揳傪棧傟傞偑丄掚偺墱偺摵偺斷偩偗偼奐偗偰偼側傜側偄乿偲尵偄丄巹偩偗傪巆偟弌偐偗偰偟傑偭偨丅巹偼40擔栚偵摵偺斷傪奐偗偰偟傑偆偑丄拞偵攏偑偄偰丄偦傟偵傑偨偑傞偲攏偼嬻傪旘傃丄恀鐹偺媨揳傑偱棃偰丄巹傪棊攏偝偣丄偦偺偼偢傒偱巹偺嵍栚偑捵傟偰偟傑偭偨丅 +巹偼丄10恖偺婏柇側庒幰偲堦恖偺榁恖偲暿傟丄戯敨憁(僇儔儞僟乕儖)偲側傝丄僶僌僟乕僪傑偱棃偨丅 +椶帡偺榖:斶偟傒偺旤惵擭偺暔岅 +戞堦偺壋彈僝僶僀僟偺榖 [曇廤] +巹偵偼丄摨偠晝曣偐傜惗傑傟偨2恖偺巓偲丄晝偼摨偠偩偑曣偑堎側傞枀傾儈僫偲僼傽僸儅偑偄偨丅晝偑巰傫偩偲偒丄嵿嶻傪巓枀偱暘偗丄巹偼巓2恖偲偄偭偟傚偵曢傜偟偨偑丄巓2恖偼偦傟偧傟寢崶偟丄彜攧偺椃偵弌丄晇偑攋嶻偟棧崶偝傟偰婣偭偰棃偨丅巹偼丄巓2恖傪梴偭偨偑丄1擭屻嵞傃巓2恖偼偦傟偧傟寢崶偟丄彜攧偺椃偵弌丄晇偵幪偰傜傟偰婣偭偰棃偨丅嵞搙丄巹偼巓2恖傪彆偗梴偆偑丄1擭屻丄崱搙偼3恖偱慏椃偵弌偨丅 +慏偼恑楬傪幐偆偑丄廧柉偑傒側愇偵側偭偰偄傞挰偵偨偳傝拝偄偨丅巹偼媨揳偺墱偵擖傝崬傒丄惗偒偰偄傞庒幰傪敪尒偟恞偹傞偲丄庒幰偼乽偙偺挰偺幰偼奆丄僫儖僪僁儞偺恄偺怣幰偱偁偭偨偑丄傾儔乕偺恄偺搟傝偵怗傟丄慡堳愇偵偝傟偨偑丄僀僗儔儉怣幰偱偁傞墹巕偺巹偩偗偑彆偐偭偨乿偲榖偟偨丅巹偲庒幰偼丄僶僌僟乕僪偵婣傝寢崶偡傞偙偲傪栺懇偟偨丅偟偐偟丄巓2恖偼幑搃偟丄婣傝偺慏偐傜庒幰偲巹傪奀偵搳偘幪偰丄庒幰偼悈巰偟偨丅 +巹偼丄偁傞搰偵懪偪忋偘傜傟偨丅傆偲尒傞偲丄傾僆僟僀僔儑僂偑儅儉僔偵捛偄偐偗傜傟偰偄偨偺偱丄愇傪儅儉僔偵搳偘偰儅儉僔傪嶦偟偨丅傾僆僟僀僔儑僂偼幚偼彈婼恄偱丄彈婼恄偼彆偗偰偔傟偨偍楃偵丄巹傪慏偺曮偲偄偭偟傚偵僶僌僟乕僪傑偱楢傟偰峴偒丄巓2恖傪柲將偵曄偊丄枅擔偙偺2旵偺柲將傪300夞偢偮儉僠偱偨偨偔傛偆偵尵偭偰嫀偭偨丅 +椶帡偺榖:戞擇偺榁恖偺榖 +戞擇偺壋彈傾儈僫偺榖 [曇廤] +巹偼丄晝偑巰傫偩屻丄桾暉側榁恖偲寢崶偟偨偑丄偡偖晇偼巰偵丄懡妟偺堚嶻傪憡懕偟偨丅 +偁傞擔丄巹偺偲偙傠偵廥偄榁攌偑棃偰乽壠偱寢崶幃偑偁傞偺偱丄昽媞偲偟偰棃偰梸偟偄乿偲尵偆偺偱峴偭偨偲偙傠丄旕忢偵戝偒側娰偱丄寢崶幃偼側偔丄偦傟偼丄埲慜巹傪尒偰岲偒偵側偭偨娰偺庡偱偁傞旤偟偄庒幰偲丄巹傪夛傢偣傞偨傔偵丄庒幰偺擕曣偺榁攌偑偟偔傫偩僂僜偩偭偨丅巹偼庒幰傪尒偰岲偒偵側傝丄巹偼乽懠偺抝偵偼怱傪孹偗側偄乿偲惥偄寢崶偟偨丅 +偁傞擔丄廥偄榁攌傪偮傟偰巗応偺對怐暔彜恖偺揦偵峴偒丄嵟傕崅壙側彜昳傪攦偍偆偲偟偨偲偙傠丄彜恖偑乽嬥偼庴偗庢傟側偄丅偐傢傝偵杍偵僉僗傪偝偣偰偔傟乿偲尵偭偰偒偨偺偱丄抐偭偨偑丄廥偄榁攌偑乽僉僗傪偝偣偨曽偑椙偄乿偲愢摼偡傞偺偱丄僉僗傪偝偣偨偲偙傠丄杍偵帟偱彎傪偮偗傜傟偨丅壠偵婣傝丄晇偵尒偮偗傜傟丄惥偄傪攋偭偨偲偟偰嶦偝傟偦偆偵側偭偨偑丄廥偄榁攌偺偲傝側偟偱柦偼彆偐傝丄棁偵偝傟堦惗徚偊側偄彎偑偮偔傛偆儉僠偱懪偨傟丄娰偐傜捛偄弌偝傟偨丅偦偺屻丄庒幰傕娰傕徚偊偰偟傑偭偨丅 +屻偵丄嫵墹僴乕儖乕儞丒傾儖丒儔僔乕僪偑屇傃弌偟偨彈婼恄偵傛傝丄旤偟偄庒幰偼嫵墹偺懅巕傾儖丒傾儈乕儞偱偁傞偙偲偑暘偐偭偨丅 +椶帡偺榖:戞堦偺嫸恖偺暔岅 +巃傜傟偨彈偲嶰偮偺椦岀偲崟恖儕僴儞偲偺暔岅乮戞18栭 - 戞24栭乯 [曇廤] + +僶乕僩儞斉乽嶰偮偺椦岀偺暔岅(戞19栭乚戞20栭)乿 +搶梞暥屔斉乽嶰偮偺椦岀偺暔岅(戞19栭乚戞20栭)乿 +嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偑偍擡傃偱丄戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕偲屼樜搧帩偪儅僗儖乕儖傪廬偊僶僌僟乕僪偺挰傪曕偄偰偄傞偲丄嫏巘偵弌夛偭偨偺偱丄嬥傪梌偊栐傪懪偨偣傞偲丄庒偄彈偺巰懱偑擖偭偨敔偑偐偐偭偨丅嫵墹偼僕儍傾僼傽儖偵3擔埲撪偵嶦恖斊傪曔傜偊側偄偲丄戙傢傝偵僕儍傾僼傽儖傪巰孻偵偡傞偲崘偘偨丅斊恖偼尒偮偐傜偢丄僕儍傾僼傽儖偑巰孻偵側傠偆偲偟偨偲偒丄庒偄抝偑帺庱偟丄師偵榁恖偑帺庱偟偨丅 +庒偄抝偼嶦偝傟偨彈偺晇偱丄榁恖偼嶦偝傟偨彈偺晝偱偁偭偨丅偁傞擔丄昦婥偑偪偺嵢偑乽椦岀偑梸偟偄乿偲尵偭偨偺偱丄庒偄抝偼僶僌僟僢僪偺挰拞傪扵偟偨偑丄椦岀偼側偔丄墦偔僶僗儔偺挰偺嫵墹偺壥庽墍傑偱椃偟偰墍挌偐傜椦岀傪3屄暘偗偰傕傜偭偰婣偭偨偑丄嵢偼寢嬊椦岀傪怘傋側偐偭偨丅庒偄抝偑挰傪曕偄偰偄傞偲丄崟恖偑椦岀傪帩偭偰偄偨偺偱丄暦偔偲乽垽恖偐傜傕傜偭偨乿偲尵偭偨偺偱丄嵢偑晜婥偟偨偲巚偄丄媡忋偟偰嵢傪嶦偟偰偟傑偭偨偑丄偦偺椦岀偼庢傜傟偨傕偺偩偲暘偐傝丄屻夨偟丄嵢偺晝偵崘敀偡傞偑丄嵢偺晝偼抝偵摨忣偟丄抝偑帺庱偟偨偙偲傪暦偒丄恎戙傢傝偵帺庱偟偨偲偄偆傕偺偱偁偭偨丅 +嫵墹偼榖傪暦偒丄椉幰偵摨忣偟偰嵾傪幫偟丄僕儍傾僼傽儖偵3擔埲撪偵崟恖傪尒偮偗側偗傟偽僕儍傾僼傽儖傪戙傢傝偵巰孻偵偡傞偲崘偘偨丅3擔屻丄僕儍傾僼傽儖偼帺暘偺柡偑壠偺崟恖搝楆儕僴儞偐傜椦岀傪攦偭偨偙偲傪抦傝丄儕僴儞傪曔傜偊嫵墹偵嵎偟弌偡偑丄乽戝恇僰乕儗僨傿儞偲偦偺孼戝恇僔儍儉僙僨傿儞偲僴僒儞丒僷僪儗僨傿儞偺暔岅乿傪偡傞偺偱儕僴儞傪幫偡偙偲傪婅偄弌丄婅偄偼嫋壜偝傟偨丅 +戝恇僰乕儗僨傿儞偲偦偺孼戝恇僔儍儉僙僨傿儞偲僴僒儞丒僷僪儗僨傿儞偺暔岅 [曇廤] +僶乕僩儞斉乽僰儖丒傾儖丒僨傿儞丒傾儕偲偦偺懅巕僶僪儖丒傾儞丒僨傿儞丒僴僒儞偺暔岅(戞20栭乚戞24栭)乿 +愄儊僗儖乮僄僕僾僩偺僇僀儘乯偺崙偵丄旤抝偺孼掜偺戝恇丄孼僔儍儉僙僨傿儞偲掜僰乕儗僨傿儞偑偄偨丅擇恖偼偁傞擔乽傕偟摨偠擔偵寢崶偟丄摨偠擔偵巕嫙偑嶻傑傟丄僔儍儉僙僨傿儞偺巕偑彈偱丄僰乕儗僨傿儞偺巕偑抝側傜寢崶偝偣傛偆乿偲榖偟崌偭偨偑丄偦偺嵺偺寢帒偺妟偵偮偄偰寲壾傪偟偰偟傑偄丄僰乕儗僨傿儞偼挰傪弌偰曻楺偺椃偵弌偨丅僰乕儗僨傿儞偼偄偔偮傕偺挰傪朘偹偨枛僶僗儔偺挰偵拝偒丄偦偺崙偺榁戝恇偵婥偵擖傜傟丄柡偲寢崶偟丄旤偟偄抝偺巕僴僒儞丒僷僪儗僨傿儞傪傕偆偗丄榁戝恇偺塀嫃偲偲傕偵戝恇偵側傝丄傛偔惌帯傪峴偭偨丅榁戝恇偼娫傕側偔朣偔側偭偨偑丄僰乕儗僨傿儞偼怑偵椼傒丄僴僒儞丒僷僪儗僨傿儞偺嫵堢偵搘傔丄桪傟偨妛幰偵巕傪嫵堢傪偝偣丄僴僒儞丒僷僪儗僨傿儞偑15嵨偵側傞傑偱偵丄妛幰偺抦幆慡偰傪媧廂偝偣偨丅傑偨丄僰乕儗僨傿儞偺嵢偼丄壻巕偺嶌傝曽傪僴僒儞丒僷僪儗僨傿儞偵嫵偊偨丅僴僒儞丒僷僪儗僨傿儞偼偦偺旤杄偲抦幆偺偨傔丄崙墹偵婥偵擖傜傟偨丅 +堦曽丄孼僔儍儉僙僨傿儞偼丄婏偟偔傕丄掜僰乕儗僨傿儞偲摨偠擔偵崑彜偺柡偲寢崶偟丄僴僒儞丒僷僪儗僨傿儞偑惗傑傟偨擔偲摨偠擔偵丄旤偟偄彈偺巕僙僢僩丒僄儖丒儂僗儞傪傕偆偗偨丅 +偦偺屻偡偖偵丄僰乕儗僨傿儞偼昦婥偱巰朣偟丄僴僒儞丒僷僪儗僨傿儞偼斶偟傒偺偁傑傝崙墹偺強偵峴偐側偔側偭偨偺偱丄崙墹偼搟傝丄僴僒儞丒僷僪儗僨傿儞偺慡嵿嶻傪杤廂偟丄曔傑偊傞傛偆柦椷偡傞偑丄僴僒儞丒僷僪儗僨傿儞偼柍堦暥偱摝偘丄挰偺奜偺僰乕儗僨傿儞偺曟偵拝偄偨丅偦偙偵儐僟儎彜恖偑捠傝偐偐傝乽師偵擖峘偡傞僰乕儗僨傿儞偺慏傪愮僨傿僫乕儖偱攦偆乿偙偲傪怽偟弌丄僴僒儞丒僷僪儗僨傿儞偼摨堄偟丄愮僨傿僫乕儖傪庴偗庢偭偨丅僴僒儞丒僷僪儗僨傿儞偼晝偺曟偱柊偭偰偟傑偭偨丅 +偦偙偵丄彈婼恄偑捠傝偐偐傝丄僴僒儞丒僷僪儗僨傿儞偺旤偟偝偵姶扱偡傞偑丄抝婼恄偑捠傝偐偐傝乽僄僕僾僩偺僙僢僩丒僄儖丒儂僗儞偺曽偑旤偟偄乿偲尵偆偺偱丄岥榑偵側傝丄柊偭偰偄傞僴僒儞丒僷僪儗僨傿儞傪楢傟偰峴偭偰尒斾傋傛偆偲偄偆偙偲偵側偭偨丅僄僕僾僩偱偼丄崙墹偑僙僢僩丒僄儖丒儂僗儞偺旤偟偝傪抦傝寢崶傪怽偟崬傓偑丄僔儍儉僙僨傿儞偑掜僰乕儗僨傿儞偲偺栺懇偺偨傔抐偭偰偟傑偄丄崙墹偼暊偄偣偵丄僙僢僩丒僄儖丒儂僗儞傪偣傓偟偲寢崶偝偣傞偙偲偵偟丄偪傚偆偳偦偺擔偼寢崶幃偺擔偱偁偭偨丅抝婼恄偼偣傓偟傪曋強偵娔嬛偟丄僴僒儞丒僷僪儗僨傿儞偑戙傢傝偵僙僢僩丒僄儖丒儂僗儞偲弶栭傪嫟偵偟偨丅2恖偑柊傞偲丄婼恄偨偪偼柊偭偰偄傞僴僒儞丒僷僪儗僨傿儞傪僶僗儔傑偱塣傏偆偲偡傞偑丄寲壾傪偟丄搑拞偺僟儅僗偺挰偺忛暻偺奜偵棁偺僴僒儞丒僷僪儗僨傿儞傪抲偒嫀傝偵偟偨丅梻挬丄娽傪偝傑偟偨棁偺僴僒儞丒僷僪儗僨傿儞偼丄嫸恖埖偄傪庴偗傞偑丄挰偺壻巕壆偵曐岇偝傟丄梴巕偵側偭偨丅 +僙僢僩丒僄儖丒儂僗儞偼僴僒儞丒僷僪儗僨傿儞偺巕傪弌嶻偟丄偦偺旤偟偄抝偺巕偼傾僕僽偲柤偯偗傜傟偨丅傾僕僽偑12嵨偺帪丄晝恊偑偄側偄偙偲傪偐傜偐傢傟偨偺偱丄堦壠偱僴僒儞丒僷僪儗僨傿儞傪扵偡偙偲偵偟丄僴僒儞丒僷僪儗僨傿儞偑巆偟偰偄偭偨暈偵偁偭偨彂椶偐傜丄僶僗儔偐傜棃偨偙偲偑暘偐偭偨偺偱丄僶僗儔傪栚巜偟偰椃偵弌偨丅 +堦峴偼搑拞僟儅僗偵棫偪婑傝丄傾僕僽偼偍嫙偺崟恖偺泚姱僒僀乕僪偲偄偭偟傚偵僴僒儞丒僷僪儗僨傿儞偺壻巕壆偱壻巕傪怘傋傞偑丄屳偄偵恊巕偱偁傞偙偲偵婥偯偐側偐偭偨丅堦峴偼丄僶僗儔偱僴僒儞丒僷僪儗僨傿儞偺曣傪尒偮偗丄偄偭偟傚偵僇僀儘傑偱婣傞偙偲偵偟丄嵞傃搑拞偱僟儅僗偵棫偪婑偭偨丅偙偺偲偒丄僴僒儞丒僷僪儗僨傿儞偺曣偼丄壻巕偺枴偐傜丄壻巕壆偑僴僒儞丒僷僪儗僨傿儞偱偁傞偙偲偵婥偯偒丄偄偭偟傚偵僇僀儘偵婣傝丄岾偣偵曢傜偟偨丅 +椶帡偺榖:僇儅儔儖僓儅乕儞偲偁傜備傞寧偺偆偪嵟傕偆傞傢偟偄寧僽僪僁乕儖昉偲偺暔岅 +偣傓偟抝偍傛傃巇棫壆偲僉儕僗僩嫵搆偺拠攦恖偲屼梡學偲儐僟儎恖偺堛幰偲偺暔岅乮戞24栭 - 戞32栭乯 [曇廤] + +僶乕僩儞斉乽偣傓偟抝偺暔岅(戞24栭乚戞34栭)乿 +搶梞暥屔斉乽偣傓偟偺暔岅(戞24栭乚戞34栭)乿 +愄丄僔僫偺崙乮拞崙乯偵巇棫壆偑偄偰丄偁傞擔丄偣傓偟抝傪梉怘偵彽偄偨偑丄嫑傪柍棟偵怘傋偝偊偨偲偙傠岮偵媗傑傜偣偰丄偣傓偟抝偼巰傫偱偟傑偭偨丅巇棫壆偼丄巰懱傪儐僟儎恖堛巘偺壠偵幪偰偨偲偙傠丄儐僟儎恖堛巘偼巰懱偵偮傑偢偒奒抜偐傜棊偲偟偰偟傑偄丄帺暘偑嶦偟偨偲姩堘偄偟偨丅儐僟儎恖堛巘偼偣傓偟抝偺巰懱傪屼梡學偺壠偺戜強偵幪偰偨偲偙傠丄屼梡學偼揇朹偲姩堘偄偟丄巰懱傪朹偱墸傝丄帺暘偑嶦偟偨偲姩堘偄偟偨丅屼梡學偼偣傓偟抝偺巰懱傪巗応偺暻偵棫偰偐偗偰抲偄偨偲偙傠丄捠傝偑偐偭偨僉儕僗僩嫵搆偺拠攦恖偑嫮搻偲姩堘偄偟丄巰懱傪墸傝偮偗丄帺暘偑嶦偟偨偲姩堘偄偟偨丅僉儕僗僩嫵搆偺拠攦恖偼曔傑傝巰孻傪尵偄搉偝傟傞偑丄屼梡學丄儐僟儎恖堛巘丄巇棫壆偑師乆乽幚偼帺暘偑嶦偟偨乿偲帺庱偟偨偺偱丄堦摨偼墹偺尦偵楢傟偰偙傜傟丄乽僉儕僗僩嫵搆偺拠攦恖偺榖乿乽僔僫墹偺屼梡學偺榖乿乽儐僟儎恖堛巘偺榖乿乽巇棫壆偺榖乿偑岅傜傟偨丅 墹偼丄巇棫壆偺榖偑婥偵擖傝丄偦偺榖偵弌偰偒偨彴壆傪彚偟弌偡偑丄彴壆偼偣傓偟抝偺岮偵媗傑偭偨嫑傪庢傝弌偟偰丄偣傓偟抝傪惗偒曉傜偣偨丅堦摨偼墹偺斴岇偺傕偲丄岾偣偵曢傜偟偨丅 +僉儕僗僩嫵搆偺拠攦恖偺榖 [曇廤] +偁傞僇僀儘惗傑傟偺僐僾僩恖偺僉儕僗僩嫵搆偺拠攦恖偺強偵旤偟偄庒幰偑棃偰丄50傾儖僨僽偺層杻傪1傾儖僨僽摉偨傝100僪儔僋儉偱攧傞拠夘傪埶棅偟偨丅拠夘偼惉岟偟丄5000僪儔僋儉偺戙嬥偺偆偪500僪儔僋儉偼庤悢椏偲偟偰拠攦恖偑庴偗庢傝丄4500僪儔僋儉偼庒幰偑堦儠寧屻庴偗庢傞偲偟偰丄拠攦恖偑梐偐傞偙偲偲側偭偨丅偟偐偟1偐寧宱偭偰傕庒幰偼嬥傪庴偗庢傜偢丄偦偺屻傕偄偮傑偱傕嬥傪庴偗庢傜側偐偭偨偑丄偮偄偵1擭屻庒幰偑嬥傪庴偗庢傝偵棃偨偲偒丄拠攦恖偼庒幰傪墐夛偵彽偒丄嵍庤偱怘帠傪偡傞偺傪尒偰丄庒幰偵塃庤偑側偄偙偲傪抦偭偨丅拠攦恖偑棟桼傪恞偹傞偲丄庒幰偼塃庤偺側偄僶僌僟乕僪偺庒偄彜恖偺榖傪岅偭偨丅 +塃庤偺側偄僶僌僟乕僪偺庒偄彜恖偺榖 [曇廤] +庒幰偼僶僌僟乕僪偺戝嬥帩偪偺懅巕偱偁偭偨偑丄晝偑巰偵堚嶻傪憡懕偟偨屻丄堚嶻偱彜昳傪攦偄僇僀儘偵椃棫偭偨丅僇僀儘偱彜昳傪攧偭偰偄傞偲丄庒幰偼彜昳傪攦偄偵棃偨旤偟偄彈偵楒傪偟偰偟傑偭偨丅庒幰偼枅擔偦偺彈偺壆晘偵捠偄丄堦栭傪嫟偵偟丄50僨傿僫乕儖傪搉偟偰挬婣傞偲偄偆偙偲傪懕偗偨偑丄偮偄偵嬥偑側偔側傝丄崲偭偰偟傑偭偨丅庒幰偼巗応傪曕偄偰偄傞偲偒恖偵傇偮偐傝丄庤偑嵿晍偵怗傟偨攺巕偵偦偺嵿晍傪搻傫偱偟傑偭偨偑丄偦偺応偱曔傑傝丄敱偲偟偰塃庤傪巃傜傟偰偟傑偭偨丅峴偔摉偰傕側偔彈偺壆晘偵峴偔偲丄彈偼斶偟傒丄塃庤傪幐偭偨庒幰偲寢崶偟偨丅崱傑偱搉偟偨嬥偼慡偰庤晅偐偢偱巆偭偰偍傝丄庒幰偵曉偟偰偔傟偨丅偟偐偟丄彈偼斶偟傒偺偁傑傝昦偵側傝巰傫偱偟傑偭偨丅 庒幰偼彈偺堚嶻傪憡懕偟偨偑丄堚嶻偼朿戝偱丄1擭偐偗偰傛偆傗偔張暘偟廔偊偨偺偱丄拠攦恖偺強偵嬥傪庴庢偵棃偨偺偱偁偭偨丅 +僔僫墹偺屼梡學偺榖 [曇廤] +僔僫墹偺屼梡學偼丄偁傞墐夛偵峴偭偨偲偒丄儘僘僶僕儍偲偄偆偍偄偟偄椏棟偑弌偝傟偨偺偱丄堦摨偍偄偟偔怘傋偰偄偨偲偙傠丄堦恖偺抝偩偗偑偦傟傪怘傋側偐偭偨丅堦摨偑棟桼傪恞偹傞偲丄抝偼恊巜偺側偄彜恖偺榖傪岅偭偨丅 +恊巜偺側偄彜恖偺榖 [曇廤] +抝偺晝偼僶僌僟乕僪偺戝彜恖偱丄僴乕儖乕儞丒傾儖丒儔僔乕僪偺帪戙偺恖暔偱偁偭偨丅晝偺巰屻丄抝偼僶僌僟乕僪偱彜恖傪偟偰偄偨偑丄揦偵崅妟側彜昳傪偮偗偱攦偄偵棃傞旤偟偄壋彈偵楒傪偟偰偟傑偭偨丅偦偺壋彈偼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偺斳僝僶僀僟偺偍婥偵擖傝偺攦暔學偺帢彈偱偁偭偨丅抝偼帢彈偺庤堷偒偱屻媨偵擡傃崬傒丄僝僶僀僟偺嫋偟傪摼偰偦偺攦暔學偺帢彈偲寢崶偡傞偙偲偲側偭偨偑丄寢崶幃偺墐夛偱弌偝傟偨儘僘僶僕儍傪怘傋偨屻丄庤傪愻傢偢偵弶栭偵椪傫偱偟傑偄丄攦暔學偺帢彈偼庤偵晅偄偨擋偄偱偦傟偵婥偯偒丄庤傕愻傢側偄柍恄宱偝偵搟傝丄抝傪曔傜偊偰椉庤椉懌偺恊巜傪巃偭偰偟傑偭偨丅抝偑乽奃偱40夞丄僜乕僟偱40夞丄愇尣偱40夞庤傪愻偭偨屻偱側偗傟偽丄儘僘僶僕儍偼怘傋側偄乿偲惥偭偨偲偙傠彈偺搟傝偼廂傑傝丄擇恖偼偄偭偟傚偵曢傜偟偨偑丄1擭屻彈偼巰偵丄抝偼斶偟傒偱椃偵弌偰丄僔僫偺崙傑偱棃偨偺偱偁偭偨丅 +儐僟儎恖堛巘偺榖 [曇廤] +儐僟儎恖堛巘偑庒偄崰丄僟儅僗偺巗偱堛巘傪偟偰偄偨偲偒丄巗偺憤撀偐傜昦恖傪娕傞傛偆偵尵傢傟偰憤撀偺媨揳偵峴偭偨丅昦恖偼旤偟偄惵擭偱丄柆傪庢傞偨傔榬傪弌偡傛偆偵尵偆偲丄惵擭偼旕楃偵傕嵍榬傪嵎偟弌偟偨丅儐僟儎恖堛巘偼10擔娫娕昦偟丄惵擭偺昦婥偑帯偭偨偺偱丄嫟偵晽楥乮僴儞儅乕儉乯偵擖偭偨偑丄惵擭偺塃庤偑巃傜傟偰側偔側偭偰偄傞偺傪尒偰嬃偄偨丅惵擭偼丄儐僟儎恖堛巘偵乽塃庤偺側偄儌乕僗儖偺庒幰偺榖乿傪岅傝丄側偤塃庤偑側偔側偭偨偺偐傪嫵偊偨丅 +塃庤偺側偄儌乕僗儖偺庒幰偺榖 [曇廤] +庒幰偼儌乕僗儖偺挰偺崑彜偺懅巕偱偁偭偨偑丄廸晝偨偪偲嫟偵僇僀儘偵彜攧偺椃偵弌偐偗丄搑拞僟儅僗偵棫偪婑傝彜攧偱戝栕偗傪偟丄庒幰偼僟儅僗偵棷傑傝丄廸晝偨偪偼僇僀儘傊偺椃傪懕偗傞偙偲偵側偭偨丅庒幰偼崑壺側壠傪庁傝丄廸晝偨偪偺婣傝傪懸偭偨偑丄偁傞擔丄壆晘偺慜傪旤偟偄庒偄彈偑捠偭偨偺偱惡傪偐偗偨偲偙傠丄彈偼壠偵棃偨偺偱丄庒幰偼崑壺側怘帠偱娊懸偟丄偦偺傑傑栭傪偲傕偵偟偨丅梻挬丄彈偼乽3擔屻傑偨棃傞乿偲尵偄巆偟丄柤慜傕尵傢偢偵嫀偭偰偄偭偨丅撲偺彈偼3擔枅偵庒幰偺壠偵棃偰栭傪偲傕偵偟丄梻挬婣偭偰峴偭偨丅 +偁傞擔丄彈偼乽崱搙棃傞偲偒丄巹傛傝庒偔旤偟偄彈傪楢傟偰棃傞偑椙偄偐乿偲庒幰偵暦偄偨偺偱丄庒幰偑乽椙偄乿偲摎偊傞偲丄3擔屻丄撲偺彈偼庒偔旤偟偄彈傪楢傟偰棃偨丅撲偺彈偼乽偙偺彈偺曽偑巹傛傝旤偟偄偲巚偆偱偟傚偆丅乿偲暦偄偨偺偱丄庒幰偼乽偼偄丅乿偲摎偊偨偑丄撲偺彈偼乽側傜偽偙偺彈偲栭傪偲傕偵偟側偝偄乿偲尵偭偨丅庒幰偲庒偄彈偼暿偺晹壆偵峴偒丄栭傪偲傕偵偟偨偑丄庒幰偑挬栚妎傔傞偲丄庒偄彈偼巃傜傟偰巰傫偱偍傝丄撲偺彈偼偳偙偵傕偄側偐偭偨丅 +庒幰偼丄庒偄彈偺巰懱傪壠偺彴壓偵寠傪孈偭偰杽傔丄戝壠偵壠捓傪慜暐偄偟偰壠傪晻報偟丄僇僀儘偵摝偘偨丅僇僀儘偱偼廸晝偨偪偲曢傜偟偨偑丄廸晝偨偪偼彜昳傪攧傝偮偔偟偨偺偱丄儌乕僗儖偵婣傞偙偲偵側偭偨偑丄庒幰偼堦恖僇僀儘偵巆偭偨丅偟偐偟丄偦偺屻丄嬥偑彮側偔側偭偨偺偱丄庒幰偼僟儅僗偵栠偭偨丅庁壠偵婣傞偲丄拞偼偦偺傑傑偵側偭偰偄偨偑丄僋僢僔儑儞偺壓偵嶦偝傟偨彈偺庱忺傝傪尒偮偗偨偺偱庒幰偼偦傟傪巗応偱攧傞偙偲偵偟偨丅 +巗応偱拠攦恖偵庱忺傝傪尒偣偨偲偙傠丄偳偆傗偭偰庱忺傝傪擖庤偟偨偐傪幙栤偝傟偰摎偊傞偙偲偑偱偒偢丄曭峴乮儚乕儕乕乯偺強偵楢傟偰峴偐傟丄搻傫偩偲僂僜偺帺敀傪偟偰偟傑偄丄敱偲偟偰塃庤傪愗傜傟偰偟傑偭偨丅偟偐偟丄庱忺傝傪尒偨憤撀偑庒幰傪屇傃弌偟丄恀幚傪岅傞傛偆偵柦偠偨偨傔丄庒幰偼恀幚傪憤撀偵崘偘偨丅憤撀偼丄撲偺彈偼憤撀偺挿彈偱偁傝丄嶦偝傟偨彈偼憤撀偺師彈偱偁傝丄挿彈偑幑搃偺偨傔嶦偟偨偙偲丄挿彈偼偦傟埲棃暵偠偙傕偭偰媰偄偰偄傞偙偲丄庒幰偵嵾偑側偄偙偲傪崘偘丄庒幰偵憤撀偺嶰彈傪壟偵偟憤撀偺梴巕偵側傞傛偆偵尵偭偨偨傔丄庒幰偼彸戻偟偨丅偦傟埲棃丄庒幰偼憤撀偲偲傕偵岾偣偵曢傜偟偨丅 +巇棫壆偺榖 [曇廤] +偣傓偟抝偺帠審偑婲偙偭偨擔偺挬丄巇棫偰壆偼怑恖拠娫偲偺墐夛偵弌偰偄偨丅偦偙偵僶僌僟乕僪晽偺暈憰傪偟偨曅懌偺埆偄旤惵擭偑彽偐傟偰棃偨偑丄堦嵗偺拞偵彴壆偺巔傪擣傔傞偲棫偪嫀傠偆偲偟偨丅恖乆偑棟桼傪恞偹傞偲丄惵擭偼偦偺彴壆偙偦屘嫿僶僌僟乕僪偱斵偑曅懌傪埆偔偡傞偵帄偭偨晄岾偺尦嫢偩偲摎偊丄師偺傛偆偵岅偭偨丅 +懌偺埆偄庒幰偲僶僌僟乕僪偺彴壆偺暔岅 [曇廤] +惵擭偼僶僌僟乕僪偺晉桾側彜恖偺堦恖懅巕偩偭偨丅斵偼偁傞偲偒朄姱(僇乕僨傿乕)偺柡偱偁傞旤偟偄壋彈傪尒偐偗丄楒姵偄偵怮晅偄偰偟傑偭偨丅偡傞偲堦恖偺榁攌偑朘傟偰偒偰柡偲偺庢傝帩偪傪攦偭偰弌偨丅榁攌偐傜惵擭偺榖傪暦偄偨柡偼晝偺朄姱偑嬥梛偺楃攓偵弌偐偗偰偄傞娫偵壠偵傗偭偰棃傞傛偆榁攌偵偙偲偯偗偨丅偝偰嬥梛丄惵擭偼柡傪朘傟傞慜偵彴壆傪屇傫偱恎側傝傪惍偊傞帠偵偟偨丅傗偭偰棃偨偺偑偔偩傫偺彴壆偩偭偨丅惵擭偼彴壆傪偣偐偡偑丄彴壆偼挿乆偲偍挐傝偟偰偄偭偙偆偵巇帠傪嵪傑偣側偄偽偐傝偐丄惵擭偲柡偺埀悾偵晅偄偰偄偙偆偲弌偟傖偽偭偨丅傗偭偲摢傪掍傝廔偊偨惵擭偼柡偺傕偲傊岦偐偆偑丄彴壆偼偙偭偦傝屻傪偮偗偨丅惵擭偑忋偺奒偺柡偺晹壆偵捠偝傟傞傗斲傗朄姱偑婣偭偰偒偰偟傑偄丄壓偺奒偺晹壆偱壗偐晄巒枛傪偟偨搝楆傪曏懪偪偟巒傔偨丅偦偺斶柭傪暦偄偨彴壆偼惵擭偑曔傑偭偨偺偩偲巚偄崬傒丄惵擭偺壠偺恖乆傗孮廜傪堷偒楢傟偰朄姱偺壠偵墴偟擖偭偨丅摝偘応偺側偄惵擭偼戝偒側敔偵塀傟偨丅彴壆偼拞偵惵擭偑偄傞偺傪嶡偟偰敔偛偲奜偵塣傃弌偡偑丄栰師攏偑婑偭偰偨偐偭偰敔偺奧傪奐偗偰偟傑偆丅惵擭偼偦偺応偐傜摝偘弌偦偆偲敔偐傜旘傃崀傝傞嵺偵曅媟傪愜偭偰偟傑偭偨丅彴壆偑崱屻寛偟偰惵擭偐傜棧傟偢偦偺憡択栶偵側傠偆偲尵偆偺傪暦偄偰偧偭偲偟偨惵擭偼丄彴壆偐傜摝傟傞偨傔偵屘嫿偺偡傋偰傪幪偰偰僶僌僟乕僪傪弌杬偟偨丅偟偐偟偙偙梱偐僔僫偺崙偱嵞傃彴壆偲憳嬾偟偰偟傑偭偨偺偩偲巇棫偰壆払偵岅傝廔偊傞偲丄惵擭偼棫偪嫀偭偰偟傑偭偨丅 嬃偄偨堦摨偑惵擭偺榖偼杮摉偐栤偄偨偩偡偲丄彴壆偼帺暘偑偦偺6恖偺孼払偲堘偭偰偄偐偵偍挐傝偱側偔弌偟傖偽傝偱傕側偄偐暦偐偣傞偲尵偭偰師偺傛偆偵岅偭偨丅 +僶僌僟乕僪偺彴壆偲偦偺6恖偺孼偺暔岅 [曇廤] +彴壆偺暔岅 [曇廤] +傢偨偟偼嫵庡僄儖丒儌儞僗僞儖丒價儖儔乕偺偙傠僶僋僟乕僪偵曢傜偟偰偄偨偑丄廫恖偺搻懐偨偪偲堦弿偵偄偨偲偙傠傪傂偲傑偲傔偵曔傜偊傜傟偨丅廫恖偺庱傪偼偹傛偲柦偢傞嫵庡偵懳偟丄傢偨偟偼乽捑栙壠乿偺柤偺偲偍傝壗傕尵傢偢偵偄傞丅傗偑偰廫恖偺庱偑棊偪丄傢偨偟偩偗偑巆傞偲丄偦傟偵婥偯偄偨嫵庡偼偦偺傢偗傪栤偆丅傢偨偟偼榋恖偺閌愩側孼偺榖傪偟偨丅戞堦偺孼偼曅懌偑偒偐偢丄戞擇偺孼偼曅栚偱丄戞嶰偺孼偼慜帟偑側偔丄戞巐偺孼偼栍恖偱丄戞屲偺孼偼椉帹偲旲傪偦偑傟丄戞榋偺孼偼怬偑側偄丅 +彴壆偺戞堦偺孼僶僋僽乕僋偺暔岅 [曇廤] +孼偼巇棫壆傪偟偰偄偨偑丄壠庡偺嵢偵楒傪偡傞丅偟偐偟偙偺彈偼孼傪棙梡偟丄偝傫偞傫僞僟偱巇棫偰傪偝偣丄嵟屻偵偼悌偵偐偗偰嵢傪廝偭偨傆偆偵憰偄丄曔傜偊傜傟偨孼偼堷偒夞偝傟偰偄傞搑拞偵閜閗偐傜棊偪偰懌傪愜偭偰偟傑偭偨丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 +彴壆偺戞擇偺孼僄儖丒僴僟乕儖偺暔岅 [曇廤] +偙偺慜帟偑寚偗偨孼偑挰傪曕偄偰偄傞偲丄榁攌偑榖偟偐偗偰偒偰丄梋寁側偙偲傪尵傢側偄偲栺懇偡傞側傜偽壋彈偨偪偲妝偟偔夁偛偣傞偩傠偆丄偲偄偆丅偮偄偰偄偭偰傒傞偲妋偐偵嶰恖偺旤彈偑偄偰丄偝傫偞傫傢傞傆偞偗傪偟偨偁偲孼偺僸僎傪偦傝婄偵偍偟傠偄傪揾傝偨偔傝丄堿宻傪偍偭棫偰偰棁偺彈偲捛偄偐偗偭偙傪偡傞傛偆偵媮傔傜傟傞丅偦偺偲偍傝偵偡傞偲偄偮偺傑偵偐墲棃偺恀傫拞偵弌偨丅恖乆偼孼偺晽懱傪傒傞偲嫸恖偩偲偍傕偄丄曏懪偪偺偆偊搒傪捛曻偝傟偨丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 +彴壆偺戞嶰偺孼僶僋僶僋偺暔岅 [曇廤] +栍恖偱偁傞孼偼暔岊偄傪惗嬈偵偟偰偄偨丅偁傞壠偵巤偟傪庴偗偵偄偔偲丄偦傟偼柤偆偰偺揇朹偱丄傂偦偐偵孼偺屻傪偮偗丄暔岊偄拠娫偲嶰恖偱怘帠傪偟偰偄傞偲偙傠偵擖傝崬傫偱堦弿偵怘偄暔傪怘傋偰偟傑偆丅偦傟偵婥偯偄偰憶偖偲丄揇朹傕栍恖偺傆傝傪偡傞丅巐恖偲傕曭峴偺慜偵傂偒偨偰傜傟傞偲丄揇朹偼巐恖偺嵿嶻傪嶰恖偱嶳暘偗偟傛偆偲偟偰偄傞偺偩偲慽偊傞丅曭峴偼嵿嶻偺巐暘偺堦傪揇朹偵偁偨偊丄巆傝偼帺暘偺傕偺偲偟偨丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 +彴壆偺戞巐偺孼僄儖丒僋乕僘偺暔岅 [曇廤] +偙偺孼偼擏壆傪偄偲側傫偱偄偨偑丄僺僇僺僇偺嬧壿偱攦暔偵偔傞忢楢偺榁恖偑偄偨丅孼偼偙偺嬧壿傪摿暿偵挋傔偰偄偨偑丄偁傞偲偒偦傟傪尒傞偲偡傋偰娵偄敀巻偵曄傢偭偰偄傞丅榁恖傪栤偄媗傔傞偲丄杺朄偵捠偠偰偄偨偦偺抝偼丄揦偵偁傞梤擏傪恖擏偵傒偣偰崘敪偡傞丅孼偼曅栚傪偊偖傜傟丄慡嵿嶻傪杤廂偝傟偰捛曻偝傟偰偟傑偭偨丅師偵偨偳傝拝偄偨挰偱孼偼孋捈偟傪偼偠傔傞偑丄偦偺抧偺墹偼峤乮偡偑傔乯偑側偵傛傝寵偄偱丄尒偐偗傞偲偐側傜偢嶦偡偲偄偆丅偦偙傕摝偘偩偡偑丄傑偨師偺挰偱孼偼揇朹偵傑偪偑傢傟偝傫偞傫側傔偵偁偭偨丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 +彴壆偺戞屲偺孼僄儖丒傾僗僔儍乕儖偺暔岅 [曇廤] +側傑偗傕偺偺孼偼晝偺堚嶻傪庴偗庢傞偲丄偦傟傪尦庤偵僈儔僗嵶岺偺業揤彜傪偟偰偄偨丅揦斣傪偟側偑傜旤偟偄戝嵣憡偺柡傪嵢偵傔偲傞栂憐傪偡傞丅栂憐偼偳傫偳傫僄僗僇儗乕僩偟丄抧埵偺偁傞柡偵偮傟側偔偡傞嬻憐偺偼偢傒偵懌傪傆傞偲丄攧傝暔偺僈儔僗嵶岺傪廟搢偟偰偡傋偰偙傢偟偰偟傑偆丅扱偄偰偄傞偲戝惃偺廬幰傪楢傟偨晈恖偑丄孼偵巤偟傪梌偊偨丅偦偺屻孼偺壠偵榁攌偑朘偹偰偒偰丄偁偺晈恖偼偍慜偵婥偑偁傞偨傔偵嬥傪梌偊偨偺偩偲偄偆丅摫偒偵偟偨偑偭偰晈恖傪朘偹丄孼偼妝偟偄堦栭傪夁偛偡偑丄師偺挬孅嫮側崟恖偑偁傜傢傟偰孼傪偢偨偢偨偵愗傝楐偒丄恎偖傞傒傪偼偄偱抧壓偺偁側偖傜偵曻傝崬傫偱偟傑偭偨丅偙傟偼搻懐抍偺悌偩偭偨偺偱偁傞両婏愓揑偵堦柦傪偲傝偲傔偨孼偼丄媡偵堦枴傪悌偵偐偗偰崟恖傗榁攌偨偪傪嶦偟偰偟傑偆丅偦偟偰彈偵偣傑傞偲丄斵彈偼傓傝傗傝楢傟偰偙傜傟嫤椡偝偣傜傟偰偄偨偲偄偆丅孼偼彈傪備傞偟丄搻懐抍偑偨傔偨嬥傪帩偪弌偡偨傔偵恖懌傪屇傃偵偄偭偰栠偭偰傒傞偲丄偡偱偵彈偺巔偼側偔丄偦偙傊寈棛偑偁傜傢傟偰孼偼曔傜偊傜傟偰偟傑偭偨丅曭峴偼嬥傪偡傋偰拝暈偟丄孼偼捛曻偝傟傞丅偝傜偵忛栧傪偱偨偲偙傠偱嫮搻偵偍偦傢傟丄孼偑柍堦暥偱偁傞偙偲傪抦傞偲偐傟傜偼偦偺暊偄偣偵孼偺怬偲旲傪愗傝庢偭偨偺偱偁傞丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 +彴壆偺戞榋偺孼僔儍僇乕儕僋偺暔岅 [曇廤] +傂偳偄昻朢偺孼偼丄傂偲偵偨偐偭偰偔傜偟偰偄偨丅偁傞棫攈側壠偵巤偟傪庴偗偵偄偔偲丄偦偙偺庡恖偱偁傞榁恖偼偙偙傠傛偔堷偒庴偗丄側偵傕側偄椏棟傪偆傑偦偆偵怘偭偰尒偣傞丅帩偪慜偺挷巕椙偝傪傒偣壦嬻偺墐夛偵偺偭偰傒偨孼偩偑丄偦偺偆偪暊偵悩偊偐偹丄壦嬻偺庰偱悓偭偨傆傝傪偟偰榁恖傪傂偭傁偨偔丅偟偐偟榁恖偼偐偊偭偰戝徫偄偟丄埲屻孼偼榁恖偲恊偟偔夁偛偟偨丅偟偐偟擇廫擭屻榁恖偑巰偸偲丄孼偼椃偵弌傞偺偩偑丄儀僪僂傿儞恖偺搻懐偵廝傢傟偰搝楆偵偝傟偰偟傑偭偨丅摢栚偺嵢偼堹棎側彈偱丄嵞嶰孼偵娭學傪偣傑傞丅杺偑嵎偟偰彈傪書偄偨孼傪摢栚偑傒偮偗丄儀僪僂傿儞恖偼孼偺怬傪偦偓丄偝傜偵堿宻傪愗傝棊偲偟偨偺偱偁傞丅傢偨偟偼孼傪彆偗丄埲屻偙傟傪斴岇偟偰偄傞偺偩丅 + + +嫵庡僄儖丒儌儞僗僞儖丒價儖儔乕偼偍偍偄偵妝偟傫偩偑丄巚偆偲偙傠偁傞偲偄偄丄傢偨偟傪強暐偄偵偟偨丅偦偺屻嫵庡偑側偔側傞偲傢偨偟偼僶僋僟乕僪偵傕偳傞偺偩偑丄庒幰偺壠偵屇偽傟偨偺偼偦偺偲偒偺偙偲偱偁傞丅 + + +慻崌堳偨偪偼偙傟傪暦偄偰丄傗偼傝彴壆偵旕偑偁傞偲峫偊丄斵傪堦幒偵暵偠崬傔偨丅偣傓偟偺抝偵夛偭偨偺偼丄偙偺墐夛偑偼偹偨偁偲偺偙偲偱偁傞丅 + + +僔僫偺墹偼偙偙傑偱暦偔偲丄彴壆傕彚偟弌偟偨丅彴壆偼偙偙傑偱偺榖傪偒偒丄偣傓偟偺條巕傪傒傞偲傉偭偲暚偒弌偟丄弍傪巤偡偲丄側傫偲偣傓偟偼慼惗偟偨偱偼側偄偐両墹偼偨偄偦偆傛傠偙傃丄堦摨偺傕偺偨偪偼埲屻懡偔偺晉傪帓偭偰桾暉偵曢傜偟偨丅 +旤偟偄傾僯僗丒傾儖丒僕儍儕僗偲傾儕丒僰乕儖偺暔岅乮戞32栭 - 戞36栭乯 [曇廤] + +僶乕僩儞斉乽僰儖丒傾儖丒僨傿儞丒傾儕偲壋彈傾僯僗丒傾儖丒僕儍儕僗偺暔岅(戞34栭乚戞38栭)乿 +搶梞暥屔斉乽僰乕儖僢丒僨傿乕儞丒傾儕乕偲傾僯乕僗僢丒僕儍儕乕僗偺暔岅(戞34栭乚戞38栭)乿 +愄丄僶僗儔偺墹儉僴儞儅僪丒儀儞丒僗儔僀儅乕儞丒僄儖丒僛僀僯偺傕偲偵丄慞偄戝恇僄儖丒僼傽僪儖丒儀儞丒僇僇乕儞偲埆偄戝恇僄儖丒儌僸儞丒儀儞丒僒乕僂傿偑偄偨丅偁傞擔丄墹偼慞偄戝恇僄儖丒僼傽僪儖丒儀儞丒僇僇乕儞偵丄旤杄丄梕巔丄嵥擻丄惈奿偵寚偗傞偙偲偺側偄嵟崅偺彈搝楆傪扵偡偙偲傪柦偠丄戝恇偼嬯楯偺枛丄嵟崅偺彈搝楆傾僯僗丒傾儖丒僕儍儕僗傪尒偮偗傞偑丄墹偵專忋偡傞慜偵丄戝恇偺懅巕偱旤抝巕偺傾儕丒僰乕儖偑庤傪弌偟偰偟傑偭偨丅戝恇偼巇曽側偔傾儕丒僰乕儖偲傾僯僗丒傾儖丒僕儍儕僗偺寢崶傪擣傔丄偙偺偙偲傪墹偵塀偟丄彈搝楆傪專忋偣偢偵偄偨偲偙傠丄戝恇偼昦婥偱巰朣偟偰偟傑偭偨丅懅巕傾儕丒僰乕儖偑晝偺堚嶻傪憡懕偡傞偲丄楺旓傪巒傔丄彈搝楆傾僯僗丒傾儖丒僕儍儕僗埲奜偺嵿嶻傪慡偰幐偭偰偟傑偭偨丅嵟屻偵傾僯僗丒傾儖丒僕儍儕僗傪嫞攧偵偐偗偨偲偙傠丄埆偄戝恇僄儖丒儌僸儞丒儀儞丒僒乕僂傿偑棊嶥偡傞偑丄傾儕丒僰乕儖偼婥偑曄傢傝嫞攧傪庢傝壓偘偨丅埆偄戝恇偼丄墹偵慽偊丄墹偼傾儕丒僰乕儖偺戇曔傪柦偠丄傾儕丒僰乕儖偲傾僯僗丒傾儖丒僕儍儕僗偼僶僗儔偐傜摝偘弌偟偨丅 +傾儕丒僰乕儖偲傾僯僗丒傾儖丒僕儍儕僗偼僶僋僟乕僪偵摝偘墑傃丄偦偙偱嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偺掚墍偵彑庤偵擖傝崬傒丄掚斣僀僽儔乕僸乕儉偲拠椙偔側傝丄偦偙偱墐夛傪巒傔偨丅偦偙偵偍擡傃偱捠傝偐偐偭偨嫵墹僴乕儖乕儞丒傾儖丒儔僔乕僪偼丄傾僯僗丒傾儖丒僕儍儕僗偺壧偑戝曄婥偵擖偭偨丅偦傟傪尒偨傾儕丒僰乕儖偼傾僯僗丒傾儖丒僕儍儕僗傪嵎偟忋偘傞偲尵偄丄偦偺婥慜椙偝偵姶摦偟偨嫵墹偼丄僶僋僟乕僪傑偱棃偨榖傪暦偄偨丅嫵墹偼丄埆偄戝恇僄儖丒儌僸儞丒儀儞丒僒乕僂傿傪嶦偟丄傾儕丒僰乕儖偵傾僯僗丒傾儖丒僕儍儕僗傪嵞搙梌偊丄2恖偼嫵墹偺斴岇偺傕偲丄岾偣偵曢傜偟偨丅 +僈僱儉丒儀儞丒傾僀儐乕僽偲偦偺枀僼僃僩僫乕偺暔岅乮戞36栭 - 戞44栭乯 [曇廤] + +僶乕僩儞斉乽楒偵嫸偭偨搝僈乕僯儉丒價儞丒傾僀儐僽偺暔岅(戞38栭乚戞45栭)乿 +搶梞暥屔斉乽嫸楒偺搝楆僈乕僯儉丒僀僽儞丒傾僀儐乕僽偺暔岅(戞38栭乚戞45栭)乿 +傓偐偟丄僟儅僗偵傾僀儐乕僽偲偄偆崑彜偑偄偰丄斵偵偼僈僱儉丒儀儞丒傾僀儐乕僽丒僄儖丒儌僥傿儉丒僄儖丒儅僗儖乕僽偲偄偆懅巕偲丄偦偺枀僼僃僩僫乕偲偄偆柡偑偄偨丅僈僱儉偑庒偄偲偒偵晝傾僀儐乕僽偼朣偔側偭偨偑丄僈僱儉偼堦恖僶僌僟乕僪偵峴偒彜攧傪巒傔戝栕偗偟偨丅偁傞擔丄僈僱儉偼挰偺奜偺憭媀偵嶲楍偟偨偑丄栭抶偔側傝忛栧偑暵傑傝挰偵擖傟側偔側偭偨偨傔丄曟応偱栭柧偐偟傪偟偰偄傞偲丄3恖偺崟恖偑戝偒側敔傪塣傫偱曟応偵嬤偯偄偰偒偨偨傔丄栘偵搊傝塀傟偨丅3恖偼曟応偱僗乕僟儞偺戞1偺崟恖泚姱僒儚乕僽偺暔岅偲僗乕僟儞偺戞2偺崟恖泚姱僇乕僼儖偺暔岅傪偟偰媥宔偟偨屻丄寠傪孈偭偰敔傪杽傔偰婣偭偰峴偭偨丅僈僱儉偑敔傪孈傝弌偡偲丄拞偵偼杻悓偵偐偐偭偨旤彈偑擖偭偰偍傝丄僈僱儉偼壠偵楢傟婣偭偨丅 +旤彈偺柤偼僋儚僩丒傾儖丒僋乕儖乕僽偲尵偄丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偺懁幒偱偁偭偨偑丄惓岪僝僶僀僟偵崷傑傟丄杻悓栻傪堸傑偝傟丄敔偵擖傟傜傟丄杽傔傜傟偨偺偩偭偨丅嫵墹偼僋儚僩丒傾儖丒僋乕儖乕僽偑巰傫偩偲閤偝傟丄扱偒斶偟傫偩偑丄彈搝楆偺偍偟傖傋傝偐傜丄惗偒偰偄傞偙偲傪抦偭偨丅嫵墹偼丄僈僱儉偑庤傪弌偟偨偲岆夝偟偰丄暫傪憲傝僈僱儉傪曔傜偊傛偆偲偡傞偑丄僈僱儉偼柍堦暥偱摝偘墑傃偨丅傑偨丄嫵墹偼僟儅僗偺懢庣偵暥傪憲傝丄僈僱儉偺曣偲枀傪慡棁偵偟偰挰偐傜捛曻偡傞傛偆柦偠柦椷偼幚峴偝傟偨丅 偟偐偟丄僋儚僩丒傾儖丒僋乕儖乕僽偼僈僱儉偑庤傪弌偟偰偄側偄偲偄偆恀憡傪嫵墹偵嫵偊丄嬯楯偺枛丄僈僱儉偲僈僱儉偺曣偲枀僼僃僩僫乕傪尒偮偗弌偟偨丅僈僱儉偼嫵墹偵墆尒偟丄僋儚僩丒傾儖丒僋乕儖乕僽偲寢崶偡傞嫋偟傪傕傜偄丄僼僃僩僫乕偼嫵墹偺懁幒偲側傝丄嫵墹偺斴岇偺傕偲4恖偼岾偣偵曢傜偟偨丅 +僗乕僟儞偺戞1偺崟恖泚姱僒儚乕僽偺暔岅 [曇廤] +僒儚乕僽偼5嵨偺偲偒搝楆偲偟偰偁傞晲彨偵攧傜傟丄晲彨偺3嵨偺柡偺梀傃憡庤偲側偭偨丅柡偑10嵨偺偲偒丄娫堘偭偰柡偺張彈傪扗偭偰偟傑偄丄柡偺曣偵抦傜傟偰偟傑偭偨丅柡偺曣偼柡傪媫偄偱彴壆偵寢崶偝偣丄捁偺寣傪張彈偺寣偲婾偭偰壴柟傪偩傑偟偨丅僒儚乕僽偼嫀惃偝傟偦偺屻傕柡偵巇偊偨偑丄柡偺壠懓偑偡傋偰擭傪庢傝巰傫偩偨傔丄僶僌僟僢僪偵棃偨丅 +僗乕僟儞偺戞2偺崟恖泚姱僇乕僼儖偺暔岅 [曇廤] +僇乕僼儖偼8嵨偺偲偒乽1擭偵1夞戝塕傪偮偔搝楆乿偲偟偰攧傜傟偰偄偨偺傪偁傞彜恖偑埨偔攦偭偨丅偁傞擔丄偦偺彜恖偑媞傪彽偄偰挰偺奜偱墐夛傪奐偄偰偄偨偲偒丄僇乕僼儖偵壠偵婣傞梡帠傪柦偠偨丅僇乕僼儖偑壠偵婣傞側傝乽扷撨條偑巰傫偩乿偲塕傪偮偄偨偨傔丄彜恖偺壠懓偼斶偟傒丄晽廗偵廬偄壠嬶傗摴嬶傪師乆夡偟偰斶偟傒傪昞偟偨丅僇乕僼儖偼墐夛応偵婣傝崱搙偼彜恖偵乽壠偑夡偝傟丄壠懓偼慡堳巰傫偩乿偲塕傪尵偭偨偨傔丄彜恖偼拝偰偄傞暈傪攋傝斶偟傒傪昞偟偨丅僇乕僼儖偺塕偼僶儗傞偑丄塕傪偮偔偙偲傪抦偭偰攦偭偨搝楆偺偨傔張敱偡傞偙偲偑偱偒偢丄僇乕僼儖偼嫀惃偝傟丄壠偐傜弌偝傟丄僶僌僟僢僪偵棃偨丅 +僆儅儖丒傾儖丒僱儅乕儞墹偲偦偺偄傒偠偒擇恖偺墹巕僔儍乕儖僇乕儞偲僟僂乕儖儅僇乕儞偲偺孯暔岅乮戞44栭 - 戞145栭乯 [曇廤] + +僶乕僩儞斉乽僆儅儖丒價儞丒傾儖丒僰僂儅儞墹偲傆偨傝偺懅巕僔儍儖儖僇儞偲僓僂丒傾儖丒儅僇儞偺暔岅(戞45栭乚戞146栭)乿 +搶梞暥屔斉乽僆儅儖丒僽僰丒傾儞丒僰僂儅乕儞墹偲傆偨傝偺屼巕僔儍儖僇乕儞偲僟僂乕儖丒儅僇乕儞丄偦偟偰偙偺恖偨偪偵婲偙偭偨嬃堎捒婏側暔岅(戞45栭乚戞146栭)乿 +偁傞帪戙偺僶僌僟乕僪偵僆儅儖丒傾儖丒僱儅乕儞墹偑偄偨丅偄偔偝偵嫮偔丄斉恾傪墦偔傂傠偘丄撪偵偼姲恗戝搙傪傒偣偰懜宧傪偁偮傔傞柤孨偱偁傞丅僆儅儖墹偵偼傂偲傝偩偗懅巕偑偍傝丄墹巕僔儍乕儖僇乕儞偼晲寍偵廏偱偨桬姼側抝偱偁偭偨丅偩偑偦偺屻丄僆儅儖墹偺懁幒僒僼傿乕傾偑夰擠偟丄抝彈偺憃巕傪嶻傓丅嵟弶偵惗傑傟偨彈偺巕偼僲乕僘僴僩僁僓儅乕儞丄師偵惗傑傟偨抝偺巕偼僟僂乕儖儅僇乕儞偲柤偯偗傜傟偨丅抝偺巕偑惗傑傟偨応崌丄彨棃偺墹埵憟偄傪旔偗傞偨傔嶦偟偰偟傑偍偆偲峫偊偰偄偨僔儍乕儖僇乕儞偩偑丄嵟弶偵彈偺巕偑惗傑傟偨帪揰偺曬崘偟偐暦偄偰偄側偐偭偨偨傔丄抝偺巕偺懚嵼傪抦傜側偄丅 +偁傞擔丄儖乕儉(儘乕儅)偲僐儞僗僞儞僥傿僯傾偺墹傾僼儕僪僯僆僗偺巊幰偑棃偰丄僇僀僒儕傾墹僴儖僪價僆僗偲偺愴憟偵摨柨傪帩偪偐偗偰偔傞丅偁傞懓挿偑傾僼儕僪僯僆僗偵專忋偟傛偆偲偟偨悢乆偺楈尡傪偆偪偵旈傔偨嶰偮偺曮嬍傪丄僇僀僒儕傾孯偑墶庢傝偟偰偟傑偭偨偨傔壗搙偐峌傔崬傫偩偺偩偑丄帟偑偨偨側偄偲偄偆偺偩丅戝嵣憡僟儞僟乕儞偲僔儍乕儖僇乕儞偑暫傪棪偄偰攈尛偝傟偨丅 +孯偼偁傞扟偱戝媥巭傪偲傞偑丄傂偲傝抧宍掋嶡偵弌偨僔儍乕儖僇乕儞偼丄僉儕僗僩嫵偺憁堾偱憡杘傪偲偭偰偄傞旤偟偄敀恖偺壋彈偲偦傟偵偐偟偯偔旤彈搝楆偨偪傪尒傞丅梸忣偟偨僔儍乕儖僇乕儞偼寱傪偲偭偰棎擖偟丄変偺傕偺偵側傝堦弿偵棃傞傛偆梫媮偡傞偑丄壋彈偼彸抦偟側偄丅壋彈偵楒偟偰偟傑偭偰偄偨僔儍乕儖僇乕儞偼丄偣傔偰娊懸傪庴偗偝偣偰偔傟偲怽偟擖傟丄壋彈偼斵傪憁堾傊偄偞側偭偨丅 +師偺擔栚妎傔傞偲丄壋彈偼僔儍乕儖僇乕儞偺惓懱傪抦偭偰偄偨丅斵偼偦偺擔偐傜悢擔娫娊懸傪庴偗傞丅娊懸傪庴偗偰偄傞搑拞丄僇僀僒儕傾偺婱懓儅僗乕儔偺孯偑墴偟傛偣偰偒偰僔儍乕儖僇乕儞傪弌偣偲梫媮丅壋彈偼僴儖僪價僆僗墹偺柡丄傾僽儕僓彈墹偩偭偨丅傾僽儕僓偼僔儍乕儖僇乕儞傪偐偽偭偰暿恖偩偲偄偆偑丄儅僗乕儔偼惀偑旕偱傕堷偒楢傟偰偄偔偲尵偭偰暦偐側偄丅偦傟側傟偽丄堦恖懳昐恖偺暫偱偼側偔丄弴斣偵堦懳堦偱愴偭偰彑偭偨側傜偽楢峴偣傛丄偲傾僽儕僓偼柦偠偨丅僔儍乕儖僇乕儞偑偡傋偰偺暫傪寕戅偡傞偲丄傾僽儕僓偼丄帺暘偼愜傝崌偄偺埆偄榁攌乽嵭栵偺曣乿偵傛偭偰夞嫵搆偵梌偟偨偲偝傟傞偩傠偆丄偙偙偐傜棫偪嫀傞偺傪庤彆偗偟偰偔傟偲尵偆丅偦偟偰偙偺愴憟偑悌偱偁傞偙偲傪柧偐偡丅 +幚偼僒僼傿乕傾偼傾僼儕僪僯僆僗墹偺柡偱偁偭偨丅偁傞嵳傝偺婣搑丄僒僼傿乕傾偑忔傞慏偑懡偔偺旤彈偨偪偲偲傕偵奀懐偵阞妉偝傟丄僇僀僒儕傾孯偑奀懐傪嬱拃偟偰僒僼傿乕傾偨偪傪僴儖僪價僆僗墹偵專忋偟丄僴儖僪價僆僗墹偼偦傟傪傑偨僆儅儖墹偵憽偭偨偺偱偁傞丅傾僼儕僪僯僆僗墹偼偦傟傪抦傞偲丄僴儖僪價僆僗墹偲嫤椡偟偰僆儅儖墹偵暅廞偟傛偆偲偟偨偺偩丅偨偩偟曮嬍偼幚嵺偵懚嵼偟丄傾僽儕僓偑強桳偟偰偄傞丅偦傟傪抦傞偲僔儍乕儖僇乕儞偼帺孯偵傕偳傝丄暫傪傑偲傔偰婣娨偝偣傞丅揳孯傪偮偲傔傞僔儍乕儖僇乕儞偵庤嫮偄婻暫偑捛偄偡偑傞偑丄偦傟偼屻傪捛偭偰偒偨傾僽儕僓偩偭偨丅斵傜偼楢傟偩偭偰僶僌僟乕僪偵擖傞丅 +曬崘傪庴偗偨僆儅儖墹偼丄專忋偝傟偨曮嬍傪嶰恖偺巕偵傢偗偁偨偊傞丅偙偙偱弶傔偰僟僂乕儖儅僇乕儞偺懚嵼傪抦傝丄傑偨丄僆儅儖墹偵傾僽儕僓傊偺梸朷傪尒偨僔儍乕儖僇乕儞偼丄傂偳偄僔儑僢僋傪庴偗偰偟傑偭偨丅 +嵞嶰傾僽儕僓傪偔偳偔僆儅儖墹偩偑丄傾僽儕僓偼嫅斲偟偮偯偗傞丅偦偙偱僆儅儖偼杻悓栻傪傕偪偄丄傾僽儕僓偑怮偰偄傞偆偪偵張彈傪扗偭偰偟傑偭偨丅傾僽儕僓偼夰擠偟丄傗偑偰椪寧偵側傞偲丄拤幚側搝楆彈偲孅嫮偺崟恖搝楆傪傂偲傝偢偮敽偄丄屘崙傪傔偞偟偰弌杬偡傞丅摴拞梸忣偟偨崟恖搝楆偼傾僽儕僓偵廝偄偐偐傝丄斵彈偑帺桼偵側傜側偄偲抦傞偲偙傟傪嶦偟丄巔傪偔傜傑偡丅嵟屻偺懅偱抝偺巕傪嶻傒偍偲偡偲丄偦偙偵僴儖僪價僆僗墹偑尰傟丄巕傪崙傊楢傟偐偊偭偨丅僴儖僪價僆僗墹偼暅廞傪惥偄丄嵭栵偺曣偺恑尵傪暦偄偰丄僆儅儖墹傪鑱朳偐傜悌偵偐偗傞偨傔丄旤彈傪偁偮傔偰傾儔價傾幃偺嫵堢傪傎偳偙偟偼偠傔傞丅堦曽丄傾僽儕僓偑偄側偔側偭偨偙偲傪抦偭偨僔儍乕儖僇乕儞偼偄偨偔彎怱偟丄晝墹偵棅傫偱僟儅僗偺懢庣偵擟柦偟偰傕傜偄丄媨揳傪弌偨丅 +廫巐嵨偵側偭偰偄偨僟僂乕儖儅僇乕儞偼丄巓僲乕僘僴僩僁傪偝偦偭偰晝墹偵撪弿偱弰楃偵弌傞丅偟偐偟搑拞偱擬昦偵偐偐傝丄帯椕偺偨傔偵嬥傕偮偒偰偟傑偭偨丅摥偒偵偄偔偲偄偭偰弌偰峴偭偨僲乕僘僴僩僁偼偦偺傑傑巔傪徚偟丄昚敀偟偨僟僂乕儖儅僇乕儞偼丄偁傞晽楥暟偒偵傂傠傢傟傞丅夞暅偟偨僟僂乕儖儅僇乕儞偼晽楥暟偒晇晈傪廬幰偵偟偰婣崙偺搑偵偮偔丅僟儅僗偵偮偔偲晽楥暟偒偺嵢偑擬昦偱昦巰偡傞偑丄傂偒偮偯偒僶僋僟乕僪偵岦偐偆偙偲偵偡傞丅 +堦曽丄僲乕僘僴僩僁偼儀僪僂傿儞恖偵桿夳偝傟丄僟儅僗偺搝楆巗応偱攧傝偵弌偝傟偰偄偨丅傆偭偐偗傞儀僪僂傿儞恖偵懳偟丄偁傞彜恖偑廫枩僨傿僫乕儖偺抣傪偮偗傞丅僲乕僘僴僩僁偑偁傜備傞妛栤偵捠嬇偟偰偄傞偙偲傪抦傞偲丄彜恖偼婌傃丄斵彈傪僔儍乕儖僇乕儞偵專忋偡傞丅僔儍乕儖僇乕儞偼僲乕僘僴僩僁傪夝曻偟嵢偲偡傞偙偲傪愰尵丅妛栤傪帵偣偲偄偆僔儍乕儖僇乕儞偵懳偟丄僲乕僘僴僩僁偼乽嶰偮偺栧偵偮偄偰偺尵梩乿傪暔岅傞丅 +嶰偮偺栧偵偮偄偰偺尵梩 [曇廤] +恖惗偺栚揑偲偼擬惤傪敪払偝偣傞偙偲偱偁傝丄偦偺摴偵偼嶰偮偺栧偑偁傞丅戞堦偺栧偼乽張悽弍乿丄戞擇偺栧偼乽峴媀乿偲乽廋梴乿丄戞嶰偺栧偼乽摽偺栧乿丅 + + +僲乕僘僴僩僁偼攷棗嫮婰傪敪婗偟丄屆崱偺堩榖傪傂偄偰擬曎傪傆傞偆丅暦偄偰偄偨堦摨偼姶寖偟丄偦偺傑傑崶楃傪偲傝偍偙側偆丅僲乕僘僴僩僁偼偨偪傑偪夰擠偟丄婌傫偩僔儍乕儖僇乕儞偼僆儅儖墹傊彂娙偱曬崘偡傞丅 +晝墹偐傜偺曉彂偱憃巕偑幐鏗偟偨偙偲傪抦偭偨僔儍乕儖僇乕儞偼丄柡傪嶻傒偍偲偟偨偽偐傝偺嵢偵曬崘偟傛偆偲偡傞丅偡傞偲丄愒巕偺庱偵曮嬍偑捿傞偝傟偰偄傞偙偲偵婥偯偄偨丅嬃偄偰暦偔偲丄嵢偼帺暘偑僆儅儖墹偺柡偱偁傞偙偲傪柧偐偡丅僔儍乕儖僇乕儞傕傑偨丄帺暘偑墹巕偱偁傞偙偲傪崘敀偡傞丅側傫偲丄孼枀偑屳偄偵偦傟偲抦傜偢丄寢崶偟偰偟傑偭偰偄偨偺偩両偙傟傪偐偔偡偨傔丄堦搙傕摨逦偡傞偙偲側偔棧暿偟偰帢廬挿偲寢崶偝偣偨偲偄偆偙偲偵偟丄乽塣柦偺椡乿偲柤偯偗偨柡傪偦偙偱梴堢偝偣傞偙偲偵偟偨丅 +僆儅儖墹偐傜戞擇偺旘媟偑偲偳偄偨丅榁彈偵棪偄傜傟偨妛幆朙偐側屲恖偺壋彈偑儖乕儉偐傜偒偰偍傝丄偙傟傪峸擖偡傞偨傔偵僔儍乕儉抧曽偺擭峷堦擭暘偑昁梫偱偁傞丅擭峷傪僶僋僟乕僪偵憲傝撏偗丄偮偄偱偵嫵梴偑偁傞偲偄偆擆偺嵢傪摉曽偵攈偣丄偲偄偆丅僲乕僘僴僩僁偑帢廬挿偲偲傕偵晝偺傕偲偵岦偐偄丄帠忣傪愢柧偡傞偙偲偵偟偨丅偦偺偁偄偩塣柦偺椡偼丄僟儅僗偱戝愗偵堢偰傞偙偲偵側傞丅 +僟僂乕儖儅僇乕儞偑僟儅僗傪敪偭偨偺偼摨偠擔偺偙偲偱丄戉楍偺偁偲偵偮偄偰椃傪偟丄傗偑偰僶僋僟乕僪偵傎偳嬤偄抧偱栰塩偡傞丅夰偐偟偝偵帊傪偆偨偆僟僂乕儖儅僇乕儞偺惡偵婥偯偄偨僲乕僘僴僩僁偼丄泚姱偵柦偠偰嶰搙傑偱壧偭偨抝傪扵偝偣傞丅巓掜偼嵞夛傪壥偨偟丄屳偄偵偙傟傑偱偺偙偲傪崘敀偡傞丅偙偺偲偒帢廬挿偼偼偠傔偰帺暘偺嵢偑墹彈偱偁傞偙偲傪抦偭偨丅 +偝傜偵僶僋僟乕僪偵岦偐偆堦峴偺慜偵戝孯偑偁傜傢傟偨丅偙傟傪棪偄傞戝嵣憡僟儞僟乕儞偵傛傞偲丄僆儅儖墹偼嶦偝傟偨偺偩偲偄偆丅愓宲偓偼僔儍乕儖僇乕儞偲寛傑傝丄帺暘偼寎偊偵備偔搑拞側偺偱偁傞偑丄搒偵偼僟僂乕儖儅僇乕儞傪悇偡惃椡傕偺偙偭偰偄傞傜偟偄丅帢廬挿偑僟儞僟乕儞偵帠忣傪愢柧偡傞偲丄嬞媫夛媍偑傂傜偐傟丄僟僂乕儖儅僇乕儞傪怴墹偵寎偊傞偙偲偵側傞丅墹嵗偵偮偔偲丄僟僂乕儖儅僇乕儞墹偼晝偺巰偺帠忣傪僟儞僟乕儞偵栤偆偨丅 +僆儅儖丒傾儖丒僱儅乕儞墹曵屼偺暔岅側傜傃偵偦傟偵愭棫偮帄尵 [曇廤] +僆儅儖墹偑憃巕偺幐鏗偵怱傪捝傔偰偄傞偲丄恖昳斱偟偐傜偸榁彈偑屲恖偺壋彈傪楢傟偰偁傜傢傟偨丅墹偼斵彈傜偑傕偭偰偄傞偲偄偆抦幆偺斺業傪傕偲傔丄屲恖偺壋彈偲堦恖偺榁彈偼弴乆偵屆榁偺尵梩傪暔岅傞丅 +戞堦偺壋彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +戞擇偺壋彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +戞嶰偺壋彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +戞巐偺壋彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +戞屲偺壋彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +榁彈偺尵梩 [曇廤] + 偙偺愡偼幏昅拞偱偡丅壛昅丄掶惓偟偰壓偝傞嫤椡幰傪媮傔偰偄傑偡丅 +姶暈偟偨墹偼屲恖偺張彈傪攦偄庴偗傞憡択傪偡傞偑丄榁彈偼嬥偱偼孳偊側偄丄傂偲寧抐怘偣傛偲崘偘傞丅偦偟偰嵟弶偺廫擔偑夁偓偨傜偙偺惞悈傪堸傔丄帺暘偼乽尒偊偞傞崙偺廧恖乿偵夛偄偵偄偒丄廫堦擔傔偺挬偵尰傟傞丄偲偄偭偰棫偪嫀偭偨丅廫堦擔傔丄惞悈傪堸傫偱偄傞偲榁彈偑偁傜傢傟丄僶僫僫偺梩偵偔傞傑傟偨僕儍儉傪搉偟丄擇廫堦擔傔偵偙傟傪怘傋傠偲崘偘偰棫偪嫀偭偨丅偦偟偰擇廫堦擔傔偺挬丄榁彈偑嵞搙偁傜傢傟傞丅 +壋彈偨偪傪乽尒偊偞傞崙乿偵楢傟偰備偒丄寜傔傪偆偗偝偣偰嶰廫擔傔偵栠傞偩傠偆丄偮偄偰偼扤偐傪偲傕偵楢傟偰偄偒寜傔傪偆偗偝偣偰傕傛偄丄偲偄偆榖偵丄墹偼僒僼傿乕傾傪楢傟偰備偒丄峴曽晄柧偺巕傜傪庢傝栠偣傞傛偆偼偐偭偰偔傟偲怽偟擖傟偨丅榁彈偼晻報偝傟偨攗傪傢偨偟偰嶰廫擔傔偺挬偵堸傔偲偄偄丄僒僼傿乕傾傪楢傟偰棫偪嫀偭偨丅偟偐偟嶰廫擔傔丄墹偼偢偨偢偨偵愗傝妱偐傟偨擏曅偲側偭偰壠恇偳傕偵敪尒偝傟偨偺偱偁傞丅巆偝傟偨攗偵偼丄傾僼儕僪僯僆僗墹偺柦傪庴偗偨嵭栵偺曣偑丄僒僼傿乕傾墹彈傪扗娨偟僆儅儖墹偵暅廞傪壥偨偟偨揯枛偺丄彑棙愰尵儊儌偑巆偝傟偰偄偨丅 + + +僟儞僟乕儞偑岅傝廔傢傞偲丄僟僂乕儖儅僇乕儞墹偼偝傔偞傔偲媰偄偨偁偲丄偼偠傔偰偺屼慜夛媍偺弨旛傪偼偠傔偨丅僟僂乕儖儅僇乕儞墹偼僟儅僗偐傜塣傫偱偒偨嵿曮傪傢偗偁偨偊丄師偵僔儍乕儖僇乕儞埗偵丄椡傪偁傢偣偰挗偄崌愴傪偟傛偆偲庤巻傪彂偒丄僟儞僟乕儞偵撏偗偝偣偨丅僟儞僟乕儞偑傕偳傞偁偄偩傆偨偮偺弌棃帠偑偁傝丄傂偲偮偼晽楥暟偒偑懡戝側塰梍偵梺偟偨偙偲丄傕偆傂偲偮偼敀恖搝楆偺傂偲傝偵庤偑偮偄偰丄巕傪泂傫偩偙偲偱偁傞丅傗偑偰僔儍乕儖僇乕儞偼孯傪傂偒偄偰僟僂乕儖儅僇乕儞墹偵崌棳偟偨丅孼掜偺偁偄偩偵傢偩偐傑傝偼側偐偭偨丅 +僟僂乕儖儅僇乕儞孯偼恑寕傪奐巒偡傞丅寎寕偡傞偺偼傾僼儕僪僯僆僗墹偲偲僴儖僪價僆僗墹偺楢崌孯丅傾僼儕僪僯僆僗墹偼嵭栵偺曣傪彚偟弌偟偰丄嶔傪暦偔丅嵭栵偺曣偑採帵偟偨偺偼曪埻嶌愴偱偁傞丅偝傜偵丄傑偢僔儍乕儖僇乕儞傪朣偒幰偵偟傛偆偲偟丄儖僇僗偲偄偆孅嫮偺愴巑偵堦婻懪偪傪偝偣傞丅偟偐偟僔儍乕儖僇乕儞偼偙傟傪寕戅偟偨丅堦婻懪偪偑廔傢傞偲棎愴偵側傝丄僟僂乕儖儅僇乕儞墹偼婾傝偺攕憱偺寁傪偨偰偨丅寁棯偼恾偵偁偨傝丄僉儕僗僩嫵孯偼夡柵偟偨丅 +傾僼儕僪僯僆僗墹偑僐儞僗僞儞僥傿僯傾偵摝偘栠傞偲丄嵭栵偺曣偼屲廫偺暫傪庁傝偰夞嫵搆偺彜戉偵偽偗偝偣丄帺恎偼僉儕僗僩嫵搆偵桯暵偝傟偰偄傞偲偙傠傪媬弌偝傟偨惞恖偵暞偟丄暫偨偪偵巜帵傪梌偊偰僟僂乕儖儅僇乕儞孯偵愙怗偟偨丅孼掜偼偡偭偐傝怣偠偰偟傑偄丄嵭栵偺曣偼師偺傛偆側僨僞儔儊榖傪偟偨丅 +憁堾偺暔岅 [曇廤] +傢偨偟偑儖乕儉傪椃偟偰偄傞偲丄僉儕僗僩嫵憁堾偺儅儖僩僫偲偄偆憁椀偺悌偵偐偐傝丄憁堾偵桯暵偝傟偰偟傑偭偨丅傢偨偟傪憺傒夓巰偝偣傞偮傕傝偩偭偨偺偩偑丄憁堾偵偼僞儅僔儖偲偄偆旤彮彈偑偄偰丄傂偦偐偵僷儞傪塣傫偱偒偰偔傟偨偨傔惗偒巆傞偙偲偑偱偒偨丅傢偨偟偼偦偙偱屲擭偡偛偟丄偙偺偨傃戉彜偵傛偭偰媬彆偝傟偨傢偗偩偑丄偦偺偁偄偩偵僞儅僔儖偼愨悽偺旤彈偵惉挿偟偰偍傝丄傑偨丄憁堾偵偼懡偔偺嵿曮偑巆偝傟偰偄傞丅偤傂傢偨偟傪埬撪幰偲偟偰旤彈偲嵿曮傪庤偵擖傟傞傋偒偱偁傞丅 + + +嵭栵偺曣偺尵偆偑傑傑丄慡孯傪帢廬挿偵傑偐偣偰恑孯偝偣丄僟僂乕儖儅僇乕儞丄僔儍乕儖僇乕儞丄戝恇僟儞僟乕儞偺嶰恖偑昐偺惛暫傪棪偄偰憁堾偵岦偐偆偙偲偵側傞丅嵭栵偺曣偼昐婻偺愗傝棧偟偵惉岟偟偨偙偲傪偡偖偵傾僼儕僪僯僆僗墹傊抦傜偣丄堦枩婻偺暫傪攈尛偝偣傞丅孼掜偨偪偼憁堾傊峌傔崬傒偡偖偵娮棊偝偣傞偑旤彈僞儅僔儖偼偍傜偢丄偟偐偨側偔棫偪嫀偭偨偲偙傠傪揋暫偵埻傑傟偰偟傑偭偨丅嵭栵偺曣偼尵梩偨偔傒偵寛愴偝偣傞傛偆桿摫偟丄夞嫵搆惃偼婼恄偺偛偲偒摥偒傪傒偣傞偑丄堦擔栚偺愴摤偑廔傢傞偲巐廫屲恖偵尭偭偰偄偨丅 +杮孯偵媬墖傪媮傔偰偔傞偲偄偭偰丄嵭栵偺曣偼巔傪徚偡丅師偺擔偵偼廫恖傪巆偡偺傒偲側偭偨偑丄側偍傕摯寠偵偨偰偙傕偭偰掞峈偡傞丅庤傪傗偄偨僉儕僗僩嫵孯偼丄壩峌傔傪偟偐偗傞丅偄傇傝弌偝傟偨嶰恖偼偮偄偵曔椄偵側偭偰偟傑偆偑丄寗傪尒偰扙弌偟丄怷偵傂偦傫偱乽傾僢儔乕丒傾僋僶儖両乿偲壗搙傕嫨傇偲丄戝孯偑偣傔偰偒偨偲姩堘偄偟偨僉儕僗僩嫵孯偼僷僯僢僋偵娮偄傞丅偦偙傊媬墖孯偑摓拝丅孼掜偨偪偼偙傟傪巜婗偟丄僷僯僢僋忬懺偺僉儕僗僩嫵孯偵廝偄偐偐偭偰偙傟傪焤柵偡傞丅 +僐儞僗僞儞僥傿僯傾偵岦偐偆偲丄崱搙偼嵭栵偺曣偑偁傜傢傟偰杮孯偺媫傪偮偘傞丅偄偦偄偱岦偐偆偲丄偪傚偆偳帢廬挿偑攕憱偟偰偔傞偲偙傠偱偁偭偨丅傕偪傠傫偙傟傕嵭栵偺曣偺寁棯偱偁傞丅墹偨偪傊偺媬墖暫傪妱偄偰庤敄偵側偭偨偙偲傪傾僼儕僪僯僆僗墹傊抦傜偣偰憤峌寕傪偐偗偝偣偨偺偩丅孯傪偨偰側偍偟偰恑寕偡傞偲丄傾僼儕僪僯僆僗墹偑僔儍乕儖僇乕儞偵堦婻懪偪傪挧傫偱偒偨丅僔儍乕儖僇乕儞偼桬傫偱庴偗偰偨偪丄堦擔栚偼椉幰屳妏偵愴偆丅偟偐偟擇擔栚丄偩傑偟摙偪偵偁偭偰晧彎偟偰偟傑偭偨丅 +搟偭偨僟僂乕儖儅僇乕儞墹偼傾僼儕僪僯僆僗墹偵堦婻懪偪傪偟偐偗丄搟傝偵傑偐偣偰偦偺庱傪偆偮丅偦傟傪婜偵夞嫵搆孯偼僉儕僗僩嫵孯偵廝偄偐偐傝丄偙傟傪焤柵偟偨丅偙傟偵婄怓傪偐偊偨嵭栵偺曣偼丄椕梴拞偺僔儍乕儖僇乕儞偲傆偨傝偒傝偵側傞僠儍儞僗傪懸偮丅偦偟偰嵭栵偺曣偼丄僔儍乕儖僇乕儞偑柊偭偰偄傞偁偄偩偵庱傪偐偒丄偍偺傟偺寁棯傪偁偐偟偰偝傜偵僟僂乕儖儅僇乕儞偲僟儞僟乕儞偺庱傕偲傞偲愰尵偟偨儊儌傪巆偟偰棫偪嫀傞丅僔儍乕儖僇乕儞偺堚懱傪敪尒偟偨偺偼丄偙傟傑偱偢偭偲撲偺惞恖傪媈偭偰偄偨戝恇僟儞僟乕儞偩偭偨丅 +僟僂乕儖儅僇乕儞墹偼孼偺巰傪斶偟傒丄挿偄偁偄偩壗傕庤偵偮偐側偐偭偨偑丄挿抝僇儞儅僇乕儞偺抋惗傪抦傜偣傞庤巻偑撏偔偲丄傗偭偲峴摦傪奐巒偡傞丅僔儍乕儖僇乕儞偺憆柧偗傪廔傢傜偣傞偲丄僟僂乕儖儅僇乕儞墹偼戝恇僟儞僟乕儞偵丄怱妝偟偄暔岅傪偡傞傛偆偵柦偠傞丅 +傾僘傿乕僘偲傾僘傿乕僓偲旤傢偟偒墹姤懢巕偺暔岅 [曇廤] +儁儖僔傾偺搒巗偺偆偪偵乽椢偺搒乿偲偄偆搒偑偁傝丄岞惓姲戝偱恖柉偵垽偝傟傞墹僗儔僀儅乕儞丒僔儍乕偑帯傔偰偄偨丅偟偐偟墹偵偼嵢巕偩偗偑側偔丄戝恇偵偦偺偙偲傪憡択偡傞偲丄乽敀偄搒乿偺僓僴儖丒僔儍乕墹偵旤偟偄柡偑偄傞偲偄偆丅僗儔僀儅乕儞丒僔儍乕墹偼戝恇傪攈尛偟偰梎擖傟傪怽偟擖傟傞偙偲偵偡傞丅僓僴儖丒僔儍乕墹偼偙偙傠傛偔庴偗擖傟丄柡傪憲傝弌偟偨丅崶楃偺偺偪彈墹偼偡偖偵傒偛傕傝丄嶻傒偍偲偝傟偨巕偼乽墹姤乿偲柤偯偗傜傟偨丅 +墹姤懢巕偼棫攈側旤忎晇偵惉挿偟偨丅偁傞偲偒庪傝偵弌偐偗傞偲丄栰塩抧偵戝偒側戉彜偑摨廻偟偰偄傞偺傪抦傞丅偦偺偆偪偵傾僘傿乕僘偲偄偆旤偟偄庒幰偑偄偨偺偩偑丄斵偺婄偵偼怺偄斶偟傒偑偒偞傑傟偰偄傞丅傢偗傪暦偔墹姤懢巕偵丄傾僘傿乕僘偼擇枃偺僇儌僔僇偑巋廕偝傟偨晍愗傟傪傒偣丄晄巚媍側暔岅傪偡傞丅 +旤抝傾僘傿乕僘偺暔岅 [曇廤] +傢偨偟偺晝偼崑彜偱丄朣偔側偭偨廸晝偺柡傾僘傿乕僓偼傢偨偟偺嫋崶幰偩偭偨丅強掕偺擭楊偵払偟丄崶楃傪峴偆偙偲偵側偭偨擔偺偙偲丅婩摌偵峴偭偰娋傪偍偝偊偐偹偨傢偨偟偑偆偢偔傑偭偰偄傞偲丄摢忋偺憢偐傜旤偟偄彈偑僴儞僇僠傪棊偲偟偰偔傟偨丅彈偼晄巚媍側崌恾傪偡傞偲巔傪偐偔偟偰偟傑偭偨偑丄偡偭偐傝怱傪偆偽傢傟偨傢偨偟偼丄崶楃傪曻偭偰偍偄偰擔曢傟傑偱偦偙偱偢偭偲懸偭偰偄偨丅栭偵側傞偲丄媞偨偪偼傒傫側婣偭偰偍傝丄晝偼崶楃傪堦擭墑婜偟偨傜偟偄丅傾僘傿乕僓偵偡傋偰傪惓捈偵榖偡偲丄斵彈偼偗側偘偵傕彈偺崌恾偺撲夝偒傪偟丄椡揧偊傪偡傞偲尵偭偰偔傟傞丅 +擇擔屻丄嵞搙彈偺傕偲傊峴偔偑丄傑偨偟偰傕撲傔偄偨巇憪傪偟偰巔傪塀偟偰偟傑偭偨丅婣傞偲傾僘傿乕僓偼媰偒偼傜偟偨條巕偩偭偨偑丄傑偨偟偰傕撲夝偒傪偟偰偔傟傞丅偦偺尵梩偵廬偭偰屲擔屻偵傑偨彈偺壠偵峴偔偑丄彈偼巔傪傒偣側偐偭偨丅傓側偟偔婣偭偨傢偨偟偼丄傑偨傕媰偒曢傜偟偰偄偨傜偟偄傾僘傿乕僓傪丄偮偭偗傫偳傫偵撍偒旘偽偡丅 +傾僘傿乕僓偺彆尵偵傛傝師偺擔傕彈偺壠偵峴偔偲丄傑偨傕撲偐偗傪偟偰巔傪徚偟偨丅斶偟傒偵偔傟傞廬巓枀偼丄偦傟偱傕傢偨偟偵抦宐傪偝偢偗丄彈偵夛偭偨傜尵偊偲偄偆帊傪偝偢偗傞丅 +師偵彈偺壠偵偄偔偲屗偑奐偄偰偍傝丄偛抷憱偑梡堄偝傟偰偄偨丅悢帪娫懸偭偰傕扤傕偙偢丄嬻暊偵懴偊偐偹偰偛抷憱傪怘傋傞偲丄悋杺偵廝傢傟偰柊偭偰偟傑偆丅師偵婥偑偮偔偲挬偵側偭偰偍傝丄傢偨偟偺暊偺忋偵偼墫偲扽偑偺偣傜傟偰偄偨丅婣偭偰扸偒偺傆偪偵偄傞傾僘傿乕僓偵曬崘偡傞偲丄偦傟偼柊偭偰偟傑偭偨偙偲傪愑傔傞偟傞偟偩偲偄偆丅 +崱搙偼愨懳偵柊傞側偲尵傢傟偨偺偩偑丄傗偼傝悋杺偵彑偰偢柊偭偰偟傑偭偨丅梻挬傢偨偟偺暊偵偼偄偔偮偐偺昳偑抲偐傟丄偦偺傢偒偵堦怳傝偺彫搧偑夛偭偨丅偦傟偼丄偙傫偳柊偭偨傜偍慜偺庱傪偐偔丄偲偄偆儊僢僙乕僕偩偲偄偆丅偦偙偱傾僘傿乕僓偼丄拫偺偁偄偩傢偨偟傪柊傜偣丄怘暔傪梌偊偨偺偪偵憲傝弌偟偨丅偦偺峛斻偁偭偰丄傢偨偟偼傗偭偲彈偲杮夰傪摼傞偙偲偑偱偒偨丅師偺挬丄彈偼乽従擼偲悈徎偺搰乆乿偺墹彈偑嶌偭偨偲偄偆丄僇儌僔僇偑巋廕偝傟偨晍愗傟傪傢偨偟偵搉偟偨丅 +婣傞偲傾僘傿乕僓偼昦偵傆偣偭偰偍傝丄偁偺帊偼揱偊偨偐偲栤偄偨偩偡丅朰傟偰偄偨傢偨偟偼丄師偺擔娫堘偄側偔彈偵揱偊傞偲丄彈偼曉帊傪憲偭偨丅婣戭偡傞偲傾僘傿乕僓偼偐側傝埆偄條巕偩偭偨偑丄偝傜偵擇愡偺帊傪偝偢偗傞丅偦傟傪彈偵揱偊傞偲丄斵彈偼偙偺帊傪塺傫偩傕偺偼偡偱偵偙偺悽偵偄側偄丄偲崘偘偨丅偼偨偟偰傾僘傿乕僓偼丄偦偺擔傒傑偐偭偰偄偨偺偱偁傞丅 +曣恊偼傢偨偟傪愑傔丄傾僘傿乕僓偑堚偟偨儊僢僙乕僕傪揱偊傞丅乽偄偐偽偐傝偐巰偼夣偔丄棤愗傝偵傑偝傞傕偺偧両乿偲偄偆堦暥傪尵偆傛偆偵丄偲丅偝傜偵傾僘傿乕僓偼丄傢偨偟偑杮怱偐傜斵彈偺巰傪搲傫偩偲偒偵搉偡傛偆偵偲丄傂偲偮偺昳傪曣恊偵戸偟偨偲偄偆丅 +傢偨偟偑傾僘傿乕僓偺儊僢僙乕僕傪揱偊傞偲丄彈偼丄偦偺尵梩偵傛傝偍慜偼傢偨偟偺攋柵偺婇傒傪偺偑傟傞偙偲偑偱偒偨偺偩丄偲尵偭偨丅偝傜偵丄傢偨偟埲奜偺彈偵栚傪岦偗傟偽摨偠塣柦偵側傞偩傠偆丄側偤側傜偍慜偵抦宐傪偝偢偗傞彈偼偡偱偵偙偺悽偵側偄偺偩偐傜丄偲丅偦傟偐傜傢偨偟偲彈偼枿寧偺擔乆傪憲偭偨偺偱偁傞丅 +偁傞偲偒榁攌偵庤巻偺戙撉傪棅傑傟偨傢偨偟偼丄偦偺壠偺柡偵栚傪偆偽傢傟偨偡偒偵娔嬛偝傟偰偟傑偆丅柡偼丄帺暘偲寢崶偡傞埲奜偵乽偁偽偢傟僟儕儔乿偐傜偺偑傟傞偡傋偼側偄丄偲尵偭偨丅偦偟偰丄乽偁偽偢傟僟儕儔乿偺庤偵棊偪側偑傜傑偩惗偒偰偄傞偺偼側偤偐偲栤偆丅傢偨偟偑傾僘傿乕僓偺榖傪偡傞偲擺摼偟偨條巕偱偁偭偨偑丄偦偺屻岞徹恖傪傑偠偊偰惓幃側崶楃傪傓傝傗傝偲傝偍偙側偆丅 +梻挬棫偪嫀傠偆偲偡傞偑丄偙偺壠偺栧偼傑傞堦擭屻偵偟偐奐偐側偄偲偄偆丅偟偐偨側偔堦擭偡偛偟丄師偺擔傑偱偵偼婣傞偲偄偆栺懇偱奜偵弌傞偲丄僟儕儔偺壠偺慜偵捠傝偑偐偭偨丅傢偨偟偑徚偊偨偙偲傪斶偟傫偱偄偨僟儕儔偵丄偙傟傑偱偺偙偲傪偡傋偰榖偡偲丄僟儕儔偼傢偨偟偑寢崶偟偨偙偲偵寖搟偡傞丅斵彈偼傢偨偟傪嶦偡偮傕傝偩偭偨偑丄乽偄偐偽偐傝偐巰偼夣偔丄棤愗傝偵傑偝傞傕偺偧両乿偲嫨傇偲傂傞傒丄柦偺偐傢傝偵傢偨偟偺抝崻傪愗傝棊偲偟偨丅偦偺屻嵢偺壠偵婣傞偑丄晄嬶偵側偭偨偙偲傪抦傞偲嵢偼傢偨偟傪曻傝弌偟偰偟傑偆丅偟偐偨側偔傢偨偟偼曣偺尦傊傕偳偭偨丅 +曣偼晝偺巰傪崘偘偨丅偦偟偰丄傾僘傿乕僓偵懳偡傞傢偨偟偺夨崷偺忣傪傒偰偲傞偲丄斵彈偑堚偟偨昳暔傪搉偡丅偦傟偼僇儌僔僇偑巋廕偝傟偨擇枃栚偺晍愗傟偩偭偨丅晍愗傟偵偼儊儌偑偼偝傑傟偰偍傝丄偙傟偼乽従擼偲悈徎偺搰乆乿偺墹彈僙僢僩丒僪儕傾偐傜忳傜傟偨傕偺偱偁傝丄晄岾偵懴偊偑偨偄偲偒偼墹彈傪朘偹傞偲傛偄丄偲偄偆丅偦偙偱傢偨偟偼丄戉彜偵傑偠偭偰椃偵弌傞偙偲偵偟偨丅 +乽従擼偲悈徎偺搰乆乿偵偮偒丄僙僢僩丒僪儕傾偺旤杄偵栚傪扗傢傟偨傢偨偟偩偑丄偟偐偟晄嬶偺懱偱偼偳偆偡傞偙偲傕偱偒側偄丅傢偨偟偼怺偔愨朷偟丄婣崙偺搑偵偮偄偰丄偙偺乽椢偺搒乿偵擖偭偨偺偱偁傞丅 +僪僯儎昉偲墹姤懢巕偺暔岅 [曇廤] +傾僘傿乕僘偺榖傪暦偄偨墹姤懢巕偼僪僯儎昉偵憐偄傪偐偗偨丅僗儔僀儅乕儞丒僔儍乕墹偼昉傪岪偵傓偐偊傞偨傔巊幰傪弌偡偑丄昉偼寢崶傪婖傒寵偭偰偄傞丅墹姤懢巕偼彜恖偵暞偟偰傾僘傿乕僘偲戝恇偲偲傕偵椢偺搒偵擖傝丄揦傪奐偔偙偲偵偟偨丅傗偑偰揦偵攦偄暔偵棃偨昉偺擕曣偩偭偨榁攌偼丄傂偲傔偱庒偔旤偟偄懢巕偺僼傽儞偵側傝丄斵彈傪夘偟偰昉偲暥捠傪偼偠傔傞丅偟偐偟昉偺僣儞傇傝偼偐偨偔側偱丄偄偭偙偆偵僨儗側偄丅暦偔偲抝寵偄偺尨場偼丄偄傗側柌傪傒偨偩偗傜偟偄丅戝恇偺寁棯偱柌偲惓斀懳偺応柺傪傒偣傞偲丄昉偺溸偒傕偺偼偡偭偐傝棊偪丄僞僀儈儞僌傛偔巔傪傒偣偨懢巕偺巔偵丄媡偵傂偲傔傏傟偟偰偟傑偆丅榁攌偺庤堷偒偱棊偪崌偭偨傆偨傝偼丄怮怘傪朰傟偰枿寧傪偡偛偡丅 +懢巕偺巔偑徚偊偨偨傔巰傫偩偲姩堘偄偟偨戝恇傜偑婣崙偟偰曬崘偡傞偲丄僗儔僀儅乕儞丒僔儍乕墹偼孯惃傪棪偄偰峌傔崬傫偩丅昉偲姯捠偟偰偄偨懢巕傪柤忔傞抝傪張孻偟傛偆偲偟偰偄偨僪僯儎昉偺晝墹偼丄偦傟偵傛偭偰懢巕偑杮暔偱偁傞偲抦傞丅傆偨傝偼惓幃偵寢崶偟丄傾僘傿乕僘傜娭學幰偼庤岤偔嬾偝傟偨丅 + + +僟僂乕儖儅僇乕儞墹偺曵屼 [曇廤] +僟儞僟乕儞偺榖傪暦偒偍傢偭偨僟僂乕儖儅僇乕儞墹偼丄偦偺恑尵傪暦偄偰偄偭偨傫僶僋僟乕僪傊栠傞丅僟僂乕儖儅僇乕儞墹偼婣崙偟偨搒偱懱挷傪曵偟丄僇儞儅僇乕儞偵墹埵傪忳偭偰曵屼偟偨丅 +僟僂乕儖儅僇乕儞偺墹巕丄庒偒僇儞儅僇乕儞偺朻尟 [曇廤] +偟偐偟帢廬挿偑崙傪櫽扗偡傞丅僇儞儅僇乕儞偲塣柦偺椡偼桯暵偝傟偨偑丄旤偟偔惉挿偟偨傆偨傝偼屳偄偵庝偐傟偁偄丄枾夛傪廳偹傞丅偦傟偑敪妎偟帢廬挿偺棫暊傪抦傞偲丄僇儞儅僇乕儞偼椡傪摼偰傆偨偨傃栠傞偙偲傪婜偟偰椃偵偱偨丅楒恖僱僕儅偲偺寢崶帒嬥傪媮傔偰偝傑傛偭偰偄偨儀僪僂傿儞恖僒僶乕傪廬幰偵偟丄傾僼儕僪僯僆僗墹偐傜搻傒弌偝傟偨弜攏僇乕僩僁儖傪摼偰愴偄傪偐偝偹丄懡偔偺搝楆傗壠抺傪庤偵擖傟傞丅偦偟偰擇擭傎偳偨偭偨偲偒丄戝恇僟儞僟乕儞偑僋乕僨僞乕傪偍偙偟偰帢廬挿傪曔傜偊偨偲偄偆抦傜偣偑擖偭偨丅奙慁偟偨僇儞儅僇乕儞偼塣柦偺椡傪岪偲偟丄偄傑傗儖乕儉偺愛惌偲側偭偰偄傞嵭栵偺曣傪摙敯偡傞孯傪偍偙偦偆偲偡傞丅偡傞偲偦偙傊丄僇僀僒儕傾偺怴墹儖乕儉僓乕儞偑偲偮偤傫尰傟偨丅斵偼傾僽儕僓昉偑嵟婜偺椡偱嶻傒棊偲偟偨僆儅儖墹偺朰傟宍尒偱偁傞丅僴儖僪價僆僗墹偺傕偲偱堢偪側偑傜傕丄帢彈嶺岃偺嫵堢偵傛傝夞嫵搆偵側偭偰偄偨偺偩丅墹偨偪偼嫟杁偟偰榁攌傪屇傃弌偟丄偮偄偵嵭栵偺曣傪曔傜偊偰張孻偟偨丅 +捁廱壚榖乮戞146栭 - 戞151栭乯 [曇廤] + +闍捁偲岴悵偺晇晈偺榖 [曇廤] +僶乕僩儞斉乽捁偲廱偲戝岺偺暔岅(戞146栭乚戞147栭)乿 +搶梞暥屔斉乽捁廱偲恖娫偲偺暔岅(戞146栭乚戞147栭)乿 +偁傞岴悵偺晇晈偺強偵丄闍捁偑堦塇摝偘偰偒偨丅暦偔偲乽巹偼偁傞栭丄柌偱亀恖娫偵拲堄偣傛亁偲暦偒丄傗傒偔傕偵摝偘弌偟偨偲偙傠丄庒偄儔僀僆儞偵夛偭偨丅偦偙傊恖娫偐傜摝偘弌偟偨儘僶丄攏丄儔僋僟偑師乆棃偰丄岥乆偵恖娫偺晐偝傪儔僀僆儞偵榖偟偰摝偘偰偄偭偨丅偦偙傊恖娫偑棃偰丄儔僀僆儞偼悌偵偐偐偭偰嶦偝傟丄巹偼嫲晐偺偁傑傝丄偙偙傑偱摝偘偰棃傑偟偨丅乿偲闍捁偼尵偭偨丅偦偙偵怣怱怺偄壊幁偑棃偨丅壊幁偲岴悵偺晇晈偼枅擔恄偵婩傝傪曺偘偨偑丄闍捁偼朰傟傞偙偲偑偁偭偨丅偁傞擔丄恖娫偑棃偰丄壊幁偲岴悵偺晇晈偼摝偘傞偙偲偑偱偒偨偑丄闍捁偼曔傑傝丄怘傋傜傟偰偟傑偭偨丅 +梤帞偄偲壋彈偺憓榖 [曇廤] +僶乕僩儞斉乽塀幰偺榖(戞147栭乚戞148栭)乿 +搶梞暥屔斉乽惞幰偲數偲偺暔岅(戞147栭乚戞148栭)乿 +偁傞崙偵丄怣嬄怱偺岤偄梤帞偄偑偄偨偑丄偁傞偲偒丄恄偑怣嬄怱傪帋偦偆偲丄揤巊偵梤帞偄傪桿榝偡傞傛偆偵柦偠偨丅揤巊偼庒偔旤偟偄彈偺巔偵側傝丄梤帞偄傪桿榝偡傞偑丄梤帞偄偼桿榝偵晧偗偢丄怣嬄怱傪帵偟偨丅 +婽偲嫏巘捁偺榖 [曇廤] +僶乕僩儞斉乽悈捁偲婽偺暔岅(戞148栭)乿 +搶梞暥屔斉乽悈嬜偲僇儊偲偺暔岅(戞148栭)乿 +嫏巘捁偑妉暔傪扵偟偰偄傞偲丄撁戦偑尒偊偨偨傔丄墦偔傊摝偘偨丅偦偙偱婽偲桭払偵側傝丄屳偄偵弌夛偊偨偙偲傪恄偵姶幱偟偨丅 +楾偲屜偺榖 [曇廤] +僶乕僩儞斉乽楾偲屜偺榖(戞148栭乚戞150栭)乿 +搶梞暥屔斉乽楾偲屜偲偺榖(戞148栭乚戞150栭)乿 +楾偼屜傪搝楆埖偄偟丄偄偮傕墶朶偵怳晳偭偰偄偨丅偁傞擔丄屜偼晵摳敤偵恖娫偑嶌偭偨棊偲偟寠傪尒偮偗丄楾傪桿偄弌偟丄寠偵棊偲偟偨丅楾偼彆偗傪惪偆偑丄屜偼彆偗偢丄乽戦偑闥轶傪廝偭偨偑丄憙寠偵摝偘傜傟曔傑偊傜傟側偔側偭偨丅戦偼塧傪偁偘傞偲闥轶傪閤偟丄憙寠偐傜弌偨偲偙傠傪曔傑偊怘傋傞偑丄闥轶偼帺暘偺擏偑撆偵側傞傛偆偲庺偄丄闥轶傕戦傕巰傫偩丅乿偲偄偆乽闥轶偲戦偺榖乿傪偟偨丅楾偑彆偗偰偔傟偨傜彆尵幰偵側傞偲尵偆偲丄屜偼乽帺暘偺昦婥偑帯偣側偄堛幰偺榖乿傪偟丄寠偐傜帺椡偱扙弌偱偒側偄楾偺彆尵側偳栶偵棫偨側偄偲尵偭偨丅偝傜偵丄乽幹傪彆偗偰幹偵欩傑傟偰巰傫偩恖偺榖乿丄乽巕嫙傪媠懸偡傟偽丄崷傒傪書偒丄戝恖偵側偭偨偲偒偵暅廞偝傟偰傕晄巚媍偱偼側偄乿偲榖偟丄戝惡傪弌偟偰恖傪屇傃丄廤傑偭偨恖偑楾傪尒偮偗楾傪嶦偡偺傪墦偔偐傜尒偰偄偨丅 +彫憀偲陮乮偄偨偪乯偺榖 [曇廤] +僶乕僩儞斉乽擇廫擔憀偲擫偄偨偪偺榖(戞150栭)乿 +搶梞暥屔斉乽僱僘儈偲僀僞僠偲偺暔岅(戞150栭)乿 +陮乮偄偨偪乯偼層杻偺旂傪攳偔彈偺壠偱層杻傪堦嶮尒偮偗丄暊偄偭傁偄怘傋偨丅偦偟偰搻傒偺嵾傪側偡傝偮偗傞偨傔丄彫憀偵嶮偵層杻偑巆偭偰偄傞偙偲傪嫵偊丄怘傋偵峴偔傛偆偵偦偦偺偐偟偨丅彫憀偼陮偺寁棯偵婥偯偐偢丄層杻傪怘傋偰偄傞偲偙傠傪彈偵尒偮偐傝丄層杻傪慡偰怘傋偨偲巚傢傟偰嶦偝傟偰偟傑偭偨丅 +塆偲阬崄擫偺榖 [曇廤] +僶乕僩儞斉乽擫偲塆偺榖(戞150栭)乿 +搶梞暥屔斉乽僇儔僗偲擫偲偺榖(戞150栭)乿 +塆偲阬崄擫偑怷偱榖傪偟偰偄傞偲丄屨偺柭偒惡偑暦偙偊偨丅塆偼栘偺忋偵摝偘偨偑丄阬崄擫偼摝偘応偵崲傝丄塆偵彆偗傪媮傔偨丅塆偼梤帞偄偺將傪壗旵傕偗偟偐偗丄怷偵桿摫偟偨丅怷偵將偑憹偊偨偨傔丄屨偼怷偐傜弌偰峴偭偨丅偙偆偟偰塆偼阬崄擫傪媬偭偨丅 +塆偲屜偺榖 [曇廤] +僶乕僩儞斉乽屜偲塆偺榖(戞150栭乚戞152栭)乿 +搶梞暥屔斉乽屜偲僇儔僗偲偺榖(戞150栭乚戞152栭)乿 +偁傞強偵妉暔傪偲傟側偄傎偳擭榁偄偨埆偄屜偑偄偰丄怘傋暔偑側偔側偭偨偺偱帺暘偺巕嫙偲嵢傪怘傋偨丅屜偼嬤偔偵偄偨塆傪庤壓偵偟偰怘椏傪帩偭偰棃偝偣傛偆偲丄榖偟偐偗偨丅塆偼寈夲偟偨偺偱丄屜偼乽攁偑恖偐傜捛傢傟偰偄偨偺傪彫憀偑憙寠偵偐偔傑偄丄彫憀偑壠偺庡恖偐傜嬥壿傪搻傔傞傛偆丄攁偑壠偺庡恖傪巋偟傑偔傝悈梺傃傪偝偣偨乿偲偄偆乽攁偲巕憀偺暔岅乿傪偟偰丄堎庬懓偺摦暔娫偺桭忣傪愢偄偨丅偟偐偟丄塆偼乽庒偄崰墶朶偩偭偨撁戦偑丄擭榁偄偰妉暔傪庢傟側偔側傝丄庒偄崰偺墶朶偝偺偨傔丄扤偐傜傕寉曁偝傟偨乿偲偄偆乽撁戦偺榖乿傪偟偰屜偺杮摉偺栚揑傪尵偄摉偰偨丅傑偨乽戝榟偑巕梤傪偝傜偭偰峴偭偨偺傪尒偨悵偑丄戝偒側梤傪偝傜偍偆偲偟偨偑丄梤傪帩偪忋偘傞偙偲偑偱偒偢丄媡偵梤偺栄偑懌偵棈傑偭偰摦偗側偔側傝丄梤帞偄偵嶦偝傟偨乿偲偄偆乽悵偺榖乿傪偟偰丄擭榁偄偨屜偑丄尦婥側塆偲懳摍偺娭學傪抸偙偆偲偡傞偺偼丄悵偺傛偆偵橤墇偩偲尵偭偨丅屜偼塆傪庤壓偵偡傞偺傪偁偒傜傔偰丄嫀偭偰偄偭偨丅 +旤偟偒僔儍儉僗僄儞僫僴乕儖偲傾儕丒儀儞丒儀僢僇儖偺暔岅乮戞152栭 - 戞169栭乯 [曇廤] + +僶乕僩儞斉乽傾儕丒價儞丒僶僢僇儖偲僔儍儉僗丒傾儖丒僫僴儖偺暔岅(戞153栭乚戞170栭)乿 +搶梞暥屔斉乽傾儕乕丒價儞丒僶僢僇乕儖偲僔儍儉僗丒僂儞丒僫僴乕儖偲偺暔岅(戞153栭乚戞170栭)乿 +偁傞擔丄僶僌僟乕僪偺傾僶乕儖僴僒儞丒儀儞丒僞乕僿儖偲偄偆彜恖偺揦偵丄僔儍儉僗僄儞僫僴乕儖偲偄偆嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪乯偺旤偟偄懁幒偑棃偰丄儁儖僔儍墹偺枛遽偱傾僶乕儖僴僒儞偺恊桭偺旤偟偄墹巕傾儕丒儀儞丒儀僢僇儖偲弌夛偭偰偟傑偄丄2恖偼屳偄偵堦栚崨傟偟偰偟傑偭偨丅傾僶乕儖僴僒儞偲傾儕丒儀儞丒儀僢僇儖偼僔儍儉僗僄儞僫僴乕儖偺彈搝楆偺庤堷偒偱媨揳偵擡傃崬傒丄傾儕丒儀儞丒儀僢僇儖偼僔儍儉僗僄儞僫僴乕儖偲嵞夛傪壥偨偟偨丅偦偙偵嫵墹偑棃偨偺偱丄傾僶乕儖僴僒儞偲傾儕丒儀儞丒儀僢僇儖偼尒偮偐傜偸傛偆摝偘弌偟偨丅 +傾儕丒儀儞丒儀僢僇儖偲僔儍儉僗僄儞僫僴乕儖偼丄夛偊側偄楒偺偮傜偝偐傜昦婥偵側偭偨丅傾僶乕儖僴僒儞偼嫵墹偺搟傝傪攦偆偙偲傪嫲傟丄慡嵿嶻傪姺嬥偟丄屻帠傪傾儈儞偲偄偆桭恖偵戸偟僶僗儔偵摝偘偨丅傾儈儞偲僔儍儉僗僄儞僫僴乕儖偺彈搝楆偼楢棈傪庢傝丄傾儈儞偺暿揁偱傾儕丒儀儞丒儀僢僇儖偲僔儍儉僗僄儞僫僴乕儖傪嵞夛偝偣傞寁夋傪棫偰丄僔儍儉僗僄儞僫僴乕儖偼惉岟偡傟偽傾儈儞偵彈搝楆傪梌偊傞偙偲傪栺懇偟偨丅 +寁夋偼惉岟偟丄傾儕丒儀儞丒儀僢僇儖偲僔儍儉僗僄儞僫僴乕儖偼傾儈儞偺暿揁偱嵞夛偟偨丅偟偐偟偦偺栭嫮搻偑擖傝丄暿揁偺嵿曮偲2恖傪偝傜偭偰峴偭偨丅梻挬丄傾儈儞偺強偵搻懐偺抝偑棃偰傾儈儞傪搻懐偺塀傟壠偵埬撪偟丄2恖偑壗幰偐傪暦偒丄僔儍儉僗僄儞僫僴乕儖偑嫵墹偺懁幒偲抦傞偲丄2恖傪夝曻偟偨丅偟偐偟丄偦偙偵寈棛戉偑棃偰僔儍儉僗僄儞僫僴乕儖傪媨揳偵楢傟婣偭偨丅 +2恖偼夛偊側偄楒偺偮傜偝偐傜昦婥偑傑偡傑偡廳偔側偭偨丅傾儈儞偺偲偙傠偵彈搝楆偐傜丄嫵墹偑婥晅偄偨偺偱偡偖摝偘傞傛偆偵偲偺楢棈偑擖傝丄傾儈儞偼昦婥偺傾儕丒儀儞丒儀僢僇儖偲偲傕偵挰傪摝偘弌偡偑丄栰搻偵廝傢傟丄慡嵿嶻傪扗傢傟偨丅傾儕丒儀儞丒儀僢僇儖偼幐堄偺偆偪偵巰傫偩丅僔儍儉僗僄儞僫僴乕儖傕昦偑廳偔側傝巰傫偩丅傾儈儞偲彈搝楆偼傾儕丒儀儞丒儀僢僇儖偲僔儍儉僗僄儞僫僴乕儖偺曟傪椬摨巑偵偟丄杽憭偟偨丅 +僇儅儔儖僓儅乕儞偲偁傜備傞寧偺偆偪嵟傕偆傞傢偟偄寧僽僪僁乕儖昉偲偺暔岅乮戞170栭 - 戞236栭乯 [曇廤] + +僶乕僩儞斉乽僇儅儖丒傾儖丒僓儅儞偺暔岅(戞170栭乚戞249栭)乿 +搶梞暥屔斉乽僇儅儖丒僂僢丒僓儅乕儞偺暔岅(戞170栭乚戞249栭)乿 +僴乕儗僟乕儞偲偄偆崙偺崙墹僔儍僴儔儅乕儞偵偼旤偟偄堦恖懅巕偺墹巕僇儅儔儖僓儅乕儞偑偄偨偑丄15嵨偵側偭偰傕彈惈偵嫽枴偑柍偔丄寢崶傪嫅斲偟偰偄偨丅堦曽丄梱偐墦偔偺僄儖丒僽僼乕儖偲僄儖丒僋僗乕儖偺崙墹僈僀僂乕儖偵偼旤偟偄堦恖柡偺墹彈僽僪僁乕儖偑偄偨偑丄抝惈偵嫽枴偑柍偔丄嬤椬偺墹巕偺媮崶傪抐傝懕偗偰偄偨丅 +偁傞擔丄僴乕儗僟乕儞偺崙墹偼寢崶傪嫅斲偟懕偗傞僇儅儔儖僓儅乕儞傪挦傜偟傔傞偨傔丄屆偄搩偵暵偠崬傔偨丅偦偺搩偼屆戙儘乕儅偺搩偱丄偦偺搩偺堜屗偵偼杺墹僪儉儕傾僢僩偺柡偺彈婼恄乮僀僼儕乕僞乯儅僀儉乕僫偑廧傫偱偄偰丄栭僇儅儔儖僓儅乕儞偑柊偭偨屻丄斵傪尒偰旤偟偝偵姶摦偟偨丅偦偙偵婼恄僔儍儉僼儔僔儏偺懅巕僟僴僫僔儏偑尰傟丄僇儅儔儖僓儅乕儞傛傝僽僪僁乕儖昉偺曽偑旤偟偄偲尵偭偨偨傔丄尵偄憟偄偵側傝丄僽僪僁乕儖昉傪楢傟偰棃偰尒斾傋傞偙偲偵側偭偨丅 +婼恄僟僫僴僔儏偑嬻傪旘傃柊偭偰偄傞僽僪僁乕儖昉傪楢傟偰棃偰僇儅儔儖僓儅乕儞偺椬偵怮偐偣傞偲丄2恖偼摨偠婄傪偟偰偄偰丄桪楎偑偮偐側偐偭偨丅偦偙偱丄杺墹傾僽乕丒僴儞僼傽僔儏偺巕懛偺婼恄僴僔儏僇僔儏丒儀儞丒僼傽僼儔僔儏丒儀儞丒傾僩儔僔儏偵拠嵸傪媮傔偨偲偙傠丄曅曽傪婲偙偟丄傛傝憡庤偵崨傟偨曽傪晧偗偲偡傞偙偲偵側偭偨丅傑偢丄僇儅儔儖僓儅乕儞傪婲偙偟偨偲偙傠丄怮偰偄傞僽僪僁乕儖昉傪偨偪傑偪岲偒偵側傞偑丄晝墹僔儍僴儔儅乕儞偺寁棯偲巚偄丄巜椫傪岎姺偟偨偺傒偱堦慄傪墇偊偢挬傑偱変枬偡傞偙偲偵偟偨丅師偵僽僪僁乕儖昉傪婲偙偟偨偲偙傠丄怮偰偄傞僇儅儔儖僓儅乕儞傪偨偪傑偪岲偒偵側傝丄張彈傪曺偘偨丅彑晧偼僇儅儔儖僓儅乕儞偺彑偪偲側偭偨丅婼恄僟僴僫僔儏偼僽僪僁乕儖昉傪怮偐偣僈僀僂乕儖墹偺媨揳偵楢傟婣偭偨丅梻挬丄僇儅儔儖僓儅乕儞偲僽僪僁乕儖昉偼丄巜椫偲張彈偺寣偺偨傔柌偱偼側偄偲抦傝丄偦傟偧傟偺崙偱憡庤傪扵偡偑丄扤傕抦傜側偄偨傔丄嫸恖埖偄偝傟偨丅 +僈僀僂乕儖墹偼乽僽僪僁乕儖昉偺嫸婥傪帯偟偨幰偼寢崶傪嫋偟崙墹偵偡傞丅偟偐偟丄帯偣側偐偭偨幰偼昉傪尒偨埲忋嶦偡丅乿偲偍怗傟傪弌偟偨偑丄扤傕帯偣側偐偭偨丅僽僪僁乕儖昉偺擕曣偺懅巕儅儖僓儚乕儞偼帠忣傪抦傝丄昉偺楒恖傪扵偡椃偵弌偨丅1偐寧偺椃偺屻丄僞儔乕僼偲偄偆挰偵拝偔偲丄僇儅儔儖僓儅乕儞墹巕偺晄巚媍側榖偺塡傪暦偒丄棨楬偱6偐寧偐丄奀楬偱1偐寧偺偲偙傠偵偁傞僴乕儗僟乕儞崙偵墹巕偑偄傞偙偲傪抦傝丄奀楬偱椃棫偭偨丅慏偼擄攋偟偨偑僴乕儗僟乕儞崙偵拝偒丄僇儅儔儖僓儅乕儞墹巕偵僽僪僁乕儖昉偺崙傪抦傜偣偨丅僇儅儔儖僓儅乕儞墹巕偼椃棫偪丄柍帠僽僪僁乕儖昉偲嵞夛偟丄擇恖偼偡偖偝傑寢崶偟偨丅 +寢崶屻偟偽傜偔偟偰丄僇儅儔儖僓儅乕儞偼巆偟偰棃偨晝墹偑婥偑偐傝偵側傝丄僽僪僁乕儖昉傪楢傟偰僴乕儗僟乕儞偵婣傞偙偲偵偟偨丅椃偺僥儞僩偺拞偱怮偰偄傞僽僪僁乕儖昉偺懱傪怗偭偰偄傞偲丄懱偺拞偵峠囿囗偺杺朄偺偍庣傝偑偁傞偺傪尒偮偗偨偑丄偦傟傪捁偵庢傜傟偰偟傑偭偨丅僇儅儔儖僓儅乕儞偼堦恖丄庢傝曉偡偨傔偵捁傪捛偄偐偗傞偑丄11擔捛偄偐偗偰丄偁傞峘挰偱捁傪尒幐偭偰偟傑偭偨丅偦偺挰偼僉儕僗僩嫵搆偵惇暈偝傟偨挰偱丄僀僗儔儉嫵搆偼掚巘堦恖偟偐偄側偐偭偨丅僇儅儔儖僓儅乕儞偼婣傞摴偑暘偐傜偢丄峘偵僀僗儔儉偺慏偑棃傞傑偱掚巘偺庤揱偄傪偟偰懸偪懕偗偨丅 +堦曽丄僽僪僁乕儖昉偼僇儅儔儖僓儅乕儞偑徚偊偨偙偲偲峠囿囗偺偍庣傝偑側偔側偭偨偙偲傪抦傝斶偟傫偩偑丄廬幰偺斀棎傪嫲傟丄婄偑僇儅儔儖僓儅乕儞偲摨偠偙偲傪棙梡偟丄抝憰偟偰僇儅儔儖僓儅乕儞傪墘偠丄懁嬤偺彈搝楆偵儀乕儖傪偝偣偰僽僪僁乕儖昉傪墘偠偝偣丄椃傪懕偗崟抙偺搰偵拝偄偨丅崟抙偺搰偺崙墹傾儖儅僲僗偲夛偭偨抝憰偺僽僪僁乕儖昉偼丄崙墹偵婥偵擖傜傟丄崙墹偺旤偟偄堦恖柡偺僴僀儎乕僩丒傾儖僰僼乕僗昉偲偺寢崶傪怽偟崬傑傟彸戻偟偨丅僽僪僁乕儖昉偼僴僀儎乕僩丒傾儖僰僼乕僗昉偵帺暘偑彈偱偁傞偙偲傪懪偪柧偗丄旈枾傪庣傞偙偲傪栺懇偝偣丄捁偺寣傪張彈偺寣偲婾傝丄傾儖儅僲僗墹傪閤偟偨丅傾儖儅僲僗墹偼婌傃丄墹埵傪僽僪僁乕儖昉偵忳偭偨丅 +僇儅儔儖僓儅乕儞偼丄偄偮傑偱傕棃側偄僀僗儔儉偺慏傪懸偪懕偗偨丅偁傞擔丄捁摨巑偑愴偆偺傪尒偮偗丄巰傫偩曽偺捁傪尒傞偲丄偁偺峠囿囗偺偍庣傝偑尒偮偐偭偨丅偦偟偰丄掚巇帠傪偟偰偄傞偲抧拞偵杽傕傟偨奒抜傪尒偮偗丄偦偺奒抜傪崀傝傞偲20屄偺嬥偺媗傑偭偨酨傪尒偮偗偨偺偱丄掚巘偲愜敿偡傞偙偲偵偟偨丅偦偺擔丄崟抙偺搰傊峴偔僀僗儔儉偺慏偑擖峘偟偨偺傪抦傝丄酨偺忋偺曽偵僆儕乕僽傪媗傔丄僆儕乕僽偺酨偲偟偰慏偵嵹偣偨丅峠囿囗偼酨偺堦偮偺掙偵塀偟丄偦偺酨偵偼僇儅儔儖僓儅乕儞偲柤慜傪挙偭偨丅偟偐偟丄掚巘偑媫巰偟偨偨傔丄慏偺弌峘偵娫偵崌傢側偔側偭偰偟傑偭偨丅 +慏偼崟抙偺搰偵擖峘偟丄抝憰偺僽僪僁乕儖昉偼岲暔偺僆儕乕僽偺酨傪慡偰攦偭偨丅酨偵峠囿囗偲僇儅儔儖僓儅乕儞偺柤慜傪尒偨僽僪僁乕儖昉偼丄媫偄偱慏挿偵僇儅儔儖僓儅乕儞傪楢傟偰棃傞傛偆柦偠丄慏挿偼僉儕僗僩嫵搆偺挰偐傜僇儅儔儖僓儅乕儞傪楢傟婣偭偨丅僇儅儔儖僓儅乕儞偼丄抝憰偺僽僪僁乕儖昉偵婥晅偐偢屗榝偆偑丄偮偄偵婥晅偒丄僽僪僁乕儖昉傪戞1偺惓嵢丄僴僀儎乕僩丒傾儖僰僼乕僗昉傪戞2偺惓嵢偲偟丄傑偨晝墹僔儍僴儔儅乕儞偵傕帺暘偺柍帠傪揱偊丄岾偣偵曢傜偟偨丅 +椶帡偺榖:戝恇僰乕儗僨傿儞偲偦偺孼戝恇僔儍儉僙僨傿儞偲僴僒儞丒僷僪儗僨傿儞偺暔岅 +椶帡偺榖:旤偟偒僘乕儉儖僢僪偲乽塰岝乿偺懅巕傾儕僔儍乕儖偲偺暔岅 +乽岾抝乿偲乽岾彈乿偺暔岅乮戞237栭 - 戞248栭乯 [曇廤] + +僶乕僩儞斉乽僯傾儅乕丒價儞丒傾儖丒儔價傾偲偦偺搝楆柡僫僆儈偺榖(戞237栭乚戞247栭)乿 +搶梞暥屔斉乽僯僀儅丒價儞丒傾儖丒儔價乕偲偦偺彈搝楆僰僂儉偲偺榖(戞237栭乚戞247栭)乿 +愄丄僋乕僼傽偺挰偵乽弔乿巵偲偄偆偺崑彜偑偄偨丅偁傞擔丄弔巵偵抝偺巕偑惗傑傟丄偦偺巕偼乽岾抝乿偲柤偯偗傜傟偨丅弔巵偼丄搝楆巗応偱丄惗傑傟偨偽偐傝偺彈偺巕傪偮傟偨彈搝楆乽塰偊乿傪攦偄丄彈偺巕傪乽岾彈乿偲柤偯偗丄岾抝偺枀偺傛偆偵堢偰偨丅岾抝傕岾彈傕旤偟偄庒幰偵堢偪丄擇恖偑12嵨偵側偭偨偲偒丄擇恖偼寢崶偟偨丅 +4擭屻丄僋乕僼傽偺懢庣儀儞丒儐乕僙僼丒僄儖丒僥僇僼傿偼丄16嵨偵側偭偨岾彈偺旤偟偝傪暦偒丄桿夳偟偰嫵墹乮僇儕乕僼傽乯傾僽僪僁儖丒儅儕僋丒價儞丒儅儖儚乕儞偵專忋偟傛偆偲丄榁攌傪屬偭偨丅榁攌偼婩摌幰偺怳傝傪偟偰弔巵偺壠偵擖傝崬傒丄岾彈傪壠偺奜偵桿偄弌偟偰桿夳偟偨丅岾彈偼嫵墹偵專忋偝傟偨偑丄偁傑傝偵媰偔偺偱丄嫵墹偺枀僙僢僩丒僓僸傾偼晄溹偵巚偄夘書偟偨丅偟偐偟丄岾彈偼壗擔宱偭偰傕媰偔偽偐傝偱昦婥偵側偭偰偟傑偭偨丅 +堦曽丄岾抝偼岾彈傪憑偡偑丄傑偭偨偔尒偮偐傜側偐偭偨丅儁儖僔儍恖偺妛幰偵愯偭偰傕傜偆偲丄岾彈偼僟儅僗偵偄傞偲弌偨偺偱丄岾抝偲儁儖僔儍恖妛幰偼僟儅僗偵峴偒丄偦偙偱堛幰傪巒傔偨丅堛幰偼戝昡敾偲側傝丄偁傞擔丄屻媨偺榁晈恖偑憡択偵棃偨偑丄偦傟偼岾彈偺昦婥偺偙偲偱偁偭偨丅岾彈偑屻媨偵偄傞偙偲偑暘偐偭偨偺偱丄岾抝偼榁晈恖偺庤堷偒偱彈憰偟偰屻媨偵擡傃崬傫偩偑丄晹壆傪娫堘偊丄僙僢僩丒僓僸傾偵尒偮偐偭偰偟傑偭偨丅恊愗側僙僢僩丒僓僸傾偼帠忣傪暦偒丄岾抝傪岾彈偵崌傢偣偰偔傟偨丅偦偙偵嫵墹偑擖偭偰偒偨丅 +僙僢僩丒僓僸傾偼嫵墹偵乽愄丄偁傞崙偱孼枀偺傛偆偵堢偰傜傟偨巕偳傕偑戝恖偵側傝寢崶偟偨偑丄嵢偼偝傜傢傟墹偺屻媨偵專忋偝傟偨丅晇偼嵢傪憑偟屻媨偵擡傃崬傫偩偑丄墹偵尒偮偐傝丄2恖偲傕張孻偝傟偰偟傑偭偨丅偙偺榖偺墹偺峴堊傪偳偆巚偆偐乿偲恞偹偨丅嫵墹偑乽偦偺墹偺峴堊偼寉棪偱偁傞丅乿偲尵偭偨偺偱丄僙僢僩丒僓僸傾偼帠忣傪榖偟丄屻媨偵擡傃崬傫偩岾抝傪嫋偡傛偆嫵墹偵棅傫偩丅嫵墹偼岾抝傪嫋偟丄岾彈傪岾抝偵曉偟丄朖旤傪梌偊偨丅傑偨儁儖僔儍恖妛幰傪帢堛偵擟柦偟偨丅岾抝偲岾彈偼僋乕僼傽偵婣傝丄岾偣偵曢傜偟偨丅 +乽傎偔傠乿偺暔岅乮戞250栭 - 戞269栭乯 [曇廤] + +僶乕僩儞斉乽傾儔僕儞丒傾僽丒傾儖丒僔儍儅僩偺暔岅(戞249栭乚戞269栭)乿 +搶梞暥屔斉乽傾儔乕僢丒僨傿乕儞丒傾僽乕僢丒僔儍乕儅乕僩偺暔岅(戞249栭乚戞269栭)乿 +愄丄僇僀儘偺挰偵丄僔儍儉僙僢僨傿乕儞偲偄偆柤偺挰堦斣偺崑彜偑偄偨偑丄寢崶屻40擭偨偭偰傕巕偳傕偑偱偒偢丄晇晈拠偑埆偔側偭偰偄偨丅僔儍儉僙僢僨傿乕儞偼乽層杻乿偲偄偆梀傃恖偺拠攦恖偵憡択偟偨偲偙傠丄層杻偼僔僫嶻?悷壷乮傂偮偪傚偆偐乯偺幭媗傔偨壻摐2僆儞僗丄僀僆僯傾嶻戝杻偺擹偄僄僉僗1僆儞僗丄惗偺挌帤1僆儞僗丄僙儗儞僨傿僾嶻愒偄擏宩1僆儞僗丄儅儔僶儖嶻敀偄彫摛湔乮偟傚偆偢偔乯10僪儔僋儉丄僀儞僪嶻惗汭5僪儔僋儉丄敀層灒5僪儔僋儉丄搨恏巕5僪儔僋儉丄僀儞僪嶻戝錉崄乮偆偄偒傚偆乯偺惎宆偺燋壥乮偟傚偆偐乯1僆儞僗丄棫阬崄憪乮偨偪偠傖偙偆偦偆乯敿僆儞僗丄朓枿丄阬崄5棻丄嫑棏1僆儞僗偐傜旈栻傪嶌傝丄僔儍儉僙僢僨傿乕儞偑偦傟傪暈梡偟偨偲偙傠丄偨偪傑偪嵢偑擠怭偟偨丅惗傑傟偨抝偺巕偼丄椉杍偲嵍偺怟偵傎偔傠偑偁偭偨偺偱丄乽傾儔僄僢僨傿乕儞丒傎偔傠乿偲柤偯偗傜傟偨丅椉恊偼幾帇傪嫲傟丄傎偔傠傪抧壓幒偵廧傑傢偣丄堦棳偺妛幰偵偁傜備傞妛栤傪嫵偊偝偣偨丅 +傎偔傠偑14嵨偵側偭偨偲偒丄僔儍儉僙僢僨傿乕儞偼丄悽娫偱愓宲偓偑偄側偄偲巚傢傟偰偄偰丄巰傫偩応崌嵿嶻傪崙偵庢傜傟偐偹側偄偙偲傪嫲傟丄傎偔傠傪昞偵弌偡偙偲偵偟偨丅偍斺業栚偺夛偱丄乽椉搧巊偄偺儅僴儉乕僪乿偼傎偔傠偵栚傪晅偗丄巕偳傕偨偪傪巊偄傎偔傠偵椃偺宱尡偑側偄偙偲傪偐傜偐傢偣丄椃偵弌傞傛偆巇岦偗偨丅傎偔傠偼椃傪寛堄偟丄椉恊偵柍棟傪尵偭偰戉彜傪慻傫偱傕傜偭偨丅僔儍儉僙僢僨傿乕儞偼儔僋僟塯偒偺恊曽僇儅儖榁恖偵椃偺埨慡傪戸偟偨丅 +傎偔傠偺戉彜偑僇僀儘傪棫偮偲丄椉搧巊偄偺儅僴儉乕僪傕偡偖偵戉彜傪慻傫偱屻傪捛偄偐偗丄傎偔傠偵尵偄婑偭偨偑丄僇儅儖榁恖偼儅僴儉乕僪偺杺庤偐傜傎偔傠傪庣偭偨丅堦峴偼僟儅僗丄傾儗僾偲彜攧偺椃傪懕偗偨偑丄傾儗僾傪棫偭偨屻丄椉搧巊偄偺儅僴儉乕僪偼丄傎偔傠傪墐夛偵桿偄丄傎偔傠偼僇儅儖榁恖偺斀懳偵傕偐偐傢傜偢丄墐夛偵峴偭偨丅墐夛偺僥儞僩偱丄椉搧巊偄偺儅僴儉乕僪偑傎偔傠偵僉僗傪偟傛偆偲偟丄尵偄婑偭偨偨傔丄傎偔傠偼偁傢偰偰摝偘婣偭偨丅傎偔傠偼嬃偒丄堦崗傕憗偔椉搧巊偄偺儅僴儉乕僪偐傜棧傟傛偆偲丄僇儅儖榁恖偺斀懳偵傕偐偐傢傜偢丄懠偺戉彜偲暿傟丄帺暘偺戉彜偩偗僶僌僟乕僪偵岦偗弌敪偟偨丅僶僌僟乕僪傑偱偁偲彮偟偲偄偆強傑偱棃偨偲偒丄傎偔傠偼乽旤偟偄挬偺僶僌僟乕僪傪尒偨偄乿偲僶僌僟乕僪偺奜偵栰塩偡傞偲尵偄弌偟丄僇儅儖榁恖偺乽偙偙偼將偺扟偲偄偆搻懐偺弌傞応強側偺偱丄堦崗傕憗偔僶僌僟乕僪偵擖傞傋偒偩乿偲偄偆拤崘傕暦偐偢丄栰塩偟偨丅戉彜偼搻懐偵廝傢傟丄傎偔傠埲奜慡堳偑嶦偝傟偨丅幐堄偺傎偔傠偼堦恖僶僌僟乕僪偵摝偘墑傃丄巗撪偺愹偺強偱柊偭偨丅傎偔傠偼椉搧巊偄偺儅僴儉乕僪偵彆偗傜傟偨偑丄栭偵側傞偲嵞傃摝偘弌偟偨丅 +傎偔傠偑栭偺僶僌僟乕僪傪偝傑傛偭偰偄傞偲丄乽夝彍恖乿傪扵偟偰偄傞抝偲偦偺晝偵弌夛偭偨丅夝彍恖偲偼丄晇偑嵢傪棧崶偟偨応崌丄2夞栚傑偱偼偡偖偵暅墢偱偒傞偑丄3夞栚偺棧崶偺応崌偼堦扷嵢偑暿偺抝偲寢崶偟堦栭傪夁偛偟偰偦偺抝偲棧崶偟側偄尷傝暅墢偱偒側偄偲偄偆僀僗儔儉偺嫵偊偵廬偄丄3夞栚偺棧崶偺屻堦帪偺晇偲側傞幰偺偙偲偱偁偭偨丅傎偔傠偼夝彍恖傪堷偒庴偗丄抝偺尦嵢偺僝僶僀僟偲堦栭傪夁偛偡偙偲偵側偭偨偑丄屳偄偵杮摉偵岲偒偵側偭偰偟傑偄丄梻挬棧崶傪偟側偄偲尵偄弌偟偨丅堘栺嬥偺1枩僨傿僫乕儖傪暐傢側偗傟偽側傜側偄偙偲偵側偭偨偑丄朄姱(僇乕僨傿乕)偼庒偄抝偑岲偒偩偭偨偨傔丄傎偔傠偑棳偟栚傪巊偆偲丄堘栺嬥偺巟暐偄傪10擔懸偭偰傕傜偊傞偙偲偵側偭偨丅傎偔傠偼丄10擔偺桺梊婜娫傪丄嬥偺摉偰傕側偄傑傑丄僝僶僀僟偲垽偟崌偄夁偛偟偨丅 +偦傫側拞丄偁傞栭僝僶僀僟偑壧傪壧偭偰偄傞偲丄廋摴憁偵曄憰偟偨嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偲戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕丄屼樜搧帩偪儅僗儖乕儖丄帊恖傾僽乕丒僰儚乕僗偺4恖慻偑壧偵桿傢傟傗偭偰棃偰丄帠忣傪暦偒乽1枩僨傿僫乕儖傪搉偟偰偁偘傛偆乿偲尵偄丄墐傪妝偟傒梻挬嫀偭偰峴偭偨丅偟偽傜偔偡傞偲丄傾價僔僯傾偺彮擭僒儕乕儉偵棪偄傜傟偨戉彜偑丄僔儍儉僙僢僨傿乕儞偐傜偺庤巻偲5枩僨傿僫乕儖暘偺彜昳偲僝僶僀僟傊偺憽傝暔傪帩偭偰尰傟偨丅庤巻偵偼丄堘栺嬥1枩僨傿僫乕儖偑暐偊傞傛偆丄晝僔儍儉僙僢僨傿乕儞偑戉彜傪尛傢偟偨偲彂偄偰偁偭偨丅傎偔傠偼堘栺嬥傪暐偭偨偑丄尦晇偼僝僶僀僟傪幐偭偨斶偟傒偱巰傫偱偟傑偭偨丅 +偦偺梉曽丄嵞傃嫵墹偵棪偄傜傟偨4恖慻偑廋摴憁偵曄憰偟偰傗偭偰棃偨丅傎偔傠偼丄1枩僨傿僫乕儖傪搉偟偰偔傟側偐偭偨偺偱晄婡寵偱偁偭偨偑丄僝僶僀僟偼壧傪壧偄墐傪惙傝忋偘偨丅帊恖傾僽乕丒僰儚乕僗偼傎偔傠偵丄僇僀儘傑偱45擔偐偐傞偺偵丄側偤戉彜偑偡偖偵棃偨偲巚偆偐偲恞偹丄偁偺戉彜偼幚偼嫵墹偺尛傢偟偨傕偺偩偭偨偲屽傜偣偨丅嫵墹偼傎偔傠傪廳梡偟丄僶僌僟乕僪偺彜恖偺夛摢偵偟丄偝傜偵丄彾庰巕偺挿丄撪柋嫧偲徃擟偝偣偨丅傎偔傠偼丄擟柋傪拤幚偵壥偨偟偨丅 +偁傞擔丄嫵墹偼丄傎偔傠偵彈搝楆傪憽傞偙偲偵偟丄僕儍傾僼傽儖偵搝楆傪攦偭偰偔傞傛偆偵柦偠偨丅儎僒儈乕儞乮僕儍僗儈儞乯偲偄偆彈搝楆偑嫞攧偵妡偗傜傟偨偲偒丄僇乕儗僪偲偄偆柤偺婱懓偺懅巕偱14嵨偵側傞乽傇偔傇偔偱傇乿偲偄偆廥偄旍枮偺巕偲丄僕儍傾僼傽儖偑嫞傝崌偄偵側傝丄僕儍傾僼傽儖偑嫞傝彑偪丄儎僒儈乕儞偼傎偔傠偺傕偺偲側偭偨丅 +乽傇偔傇偔偱傇乿偑偁傑傝偵斶偟傫偩偨傔丄乽傇偔傇偔偱傇乿偺曣偼丄儎僒儈乕儞傪扗偄庢傞偙偲傪峫偊丄榁攌傪屬偭偨丅榁攌偼乽夐偺傾僼儅乕僪乿偺曣偱丄楽偵偄傞夐偺傾僼儅乕僪傪彆偗偰偔傟偨傜儎僒儈乕儞傪扗偆偲尵偭偨丅婱懓僇乕儗僪偼嫵墹偵夐偺傾僼儅亅僪傪彆偗傞偙偲傪婅偄弌丄嫵墹偼夐偺傾僼儅乕僪傪寈嶡挿姱偵擟柦偟偨丅 +夐偺傾僼儅乕僪偼丄嫵墹偺曮暔偱偁傞噫噙偲僩儖僐愇傪楢偹偨悢庫丄儖價乕偺暱摢偺寱丄嬍帲丄墿嬥偺儔儞僾偺4昳傪搻傒丄墿嬥偺儔儞僾偼帺暘偺暔偵偟丄巆傝3昳偼傎偔傠偺壆晘偵杽傔偨丅曮偑側偔側偭偨偙偲偵婥晅偄偨嫵墹偼寖搟偟丄寈嶡挿姱偺夐偺傾僼儅乕僪偵曮偺憑嶕傪柦偠偨丅曮偺撪3昳偼傎偔傠偺壆晘偱尒偮偐傝丄傎偔傠偼曔傜偊傜傟丄巰孻偵側傞偑丄寈棛偺挿偑丄暿偺巰孻廁傪傎偔傠偺懼偊嬍偵偟丄傎偔傠傪傾儖丒僀僗僇儞僟儕傾乮傾儗僋僒儞僪儕傾乯偵摝偑偟偨丅傎偔傠偺嵢僝僶僀僟偼寈棛偺挿偵偐偔傑傢傟傞偑丄彈搝楆儎僒儈乕儞偼婱懓僇乕儗僪偺傕偺偲側傝乽傇偔傇偔偱傇乿偵梌偊傜傟傞偑丄乽傇偔傇偔偱傇乿偲偺娭學傪嫅傒丄戜強學偺彈搝楆偲側偭偨丅 +儎僒儈乕儞偼傎偔傠偺巕傪恎偛傕偭偰偍傝丄惗傑傟偨巕偼抝偺巕偱傾僗儔乕儞偲柤偯偗傜傟偨丅傾僗儔乕儞偑2嵨偺偲偒丄僇乕儗僪偼旤偟偄傾僗儔乕儞傪婥偵擖傝梴巕偲偟丄堦棳偺妛幰偵偮偗戝愗偵堢偰偨丅傾僗儔乕儞偑14嵨偺偲偒丄庰応偱夐偺傾僼儅乕僪偲嬼慠弌夛偄丄墿嬥偺儔儞僾傪帩偭偰偄傞偺傪尒偨丅傾僗儔乕儞偼嫵墹偲榖偡婡夛傪摼偰捈慽偟丄嫵墹偑夐偺傾僼儅乕僪傪挷傋偝偣傞偲墿嬥偺儔儞僾偑尒偮偐偭偨偺偱丄夐偺傾僼儅乕僪偼巰孻偵側偭偨丅寈棛偺挿偼丄幚偼傎偔傠偼傾儖丒僀僗僇儞僟儕傾偱惗偒偰偄傞偲嫵墹偵怽偟忋偘偨偺偱丄嫵墹偼傎偔傠傪楢傟偰偔傞傛偆尵偭偨丅 +傾儖丒僀僗僇儞僟儕傾偵峴偭偨傎偔傠偼丄偁傞揦傪攦偄庢傝丄彜攧傪巒傔偨偑丄偦偺揦偺扞偵峠囿囗偺偍庣傝偑偁偭偨丅偁傞擔丄偁傞慏挿偑偦偺峠囿囗偺偍庣傝傪10枩僨傿僫乕儖偱攦偆偙偲偵側傝丄傎偔傠偼戙嬥傪庴偗庢傝偵慏傑偱峴偭偨偑丄偦偺傑傑慏偼弌峘偟丄僉儕僗僩嫵崙偺僕僃僲傾偵峴偭偰偟傑偭偨丅傎偔傠偼嫵夛偺壓摥偒傪偡傞偙偲偵側傞偑丄嫵夛偵僕僃僲傾偺崙墹偺柡偱偁傞儂僗儞丒儅儕傾儉墹彈偑棃偰丄峠囿囗偼墹彈偺傕偺偱偁傝丄杺朄偱傎偔傠偺旤偟偝傪抦傝丄傎偔傠偵夛偆偨傔偵杺朄偺椡偱傎偔傠傪僕僃僲傾傑偱堷偒婑偣偨偲尵偭偨丅傎偔傠偑婣傝偨偄偲尵偆偲丄儅儕傾儉墹彈偼杺朄偺嬻旘傇怮戜傪弌偟丄2恖偼怮戜偵忔偭偰堦弖偱傾儖丒僀僗僇儞僟儕傾偵拝偄偨丅偦偙偵寈棛偺挿偑棃偨偺偱丄3恖偱嬻旘傇怮戜偵忔傝丄搑拞僇僀儘偵婑傝丄晝僔儍儉僙僢僨傿乕儞偲曣傪忔偣丄5恖偱僶僌僟乕僪偵拝偄偨丅 +傎偔傠偼嫵墹偐傜嫋偝傟丄廳怑傪摼偨丅傎偔傠偼丄偙偺傛偆側晄巚媍偺尨場偲側偭偨椉搧巊偄偺儅僴儉乕僪偵姶幱偟丄寈嶡挿姱偵擟柦偟偨丅傎偔傠偼丄僝僶僀僟丄儎僒儈乕儞丄儂僗儞丒儅儕傾儉偺3恖偺嵢偵埻傑傟丄岾偣偵曢傜偟偨丅 +椶帡偺榖 庒幰僰乕儖偲桬傑偟偄僼儔儞僋墹彈偺暔岅 +攷妛偺僞儚僢僪僪偺暔岅乮戞270栭 - 戞287栭乯 [曇廤] + +僶乕僩儞斉乽傾僽丒傾儖丒僼僗儞偲搝楆柡偺僞儚僢僘僪(戞436栭乚戞482栭)乿 +搶梞暥屔斉乽彈搝楆僞儚僢僪僁僪偺暔岅(戞436栭乚戞482栭)乿 +愄丄僶僌僟乕僪偵崑彜偑偄偨偑丄堦恖懅巕傾僽乕儖丒僴僒儞傪巆偟偰巰傫偩丅傾僽乕儖丒僴僒儞偼晝偺巰屻丄嵿嶻傪巊偄壥偨偟丄巆偭偨偺偼旤偟偄彈搝楆僞儚僢僪僪偩偗偵側偭偨丅 +僞儚僢僪僪偼傾僽乕儖丒僴僒儞偵丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偵帺暘傪1枩僨傿僫乕儖埲忋偱攧傞傛偆偵尵偭偨丅傾僽乕儖丒僴僒儞偑僞儚僢僪僪傪嫵墹偺慜偵楢傟偰峴偔偲丄僞儚僢僪僪偼帺暘偺抦幆偺桪傟偰偄傞偙偲傪嫵墹偵尵偭偨偨傔丄嫵墹偼堦棳偺妛幰傪廤傔丄僞儚僢僪僪偺抦幆傪帋偡偙偲偵側偭偨丅 +僞儚僢僪僪偼丄僐乕儔儞偺撉鎢幰丄恄妛幰丄僐乕儔儞妛幰丄堛幰丄揤暥妛幰丄揘妛幰丄尗恖僀僽儔乕僸乕儉丒儀儞丒僒僀傾儖偲弴師丄栤摎傪峴偄丄僞儚僢僪僪偼憡庤偺栤偄偵偼慡偰摎偊偨偑丄憡庤偼僞儚僢僪僪偺栤偄偵偼摎偊傜傟偢丄栤摎偼慡偰僞儚僢僪僪偺彑偪偲側偭偨丅嫵墹偼婌傃丄1枩僨傿僫乕儖傪梌偊丄僞儚僢僪僪偵屻媨偵擖傞偐丄傾僽乕儖丒僴僒儞偺尦偵婣傞偐傪暦偔偲丄僞儚僢僪僪偼婣傞偙偲傪婓朷偟偨偺偱丄嫵墹偼嫋偟丄偝傜偵5愮僨傿僫乕儖傪梌偊丄2恖偼岾偣偵曢傜偟偨丅 +帊恖傾僽乕丒僰儚乕僗偺帠審乮戞287栭 - 戞290栭乯 [曇廤] + +嫵墹傾儖丒儔僔乕僪偼丄偁傞擔媨揳撪偺彫壆偵偡偽傜偟偄旤彈偑偄傞偺傪抦傞丅暦偄偰傒傞偲斵彈偼丄嫵墹偺懅巕偑斵偵憽傠偆偲偟偰偄偨彈偩偭偨偑丄挒昉僙僢僩丒僝僶僀僟偺朩奞偱崟恖泚姱偺傕偲偵傗傜傟偰偟傑偭偨偺偩偲偄偆丅嫵墹偼帊恖傾僽乕丒僰儚乕僗偵憡択偟傛偆偲偟偰屇傃婑偣傞偑丄傾僽乕丒僰儚乕僗偼堸傒壆偱旤彮擭偵傂偭偐偐偭偰摦偐側偄丅旤彮擭偵暐偆嬥傪帩偨偣偰嵞搙屇傃偵傗傞偲丄揇悓忬懺偱偁傜傢傟偨丅傾僽乕丒僰儚乕僗偼嫵墹傪搟傜偣偨傝徫傢偣偨傝僪僞僶僞傪墘偠丄嫵墹偼偙傟埲崀傕傾僽乕丒僰儚乕僗傪嬤偔偵偍偄偰廳梡偟偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅乮戞290栭 - 戞315栭乯 [曇廤] + +僶乕僩儞斉乽慏忔傝僔儞僪僶僢僪偲寉巕偺僔儞僪僶僢僪(戞537栭乚戞566栭)[1]乿 +搶梞暥屔斉乽奀偺僔儞僪僶乕僪偲棨偺僔儞僪僶乕僪偲偺暔岅(戞537栭乚戞566栭)乿 +崑憇側壆晘偺庡恖僔儞僪僶乕僪偼丄摨偠柤慜傪傕偮壸扴偓僔儞僪僶乕僪傪彽偄偰庒偒偙傠偺朻尟傪暔岅傞丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞堦榖 偦偟偰偙傟偼戞堦偺峲奀偱偁傞 [曇廤] +朻尟偵偱傛偆偲巚偄棫偭偨僔儞僪僶乕僪偼丄嵿嶻傪傑偲傔偰慏偵偺偣偰椃棫偭偨丅峲奀偺搑拞丄椢備偨偐側搰偵傎偐偺忔媞偨偪偲崀傝棫偮偑丄偦偙偼戝偒側寏偺攚拞偱偁傞丅寏偼奀拞偵捑傫偱忔媞偨偪偼揗傟巰偵丄扙弌偟偨慏挿偼慏偵斂傪偐偗偰峴偭偰偟傑偆丅傂偲傝偩偗彆偐偭偨僔儞僪僶乕僪偼丄偁傞搰傪傒偮偗偰忋棨偡傞丅 +搰偵偼柲攏偑偮側偑傟偰偄偰丄偦偺嬤偔偵寠傪孈偭偰恖偑廧傫偱偄傞丅暦偔偲丄斵傜偼儈僼儔僕儍乕儞墹偺攏斣偱丄偙偆偟偰偍偔偲奀偐傜奀攏偑偁偑偭偰偒偰柲攏偲偮偑偄丄椙攏傪摼傞偙偲偑偱偒傞偺偩偲偄偆丅娊懸傪偆偗偨僔儞僪僶乕僪偼儈僼儔僕儍乕儞墹偵攓墆偟丄偦偺朻尟傪岅傞偲丄墹偼僔儞僪僶乕僪傪峘榩戉挿偵擟柦偟偨丅 +墹偵廳梡偝傟偮偮傕屘嫿傊偺巚偄傪偮偺傜偣偰偄偨僔儞僪僶乕僪偩偑丄偁傞擔峘偵擖偭偨慏偼丄屘恖偺嵿嶻傪僶僋僟乕僪傊曉偟偵偄偔偲偙傠偩偲偄偆丅偦傟偼僔儞僪僶乕僪偑忔偭偰偄偨慏偱丄嵿嶻偼斵偺傕偺偩偭偨丅僔儞僪僶乕僪偼偙傟傪婜偵墹偵偄偲傑傪岊偄丄峘榩戉挿偲偟偰抸偄偨嵿嶻偲偲傕偵丄僶僋僟乕僪僿帩偪婣偭偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞擇榖 偦偟偰偙傟偼戞擇偺峲奀偱偁傞 [曇廤] +師偺峲奀偵弌偨僔儞僪僶乕僪偼丄忋棨偟偨柍恖搰偵抲偒嫀傝偵偝傟偰偟傑偭偨丅搰偵偼嫄捁儘僋偑偄偰丄偦偺懌偵帺暘帺恎傪寢傃偮偗偰扙弌偡傞偑丄偮偄偨愭偼僟僀傾儌儞僪峼愇偱峔惉偝傟偨弒尟側嶳偵埻傑傟偨扟娫偱丄戝幹偑偆傛偆傛偟偰偄傞丅摝偘応傪偝偑偟偰偄傞偲惗擏偑棊偪偰偄傞偺傪尒偮偗丄偦傟偼丄偙偆偄偆尟偟偄応強偱僟僀傾儌儞僪傪嵦庢偡傞偨傔偺巇妡偗偩偭偨丅梤偺擏傪奟偐傜棊偲偟偰峼愇傪擏偵怘偄崬傑偣丄偦傟傪儘僋傗戝榟偑塣傃忋偘傞偺傪懸偭偰扗偄丄擏偐傜僟僀傾儌儞僪傪庢傝弌偡偺偩丅僔儞僪僶乕僪偼棊偪偰偄傞僟僀傾儌儞僪傪偐偒偁偮傔傞偲丄擏偵帺暘帺恎傪敍傝偮偗偰扙弌傪壥偨偟偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞嶰榖 偦偟偰偙傟偼戞嶰偺峲奀偱偁傞 [曇廤] +師偺峲奀偱偼丄慏偼乽墡偑搰乿偲偄偆搰偵棳偝傟傞丅柍悢偺彫墡偑慏傪偲傝偐偙傫偱懪偪夡偟丄忔媞偨偪偼忋棨傪梋媀側偔偝傟偨丅搰偵偼傂偲偮偩偗屼揳偑寶偭偰偍傝丄偦偙偵廧傓戝墡偼丄忔媞偺偆偪懢偭偰偄傞傕偺偐傜弴偵丄枅栭傂偲傝偢偮娵從偒偵偟偰婷傝怘偆丅忔媞偨偪偼扙弌偡傞偨傔偵敵傪慻傒丄戝墡偑柊偭偰偄傞偆偪偵栚傪偮傇偟偰摝偘弌偡偑丄戝墡偼偝傜偵戝偒側柲墡傪楢傟偰偒偰丄僔儞僪僶乕僪傜嶰恖偺傎偐偼偡傋偰嶦偝傟偰偟傑偭偨丅 +敵偱偨偳傝偮偄偨搰偱偼戝幹偑弌偰丄師乆偲堸傒崬傑傟偰偟傑偆丅偮偄偵傂偲傝偩偗偵側偭偨僔儞僪僶乕僪偼斅愗傟偱戝幹偐傜恎傪庣傝丄捠傝偑偐偭偨慏偵媬彆偝傟偨丅偦偺慏偼戞擇偺峲奀偺偲偒忔偭偰偄偨傕偺偱丄僔儞僪僶乕僪偼抲偒嫀傝偵偟偨嵿嶻傪庢傝栠偟偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞巐榖 偦偟偰偙傟偼戞巐偺峲奀偱偁傞 [曇廤] +師偺峲奀偱偼棐偵偁偭偰擄攋偟丄搰偵懪偪忋偘傜傟傞丅偦偙偼怘恖庬偺懞偱丄懪偪忋偘傜傟偨恖乆偼嫙偝傟偨怘暔傪怘偆偆偪偵抦惈傪幐偄丄壠抺偺傛偆偵帞傢傟傞偩偗偵側偭偰偟傑偭偨丅傂偲傝偩偗怘暔偵庤傪偮偗側偐偭偨僔儞僪僶乕僪偼扙弌偟丄斀懳懁偺昹曈偵偱傞丅偦偙偼傛偔塰偊偨奨偱偁偭偨偑丄恖乆偼傒側棁攏偵忔偭偰偍傝丄埰偺懚嵼傪抦傜側偄偺偱偁傞丅埰傪徯夘偟偨僔儞僪僶乕僪偼丄偨偪傑偪晉偲柤惡傪庤偵擖傟偨丅 +摉抧偺墹偐傜偡偡傔傜傟偰嵢傪傔偲偭偨僔儞僪僶乕僪偩偑丄偙偺抧偵偼丄敽椀偑巰傫偩偲偒偲傕偵惗偒杽傔偵偝傟傞偲偄偆朄偑偁偭偨丅傗偑偰僔儞僪僶乕僪偺嵢偑昦婥偱巰偸偲丄傢偢偐側怘椏傪帩偭偨偺傒偱怺偄堜屗偺拞偵抲偒嫀傝偵偝傟偰偟傑偆丅偲偒偍傝擖偭偰偔傞怴偨側巰幰偺敽椀傪嶦偟偰怘椏傪扗偄丄業柦傪偮側偄偱偄偨偑丄偁傞偲偒巰幰傪嬺偄偵偒偨傜偟偄摦暔偺巔傪傒偮偗傞丅屻傪捛偭偰弌岥傪尒偮偗偨僔儞僪僶乕僪偼丄巰幰偨偪偑恎偵偮偗偰偄偨懡偔偺婱嬥懏側偳傪偼偑偡偲丄奀娸慄傪憱偭偰偄偨慏傪偮偐傑偊偰僶僋僟乕僪僿婣偭偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞屲榖 偦偟偰偙傟偼戞屲偺峲奀偱偁傞 [曇廤] +師偺峲奀偱偼丄忔傝崌傢偣偨彜恖偨偪偑偁傞搰偱儘僋偺棏傪懪偪夡偟偨偑偨傔偵丄曬暅偵偁偭偰慏偑擄攋偟偨丅偨偳傝拝偄偨搰偵偼堦恖偺榁恖偑偄偰丄尐幵偱愳傪搉偟偰偔傟偲棅傑傟傞丅偦偺捠傝偵偡傞偲丄榁恖偼尐偵偟偑傒偮偄偨傑傑崀傝傛偆偲偣偢丄僔儞僪僶乕僪偺庱傪掲傔偮偗偰偼丄忔傝暔偺傛偆偵埖偆偺偱偁偭偨丅僔儞僪僶乕僪偼傂傚偆偨傫偵傇偳偆庰傪忴惉偟偰堸傑偣丄悓偭偨偡偒偵怳傝棊偲偟偰榁恖傪嶦偡丅 +奀娸慄偵栠傞偲偪傚偆偳慏偑媥懅偟偰偄傞偲偙傠偱丄慏堳偐傜暦偔偲偙傠偵傛傞偲丄榁恖偼乽奀偺榁恖乿偲屇偽傟偰嫲傟傜傟偰偄傞傕偺偩偭偨偲偄偆丅慏偵摨忔偟偨僔儞僪僶乕僪偼丄棫偪婑傞搰乆偱偝傑偞傑側岎堈傪峴偄丄嫄枩偺晉傪摼偰僶僋僟乕僪僿栠偭偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞榋榖 偦偟偰偙傟偼戞榋偺峲奀偱偁傞 [曇廤] +戞榋偺峲奀偱偼丄慏偑嶳偵傇偮偐偭偰擄攋偟偰偟傑偆丅嶳偵偲傝偡偑偭偨悢恖偼彆偐傝丄奀娸晹傊忋棨偡傞丅偟偐偟丄偦偺搰偼曮愇傗崄栘偑偁傆傟傞慺惏傜偟偄搰偩偭偨偑丄怘椏偑側偔丄恖乆偼師乆偵巰傫偱峴偔丅愡惂偟偰怘暔傪偲偭偨偨傔嵟屻偺傂偲傝偲側偭偨僔儞僪僶乕僪偼丄搰偵偙傠偑偭偰偄傞曮愇側偳傪偐偒廤傔傞偲丄敵傪慻傫偱摯孉怺偔偵棳傟崬傫偱偄傞愳偵忔傝丄偄偪偐偽偪偐偺扙弌傪偼偐傞丅 +婥偑偮偔偲僙儗儞僨傿僽搰偺廧恖偵媬彆偝傟偰偄偨僔儞僪僶乕僪偼丄搰偺墹偵攓墆偟偰曮偺堦晹傪專忋偡傞丅墹偼嫵墹傾儖丒儔僔乕僪偵懳偡傞恑暔偲怣彂傪帩偨偣丄僔儞僪僶乕僪傪僶僋僟乕僪偵婣偟偨丅 +慏忔傝僔儞僪僶乕僪偺暔岅偺戞幍榖 偦偟偰偙傟偼戞幍偺嵟屻偺峲奀偱偁傞 [曇廤] +傕偆朻尟偼傗傔傛偆偲巚偭偰偄偨僔儞僪僶乕僪偩偑丄嫵墹偺媮傔偱丄僙儗儞僨傿僽搰偺墹偵懳偡傞曉彂偲恑暔傪憲傝撏偗傞栶栚偵偮偄偨丅傇偠偵嬑傔傪廔偊偨偑丄婣傝摴偱傑偨傕嵭壭偵偁偄丄奀偺夦暔偵慏傪傑傞偛偲堸傒崬傑傟偰偟傑偆丅椺偵傛偭偰傂偲傝偩偗摝偘偺傃偰偁傞搰偵偮偔偲丄棊偪偰偄偨敀抙傪偮偐偭偰敵傪慻傒丄愳傪壓傝偩偡丅愳壓偼抐奟偵側偭偰偄偨偑丄恊愗側榁恖偵彆偗傜傟丄敵偺嵽椏偵偟偰偄偨敀抙傪巗応偱崅抣偱攧傝敳偗偨丅偝傜偵榁恖偼丄帺暘偺傓偡傔偲堦弿偵側偭偰嵿嶻傪偆偗宲偄偱偔傟偲怽偟弌丄僔儞僪僶乕僪偼偦傟傪庴偗偰柟偲側傞丅傗偑偰榁恖偑巰偸偲丄敎戝側嵿嶻偑斵偲嵢偺傕偺偵側偭偨丅 +偟偐偟偙偺搰偺抝偨偪偵偼晄巚媍側偙偲偑偁傝丄枅擭弔偵側傞偲梼偑惗偊偰旘傃棫偪丄挰偵偼彈巕嫙偟偐巆傜側偔側傞偺偩丅僔儞僪僶乕僪偼棅傒崬傫偱傂偲傝偺抝偺摲偵傇傜偝偑傝揤偺崅傒偵偺傏傞偑丄巚傢偢傾僢儔乕傊偺徿巀偺尵梩傪岥偵偡傞偲丄抝偼媫崀壓偟偰僔儞僪僶乕僪傪媫弒側嶳偺捀忋偵抲偒嫀傝偵偡傞丅偡傞偲傆偨傝偺旤偟偄巕嫙偑偁傜傢傟丄僔儞僪僶乕僪偵嬥偺忨傪搉偟偰傂偲偮偺曽岦傪巜偟帵偟偨丅巜帵偝傟偨曽偵峴偭偰傒傞偲丄僔儞僪僶乕僪傪楢傟偰偒偨抝偑丄摢傑偱戝幹偵堸傒崬傑傟偰偄傞偲偙傠偱偁傞丅僔儞僪僶乕僪偼嬥偺忨傪偮偐偭偰抝傪彆偗丄恄偺柤傪岥偵偟側偄偙偲傪惥偭偰挰傑偱憲傝撏偗偰傕傜偭偨丅 +嵢偵傛傟偽丄抝偨偪偼埆杺偺孼掜偱偁傝丄偙偙偼晄怣偺挰偱偁傞丅僔儞僪僶乕僪偼嵢偲偲傕偵僶僋僟乕僪僿婣傝丄偙傟偱偡傋偰偺朻尟偼廔傢偭偨丅嵟弶偺朻尟偐傜擇廫幍擭傔偺偙偲偱偁偭偨丅 +旤偟偒僘乕儉儖僢僪偲乽塰岝乿偺懅巕傾儕僔儍乕儖偲偺暔岅乮戞316栭 - 戞331栭乯 [曇廤] + +僶乕僩儞斉乽傾儕丒僔儍儖偲僘儉儖僢僪(戞308栭乚戞327栭)乿 +搶梞暥屔斉乽傾儕乕丒僔儍乕儖偲僘儉僢儖僪偲偺暔岅(戞308栭乚戞327栭)乿 +愄丄儂儔乕僒乕儞偺崙偺崑彜乽塰岝乿偵偼傾儕僔儍乕儖偲偄偆旤偟偄懅巕偑偄偨偑丄乽塰岝乿偑巰偸偲楺旓傪巒傔丄堦暥柍偟偵側偭偰偟傑偭偨丅傾儕僔儍乕儖偑曕偄偰偄傞偲丄旤偟偄彈搝楆偑嫞傝偵妡偗傜傟偰偄傞偺偑栚偵擖偭偨丅彈搝楆偼僘乕儉儖僢僪偲偄偆柤偱丄攦偄傪擖傟偨榁恖儔僔僨僢僨傿乕儞偵擄暼傪偮偗丄師偵攦偄傪擖傟偨幰偵傕擄暼傪晅偗丄彈搝楆偑摨堄偟側偄偲攧攦偼惉棫偟側偄偲偄偆忦審偩偭偨偺偱丄嫞傝偼晄惉棫偵側傝偦偆偵側偭偨丅僘乕儉儖僢僪偼傾儕僔儍乕儖傪尒偮偗丄攦偆傛偆偵棅傫偩偑丄傾儕僔儍乕儖偼堦暥柍偟側偺偱攦偊側偄偲尵偆偲丄僘乕儉儖僢僪偼帺暘偺愮僨傿僫乕儖傪傾儕僔儍乕儖偵搉偟丄傾儕僔儍乕儖偼偦偺嬥偱攦偄傪擖傟偰棊嶥偟偨丅 +僘乕儉儖僢僪偼傾儕僔儍乕儖偺壠偵峴偒丄垽偟崌偭偨丅挬偵側傞偲丄僘乕儉儖僢僪偼柍悢偺巋廕偺偁傞旤偟偄悅傟枊傪嶌傝丄傾儕僔儍乕儖偼偦傟傪巗応偱50僨傿僫乕儖偱攧偭偨丅僘乕儉儖僢僪偼枅廡旤偟偄悅傟枊傪嶌傝丄傾儕僔儍乕儖偼偦傟傪攧傝丄2恖偼岾偣偵曢傜偟偨丅偁傞擔丄尒抦傜偸僉儕僗僩嫵搆偑傾儕僔儍乕儖偺屻傪拝偗偰棃偰丄傾儕僔儍乕儖偺壠偵擖傝崬傒丄悈傪媮傔丄師偵怘帠傪媮傔偨丅傾儕僔儍乕儖偼柺搢偵側傝怘帠傪梌偊偨偑丄堦弿偵怘傋傛偆偲尵傢傟丄堦岥怘傋偨偲偙傠丄杻悓栻偱柊傜偝傟偰偟傑偭偨丅偙偺僉儕僗僩嫵搆偼僶儖僗乕儉偲尵偄丄儔僔僨僢僨傿乕儞偺掜偱丄僘乕儉儖僢僪傪偝傜偭偰峴偭偨丅 +杻悓偐傜妎傔偨傾儕僔儍乕儖偼丄僘乕儉儖僢僪偑偄側偔側偭偨偙偲傪抦傝丄挰傪嫸棎偟偰偝傑傛偭偨偑丄偁傞榁攌偵屇傃巭傔傜傟帠忣傪榖偡偲丄榁攌偼椡偵側傞偲尵偄丄暔攧傝偵側偭偰挰偺壠乆傪夞傝丄暔傪攧傝側偑傜戜強彈偐傜僘乕儉儖僢僪偺塡傪暦偄偰夞偭偨丅榁攌偼儔僔僨僢僨傿乕儞偺壠偵傕峴偒丄僘乕儉儖僢僪傪尒偮偗丄柧擔偺斢傾儕僔儍乕儖偑棃偰岥揓傪悂偔偺偱丄偦偆偟偨傜壠偐傜摝偘弌偡傛偆偵偲尵偭偨丅 +師偺斢丄傾儕僔儍乕儖偼儔僔僨僢僨傿乕儞偺壠偺慜偱柊偭偰偟傑偄丄偦傟傪尒偨傾僼儅乕僩丒僄僪丒僟僫僼搻懐抍偺僋儖僪恖僕儚乕儞偲尵偆搻懐偑傾儕僔儍乕儖偺堖暈傪攳偓庢偭偰偄傞偲丄僘乕儉儖僢僪偼搻懐傪傾儕僔儍乕儖偲姩堘偄偟丄岥揓傪悂偒丄僕儚乕儞傕岥揓傪悂偒曉偟偨偺偱丄僘乕儉儖僢僪偼壠偐傜摝偘弌偟丄僕儚乕儞偵偮偐傑偭偰偟傑偄丄搻懐抍偺摯孉偵楢傟偰峴偐傟偨丅摯孉偱丄僕儚乕儞偼曣偱偁傞榁攌偵僘乕儉儖僢僪傪梐偗弌偰峴偭偨丅僘乕儉儖僢僪偼榁攌偑柊偭偨偡偒偵丄摴拞偺埨慡傪峫偊抝憰偟丄攏傪扗偄摝偘弌偟偨丅 +11擔栚偺挬丄偁傞挰偵拝偔偲丄挰拞偺恖偑抝憰偺僘乕儉儖僢僪傪娊寎偟偨丅偦偺挰偺墹偑悽宲偑側偔巰傫偩偺偱丄偦偺挰偺晽廗偵廬偄丄弶傔偵偦偺摴傪捠偭偰挰偵擖偭偨僘乕儉儖僢僪偑怴墹偵側偭偨偺偱偁偭偨丅僘乕儉儖僢僪偼昻偟偄恖偵嵿嶻傪暘偗梌偊丄慞惌傪晘偄偨丅僘乕儉儖僢僪偼枅寧偺巒傔丄挰偵偄傞恖慡偰傪峀応偵廤傔丄悢乆偺椏棟傪怳傞晳偄丄恖乆傪娤嶡偟偨丅偡傞偲丄僋儕乕儉斞傪怘偍偆偲偟偰偄傞僉儕僗僩嫵搆僶儖僗乕儉傪尒偮偗偨偺偱丄曔傑偊丄埆峴傪帺敀偝偣巰孻偵偟偨丅師偺寧丄僋儕乕儉斞傪怘偍偆偲偟偰偄傞搻懐僕儚乕儞傪尒偮偗偨偺偱丄曔傑偊丄埆峴傪帺敀偝偣巰孻偵偟偨丅偦偺師偺寧丄僋儕乕儉斞傪怘偍偆偲偟偰偄傞儔僔僨僢僨傿乕儞榁恖傪尒偮偗偨偺偱丄曔傑偊丄埆峴傪帺敀偝偣巰孻偵偟偨丅挰偺恖偼偩傟傕僋儕乕儉斞偵嬤偯偐側偔側偭偨丅 +堦曽丄傾儕僔儍乕儖偼丄柊偭偰偟傑偄僘乕儉儖僢僪傪媬弌偱偒側偐偭偨偙偲傪夨偄丄僘乕儉儖僢僪傪扵偡椃偵弌偨丅1擭屻僘乕儉儖僢僪偑帯傔傞挰偵棃偰丄峀応偱偺怘帠偵壛傢傝丄僋儕乕儉斞傪怘偍偆偲偟偨偲偙傠丄僘乕儉儖僢僪偵尒偮偗傜傟丄彚偟弌偝傟丄抝憰偺僘乕儉儖僢僪偵婥晅偐偢屗榝偆偑丄偮偄偵墹偑僘乕儉儖僢僪偲婥晅偒丄垽偟崌偭偨丅僘乕儉儖僢僪偼戅埵偟丄傾儕僔儍乕儖偲儂儔乕僒乕儞偵婣傝丄岾偣偵曢傜偟偨丅 +椶帡偺榖僇儅儔儖僓儅乕儞偲偁傜備傞寧偺偆偪嵟傕偆傞傢偟偄寧僽僪僁乕儖昉偲偺暔岅 +椶帡偺榖庒幰僰乕儖偲桬傑偟偄僼儔儞僋墹彈偺暔岅 +怓堎側傞榋恖偺壋彈偺暔岅乮戞331栭 - 戞338栭乯 [曇廤] + +僶乕僩儞斉乽傾儖丒儎儅儞偺抝偲榋恖偺搝楆柡(戞334栭乚戞338栭)乿 +搶梞暥屔斉乽儎儅儞偺偦傟偑偟偲榋恖偺彈搝楆偺暔岅(戞334栭乚戞338栭)乿 +傾儕丒僄儖丒儎儅僯偼僶僋僟乕僪偑婥偵擖偭偰嵟嬤堏傝廧傫偱偒偨儎儅乕儞(僀僄儊儞)弌恎偺嬥帩偪偱偁傞丅斵偵偼榋恖偺彈搝楆偑偍傝丄偄偢傟傕婡抦偵晉傒壧晳偵挿偠偨彈偨偪偱丄峛壋偮偗偑偨偄丅傾儕丒僄儖丒儎儅僯偼丄嵗嫽偲偟偰堦恖偢偮偵帺暘偺挿強傪巀旤偟丄慖傫偩懠偺憡庤傪偗側偟偰傒偣傛偲怽偟偮偗傞丅敀偄乽寧偺婄乿偼崟偄乽娽偺摰乿偲丄懢偭偨乽枮寧乿偼憠偣偰偄傞乽揤崙偺旤昉乿偲丄噫噙怓偺乽拫偺懢梲乿偼孖怓偺乽鄷壩偺墜乿偲丄偦傟偧傟偵尒帠側榑愴傪斺業偟偰傒偣偨丅 榖傪暦偄偨嫵墹傾儖丒儅傾儉乕儞偼丄儉僴儞儅僪丒僄儖丒僶僗儕偵柦偠丄傂偲傝堦枩僨傿僫乕儖偱榋恖傪攦偄庢傜偣偨丅嫵墹偺柦偲偁偭偰嵟弶偼墳偠偨傾儕丒僄儖丒儎儅僯偩偑丄偟偩偄偵屻夨偺擮偑戝偒偔側傝丄彈偨偪傪曉偟偰傕傜偆傛偆偵怽偟擖傟傞丅嫵墹偼嫋偟丄彈偨偪傪傕偲偺庡恖偺傕偲偵婣偟偨丅 +惵摵偺挰偺鉟択乮戞339栭 - 戞346栭乯 [曇廤] + +僶乕僩儞斉乽恀鐹偺搒(戞567栭乚戞578栭)乿 +搶梞暥屔斉乽墿摵忛偺暔岅(戞567栭乚戞578栭)乿 +僟儅僗偺嫵墹傾償僪僁儖丒儅儕僋丒儀儞丒儅儖儚乕儞偼丄僗儔僀儅乕儞丒儀儞丒僟乕僂僪(僟價僨偺巕僜儘儌儞)偑晻偠偨杺恄偑墝偲側偭偰媗傑偭偰偄傞氣偺榖傪偒偒丄椃恖僞乕儕僽丒儀儞丒僒僴儖偵恊彂傪帩偨偣偰偲傝偵傗傜偣偨丅 +恊彂傪庴偗庢偭偨儅僌儕僽偺懢庣儉乕僒偑挿榁傾僽僪僒儅乕僪傪屇傃偩偟偰忣曬傪暦偔偲丄氣偑捑傫偱偄傞奀偺攚屻偺嶳偵偼恖偑廧傫偱偍傝丄乽惵摵偺挰乿偲偄偆丅偦偙傊帄傞摴偼杺恄偺斉恾偱丄椃偵偼偐側傝偺崲擄偑梊憐偝傟傞偲偄偆丅儉乕僒偼傾僽僪僒儅乕僪偺恑尵偵廬偄丄堚尵傪偺偙偟丄僞乕儕僽丄傾僽僪僒儅乕僪偲嫟偵彮恖悢僷乕僥傿傪棪偄偰椃棫偭偨丅 +堦峴偼偁傞擔媨揳偵弌傞丅偦傟偼僋乕僔儏丒儀儞丒僔儍僢僟乕僪丒儀儞丒傾乕僪戝墹(傾乕僪偺巕僔儍僢僟乕僪偺巕僋乕僔儏丅僲傾偺巕懛)偺曟偱偁偭偨丅 +媨揳傪弌偰恑傫偱偄偔偲丄惵摵偺婻攏晲幰憸傪尒偮偗傞丅憸偵偼乽挰傊偺摴傪抦傝偨偔偽変傪摦偐偣乿偲偺昞帵偑偁傞丅堦峴偼憸偺埬撪偵傛傝惓偟偄摴傪抦偭偨丅 +偝傜偵恑傓偲丄愇偺拰偵偮側偑傟偰敿恎傪抧忋偵杽傔傜傟偨丄嫲傠偟偘側偄偒傕偺傪敪尒偡傞丅偦傟偼婼恄僟僄乕僔儏丒儀儞丒傾儔僄儅乕僔儏偱丄偐偮偰奀尨傪摑傋傞墹偲僗儔僀儅乕儞偑愴偭偨偲偒丄孯抍偺戉挿傪柋傔偨傕偺偩丅僗儔僀儅乕儞偵斀媡偟偨嵾偵傛傝丄斵偼偙偙偵偮側偑傟丄晹壓偨偪偼氣偵晻偠傜傟偰奀掙偵捑傔傜傟偨偺偱偁傞丅 +婼恄傪抲偄偰偝傜偵備偔偲丄偮偄偵乽惵摵偺挰乿偵偨偳傝偮偔丅偟偐偟忛暻偵偼丄傂偲偮偲偟偰斷偲偄偆傕偺偑側偄丅忛暻傪傛偠偺傏偭偰拞偵擖傞偑丄寈旛暫傕巗応偺恖乆傕丄儉乕僒傜偑嬤偯偔偲帪娫偑偲傑偭偨偐偺傛偆偵摦偒傪巭傔偰偟傑偆丅偝傜偵嵿曮偵枮偪偨忛撪傊擖偭偨堦摨偼丄塀偟晹壆偱偹傓傞旤彈傪尒偮偗偨丅僞乕儕僽偑旤彈偵庤傪弌偦偆偲偡傞偲丄朤傜偵偄偨塹暫偑偲偮偤傫摦偒偩偟僞乕儕僽傪嶦偡丅儉乕僒傜偼偍偳傠偄偰惵摵偺挰傪屻偵偟丄奀娸傊弌偨丅 +偦偙偵偼嫏巘偨偪偑偄偨丅榖傪暦偔偲丄審偺氣偼偄偔傜偱傕庤偵擖傝丄斵傜偼晛抜巊偄偵偟偰偄傞偲偄偆丅氣偺愷傪偸偔慜偵丄僗儔僀儅乕儞傊偺嵾傪彏偆惥偄傪棫偰偝偣傟偽丄婼恄偼奞傪側偝側偄偺偩丅嫏巘偨偪偼廫擇屄偺氣偲丄傆偨傝偺恖嫑傪儉乕僒傜偵專忋偡傞丅 +偦偆偟偰嫵墹偺傕偲傊氣偲恖嫑偑傕偨傜偝傟偨丅嫵墹偑氣傪夝曻偡傞偲丄偄偢傟傕氣偐傜崟塤偑弌偰偒偰婼恄偺宍偵偐傢傝丄斀媡偺幱嵾傪弎傋偰徚偊偨丅恖嫑偨偪偼偟偽傜偔愹偱梀偽偣偰偄偨偑丄傑傕側偔擬昦偱巰傫偱偟傑偭偨丅 +僀僽儞丒傾儖丒儅儞僗乕儖偲擇恖偺壋彈偺暔岅乮戞346栭 - 戞353栭乯 [曇廤] + +嫵墹傾儖丒儔僔乕僪偼偦偺栭丄柊傟側偔偰戅孅傪傕偰偁傑偟偰偄偨丅傾儖丒儔僔乕僪偲懢搧帩偪儅僗儖乕儖偼丄偄偨偢傜偠偠偄僀僽儞丒傾儖丒儅儞僗乕儖傪偮偐傑偊偰丄偍傕偟傠偄榖傪強朷偡傞丅 +僀僽儞丒傾儖丒儅儞僗乕儖榁偑僶僗儔偺挰傪嶶嶔偟偰偄傞偲丄柪偭偰戝偒側壆晘偺慜偵弌偨丅栧偺慜偱媥傫偱偄傞偲丄拞偵偄偨壋彈偑斶偟偘側條巕偱壧傪偆偨偭偰偄傞丅偺偧偒尒偟偨偙偲傪愑傔傞壋彈偲尵梩傪岎傢偟偰偄傞偲丄榁偼丄偙偙偑傕偲恊桭偱僶僗儔偺曮愇彜偺憤戙丄傾儕丒儀儞丒儉僴儞儅僪偺壠偩偲巚偄弌偟偨丅壋彈偼柡偺僶僪儖偱丄斶偟傫偱偄偨偺偼丄楒恖偱偁傞僔儍僀僶乕儞懓偺懓挿僕儑僶僀乕儖岞偑丄斵彈偵彈搝楆偲偺儗僘媈榝傪偐偗偰椻偨偔側偭偨偨傔偱偁傞丅 +拠嵸傪怽偟弌偨榁偼丄僕儑僶僀乕儖岞偺壆晘傪朘偹偰嬂墳傪庴偗傞丅偟偐偟晄怰側偙偲偵丄惙戝側墐偺嵟拞側偺偵丄壧偲壒妝偑偄偭偝偄暦偙偊偰偙側偄偺偩丅棟桼傪偨偩偡偲丄僕儑僶僀乕儖岞偼彈搝楆傪屇傫偱壧偆傛偆偵偄偄偮偗傞丅偟偐偟彈搝楆偼丄庡恖偑壧傪寵偭偰偄傞偙偲偐傜嬯擸偟丄婥愨偟偰搢傟丄偁側偨偺偣偄偱庡恖偑嬯偟傓偺偩丄偲榁傪側偠傞丅榁偼傓側偟偔僶僪儖偺壠傊傕偳偭偨丅 +梻擭丄傑偨僶僗儔傪朘傟偨榁偼丄偙偺楒偺寢枛傪抦傠偆偲僶僪儖偺壠傪朘偹傞丅偡傞偲壠偵偼曟偑寶偭偰偍傝丄僶僪儖偼巰傫偱偟傑偭偨傛偆偵巚傢傟偨丅師偵僕儑僶僀乕儖岞偺壆晘偵峴偔偲峳傟曻戣偵側偭偰偍傝丄岞偼偡偭偐傝昦傒偮偄偰偄傞丅柧傜偐側楒偺昦偱偁傝丄僕儑僶僀乕儖岞偼榁偵庤巻傪戸偟丄拠嵸傪棅傫偩丅傆偨偨傃僶僪儖偺壠偵備偔偲丄僶僪儖偼惗偒偰偄偰丄憆暈巔偱偁傞丅巰傫偩偺偼彈搝楆偺曽偩偭偨丅 +偠偮偼丄嵟弶偼僶僪儖傪撍偒曻偟偰偄偨僕儑僶僀乕儖岞偩偭偨偑丄彊乆偵僶僪儖偵懳偡傞垽偟偝傪偮偺傜偣丄媡偵僶僪儖偺曽偼丄帪娫偲偲傕偵椻惷偝傪庢傝栠偟偰偄偨偺偩偭偨丅偙偺堦擭偺偁偄偩偵丄偡偭偐傝棫応偑媡揮偟偰偄偨偺偩丅榁偺愢摼偵傛偭偰僶僪儖偼僕儑僶僀乕儖岞傪嫋偟丄傆偨傝偼寢崶偡傞丅榁偑偙偺憶摦偺偒偭偐偗傪恞偹傞偲丄僶僪儖偲彈搝楆偑慏偱梀傫偱偄偨偲偒丄僕儑僶僀乕儖岞傪偐傜偐偆傛偆側壧傪偆偨偭偰偄偨偲丄慏摢偑岞偵曬崘偟偨偙偲偑尨場偱偁偭偨丅 +僀僽儞丒傾儖丒儅儞僗乕儖榁偑偙偙傑偱岅偭偨偲偒丄嫵墹傾儖丒儔僔乕僪偼怮懅傪偨偰偰偄偨丅 +擏壆儚儖僟乕儞偲戝恇偺柡偺榖乮戞353栭 - 戞355栭乯 [曇廤] + +僶乕僩儞斉乽擏壆偺儚儖僟儞偑彈偲孎傪憡庤偵朻尟傪偟偨榖(戞353栭乚戞357栭)乿 +搶梞暥屔斉乽搄嶦恖儚儖僟乕儞偲旤彈偲孎偲偺暔岅(戞353栭乚戞357栭)乿 +僇僀儘偺擏壆儚儖僟乕儞偼丄旀傟偒偭偨婄傪偟偨旤彈偑枅擔忋摍側擏偲梤偺嵛娵傪攦偭偰偄偔偺傪傒偰丄婥偵偐偐偭偰偄偨丅偁傞擔丄嫙偺壸扴偓恖懌偑傂偲傝偱偄傞偲偙傠傪偮偐傑偊偰帠忣傪暦偄偰傒傞偲丄壋彈偼枅搙恖懌傪憤棟戝恇偺壆晘偵偮傟偰偄偒丄栚塀偟傪偟偰奒抜傪偍傝偨愭偵壸傪壓傠偝偣丄嵞搙栚塀偟傪偟偰抧忋傊傕偳偟偰偐傜夝曻偡傞偺偩偲偄偆丅 +梻擔丄壋彈偺屻傪偮偗偰旈枾偺偐偔偟屗偺拞偵怤擖偟偨儚儖僟乕儞偼丄抧壓幒偺拞偱戝墡偲壋彈偑傑偖傢偭偰偄傞偺傪栚寕丅偍偳傠偄偨擏壆偼丄傑偖傢偄旀傟偨壋彈偨偪偑柊偭偰偄傞偡偒偵丄搧傪傆傞偭偰戝墡傪嶦偡丅 +壋彈偺榖偵傛傟偽丄斵彈偼戝恇偺柡偱偁傝丄廫屲偺偲偒崟恖偵斊偝傟偰抝傪抦偭偨偑丄偦傟埲棃抝偺懱傪媮傔傞傛偆偵側偭偨丅崟恖偑恡嫊偱巰偸偲丄娰偺榁攌偺抦宐偱丄偦偺傛偆側梡搑偵偼墡偑傛偄偲偄傢傟丄戝墡偲沑崌偡傞傛偆偵側傞丅晝偺戝恇偑偦傟傪抦傞偲丄抧壓幒傪偮偔偭偰戝墡傪暵偠偙傔偨偨傔丄壋彈偼枅擔怘椏傪塣傃崬傫偱偄偨偺偱偁傞丅 +擏壆偼戝墡偺偐傢傝傪柋傔傞偙偲偵側傞偑丄彊乆偵懱偑傕偨側偔側偭偰偔傞丅偦偙偱丄偁傞榁攌偵棅傫偱惛椡傪徚偡栻傪張曽偟偰傕傜偄丄壋彈偺堿晹傪鄮忲偡傞偲丄銼偐傜擇旵偺僂僫僊偑弌偰偒偨丅堦旵偼崟怓偱丄偦傟偼崟恖偺惛偑偨傑偭偨傕偺偱偁傞丅堦旵偼墿怓偱丄偦傟偼戝墡偺傕偺偱偁傞丅惛椡偑棊偪偨壋彈偵儚儖僟乕儞偼媮崶偟丄埲屻傆偨傝偼岾偣偵夁偛偟偨丅 +抧壓偺昉儎儉儕僇彈墹偺暔岅乮戞355栭 - 戞373栭乯 [曇廤] + +僶乕僩儞斉乽嫄幹乮偍傠偪乯偺彈墹(戞482栭乚戞536栭)乿 +搶梞暥屔斉乽幹乮偔偪側傢乯偺彈墹偺暔岅(戞482栭乚戞536栭)乿 +墦偄愄丄僊儕僔傾偺尗幰僟僯傾儖偼丄巰傪嬤偔偟偰巕嫙偵傔偖傑傟偨丅帺暘偺強憼偡傞暥彂偑懅巕偵搉傞偐埬偠偨僟僯傾儖偼丄傑偢偦傟傜偺抦幆傪屲枃偺暥彂偵梫栺偟丄偝傜偵偦傟傪偨偭偨堦枃偵廤栺丅懅巕偑晝偺嵿嶻傪媮傔偨偲偒偵偦傟傪搉偣偲堚尵偟丄偦傟埲奜偺暥彂傪偡傋偰張暘偟偰巰偸丅 +偲偙傠偑惗傑傟偨懅巕僴僔僽偼丄廫屲偺擭偵側偭偰傕僯乕僩惗妶傪偮偯偗丄怱攝偟偨曣偑嵢傪傔偲傜偣偰傗偭偰傕丄壗傕偟傛偆偲偟側偄偺偱偁傞丅偦傟偱傕栘徔偨偪偑僴僔僽偺柺搢傪傒偰傗傠偆偲怽偟弌偨偨傔丄僴僔僽傕偦偺婥偵側傝丄巇帠傪偼偠傔偨丅 +偁傞擔丄嶳偺拞偱塉廻傝偟偨摯孉偺拞偱丄枿偑偮傑偭偨氣偑抧壓偵偁傞偺傪僴僔僽偑尒偮偗偨丅栘徔偨偪偼僴僔僽傪抧壓偵偍傠偟偰氣傪忋偘偝偣丄偟偐偟僴僔僽偼偦偺傑傑偵偟丄曣偵偼楾偵廝傢傟偰巰傫偩偲曬崘偟丄枿氣傪攧偭偰傕偆偗傪嶳暘偗偵偡傞丅巆偝傟偨僴僔僽偼墶寠傪傒偮偗偰扙弌偟丄嬥偺嬍嵗偲堦枩擇愮媟偺曮愇偺堉巕偑攝抲偝傟偨丄抧掙屛偺傎偲傝偵弌傞丅偦偙偼抧壓偺昉儎儉儕僇彈墹偑帯傔傞丄恖摢幹恎偺儔儈傾偨偪偺崙丅偦偺墇搤抧偱偁偭偨丅幹彈偨偪偼僴僔僽傪娊懸偟丄師偺榖傪偼偠傔偨丅 +僽儖僉儎偺暔岅 [曇廤] +僶僯乕丒僀僗儔乕僀乕儖墹崙偺墹偼丄巰偵偁偨偭偰懅巕僽儖僉儎偵懳偟丄傑偢媨揳撪傪偡傋偰挷傋傛偲堚尵偡傞丅偦偺偲偍傝偵偡傞偲丄堦枃偺梤旂巻偑傒偮偐偭偨丅 +乽偁傜備傞傕偺偺孨庡偨傜傫幰偼僗儔僀儅乕儞偺暛曟乽幍偮偺奀偺搰乿偵偰斵偑偼傔偨巜椫傪尒偮偗傛丅偦傟偼偐偮偰傾僟乕儉(傾僟儉)偑妝墍偱偼傔丄揤巊僀僽儔乕僸乕儉(傾僽儔僴儉)偑扗偄丄僗儔僀儅乕儞(僜儘儌儞)偵憽偭偨傕偺偱偁傞丅偟偐偟斵偺搰傊搉傞偵偼儎儉儕僇彈墹偺抧壓墹崙偵偁傞憪偺廯傪懌偵偸傝丄奀傪曕偄偰搉傜偹偽側傜偸丅偡側傢偪巜椫傪梸偡傟偽傑偢抧壓墹崙傪傔偞偣丅巜椫傪擖庤偟偨偁偐偮偒偵偼乽柣晎偺崙乿偵偰乽惗柦偺愹乿傪堸傒丄晄巰偲側傞偙偲傕偱偒傞偱偁傠偆乿 +僽儖僉儎偼尗幰僆僢僼傽乕儞傪彚偟弌偟丄戝恇偵屻傪戸偟偰巜椫傪扵偡椃偵弌傞丅僆僢僼傽乕儞偼偡偖偵抧壓墹崙偺応強丄偡側傢偪僴僔僽偑柪偄崬傫偩偙偺抧掙屛傪扵偟偁偰丄奀傪搉傞憪偺廯傪擖庤偟偨丅帠忣傪暦偄偨儎儉儕僇彈墹偼丄僗儔僀儅乕儞埲屻偼壗幰傕偦偺巜椫偺強桳幰偵側傞偙偲偼偱偒偸偺偩偲拤崘偡傞偑丄斵傜偼堄偵夘偝偢奀傊岦偐偭偨丅 +幍偮偺奀傪搉傝丄栆廱傗婏夦側壥幚側偳偱枮偪偨搰乆傪傔偖偭偰丄僽儖僉儎傜偼乽幍偮偺奀偺搰乿偵偮偔丅暻偑僟僀儎儌儞僪偱偱偒偨怺偄摯寠偵擖偭偰偄偔偲丄嵟怺晹偺峀娫偵嬥偺怮戜偑偁傝丄嵍庤偵巜椫丄塃庤偵墹忨傪帩偭偨僗儔僀儅乕儞丒儀儞丒僟乕僂僪偑偦偙偵墶偨傢偭偰偄偨丅僽儖僉儎偑庺暥傪偲側偊偰偄傞偆偪偵僆僢僼傽乕儞偑巜椫傪偲傝偼偢偦偆偲偡傞偑丄嬞挘偺偁傑傝庺暥傪傑偪偑偊丄僆僢僼傽乕儞偼僟僀傾儌儞僪偺偐偗傜偵懪偨傟偰奃偲壔偟偰偟傑偆丅 +憪偺廯傕奃偵側偭偰偟傑偭偨偨傔婣傞偡傋傪幐偭偨僽儖僉儎偑丄偁偰傕側偔搰撪傪曕偄偰偄傞偲丄惛楈偨偪偺孯抍偑偁傜傢傟傞丅墦偔僐乕僇僒僗偺岦偙偆乽敀偒抧乿傪帯傔傞墹丄僒僼儖攝壓偺婼恄偨偪偱偁傞丅傛偗傟偽庡孨偵夛傢偣偰傗傠偆偲偄偆斵傜偵丄敳偗栚側偔榖傪偁傢偣丄婼恄偺庤傪庁傝偰僽儖僉儎偼搰傪扙弌偡傞丅僒僼儖墹偼僽儖僉儎偺恎偺忋榖傪傛傠偙傃丄帺暘偨偪婼恄偲壩偺偐偐傢傝偺楌巎傪岅傝丄僽儖僉儎傪屘嫿嬤偔偺崙嫬傑偱憲偭偨丅 +婣搑偵偮偙偆偲偡傞偲丄旤偟偄惵擭偑擇婎偺曟偺慜偱斶偟傫偱偄傞偺偵婥偯偔丅惵擭偼師偺傛偆側恎偺忋榖傪岅偭偨丅 +斶偟傒偺旤惵擭偺暔岅 [曇廤] +惵擭偼僇僽乕儖偺墹僥傿僌儌僗偺懅巕偱丄僕儍乕儞僔儍乕偲偄偆丅偁傞擔庪傝偵弌偰妉暔傪怺捛偄偟偨惵擭偼丄慏傪愳偺媫棳偵棳偝傟偰憳擄偟偰偟傑偭偨丅偨偳傝拝偄偨娸偵偼忋敿恎偲壓敿恎偑傑偭傉偨偮偵傢偐傟傞恖擏嬺偄偑偄偰丄堦弿偵棳偝傟偨敀恖搝楆偺偆偪嶰恖偑嬺傢傟偰偟傑偆丅偁傢偰偰摝偘弌偡偲丄師偵偮偄偨搚抧偵偼媨揳偑偁傞丅拞偵擖傞偲戝墡傗彫墡偨偪偑偁傜傢傟丄惵擭傪墹偵偐偮偓偁偘偰椬崙偺僌乕儖偨偪偲愴憟傪偼偠傔傞偺偩偭偨丅偟偐偨側偔愴摤傪巜婗偟丄彫媥巭偟偰偄傞偲丄偁傞娾偵僗儔僀儅乕儞傛傝偺儊僢僙乕僕偑挙傜傟偰偄傞丅乽擆偺慜偵夝曻偺偨傔偺傆偨偮偺摴偑偁傞丅塃偺摴偼抁偄摴偩偑丄杺恄偳傕偑惐傒偮偔嵒敊傪墇偊偰偄偐偹偽側傜偸丅嵍偺摴偼巐偐寧偵傕媦傇挿偄摴偱丄乽媋偺扟乿宬扟傪敳偗偰丄壩偺嶳偺傆傕偲乽儐僟儎恖偺搒乿傊弌傞偱偁傠偆乿恑楬傪嵍偵偲傞偲丄媋偺孯抍偑偁傜傢傟偰墡偳傕偲愴摤傪偼偠傔偨丅巆偭偰偄偨敀恖搝楆傕偡傋偰偦偺愴偄偱巰偵丄惵擭偼傂偲傝偱扙弌偡傞丅 +傗偑偰乽儐僟儎恖偺搒乿偵偮偔偑丄偦偺挰偺恖乆偼丄側偤偐壗傂偲偮惡傪弌偝側偄丅恎怳傝庤怳傝偱僇僽乕儖峴偒偺戉彜偑側偄偙偲傪抦傝丄庛傝側偑傜曕偄偰偄傞偲丄偁傞儐僟儎恖偑愮僨傿僫乕儖偲彈搝楆傪曬廣偵巇帠傪惪偗偍偆幰傪扵偟偰偄偨丅偦傟偵墳曞偟偨惵擭偼丄嶰擔娫傪彈搝楆偲夁偛偟丄巐擔栚偺挬丄閱攏偵偺偭偰儐僟儎恖偲崅偄嶳偺傆傕偲偵弌偐偗偨丅儐僟儎恖偼閱攏傪嶦偟偰偔傝偸偒丄惵擭傪偦偺拞偵朌偄崬傓丅傗偑偰夦捁偑偁傜傢傟丄閱攏偵擖偭偨惵擭傪偊偝偩偲巚偄憙偵塣傇偺偱丄惓懱傪偁傜傢偟偰嶳偺忋偵偁傞曮愇傪壓偵搳偘傠丄偦傟偑偍傢偭偨傜崀傝偰偒偰嫟偵婣傠偆丄偲偄偆巜帵丅偟偐偟曮愇傪搳偘廔傢偭偰偄偞崀傝傛偆偲偟偰傒傞偲丄崀傝傜傟傞傛偆側摴側偳尒偁偨傜側偄偺偩丅儐僟儎恖偼惵擭傪偦偺傑傑偵偟偰婣偭偰偟傑偭偨丅 +嶳拞傪擇偐寧傎偳偝傑傛偆偲丄媨揳偵弌傞丅拞偵偼墹姤傪偐傇偭偨榁恖偑偍傝丄師偺傛偆偵岅傞丅偙偺媨揳偼僗儔僀儅乕儞偑寶偰偨傕偺偱丄帺暘偼戙姱偲偟偰捁椶傪摑傋偰偄傞丅捁偳傕偼枅擭昞宧偺偨傔偵廤傑偭偰偔傞偺偱丄偦偺偲偒惵擭傪捁偵戸偟偰婣偟偰傗傠偆丄偦傟傑偱帺桼偵偟偰傛偄偑丄嬥偺尞偱奐偔晹壆偵偩偗偼擖偭偰偼側傜偸丅 +偟偐偟岲婏怱傪婲偙偟偨惵擭偼丄偦偺晹壆偵擖偭偰偟傑偆丅拞偼愹悈傪拞怱偲偟偰曮愇偵嵤傜傟偨旤偟偄晹壆偱偁傞丅惵擭偑尒偰偄傞偲丄嶰塇偺數偑偁傜傢傟丄敀偄塇傪偸偓幪偰偰愹偵擖傞偲丄偦傟傜偼庒偔旤偟偄壋彈偺巔偵曄傢偭偨丅偁傑傝偺旤偟偝偵怱傪偆偨傟丄変傪傢偡傟偰偐偗傛傞偲丄壋彈偨偪偼傆偨偨傃塇傪拝偰數偵偐傢傞丅斵彈傜偼丄巹偨偪偼僟僀儎儌儞僪偺媨揳偺僫僗儖墹偺柡偱偁傞丄偮偒偁偄偨偄側傜偽媨揳傪朘偹偰棃傛丄偲尵偄巆偟偰旘傃嫀偭偨丅 +榁恖偵傛傞偲丄僫僗儖偼杺恄偺庱椞偺傂偲傝偱偁傝丄傑偲傕偵朘偹偰傕柡傪沇偡傛偆側偙偲偼側偄偩傠偆丅偳偆偟偰傕斵彈傜傪庤偵擖傟偨偄側傜偽丄塀傟偰塇堖傪扗偊丅斵彈傜偼偝傑偞傑側庤娗偱曉偟偰偔傟偲偄偆偩傠偆偑丄傢偨偟偑棃傞傑偱偗偟偰曉偟偰偼側傜偸丅惵擭偼嶰恖偺側偐偱嵟傕垽傜偟偄枛偺枀僔儍儉僒偺堖傪扗偆丅惵擭偑堖傪曉偡偮傕傝偑側偄偲傢偐傞偲丄僔儍儉僒偼娤擮偟偰惵擭偵恎傪傑偐偣偨丅 +榁恖偑偁傜傢傟傞偲丄擇恖偼寢崶偺惥偄傪偐傢偡丅僔儍儉僒偼惵擭傪僫僗儖偵墆尒偝偣丄杺恄偺崙偱嶰廫擔偺偁偄偩廽墐偑挘傜傟偨丅師偵丄偙傫偳偼僇僽乕儖傊曬崘偵婣傞丅巰傫偩偲巚偭偰偄偨懅巕偑嵢傪楢傟偰婣偭偰偒偨偨傔丄晝曣偼偨偄偦偆傛傠偙傃丄惵擭偲僔儍儉僒偼偦偙偱岾偣偵夁偛偟偨丅 +堦擭偺偺偪丄惵擭偲僔儍儉僒偼丄嵞搙僫僗儖傪朘偹傛偆偲椃偵弌偨丅偟偐偟偦傟偑娫堘偄偩偭偨偺偱偁傞丅椃偺搑拞丄悈梺傃偺偨傔偵愳偵擖偭偨僔儍儉僒偼丄悈幹偵偐傑傟偰巰傫偱偟傑偭偨偺偩丅惵擭偼傂偳偔斶偟傒丄僔儍儉僒偺曟偺墶偵丄傕偆堦偮帺暘偺曟傪嶌傜偣偨丅偦傟偑偙偺傆偨偮偺曟偱偁傞丅 +椶帡偺榖:戞嶰偺戯敨憁偺榖 +椶帡偺榖:僴僒儞丒傾儖丒僶僗儕偺朻尟 +娭楢崁栚:塇堖揱愢 +僽儖僉儎偼惵擭傪偲傕偵楢傟婣傠偆偲偡傞偑丄婃偲偟偰摦偐側偄丅僽儖僉儎偼堦恖偱崙傊栠偭偨丅 +岅傝廔偊偨儎儉儕僇彈墹偼僴僔僽傪堷偒偲傔傞偑丄曣偲嵢傪巚偄婣戭偡傞偙偲偵偟偨丅儎儉儕僇彈墹偼丄偗偟偰梺応偱搾偵擖偭偰偼側傜側偄丄偦偺偙偲偼偁側偨傪巰偵摫偔偱偁傠偆丄偲僴僔僽偵拤崘偡傞丅壠偵婣傞偲丄曣偲嵢偼偨偄偦偆婌傫偩丅栘徔偨偪偼僴僔僽偵幱嵾偟偰嵿嶻偺敿暘偯偮傪採弌偡傞丅僴僔僽偼斵傜傪嫋偟丄偦傟傪傕偲偱偵偟偰揦傪奐偒丄偨偄偦偆斏惙偟偨丅 +偁傞擔僴僔僽偼丄搾壆偱擖梺傪姪傔傜傟傞丅嫮峴偵屌帿偡傞僴僔僽偵栰師攏偨偪偑廤傑偭偰偒偰丄偍傕偟傠偑偭偰傓傝傗傝搾傪梺傃偣偐偗偨丅偡傞偲偦偙偵寈棛偑偁傜傢傟丄僴僔僽傪傂偭偨偰偰嵣憡偺傑偊偵抲偔丅戝恇偼崙墹僇儔僘僟乕儞偺釟昦傪帯偡偨傔丄枩昦傪桙偡偲偄偆儎儉儕僇彈墹偺擕傪扵偟偰偄傞偺偱偁傞丅儎儉儕僇彈墹偺抧掙崙偵峴偭偨恖娫偼暊偺旂偑崟偔側傝丄偦偺徢忬偼搾偵偮偐偭偨偲偒偵偼偠傔偰偁傜傢傟傞丅偦偙偱戝恇偼丄傆偩傫偐傜寈棛偵搾壆傪尒偼傜偣偰偄偨偺偱偁傞丅 +僴僔僽偼戝恇偵堷偒棫偰傜傟丄儎儉儕僇彈墹偵嵞夛偟偨丅儎儉儕僇偼擇杮偺擕傪傢偨偟丄堦杮偼崙墹偺夣桙偺偨傔偵巊偄丄傕偆堦杮偼偐側傜偢戝恇偑堸傒偨偑傞偱偁傠偆偐傜堸傑偣傛丄偲偝偝傗偔丅擕傪堸傫偱崙墹偑夣桙偟偨偺傪尒偨戝恇偼丄儎儉儕僇偺尵梩偳偍傝枩昦梊杊偺偨傔擕傪偺傓丅偡傞偲戝恇偺恎懱偼傒傞傒傞傆偔傜傒偼偠傔丄攋楐偟偰巰傫偱偟傑偭偨丅 +崙墹偼僴僔僽傪戙傢傝偵嵣憡偺嵗偵偮偗傞丅偨偔偝傫偺嵿壿偲塰梍傪摼偨僴僔僽偼丄偙偙偱偼偠傔偰撉傒彂偒傪妛傫偩丅妛栤偵嫽枴傪傕偪巒傔偨斵偼丄戝妛幰偩偭偨晝偑巆偟偨傕偺傪抦傝偨偑傞丅偡傞偲尗幰僟僯傾儖偑巆偟偨堦枃偺巻偵偼丄偙偆偁偭偨丅 +乽妛栤側傫偰傓側偟偄傕傫偩丅愨懳揑側恀棟偲塸抦傪傕偨傜偡傕偺偑偄傞偺偩偐傜丅偦傟偼梐尵幰儉僴儞儅僪偩丅斵偲桭恖偲怣搆偵岾偁傟乿 +抭宐偺壴墍偲悎偺掚乮戞373栭 - 戞393栭乯 [曇廤] + +傾儖丒儔僔乕僪偲偍側傜 [曇廤] +僶乕僩儞斉乽僶儖儅僋壠偺僕儍傾僼傽儖偲擭榁偄偨僶僟僂傿恖(戞394栭乚戞395栭)乿 +搶梞暥屔斉乽僇儕僼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偲僕儍傾僼傽儖偲梀杚偺榁恖偲偺榖(戞394栭乚戞395栭)乿 +傾儖丒儔僔乕僪偼僶僗儔傊懕偔奨摴傊嶶曕偵弌傞丅榁恖偑曕偄偰偄傞偺偱帠忣傪暦偐偣傞偲丄娽昦偺栻傪媮傔偰僶僌僟乕僪傊岦偐偭偰偄傞偲偄偆丅僕儍傾僼傽儖偑偱傑偐偣偺張曽傪嫵偊傞偲丄榁恖偼曉楃偲偲傕偵偔偝偄洓傪偙偒丄偟傢偩傜偗偺彈傪憽傞偲栺偟偰棫偪嫀偭偨丅傾儖丒儔僔乕僪傜偼徫偄揮偘偨丅 +庒幰偲偦偺愭惗 [曇廤] +僶乕僩儞斉乽傾儖丒儎儅儞偺戝恇偲庒偄掜(戞384栭)乿 +搶梞暥屔斉乽儎儅儞偺偍偲偳偲偦偺掜孨偲偺榖(戞384栭)乿 +儎儅乕儞偺戝恇僶僪儗僨傿儞偺掜偼旤偟偡偓傞偨傔丄恖栚偐傜棧偟偰壠掚嫵巘傪偮偗傞偙偲偵偟偨丅偟偐偟嫵巘偺榁恖傕掜偵傑偄偭偰偟傑偄丄孼偺栚傪搻傫偱埀堷偒偟傛偆偲偡傞丅戝恇偼偦傟偵婥偯偄偨偑丄榁恖偑孼傪偨偨偊傞傒偛偲側帊傪懄嫽偱偆偨偭偨偨傔丄尒偸傆傝傪偟偨丅 +晄巚媍側戃 [曇廤] +僶乕僩儞斉乽儁儖僔儍恖傾儕(戞294栭乚戞308栭)乿 +搶梞暥屔斉乽儁儖僔儍恖傾儕乕偺暔岅(戞294栭乚戞308栭)乿 +儁儖僔傾恖偺傾儕偼丄戃傪枩堷偒偟傛偆偲偟偨僋儖僪恖傪偮偐傑偊偨丅偟偐偟僋儖僪恖偼丄偙傟偼帺暘偺傕偺偱偁傞偲庡挘偡傞丅朄姱(僇乕僨傿乕)偑戃偺拞恎傪栤偆偲丄僋儖僪恖偼愮摢偺壠抺傗傜壗搹偺壠壆傗傜偁傝偊側偄偙偲傪尵偆丅懳偡傞傾儕傕丄壗愮偺孯戉偲偐壗屄偺崙壠側偳丄偳傫偳傫榖偑僄僗僇儗乕僩丅幚嵺偵戃傪奐偄偰傒傞偲丄拞偵偼傒偐傫偺旂偑悢枃偲丄僆儕乕僽偺幚偑庒姳偁傞偩偗偩偭偨丅偁偒傟偼偰偰偄傞朄姱傪傛偦偵丄偦傟偼僋儖僪恖偺傕偺偩偲尵偄偺偙偟偰傾儕偼棫偪嫀偭偨丅 +垽偺怰敾幰傾儖丒儔僔乕僪 [曇廤] +僶乕僩儞斉乽僴儖儞丒傾儖丒儔僔僢僪嫵庡偲傆偨傝偺搝楆柡(戞387栭)乿 +搶梞暥屔斉乽僴乕儖乕儞丒傾儖丒儔僔乕僪偲擇恖偺彈搝楆偲偺榖(戞387栭)乿 +傾儖丒儔僔乕僪偼儊僨傿僫偺彈偲僋乕僼傽偺彈偺娫偵怮偰偄偨丅偙偺傆偨傝偼偳偪傜傕峛壋偮偗偑偨偔丄傾儖丒儔僔乕僪偺懱傪偳偪傜偑彑偪庢傞偐偼丄偦偺偲偒偳偒偺庤娗偵傛傞偺偱偁傞丅偦偺栭丄傾儖丒儔僔乕僪偺堦暔傪傕偰偁偦傫偱尦婥偵偝偣偨儊僨傿僫偺彈偼乽搚抧偼偦傟傪慼傜偣偨幰偺傕偺乿偲偄偆暥嬪傪堷梡偡傞丅懳偟偰僋乕僼傽偺彈偼乽妉暔偼捛偆幰偱偼側偔庪偭偨幰偺傕偺乿偲偄偆尵梩傪堷梡偡傞丅傾儖丒儔僔乕僪偼婡抦傪傛傠偙傃丄傆偨傝偲傕垽偟偨丅 +偄偢傟傪慖傇偐丠惵擭偐丄偼偨傑偨憇擭偐丠 [曇廤] +僶乕僩儞斉乽庒偄偮偽傔傪傕偭偨彈偲戝恖傪忣晇偵傕偭偨彈(戞424栭)乿 +搶梞暥屔斉乽擇恖偺彈偲偦偺楒恖偨偪偲偺榖(戞424栭)乿 +椬壠偺嵢傆偨傝偑側偵傗傜榖偟偰偄傞丅偙偺傆偨傝丄偦傟偧傟偵垽恖偑偍傝丄屳偄偵帺枬偟偁偭偰偄傞偺偩丅庒偄傎偆偺嵢偺垽恖偼惵擭偱丄傂偘偑側偔棏偺傛偆側婄傪偟偰偄傞丅懳偟偰擭忋偺嵢偺垽恖偼傂偘傕偠傖偺拞擭抝側偺偩偑丄偦偺榖傪暦偄偰偄傞偆偪偵丄傕偆傂偲傝偺嵢傕栄偺擹偄抝偵嫽枴傪傕偭偰偔傞偺偱偁偭偨丅 +層塟偺抣抜 [曇廤] +僶乕僩儞斉乽僓僀僟乕偺巕儅傾儞偲僶僟僂傿恖(戞271栭)乿 +搶梞暥屔斉乽儅傾儞丒僽僰丒僓乕僀僟偲梀杚偺柉偺暔岅(戞271栭)乿 +懢庣儌僀乕儞丒儀儞丒僓僀僟偑庪傝偵弌偰偄傞偲丄懢庣偵層塟傪攧傝偵棃偨偲偄偆榁恖偵弌夛偆丅偄偔傜偱攧傞偮傕傝偐丄偩傫偩傫抣愗偭偰恞偹傞偲丄嵟弶偼愮僨傿僫乕儖偲尵偭偰偄偨偑丄嶰廫僨傿僫乕儖傑偱偵側傞丅偦偟偰嶰廫僨傿僫乕儖埲壓側傜閱攏傪媨揳偵偮偭偙傑偣偰傗傞丄偲懅姫偄偨丅 +偦偟傜偸婄偱屼揳傊傕偳偭偨懢庣偼丄層塟攧傝傪堷尒偟偰偳傫偳傫抣愗傝丄嶰廫僨傿僫乕儖偐傜丄傑偩抣愗偭偨丅偙偙偱榁恖偼懢庣偑摴偱弌夛偭偨抝偩偲婥偯偒丄閱攏偼奜偵偮側偄偱偁傞偧丄嶰廫僨傿僫乕儖偱攦偆傋偟丄偲尵偭偨丅懢庣偼徫偄丄愮僨傿僫乕儖偐傜抣愗偭偰偄偭偨抣抜傪偡傋偰懌偟偨壙偱層塟傪攦偭偨丅 +敀敮 [曇廤] +僶乕僩儞斉乽傾僽丒僗儚僀僪偲偙偓傟偄側榁攌(戞423栭乚戞436栭)乿 +僶乕僩儞斉乽傾僽乕丒僗儚僀僪偲偓傟偄側榁彈偲偺榖(戞423栭乚戞436栭)乿 +傾僶丒僗儚僀乕僪偑壥庽墍偵峴偔偲丄旤偟偄婄棫傪偟偨敀敮偺彈偑敮傪偔偟偗偢偭偰偄偨丅側偤敮傪愼傔側偄偺偐偲暦偔偲丄彈偼偙偆摎偊偨丅 +乽埲慜偼愼傔偰傒偨偙偲傕偁偭偨偑丄昁梫偺側偄偙偲偩丅傗傠偆偲巚偊偽偄偮偱傕崢傪怳偭偰傒偣傞偙偲偑偱偒傞偺偩偐傜乿 +栥拝夝寛 [曇廤] +僶乕僩儞斉乽僴儖儞丒傾儖丒儔僔僢僪偲搝楆柡偲摫巘傾僽丒儐僗僼偺榖(戞296栭乚戞297栭)乿 +搶梞暥屔斉乽僇儕僼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偲彈搝楆丄偦偟偰傾僽乕丒儐乕僗僼戝巘偺暔岅(戞296栭乚戞297栭)乿 +戝恇僕儍傾僼傽儖偼嵟嬤旤偟偄彈搝楆傪庤偵擖傟偰偄偨丅傾儖丒儔僔乕僪偼丄彈搝楆傪変偵攧傞偐憽傞偐偄偢傟偐偵偣傛偲偄偄丄偦傟偑側傜偸側傜僙僢僩丒僝僶僀僟偲棧墢偡傞偲偺惥偄傪棫偰傞丅僕儍傾僼傽儖傕傑偨忳傜偢丄庤曻偡傛偆側偙偲偑偁偭偨傜帺暘偺嵢偲棧墢偡傞偲偺惥偄傪棫偰偨丅 +崌偄惉傝棫偨偸惥偄傪丄尵偭偰偟傑偭偰偐傜婥偯偄偨傆偨傝偼丄偁傢偰偰朄姱傾僽乕丒儐乕僗僼傪屇傃弌偡丅朄姱偼彈搝楆傪敿暘攧傝丄敿暘憽傟偽傛偄偲敾掕丅偝傜偵棧崶朄(彈偑偄偭偨傫棧崶偡傞偲丄暿偺抝偲寢崶偟棧崶偟偨屻偱側偄偲暅墢偱偒側偄)偵偮偄偰偩偑丄偄偭偨傫敀恖搝楆偵寢崶偝偣偰偐傜偡偖偵棧崶偡傟偽傛偄偲寢榑偯偗傞丅敀恖搝楆偼寢崶偟偨偁偲偵棧崶傪嫅斲偟偨偑丄朄姱偼敀恖搝楆偺強桳尃傪彈搝楆偵搉偡偙偲偱偦傟傪斀屆偵偟偨丅 +椶帡偺榖:棊壴惗桘偺僋儕乕儉偲朄妛忋偺擄栤夝寛 +傾僽乕丒僰儚乕僗偲僙僢僩丒僝僶僀僟偺梺傒 [曇廤] +僶乕僩儞斉乽僴儖儞丒傾儖丒儔僔僢僪嫵庡偲悈梺拞偺僘僶僀僟乕斳(戞385栭乚戞386栭)乿 +搶梞暥屔斉乽僇儕僼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偲愹悈偺拞偺僘僶僀僟惓斳偲偺榖(戞385栭乚戞386栭)乿 +傾儖丒儔僔乕僪偼丄媨揳撪偵愹悈傪愝偗偰廃埻傪怷偱偮偮傒丄僙僢僩丒僝僶僀僟偺搾梺傒偺偨傔偵嫙偟偰偄偨丅偁傞栭傾儖丒儔僔乕僪偑媨拞傪嶶嶔偟偰偄傞偲丄傑偝偵僙僢僩丒僝僶僀僟偑擖梺偟偰偄傞偲偙傠偱偁傞丅柧傞偄偲偙傠偱偦偺朙枮側擏懱傪尒偨偙偲偑側偐偭偨傾儖丒儔僔乕僪偼丄偳偓傑偓偟偰偦偺応傪扙偗偩偟偨丅 +傾儖丒儔僔乕僪偼偦偺岝宨偑傢偡傟傜傟偢丄帊傪塺傕偆偲偡傞偑丄偆傑偄帊嬪偑弌偰偙側偄丅偦偙偱傾僽乕丒僰儚乕僗傪屇傇偺偩偑丄搾梺傒偺尰応傪偡傋偰尒偰偄偨傾僽乕丒僰儚乕僗偼丄傒偛偲偵傾儖丒儔僔乕僪偺僀儊乕僕偳偍傝偺帊嬪傪偮傓偓偩偡丅傾儖丒儔僔乕僪偼傛傠偙傃丄帊恖偵懡偔偺朖旤傪梌偊偨丅 +傾僽乕丒僰儚乕僗偺懄塺 [曇廤] +僶乕僩儞斉乽僴儖儞丒傾儖丒儔僔僢僪偲嶰恖偺帊恖(戞386栭)乿 +搶梞暥屔斉乽僴乕儖乕儞丒傾儖丒儔僔乕僪偲嶰恖偺帊恖偲偺榖(戞386栭)乿 +彈搝楆偲帠偵媦傏偆偲偟偨傾儖丒儔僔乕僪偩偑丄崱擔偼僟儊傛偲嫅斲偝傟丄柧擔偺栺懇傪偟偰婣傞丅偟偐偟師偺擔丄側傫偲側偔懱挷偺埆偐偭偨彈搝楆偼乽拫偼栭偺尵梩傪徚偡乿偲偺帊嬪傪堷梡偟丄傑偨嫅斲偟偨丅 +傾儖丒儔僔乕僪偼丄僄儖丒儔僇乕僔丄傾僽乕丒儌僢僒乕僽丄傾僽乕丒僰儚乕僗偺嶰恖偺帊恖傪屇傃丄偙偺暥嬪傪僥乕儅偵偟偰帊傪偆偨傢偣傞偑丄傾僽乕丒僰儚乕僗偩偗偼偙偺揯枛傪抦偭偰偄傞傛偆側帊傪彞偊傞偱偼側偄偐丅傾儖丒儔僔乕僪偼堦晹巒廔傪尒偰偄偨偺偩傠偆偲搟偭偨偑丄帊恖偲偼恖偺榖傪暦偄偰偡傋偰傪抦傞傕偺偩偲傾僽乕丒僰儚乕僗偑庡挘偡傞偲丄擺摼偟偨丅 +閱攏 [曇廤] +僶乕僩儞斉乽敄偽偐偲偄傑偝傑巘(戞388栭)乿 +搶梞暥屔斉乽偆偮偗幰偲嵓媆巘偲偺榖(戞388栭)乿 +偁傞揇朹偑惓捈抝偺閱攏傪搻傒偩偟偨曽朄偱偁傞丅揇朹偼丄抝偑堷偄偰偄傞閱攏偲擖傟懼傢傝丄抝偑婥偯偔偲偙偆尵偭偨丅帺暘偼偐偮偰曻摖幰偺恖娫偩偭偨丅偁傞擔揇悓偟偰婣傝丄曣恊偵庤傪偁偘偨偨傔丄曣偐傜庺偄傪偐偗傜傟偰閱攏偺巔偵側偭偰偄偨偺偩丅 +抝偼揇朹傪夝曻偟偰傗傝丄師偺擔偁偨傜偟偄閱攏傪攦偄偵巗応傊偱偐偗傞丅偟偐偟側傫偲丄帺暘偺閱攏偑攧傝暔偲偟偰偮側偑傟偰偄傞偱偼側偄偐丅抝偼傑偨曻摖傪偍偙側偭偨偺偩傠偆偲閱攏傪側偠傝丄閱攏偺晝曣偐傜惗傑傟偨偱偁傠偆丄堘偆閱攏傪峸擖偟偨丅 +椶帡偺榖:朄姱偺閱攏 +僙僢僩丒僝僶僀僟偺尰峴斊 [曇廤] +僶乕僩儞斉乽敾姱傾僽丒儐僗僼偵僴儖儞丒傾儖丒儔僔僢僪嫵庡偲僘僶僀僟乕斳(戞388栭乚戞389栭)乿 +搶梞暥屔斉乽僇儕僼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偲僘僶僀僟惓斳偲偺榖(戞388栭乚戞389栭)乿 +傾儖丒儔僔乕僪偼僙僢僩丒僝僶僀僟偺儀僢僪偵傑偁偨傜偟偄惛塼偑偁傞偺傪尒偮偗偨丅朄姱傾僽乕丒儐乕僗僼偼婡揮傪偒偐偟丄晹壆偺偡傒偵偄偨僐僂儌儕傪偨偨偒棊偲偟丄僐僂儌儕偺惛塼偼恖娫偺傕偺偵偦偭偔傝側偺偩偲徹尵偡傞丅 +偦偺偁偲壥暔偑傆傞傑傢傟丄朄姱偼僶僫僫偲傔偢傜偟偄壥暔偺桪楎傪栤傢傟偨偑丄傑偨傕婡抦傪偼偨傜偐偣丄偦傟偵摎偊傞偙偲側偔椉曽偺壥暔傪偄偨偩偄偨丅 +梇偐丄帗偐丠 [曇廤] +僶乕僩儞斉乽僼僗儔僂墹偲斳僔儕儞偲嫏巘(戞391栭)乿 +搶梞暥屔斉乽儂僗儘乕戝墹偲僔乕儕乕儞偲嫏巘偲偺榖(戞391栭)乿 +儁儖僔傾墹儂僗儘乕偼嫑偑偡偒偱丄嫏巘偑傒偛偲側嫑傪帩偭偰偒偨偺偱巐愮僪儔僋儉偺傎偆傃傪梌偊偨丅岪僔儕乕儞偼偦傟偑崅偡偓傞偲偟丄嫑偑梇偐帗偐傪栤偄丄梇偲摎偊傟偽帗偑傎偟偐偭偨丄帗偲摎偊傟偽梇偑傎偟偐偭偨偺偩偲偟偰嬥傪庢傝曉偣偲偄偆丅偟偐偟嫏巘偼婡揮偺偒偄偨抝偱丄嫑偼帗梇摨懱偩偲摎偊偨丅儂僗儘乕偼偝傜偵巐愮僪儔僋儉傪嫏巘偵梌偊傞偑丄偦偺婣傝偵嫏巘偑嬧壿堦枃傪棊偲偟偰廍偭偨偙偲傪僔儕乕儞偑傒偲偑傔丄昻朢恖傊傎偳偙偡傋偒傕偺傪扗偭偨偺偩偲媻抏偡傞丅嫏巘偼丄嬧壿傪廍偭偨偺偼偦傟偵墹偺徰憸偑偁傞偐傜偩偲摎偊偨丅儂僗儘乕偼傕偆巐愮僪儔僋儉傪嫏巘偵梌偊丄崙拞偵乽彈偺偄偆偙偲傪暦偔側偐傟偲偄偆偺偼丄傂偲偮偺夁偪偺敿暘傪庢傝曉偦偆偲偟偰傆偨偮偺夁偪傪斊偡偐傜偩乿偲怗傟傪偩偟偨丅 +暘偗慜 [曇廤] +僶乕僩儞斉乽泚姱儅僗儖乕儖偲僀僽儞丒傾儖丒僇儕價(戞399栭乚戞401栭)乿 +搶梞暥屔斉乽儅僗儖乕儖偲僀僽僰儖丒僇乕儕價乕偲偺榖(戞399栭乚戞401栭)乿 +傾儖丒儔僔乕僪偑偄偮傕偺傛偆偵晄柊偵擸傫偱偄傞偲丄懢搧帩偪儅僗儖乕儖偑丄僀僽儞丒傾儖丒僇儔價乕偲偄偆傕偺偼偍傕偟傠偄煭棊傪尵偆偺偩偲徯夘偡傞丅偦偺棤偱儅僗儖乕儖偼丄朖旤傪傕傜偭偨傜楃偲偟偰嶰暘偺擇傪偄偨偩偔栺懇傪偟偰偄偨丅偟偐偟丄傕偟偮傑傜側偗傟偽曏懪偪偵偡傞偲尵傢傟偨僀僽儞丒傾儖丒僇儔價乕偼堔弅偟偰偟傑偄丄偍傕偟傠偄偙偲偑尵偊偢丄懌偺棤傪昐夞朹懪偪偝傟傞偙偲偵側偭偨丅懪悢偑嶰廫傪墇偊傞偲僀僽儞丒傾儖丒僇儔價乕偼儅僗儖乕儖傪巜偟丄朖旤偺嶰暘偺擇偼儅僗儖乕儖偺傕偺偩偲偄偆丅傾儖丒儔僔乕僪偺崌恾偱儅僗儖乕儖傪曔傜偊偰懌傪懪偪巒傔傞偲丄儅僗儖乕儖偼偡偖偵壒傪忋偘偨丅傾儖丒儔僔乕僪偼敋徫偟丄傆偨傝偵愮僨傿僫乕儖偢偮梌偊偨丅 +妛峑偺愭惗 [曇廤] +僶乕僩儞斉乽妛峑偺愭惗偵側傝偡傑偟偨偁偒栍(戞403栭乚戞404栭)乿 +搶梞暥屔斉乽撉傒彂偒傪抦傜偸嫵巘偺榖(戞403栭乚戞404栭)乿 +偁傞撉傒彂偒偺偱偒側偄抝偑丄妛峑偺愭惗偵側傠偆偲巚偄偨偭偨丅偲偄偆偺傕丄妛峑偺愭惗偲偄偆偺偼偨偩戝妛幰偱偁傞偐偺傛偆偵傆傞傑偭偰偄傟偽惉傝棫偮彜攧偩偐傜偩丅梕媀傪偲偲偺偊偰妛幰慠偲偟偰嫵幒傪峔偊傞偲丄嬤強偺巘掜偨偪偑抝偺栧壓偵擖偭偰偔傞丅抝偼懡彮撉傒彂偒偺偱偒傞巕嫙偑壓偺傕偺傪嫵偊傞曽幃傪偲傝丄偆傑偔傗偭偰偄偨丅 +偲偙傠偑偁傞擔丄傂偲傝偺暥栍偺彈偑丄晇偐傜偺庤巻傪撉傫偱偔傟偲傗偭偰偔傞丅抝偼崲偭偰丄撉傔側偄庤巻傪偝偐偝傑偵帩偭偰傓偢偐偟偄婄傪偟偰偄傞偲丄偦傟傪尒偨彈偼丄庤巻偼偐側傝埆偄抦傜偣偱晇偼巰傫偩偵堘偄側偄偲巚偄丄媰偒婣偭偨丅偟偐偟彈偺恊愂偑庤巻傪撉傓偲丄傕偆偡偖椃愭偐傜婣偭偰偔傞偲偄偆丄柍帠傪抦傜偣傞曋傝偱偁傞丅側偤晇偑巰傫偩偲尵偭偨偺偐偲幙偝傟傞偲丄抝偼丄偁傢偰偰偝偐偝傑偵撉傫偩偺偱曽岦傪娫堘偊偨偺偩丄偲摎偊偨丅 +壓拝偺朌庢傝暥 [曇廤] +僶乕僩儞斉乽傾儖丒儔僔僢僪偺巕傾儖丒傾儈儞偲廸晝僀僽儔僸儉丒價儞丒傾儖丒儅乕僨傿(戞418栭乚戞419栭)乿 +搶梞暥屔斉乽傾儖丒傾儈乕儞偲偦偺廸晝僀僽儔乕僸乕儉丒僀僽僰儖丒儅僴僨傿乕偲偺榖(戞418栭乚戞419栭)乿 +嫵墹傾儖丒儅傾儉乕儞偺掜傾儖丒傾儈乕儞偼丄廸晝偺壠偱旤偟偄彈搝楆偵怱傪扗傢傟傞丅婥傪偒偐偣偨廸晝偼斵偵彈搝楆傪憽傞偑丄廸晝偺庤偑偮偄偰偄傞偵堘偄側偄偲巚偭偨傾儖丒傾儈乕儞偼丄彈傪憲傝婣偟偨丅廸晝偼彈搝楆傪壓拝堦枃偺巔偵偟丄嵞搙傾儖丒傾儈乕儞偵憽傞丅偦偺壓拝偵偼乽変偵塀偝傟偨嵿曮偼壗恖偵傕怗傟傜傟偰偄側偄丅偨偩娽偱挷傋丄尒偲傟傜傟偨偺傒偱偁傞乿偲朌偄庢傝偑偟偰偁偭偨丅傾儖丒傾儈乕儞偼偁傝偑偨偔庴偗庢傝丄偐傢偄偑偭偨丅 +攗偺挙傝崬傒暥 [曇廤] +僶乕僩儞斉乽傾儖丒僼傽僗丒價儞丒僴僇儞偲傾儖丒儉僞儚僢僉儖嫵庡(戞414栭嬤偔)乿 +嫵墹傾儖丒儉僞儚僢僉儖偺昦婥偺夣桙廽偄偵偨偔偝傫偺昳暔偑憽傜傟偰偒偨偑丄僀僽儞丒僇乕僇乕儞偐傜偺憽傝暔偼偐傢偭偰偄偰丄姰帏側擕朳傪偟偨柡偩偭偨丅柡偼曅庤偵嬥偺攗傪帩偭偰偄偨偑丄偦偙偵偼乽偄偐側傞栻傕偙偺枩擻栻偵偐側偆傕偺偐乿偲偺挙傝崬傒暥偑偁偭偨丅偦傟傪尒偨帢堛偼丄徫偭偰摨堄偟偨丅 +饽偺拞偺嫵墹 [曇廤] +僶乕僩儞斉乽儌僗儖偺僀僒傾僋(戞279栭乚戞282栭)乿 +搶梞暥屔斉乽儌僗儖偺僀僗僴乕僋(戞279栭乚戞282栭)乿 +儌乕僗儖偺壧庤僀僗僴乕僋偼丄嫵墹傾儖丒儅傾儉乕儞偺墐夛偺婣傝丄悓偭傁傜偭偰棫偪彫曋傪偟偰偄偨丅偡傞偲摢忋偐傜丄僋僢僔儑儞傪偟偄偨饽偑儘乕僾偵偮傞偝傟偰偡傞偡傞偲崀傝偰偔傞丅帋偟偵饽偺拞偵擖偭偰傒傞偲偨偔偟忋偘傜傟丄彈偨偪偑戝惃偄傞壠偺拞偵彽偐傟偨丅庡恖偲偍傏偟偒旤偟偄壋彈偼僀僗僴乕僋傪娊懸偟丄斵偺帩偪壧傪偡偽傜偟偄壧惡偱偆偨偆丅僀僗僴乕僋偼帺暘傪婡怐傝怑恖偲帺徧偟丄偦傟偑帺暘偺壧偩偲偼尵傢側偐偭偨丅傗偑偰挬偵側傞偲墐夛傕壥偰丄傆偨偨傃偐偛偵忔偭偰抧忋偵偍傠偝傟丄僀僗僴乕僋偼婣戭偡傞丅 +師偺栭丄僀僗僴乕僋偼嫵墹偺墐夛傪柍帇偟偰彈偺壠偵岦偐偆丅婣傝偑偗丄杮摉偺偙偲傪尵傢偹偽嫵墹偑嫋偡傑偄偲巚偭偨僀僗僴乕僋偼丄師偼偄偲偙傪楢傟偰偔傞偲壋彈偵崘偘傞丅埬偺掕嫵墹偼搟偭偰偄偨偑丄帠忣傪榖偡偲忔傝婥偵側傞丅帺暘偺柤傪尵傢偸傛偆懪偪崌傢偣丄嫵墹偲傆偨傝偱彈偺壠偱梀傫偱偄偨偑丄嫵墹偼偮偄僀僗僴乕僋偺柤傪岥偵弌偟偰偟傑偭偨丅偡傞偲壋彈偼丄婄傪偐偔偟偰墱偵塀傟傞丅 +惓懱傪柧偐偟偰挷傋偝偣傞偲丄壋彈偼戝恇僴僒儞丒儀儞丒僙僿儖偺柡僇僨傿乕僕儍偩偭偨丅嫵墹偼壋彈傪彚偟弌偟丄惓嵢偲偟偰寎偊偨丅 +憻暔偺憒彍晇 [曇廤] +僶乕僩儞斉乽憒彍晇偲忋鋎(戞282栭乚戞285栭)乿 +搶梞暥屔斉乽搄嶦応偺憒彍晇偲偁傞婱晈恖偲偺榖(戞282栭乚戞285栭)乿 +僇傾僶偺惞側傞暻偵岦偐偄乽偁偺彈偲怮傜傟傑偡傛偆偵乿偲婅偭偰偄偨抝偑戇曔偝傟偨丅弰楃挿姱偼敍傝庱偺敾寛傪弌偡偑丄抝偼偮偓偺傛偆偵曎夝偡傞丅 +抝偼梤偺憻暔傪愻偭偰攧傞巇帠傪偟偰偄偨偑丄偁傞擔枹張棟偺偔偝偄憻暔傪閱攏偵堷偐偣偰偄傞偲丄屼撪幒(僴儕乕儉)偺堦峴偵弌偔傢偟丄崟恖偺泚姱偵偮偐傑偭偰崑壺側壆晘偵楢傟崬傑傟偨丅晽楥偲拝懼偊傪偁偰偑傢傟偰偙偞偭傁傝偲偡傞偲丄婱晈恖偑偁傜傢傟偰偛偪偦偆傪嫙偟丄傆偨傝偼挬傑偱書偒崌偭偰夁偛偟偨丅 +偦傟偑堦廡娫傕偮偯偄偨偙傠丄偁傞庒幰偑偦偺壆晘偵偁傜傢傟傞丅抝偼奒忋偺晹壆偵墴偟崬傔傜傟丄庒幰偲婱晈恖偑岎娊偟偰偄傞偺傪暦偔偼傔偵側偭偨丅庒幰偑婣偭偨偁偲偵婱晈恖偑尵偆偵偼丄庒幰偼斵彈偺晇偱偁傝丄埲慜晇偑嶮愻偄偺傒偡傏傜偟偄彈拞偲晜婥傪偟偨偨傔偵丄偦偺暅廞偲偟偰帺暘傕嵟掅偵彫墭偄抝偲晜婥偡傞偙偲偵偟偨偺偩偲偄偆丅偦偟偰晇偑婣偭偰偒偨偐傜偵偼丄抝偼傕偆梡嵪傒側偺偱偁偭偨丅 +弰楃挿姱偼丄偦偺榖傪暦偔偲抝傪柍嵾曻柶偟偨丅 +壋彈乽椓偟娽乿 [曇廤] +僶乕僩儞斉乽傾僽丒僀僒偲僋儔僩丒傾儖丒傾僀儞偺楒(戞414栭乚戞419栭)乿 +搶梞暥屔斉乽傾僽乕丒僀乕僒乕偲彈搝楆僋儖儔僩儖丒傾僀儞偺楒暔岅(戞414栭乚戞419栭)乿 +傾儖丒儔僔乕僪偺懅巕傾僽乕丒僀僒乕偼丄僿僔儍乕儉偺巕傾儕偺壆晘偵偄傞彈搝楆乽椓偟娽乿傪婥偵擖傝丄攧偭偰傕傜偍偆偲偟偰偄傠偄傠庤傪偆偭偰傒偨偑丄偆傑偔偄偐側偄丅偦偙偱孼偺嫵墹傾儖丒儅傾儉乕儞偲堦弿偵偲偮偤傫壆晘傪偨偢偹丄偍偳偐偟偰傗傞偙偲偵偟偨丅 +傾儕偼傆偨傝傪娊寎偟丄惙戝偵廽墐傪挘傞丅廫恖偢偮偺壧媁偑巐慻丄師乆偲偁傜傢傟丄偄偢傟傕傒偛偲側壧傪斺業偡傞丅偦偟偰嵟屻偵乽椓偟娽乿偑弌偰偒偰丄偙傟傕偡偽傜偟偄壧傪偆偨偭偨丅傾僽乕丒僀僒乕偼姶寖偟丄斵彈偵懳偟曉壧傪偍偔傞丅傾僽乕丒僀僒乕偺怱傪抦偭偨傾儕偼丄嫵墹偑嫋偡側傜乽椓偟娽乿傪忳傠偆偲怽偟弌丄嫵墹偼偦傟傪嫋偟偨丅 +壋彈偐丠惵擭偐丠 [曇廤] +僶乕僩儞斉乽抝彈偺桪楎偵偮偄偰丄偁傞抝偑彈偺妛幰偲媍榑偟偨榖(戞419栭乚戞423栭)乿 +搶梞暥屔斉乽旤抝偲旤彈偲偺桪楎偵偮偄偰偁傞彈棳妛幰偑榑憟偟偨榖(戞419栭乚戞423栭)乿 +僶僌僟乕僪偵偰乽愭惗偺拞偺彈愭惗乿偲徿偝傟偨僙僢僩丒僓僸傾偼丄掜偲僴儅乕偵弰楃偵棃偰偄偨丅偦偺偙傠僴儅乕偵偼奺抧偐傜妛幆幰偑廤傑偭偰偒偰偍傝丄僙僢僩丒僓僸傾偼斵傜偲偺摙榑傗丄幙栤偺傗傝偲傝側偳傪妝偟傫偱偄偨丅 +尗幰僆儊儖丒傾儖丒儂儉僔偼榁恖僄儖丒僒儖僴乕僯乕偲偲傕偵丄媍榑傪愴傢偣傛偆偲僙僢僩丒僓僸傾傪朘偹偨丅僄儖丒僒儖僴乕僯乕偑旤偟偄掜偵傒偲傟偨偙偲偐傜丄斵偑壋彈傛傝傕庒偄抝傪岲傓偲傒偰偲偭偨僙僢僩丒僓僸傾偼丄彈傛傝抝偑偡偖傟偰偄傞偙偲偵偮偄偰塻偄榑恮傪挘傞丅偟偐偟嵟屻偵偼丄僄僉僒僀僩偟偰挳廜偺恆巑偨偪偵偄偝偝偐楃媀傪幐偟偨偙偲傪榣傃傞偺偱偁偭偨丅 +婏夦側嫵墹乮戞393栭 - 戞399栭乯 [曇廤] + +僶乕僩儞斉乽偄偐偝傑嫵庡(戞285栭乚戞294栭)乿 +僶乕僩儞斉乽僇儕僼丄僴乕儖乕儞丒傾儖丒儔僔乕僪偲丄偵偣僇儕僼(戞285栭乚戞294栭)乿 +傾儖丒儔僔乕僪偲僕儍傾僼傽儖丄儅僗儖乕儖偼偄偮傕偺傛偆偵偍擡傃偱梀傃偵峴偙偆偲偟偨偑丄弌偟偨妎偊偺側偄慏梀傃嬛巭椷偑弌偰偄傞偙偲傪抦傞丅嫵墹偵暞偟偨庒幰傪拞怱偲偟偰丄僕儍傾僼傽儖傜偺偦偭偔傝偝傫傪懙偊偨偵偣傕偺偺嫵墹堦峴偑挰偵弌杤偟偰偄傞偺偩丅師偺擔丄傾儖丒儔僔乕僪偼偵偣傕偺偺屻傪偮偗偰傒傞偑丄偡偖偵尒偮偐偭偰曔傑偭偰偟傑偆丅壗幰偐偲栤偆庒幰偵堎崙偺彜恖偩偲摎偊傞偲丄庒幰偼傾儖丒儔僔乕僪傜傪媨揳偵楢傟偰偄偭偨丅 +偦偟偰庰墐偵側傞偑丄壧庤偑斶楒偺壧傪偆偨偄弌偡偲丄庒幰偼堖暈傪傗傇傝丄嫨傃惡傪偁偘偰婥傪幐偆丅偡偖偵懅傪傆偒偐偊偟偨偑丄偦偺憶偓偱傾儖丒儔僔乕僪傜偼丄庒幰偺恎懱偵朹傗儉僠偱扏偐傟偨愓偑柍悢偵偮偄偰偄傞偙偲偵婥偯偄偨丅栿傪栤偆偲丄庒幰偼師偺偙偲傪榖偟偼偠傔偨丅 +庒幰偼曮愇彜慻崌摢偺懅巕儉僴儞儅僪丒傾儕偱丄晝偺堚嶻傪庴偗宲偄偱壗晄帺桼側偔曢傜偟偰偄偨丅偁傞擔旤偟偄壋彈偑斵偺揦偵偁傜傢傟丄曮愇傪尒偣偰偔傟偲偄偆丅旈憼偺庱忺傝傪帵偡偲丄壋彈偼戙嬥傪庢傝偵棃偰偔傟偲偄偄丄庒幰傪帺戭傊彽偄偨丅壋彈偼庒幰偲傆偨傝偒傝偵側傞偲丄傢偨偟偼偁側偨偑岲偒側偺偩丄崱擔偺偙偲偼偡傋偰偁側偨傪彽偔偨傔偺岥幚側偺偩偲崘敀偡傞丅庒幰偼丄壋彈偑憤棟戝恇偺枀偩偲抦偭偰偲傑偳偭偨偑丄媮垽傪庴偗擖傟丄傆偨傝偼偦偺応偱寢崶偺惥偄傪偟偨丅 +堦偐寧偺偪偺偙偲丅壋彈偼搾梺傒偵峴偭偰偔傞偺偱擇嶰帪娫懸偭偰偄偰偔傟丄偦偺娫偳偙偵傕弌偐偗偰偼側傜偸偲尵偄抲偄偰奜弌偡傞丅偡傞偲捈屻偵丄僙僢僩丒僝僶僀僟偺巊偄偑棃偰丄憤棟戝恇偺枀偺晇偵偤傂夛偄偨偄偲怽偟擖傟偰偔傞丅抐傞傢偗偵偄偐偢丄庒幰偼僙僢僩丒僝僶僀僟偵懳柺偟偰婣偭偨丅偡傞偲壋彈偼偐傫偐傫偵搟傝丄庒幰偺庱傪偼偹傛偆偲偡傞丅僙僢僩丒僝僶僀僟偲壋彈偼丄屳偄偵媤揋偲偟偰憺傒崌偭偰偄傞拠偩偭偨偺偩丅巊梡恖偨偪偺偲傝側偟偱巰偼傑偸偑傟傞偑丄庒幰偼忨偲儉僠偱偝傫偞傫偵懪偨傟丄曻傝弌偝傟偨丅 +彎偑帯傞偲丄庒幰偼嫵墹偺僐僗僾儗傪偟偰挰傪曕偔傛偆偵側偭偨丅偦傟偼丄嫵墹偺岪偲憤棟戝恇偺枀偺偁偄偩偱東楳偝傟偨怱偺彎傪桙偡偨傔側偺偩丅 +帺暘偺媨揳傊婣偭偨傾儖丒儔僔乕僪偼丄庒幰傪屇傃弌偟丄摨偠榖傪偝偣偨丅偦偟偰憤棟戝恇偺枀傕屇傃弌偟丄屳偄偵堎懚偑側偄偙偲傪妋擣偡傞偲丄傆偨傝傪傆偨偨傃沇偣偨丅 +乽錛偺錕錘乿偲乽悽偺娊傃乿偺暔岅乮戞399栭 - 戞414栭乯 [曇廤] + +僶乕僩儞斉乽僂儞僗丒傾儖丒僂儐僪偲戝恇偺柡傾儖丒儚儖僪丒僼傿儖丒傾僋儅儉乮偽傜偺錛乯(戞371栭乚戞381栭)乿 +搶梞暥屔斉乽僂儞僗丒儖丒僂僕儏乕僪偲傾儖丒儚儖僪丒僼傿乕儖丒傾僋儅乕儉偲偺暔岅(戞371栭乚戞381栭)乿 +僔儍儈僋墹偵僀僽儔乕僸乕儉偲偄偆戝恇偑偍傝丄偦偺柡偼旤偲嫵梴丄壧晳壒嬋偵偡偖傟偨偡偽傜偟偄柡偱乽錛偺錕錘乿偲屇偽傟偰偄偨丅墹偼墐夛偵偄偮傕乽錛偺錕錘乿傪帢傜偣偰偄偨偑丄偁傞擔偺墐夛偱丄斵彈偼乽悽偺娊傃乿偲偄偆旤偟偄庒幰偵弌夛偄丄楒偵棊偪傞丅偟偐偟偦傟傪抦偭偨戝恇偼丄墹偑柡傪婥偵擖偭偰偄傞偙偲偐傜戝帠偵側傞偺偱偼偲埬偠丄斵彈傪僶僴儖丒傾儖丒僐僰乕僘奀忋偵偆偐傇乽巕傪側偔偟偨曣偺嶳乿偵桯暵偡傞丅 +乽錛偺錕錘乿偑偄側偔側偭偨偙偲傪抦偭偨乽悽偺娊傃乿偑扱偄偰偄傞偲丄巶巕偵弌偔傢偡丅巶巕偑偍悽帿捛廬偵庛偄偙偲傪巚偄弌偟丄傕偪偁偘傞帊傪偆偨偄帺暘偺嬯嫬傪慽偊傞偲丄巶巕偼堦楢偺懌愓傪斵偵帵偡丅偦傟傪捛偭偰偄偔偲丄奀娸偵弌偨偲偙傠偱懌愓偑廔傢偭偰偄傞丅傎偳嬤偄嶳偺摯孉偵偼塀幰偑廧傫偱偍傝丄偦偺彆尵偵廬偭偰栐偵偮側偄偩僇儃僠儍偵偮偐傑傝嶰擔娫奀偺忋偵晜偐傫偱偄傞偲丄搰偵偮偄偨丅搰偵偼忛暻偑偁傝丄偟偽傜偔懸偭偰偄傞偲拞偐傜泚姱偑弌偰偔傞丅帺暘偼僀僗僷僴乕儞偐傜偺昚棳幰偩偲柤忔傞偲丄泚姱偼摨嫿偩偲尵偭偰側偮偐偟傒丄斵傪忛撪偵彽偠擖傟偨丅泚姱偵傛傟偽丄師偵斷偑奐偔偺偼堦擭屻丄偨偭傉傝旛拁偟偨怘椏傪曗廩偡傞偲偒偩偲偄偆丅 +堦曽乽錛偺錕錘乿偼丄僔乕僣傪揱偭偰桯暵愭傪扙弌偡傞丅嫏巘偺彆偗傪庁傝偰偁傞娸傊偮偔偲丄偦偺崙偺墹僨儖僷僗偑斵彈偺昚拝偵婥偯偒丄曐岇偡傞丅帠忣傪暦偄偨墹偼嫤椡傪怽偟弌丄僔儍儈僋墹偵摨柨傪帩偪偐偗傞巊幰傪弌偟丄乽悽偺娊傃乿傪柡偺柟偵傕傜偆偙偲傪忦審偲偟偰偮偗傞偙偲偵偟偨丅偦偟偰巊幰偺戝恇偵丄傕偟乽悽偺娊傃乿傪楢傟婣傜側偗傟偽柶怑偡傞偲屌偔尵偄搉偟偨丅 +摨柨偺怽偟弌傪庴偗偨僔儍儈僋墹偼丄戝恇僀僽儔乕僸乕儉偵乽悽偺娊傃乿憑嶕傪怽偟偮偗傞丅崙拞傪扵嶕偡傞偑尒偮偐傜偢丄傗偑偰乽巕傪側偔偟偨曣偺嶳乿偵傑偱偨偳傝拝偔丅偦偺偙傠乽悽偺娊傃乿偼偡偭偐傝傒偠傔側條巕偵曄傢偭偰偟傑偭偰偄偰丄扤傕斵偺懚嵼偵婥偯偔幰偼側偐偭偨丅 +柡偲夛偍偆偲偟偨僀僽儔乕僸乕儉偼丄偦偙偱弶傔偰柡偺巔偑徚偊偰偄傞偙偲傪抦傞丅乽悽偺娊傃乿傕傑偨幐鏗傪抦傝丄愨朷偟偰婥傪幐偭偰偟傑偭偨丅偦偺巔偼丄帄崅側傞傕偺偺偦偽偵偄傞惞幰偱偁傞偐偺傛偆偵丄恖乆偵偼尒偊偨丅僨儖僷僗墹偺戝恇偼丄偄偭偨傫偁偒傜傔偰婣傞偙偲偵偟丄婥傪幐偭偰偄傞庒幰傪堦弿偵楢傟婣傞丅悢擔偟偰丄婣搑偺搑拞偱堄幆傪偲傝傕偳偟偨乽悽偺娊傃乿偼丄戝恇偐傜旊柶偵偮偄偰偺憡択傪庴偗丄墹條偺慜偵巹傪弌偟側偝偄偲摎偊偨丅 +偦偟偰斵偼僨儖僷僗墹偵丄帺暘偑乽悽偺娊傃乿偱偁傞偙偲傪柧偐偡丅僨儖僷僗墹偼乽悽偺娊傃乿偲乽錛偺錕錘乿偺崶楃傪偲傝巇愗傝丄僔儍儈僋墹傕丄傆偨傝偺寢崶偵廽暉傪憲偭偨丅 +崟抙偺攏婏択乮戞414栭 - 戞432栭乯 [曇廤] + +僶乕僩儞斉乽崟抙偺攏(戞357栭乚戞371栭)乿 +搶梞暥屔斉乽崟抙偺攏偺暔岅(戞357栭乚戞371栭)乿 +愄丄儁儖僔儍偵僒僽乕儖偲偄偆柤偺墹偑偄偰丄墹偵偼3恖偺旤偟偄墹彈偲丄僇儅儔儔僋儅乕儖偲偄偆柤偺1恖偺旤偟偄墹巕偑偄偨丅偁傞弔偺嵳傝偺擔丄3恖偺妛幰偑墹偵憽傝暔傪偟偨丅僸儞僨傿乕(僀儞僪)偺妛幰偺專忋昳偼乽墿嬥偺儔僢僷傪帩偭偨墿嬥偺恖宍乿偱丄偦偺恖宍偼梱偐斵曽偺揋傪尒偮偗儔僢僷偺壒偱捛偄暐偆傕偺偱偁傝丄儖乕儈(僊儕僔儍)偺妛幰偺專忋昳偼乽墿嬥偺24塇偺帗岴悵偲1塇偺梇岴悵乿偱丄24塇偺帗岴悵偼1擔偺24帪娫傪昞偟梇岴悵偑1帪娫偛偲偵暿偺帗岴悵偺忋偵嵹傝帪傪抦傜偣傞帪寁偱偁傝丄儁儖僔儍恖偺專忋昳偼乽崟抙偺攏乿偱丄偦傟偵忔傟偽嬻傪旘傫偱偳偙傊偱傕峴偗傞偲偄偆傕偺偱偁偭偨丅墹偼婌傃丄妛幰偨偪偺婅偄偵廬偄丄3恖偺昉傪偦傟偧傟寢崶偝偣傞偙偲偵偟偨丅 +偟偐偟丄儁儖僔儍恖偺妛幰偲寢崶偡傞偙偲偵側偭偨枛偺墹彈偼丄儁儖僔儍恖偑旕忢偵崅楊側廥偄榁恖偩偭偨偺偱寢崶傪寵偑傝丄媰偒弌偟丄偦傟傪尒偨僇儅儔儔僋儅乕儖墹巕偼僒僽乕儖墹偵寢崶偺庢傝巭傔傪怽偟弌偨偲偙傠丄墹偼崟抙偺攏偺偡偽傜偟偝傪尒傟偽墹巕傕峫偊偑曄傢傞偩傠偆偲尵偭偨偺偱丄墹巕偼崟抙偺攏傪帋偡偙偲偵側偭偨丅儁儖僔儍恖妛幰偼寢崶偵斀懳偟偨墹巕傪夣偔巚偭偰偄側偐偭偨偺偱丄墹巕偑崟抙偺攏偵忔偭偨嵺偵傑偢忋徃偡傞愷偩偗傪嫵偊丄偦傟傪夞偟偨墹巕偼崟抙偺攏偲偲傕偵忋徃偟栠偭偰偙側偔側偭偰偟傑偭偨丅墹偼搟傝丄儁儖僔儍恖妛幰傪搚楽偵擖傟偨丅 +僇儅儔儔僋儅乕儖墹巕偼梱偐忋嬻傑偱峴偒巰傪妎屽偟偨偑丄壓崀偺愷傪尒偮偗崟抙偺攏傪惂屼偡傞偙偲傪妎偊丄嬻拞偺椃傪妝偟傒丄栭偵側偭偰傾儖丒儎儅乕儞(僀僄儊儞)偺搒僒僫偺墹媨偺壆忋偵崀傝棫偭偨丅墹巕偼墹媨偵擡傃崬傒丄晹壆偺怮戜偱慡棁偱柊偭偰偄傞旤偟偄僔儍儉僗僄儞僫僴乕儖墹彈傪尒偮偗丄偦偭偲塃杍偵僉僗傪偡傞偲墹彈偼栚傪妎傑偟偨丅墹巕偲墹彈偼屳偄偑岲偒偵側傝丄怮戜偺忋偱岅傜偭偰偄偨偑丄墹巕偺恑擖偵婥晅偄偨帢彈偲泚姱偑墹偵抦傜偣丄墹偼墹彈偺晹壆偵棃偰墹巕傪偲偑傔丄梻擔丄墹偺孯偲墹巕偑愴偄丄墹巕偑彑偰偽墹彈偼墹巕偺傕偺偵側傞偲偄偆偙偲偵側偭偨丅梻擔丄愴偄偑巒傑傞偲丄墹巕偼崟抙偺攏偵忔傝嬻傪旘傫偱摝偘偰偟傑偭偨丅 +僇儅儔儔僋儅乕儖墹巕偼儁儖僔儍偺晝墹偺墹媨偵婣傝丄儁儖僔儍恖妛幰傪楽偐傜庍曻偟偨偑丄旤偟偄僔儍儉僗僄儞僫僴乕儖墹彈傪朰傟傜傟側偐偭偨丅墹巕偼嵞傃崟抙偺攏偵忔傝丄傾儖丒儎儅乕儞偺僒僫偺搒偺墹媨偵擡傃崬傒丄墹彈偲嵞夛偟丄屳偄偺垽傪妋偐傔丄墹彈偲嫟偵崟抙偺攏偵忔偭偰旘傃棫偪丄儁儖僔儍偺晝墹偺墹媨偺掚墍偵崀傝棫偭偨丅墹巕偼墹彈傪墹媨偺掚墍偵抲偄偰僒僽乕儖墹偵曬崘偵峴偭偨偑丄偦偺寗偵儁儖僔儍恖妛幰偑掚墍偵擖傝崟抙偺攏偲僔儍儉僗僄儞僫僴乕儖墹彈傪尒偮偗丄墹巕偺巊偄偱墹彈傪棧媨偵埬撪偡傞偲墹彈傪閤偟2恖偱崟抙偺攏偵忔偭偰旘傃棫偭偰偟傑偭偨偨傔丄墹巕偑掚墍偵栠偭偨帪偵偼墹彈偼偳偙偵傕尒偮偐傜側偐偭偨丅墹巕偼斶偟傒丄崟抙偺攏偑徚偊偰偄傞偙偲偐傜儁儖僔儍恖妛幰偑楢傟嫀偭偨偺偩偲峫偊丄墹彈傪扵偡椃偵弌偨丅 +儁儖僔儍恖妛幰偼僔儍儉僗僄儞僫僴乕儖墹彈傪楢傟偰崟抙偺攏偵忔傝儖乕儉恖偺崙偵旘傫偱峴偒丄偁傞杚応偵崀傝棫偭偨偑丄偪傚偆偳偦偺偲偒丄偦偺崙偺墹偑嬤偔偵棃偰偄偨偨傔丄墹偺搝楆偨偪偑妛幰傪曔傑偊偰偟傑偭偨丅僔儍儉僗僄儞僫僴乕儖墹彈偑墹偵儁儖僔儍恖妛幰偵桿夳偝傟偨偲慽偊偨偨傔丄儁儖僔儍恖妛幰偼搚楽偵擖傟傜傟偨丅墹彈偼墹偺忛偵楢傟偰峴偐傟丄墹偐傜寢崶傪怽偟崬傑傟傞偑丄僇儅儔儔僋儅乕儖墹巕偲棧傟棧傟偵側偭偨偙偲傪斶偟傒昦婥偵側偭偰偟傑偭偨丅墹偼悢乆偺堛幰偵帯椕傪偝偣傞偑丄堦岦偵墹彈偺昦婥偼帯傜側偐偭偨丅 +堦曽僇儅儔儔僋儅乕儖墹巕偼墹彈傪扵偡椃傪懕偗丄偁傞挰偺廻壆偱崟抙偺攏偲儁儖僔儍恖妛幰偲旤彈偺塡傪暦偒丄偦偺挰偵峴偒丄椃偺堛幰偲尵偭偰墹偵墆尒偟丄墹彈傪恌傞偙偲偵側偭偨丅僔儍儉僗僄儞僫僴乕儖墹彈偼丄僇儅儔儔僋儅乕儖墹巕傪尒傞偲偡偖偵昦婥偑帯偭偨丅墹巕偼墹偵丄崟抙偺攏偺杺恄乮僕儞僯乕乯偑昦婥偺尨場偱丄嵞敪傪杊偖偵偼丄崟抙偺攏偑崀傝棫偭偨杚応偵崟抙偺攏偲墹彈傪楢傟偰峴偒杺恄傪晻偠傞昁梫偑偁傞偲尵偭偰梡堄偝偣丄偦偺傑傑墹彈偲崟抙偺攏偵忔偭偰嬻傪旘傫偱摝偘偰偟傑偭偨丅墹偼搟傝丄儁儖僔儍恖妛幰傪巰孻偵偟偨丅 +僇儅儔儔僋儅乕儖墹巕偼僔儍儉僗僄儞僫僴乕儖墹彈偲崟抙偺攏偵忔偭偰丄儁儖僔儍偺僒僽乕儖墹偺墹媨偵栠傝丄寢崶偟偨丅墹巕偼僔儍儉僗僄儞僫僴乕儖墹彈偺晝偵庤巻偲戝検偺憽傝暔傪憲傝丄寢崶偟偨偙偲傪抦傜偣偨丅僒僫偺墹偼婌傃丄僇儅儔儔僋儅乕儖墹巕偼枅擭憽傝暔傪懕偗偨丅僒僽乕儖墹偼嵞傃墹巕偑偄側偔側傜側偄傛偆偵偲丄崟抙偺攏傪夡偟偰偟傑偭偨丅僇儅儔儔僋儅乕儖墹巕偺枛偺枀偼丄僒僫偺墹偺墹巕偲寢崶偟偨丅僇儅儔儔僋儅乕儖墹巕丄僔儍儉僗僄儞僫僴乕儖墹彈傪偼偠傔慡堳偑岾偣偵曢傜偟偨丅 +彈儁僥儞巘僟儕儔偲偦偺柡偺彈偄偐偝傑巘僓僀僫僽偲偑丄夐偺傾僼儅乕僪傗儁僗僩偺僴僒儞傗悈嬧偺傾儕偲偩傑偟偁偄傪偟偨暔岅乮戞432栭 - 戞465栭乯 [曇廤] + +僶乕僩儞斉乽傗傝偰攌偺僟儕儔乕偲揺偲傝偺柡僓僀僫僽偑埆媃傪峴側偭偨偙偲(戞698栭乚戞708栭)乿 +僶乕僩儞斉乽僇僀儘偺搻恄傾儕偺婏択(戞708栭乚戞719栭)乿 +搶梞暥屔斉乽傾僼儅僪丒傾僢僟僫僼偲僴僒儞丒僔儍僂儅乕儞偲彈傌偰傫巘僓僀僫僽偑埆偍傛傃偦偺曣偺暔岅(戞698栭乚戞708栭)乿 +搶梞暥屔斉乽僄僕僾僩恖傾儕乕丒傾僢僓僀僶僋偺暔岅(戞708栭乚戞719栭)乿 +嫵墹傾儖丒儔僔乕僪偼搻懐乽夐偺傾僼儅乕僪乿偲乽儁僗僩偺僴僒儞乿傪丄偦偺宱楌傪惗偐偡偨傔偵寈旛戉挿偵擟柦偟偨丅偦傟傪暦偒偮偗偨乽彈傌偰傫巘僟儕儔乿偲偦偺柡乽彈偄偐偝傑巘僓僀僫僽乿偼丄帺暘偨偪偲摨偠傛偆側偛傠偮偒偑挜梡偝傟偨偙偲偵幑搃偟丄偝傜側傞岟柤傪偁偘傛偆偲婇傫偩丅 +傑偢僟儕儔偼丄嬤塹戉挿乽奨偺壭偄儉僗僞僼傽乿偺壆晘偵偄偔丅偦偺壠偵偼庒嵢偑偍傝丄偪傚偆偳巕嫙偑偱偒側偄偙偲偵偮偄偰晇晈寲壾傪偟偨捈屻偱偁偭偨丅僟儕儔偼夰擠偵岟摽偑偁傞挿榁傪徯夘偡傞偲偄偄丄彈傪楢傟弌偡丅巗応偵偝偟偐偐傞偲丄庒偄彜恖偑彈偵怓栚傪巊偭偰偄傞偺偱丄偁傟偼帺暘偺柡偱寢崶憡庤傪扵偟偰偄傞偲尵偭偰丄偙傟傕楢傟弌偡丅巗応偺偼偢傟丄椉搧巊偄偺愼暔壆偺揦曑偵偮偔偲丄傆偨傝傪柡偲懅巕偱偁傞偲偄偮傢傝丄偡偗傋怱傪巋寖偟偰壆晘偺峀娫傪庁傝偆偗傞丅愼暔壆偺壆晘偵擖傞偲丄尵梩偨偔傒偵庒幰傜傪娵偼偩偐偵偝偣丄嵿晍傗憰忺昳傪扗偆丅偝傜偵愼暔壆偺揦傊傕偳傝丄帺暘偑揦斣傪偡傞偺偱壠偵偄傞傆偨傝偺憡庤傪偡傞傛偆偵尵偭偰庡恖傪捛偄暐偆偲丄揦偠傘偆偺嵿嶻偵庤傪偮偗偨丅偦偟偰閱攏傂偒傪屇傃巭傔丄愼暔壆偼攋嶻偟偨偺偱嵿嶻傪傂偒偁偘傞丄偮偄偰偼閱攏傪戄偟偰偔傟丄偦偟偰偍慜偼庁嬥偲傝偑偔傞慜偵揦偺傕偺傪偡傋偰懪偪夡偟偰偔傟偲棅傒丄偦偺傑傑巔傪偔傜傑偟偨丅 +師偵僟儕儔偼丄彜恖慻崌憤戙偺壆晘偵峴偔丅偪傚偆偳柡偺寢擺幃偺擔偱壠偼偛偭偨偑偊偟偰偍傝丄幾杺側梒偄掜偑彈搝楆偵偁偢偗傜傟偰偄偨丅僟儕儔偼丄巕嫙偺柺搢傪傒偰偄傞偐傜婌幪偺怽弌傪庢傝師偄偱偔傟偲尵偭偰掜傪桿夳偟丄恎偖傞傒傪偼偄偱彜攧揋偺儐僟儎恖偺揦偵楢傟崬傒丄恎暱傪幙偵愮僨傿僫乕儖憡摍偺曮暔傪嵓庢偡傞丅 +旐奞幰偨偪偺偆偪丄愭偵榁攌傪偲傜偊偨偺偼閱攏傂偒偱偁傞丅傑偢彴壆僴僢僕丒儅僗乕僪偺壠偵傂偭偨偰傞偑丄僟儕儔偼閱攏傂偒偼婥偑嫸偭偰偄偰乽閱攏傪偐偊偣乿偲傢傔偒偨偰傞偺偩丄帯椕偡傞偵偼墱帟傪敳偄偰偙傔偐傒傪從偔偟偐側偄丄偲偄偄偔傞傔丄偁傢傟閱攏傂偒偼彴壆偺庤偱偦偺偲偍傝偵偝傟偰偟傑偭偨丅閱攏傂偒偼側偍傕幏擮怺偔榁攌傪扵偟偰嵞搙偮偐傑偊丄崱搙偼彜恖偨偪偲偲傕偵曭峴偺壆晘偵岇憲偡傞丅偟偐偟僟儕儔偼曭峴偺嵢偵庢傝擖傝丄屲恖偼曭峴偑攦偭偨敀恖搝楆偩偲尵偭偰丄戙嬥傪偣偟傔偰摝憱偟偨丅 +師偺擔榖傪暦偄偨曭峴偼丄乽奨偺壭偄乿偐傜偺慽偊傕偁偭偨偨傔丄榁攌傪曔傑偊傞傛偆屲恖偵巜帵丅傑偨傕閱攏傂偒偑尒偮偗偰楢峴偡傞偲丄曭峴偼忛奜偵峐傪懪偭偰榁攌傪偮側偓丄堦斢拞尒挘偭偰偍偔傛偆偵偄偄偮偗傞丅偲偙傠偑屲恖偼栭拞怮擖偭偰偟傑偄丄偦偙傊戝偺娒搣偺儀僪僂傿儞恖偑捠傝偐偐傞丅僟儕儔偼丄壻巕壆偲鎦偄傪偍偙偟偨偨傔偵梻擔娒偄傕偺傪廫嶮傕怘傢側偗傟偽側傜側偄偺偩偲儀僪僂傿儞恖傪偩傑偟丄恎戙傢傝偵偝偣偰摝偘偰偟傑偭偨丅 +偙偙偵帄偭偰堦楢偺帠審偼嫵墹偵曬崘偝傟傞丅嫵墹偼乽夐偺傾僼儅乕僪乿偵曔敍傪柦偢傞偑丄庤暱傪傂偲傝偠傔偵偟傛偆偲偟偨傾僼儅乕僪偼乽儁僗僩偺僴僒儞乿偺嫤椡傪媮傔偢丄晹壓偺乽閜閗偺攚偺傾僀儐乕僽乿傪愭摢偵棫偰偰憑嵏偵偁偨偭偨丅偟偐偟傾僀儐乕僽傪偼偠傔傾僼儅乕僪傜偼乽彈偄偐偝傑巘僓僀僫僽乿偺庤偵偐偐偭偰悋柊栻傪傕傜傟丄慡堳恎偖傞傒傪偼偑偝傟偰偟傑偆丅嫵墹偼偙傟傪抦傞偲丄僴僒儞偵楢峴傪柦偢傞丅僴僒儞偼丄斵彈傜偑庤偵擖傟偨嵿暔傪帩偪庡偵曉偣偽嵾偵栤傢側偄栺懇傪嫵墹偵偲傝偮偗丄僟儕儔傪嫵墹偺慜偵楢傟弌偟偨丅帠審偺摦婡傪暦偔偲丄嫵墹偼僟儕儔傪朣晝偑偮偄偰偄偨數偺娗棟栶偺怑偵偮偗丄懠偵巐廫恖偺崟恖偲巐廫旵偺將偺巜婗尃傪梌偊偨丅 +僇僀儘偺揇朹乽悈嬧偺傾儕乿偼婥惏傜偟偵巗応偵弌偰丄悈偐偮偓偐傜悈傪攦偆丅擇攖傔傑偱幪偰偰嶰攖傔傪堸傒丄堦僨傿僫乕儖傪搉偟偨偑丄悈偐偮偓偼働僠偱偁傞偲尵偭偰搟傝弌偟偨丅傢偗傪暦偔偲師偺偲偍傝偱偁傞丅 +晝偺堚嶻傪庴偗宲偄偩悈偐偮偓偼丄怋嶻偟傛偆偲峫偊偰帒嬥傪廤傔丄僶僋僟乕僩傊峴彜偵弌偨丅偟偐偟僶僋僟乕僪偱偼嬥傪弌偟偰悈傪攦偆廗姷偼側偔丄傑偭偨偔攧傟側偄丅崲偭偰偄傞偲乽夐偺傾僼儅乕僪乿偑偁傜傢傟丄摨嫿偺悈偐偮偓傪夰偐偟傫偱悈傪強朷偟丄擇攖傔傑偱幪偰偰嶰攖傔傪堸傒丄屲僨傿僫乕儖傪梌偊偨丅巗応偺傂偲傃偲偼傾僼儅乕僪偲摨條偵悈傪攦偄丄堦僨傿僫乕儖偢偮巟暐偭偨偨傔丄偨偪傑偪愮僨傿僫乕儖偺傕偆偗偲側傞丅廩暘偲側偭偨偨傔楃傪尵偭偰婣嫿偟傛偆偲偡傞偲丄傾僼儅乕僪偼乽悈嬧偺傾儕乿埗偺庤巻傪悈偐偮偓偵戸偟偨丅 +恎暘傪偁偐偟偰庤巻傪庴偗庢傞偲丄庤巻偺撪梕偼傾儕傪僶僋僟乕僪傊彽偔傕偺偱偁傞丅傾儕偼巕暘傪巆偟偰僶僋僟乕僪傊弌偨丅 +乽夐偺傾僼儅乕僪乿偑乽悈嬧偺傾儕乿傪屇傃婑偣偨偙偲傪抦傞偲丄乽彈偄偐偝傑巘僓僀僫僽乿偼怓偠偐偗偱偙傟傪偩傑偟偰婱懓偺壆晘偺堜屗偵暵偠崬傔傞丅傾儕偼婱懓偺壠恖偺庤偱媬彆偝傟偨偑丄偙偺帠審偵傛偭偰傾儕偼僓僀僫僽傪楒偟偰偟傑偭偨丅憡択偝傟偨僴僒儞偼傾儕偵抦宐傪偝偢偗丄崟恖偺巔偵曄憰偝偣偰僟儕儔偺壠偺崟恖椏棟恖偵愙怗偝偣傞丅椏棟恖傪悓傢偣偰忣曬傪擖庤偡傞偲丄傾儕偼僟儕儔偺壠偺偡傋偰偺壠恖偵柊傝栻傪惙偭偰柊傜偣丄恎偖傞傒傪偼偓丄巐廫塇偺數傪搻傒弌偟偨丅栚偑妎傔偨僟儕儔偑僴僒儞傪朘偹傞偲丄數傪曉偡戙傢傝偵傾儕偲僓僀僫僽偺寢崶傪嫋壜偡傞傛偆偵帩偪偐偗傞丅僟儕儔偼丄帺暘偵堎榑偼側偄偑丄僓僀僫僽偺朄揑側屻尒恖偱偁傞僟儕儔偺掜丄揤傉傜壆僝儔僀僋偺嫋壜偑昁梫偱偁傞偲偄偆丅僝儔僀僋偼傕偲搻懐偩偭偨抝偱丄揦愭偵愮僨傿僫乕儖偺嵿晍傪捿傝壓偘偰搻傒偺挧愴幰傪曞偭偰偼丄嵿晍偺愭偵寢傃偮偄偨忇偑柭傞偲愇釯傪曻偪丄傂偳偄栚偵偁傢偣偰偄傞丅 +傾儕偼傑偢擠晈偵曄憰偟偰嵿晍傪搻傕偆偲偡傞偑丄婥偯偐傟偰幐攕偡傞丅師偵攏挌偵曄憰偡傞偑嵞搙幐攕丅嶰搙栚偼幹巊偄偵偽偗傞偑丄偙傟傕婥偯偐傟偰偟傑偆丅偟偐偟傾儕偺偟偮偙偝傪寈夲偟偨僝儔僀僋偑丄嵿晍傪壠偵帩偪婣傝嵢偵柦偠偰戜強偵杽傔偝偣傞偲丄僝儔僀僋傪偮偗偰堦晹巒廔傪傒偰偄偨傾儕偼丄嵿晍傪孈傝弌偟偰搻傓偙偲偵惉岟偟偨丅偡偖偵婥偯偄偨僝儔僀僋偼僴僒儞偺壠偵愭夞傝偟丄傾儕偑婣偭偰偔傞偲僴僒儞偵側傝偡傑偟偰嵿晍傪庴偗庢偭偰摝憱偡傞丅傾儕傕偡偖偵婥偯偒丄僝儔僀僋偺壠偵偲偭偰曉偟偰嵢巕傪敍傝丄嵢偺傆傝傪偟偰嵿晍傪庴偗庢傝丄偲偆偲偆擖庤偵惉岟偟偨丅嵿晍偲傂偒偐偊偵寢崶偺嫋壜傪媮傔傜傟偨僝儔僀僋偼丄崶帒偲偟偰儐僟儎恖傾僓乕儕傾偺柡僇儅乕儕傾偺丄嬥偺堖丄姤丄懷丄孋傪梫媮偡傞丅偟偐偟儐僟儎恖傾僓乕儕傾偼偍偦傠偟偄杺朄巊偄偱丄嬥偺堖側偳傪扗偭偨傕偺偵偼僇儅乕儕傾偲偺寢崶傪嫋壜偟傛偆偲尵偭偰偼丄嬤婑偭偰偔傞桬幰傜傪摦暔偺巔偵曄偊偰偄傞偺偱偁傞丅 +傾儕偼扨搧捈擖偵傾僓乕儕傾偵帠忣傪榖偟丄忳偭偰傕傜偆傛偆怽偟擖傟傞偑丄杺朄巊偄偼傾儕傪閱攏偵曄偊丄悈攧傝偵攧偭偰偟傑偭偨丅攧傝愭偱憶摦傪婲偙偟偨傾儕偺閱攏偑栠偭偰偔傞偲丄崱搙偼孎偺巔偵曄偊丄孎偺擏傪媮傔傞抝偵攧傞丅搄嶦偝傟偦偆側偲偙傠傪摝偘弌偟偨傾儕偺孎偑傑偨栠偭偰偔傞偲丄傾僓乕儕傾偼僇儅乕儕傾傪棫偪夛傢偣偰將偵曄偊傞丅偩偑偙偺偲偒丄堦弖恖娫偵傕偳偭偨傾儕偺巔傪尒偨僇儅乕儕傾偼丄堦栚偱楒偵棊偪偰偟傑偭偨偺偱偁傞丅 +傾儕偺將偼恊愗側崪摕壆偵廍傢傟傞偑丄崪摕壆偺柡偼傾儕偑恖娫偱偁傞偙偲傪尒敳偄偨丅偙偺壠偵偄傞彈搝楆偺傂偲傝偑偐偮偰傾僓乕儕傾偵巇偊偰偍傝丄梔弍傪廗摼偟偰柡偵傕揱偊偰偄偨偺偱偁傞丅柡偲彈搝楆偼丄帺暘偨偪偲寢崶偡傞偙偲傪忦審偵丄傾儕傪恖娫偺巔偵傕偳偡丅偡傞偲偦偙傊僇儅乕儕傾偑丄傾僓乕儕傾偺惗庱傪傕偭偰偁傜傢傟傞丅僇儅乕儕傾偼傾儕傊偺垽偐傜丄夞嫵搆偵夵廆偟丄偦偺徹偲偟偰杺朄巊偄偺庱傪偲偭偰偒偨偺偩丅傾儕偼僇儅乕儕傾傕嵢偲偟丄傑偨丄僓僀僫僽傪朄偱嫋偝傟偨巐恖傔偺嵢偲偡傞偨傔丄僟儕儔偺壠偵岦偐偆丅 +偙偆偟偰傾儕偼傇偠偵巐恖偺嵢傪摼偨丅傾僼儅乕僪偐傜傾儕傪徯夘偝傟偨嫵墹偼丄斵傪傾僼儅乕僪傗僴僒儞偲摨摍偺埵抲偵偮偗傞丅傾儕偼巕暘偨偪傪僶僋僟乕僪偵屇傃婑偣丄嫵墹偺嫋壜傪摼偰寈棛偺怑偵偮偗偨丅 +嫏巘僕僁僨儖偺暔岅傑偨偼杺朄偺戃乮戞465栭 - 戞487栭乯 [曇廤] + +僶乕僩儞斉乽僕儏僟儖偲偦偺孼(戞607栭乚戞624栭)乿 +搶梞暥屔斉乽彜恖僂儅儖偲嶰恖偺懅巕丄僒乕儕儉偲僒儕乕儉偲僕儍僂僟儖偺暔岅(戞607栭乚戞624栭)乿 +愄丄僄僕僾僩偺僇僀儘偱僆儅乕儖偲偄偆柤偺彜恖偑朣偔側傝丄堚尵偵廬偄堚嶻偼嵢偲挿抝僒乕儗儉丄師抝僒儕乕儉丄嶰抝僕僁僨儖偺4恖偱4摍暘偝傟偨偑丄僒乕儗儉偲僒儕乕儉偼丄怱桪偟偄僕僁僨儖偑椉恊偐傜壜垽偑傜傟偰偄偨偙偲傪崷傒偵巚偄丄僕僁僨儖偺暘傪庢傠偆偲嵸敾傪孞傝曉偟婲偙偟偨偨傔丄3恖偺嵿嶻偼慽徸旓梡偱側偔側偭偰偟傑偭偨丅崲偭偨僒乕儗儉偲僒儕乕儉偼曣傪閤偟丄曣偑庴偗庢偭偨堚嶻傪墶庢傝偟偨偑丄偡偖偵巊偄壥偨偟丄岊怘偵側偭偰偟傑偭偨丅僕僁僨儖偼曣傪堷偒庢傝嫏巘傪偟偰惗妶傪棫偰偰偄偨偑丄岊怘偵側偭偨僒乕儗儉偲僒儕乕儉偑曣傪棅偭偰棃偨偨傔丄僕僁僨儖偼夣偔僒乕儗儉偲僒儕乕儉偺柺搢傕傒傞偙偲偵偟偨偑丄僒乕儗儉偲僒儕乕儉偼摥偐側偄傑傑偩偭偨丅 +偁傞擔丄壗搙栐傪懪偭偰傕嫑偑堦旵傕妉傟側偐偭偨偺偱丄僷儞壆偐傜屻暐偄偱僷儞傪攦偭偨偑丄偦偺師偺擔傕師偺擔傕晄嫏偱丄僷儞壆偐傜屻暐偄偱僷儞傪攦偆擔偑7擔懕偄偨丅8擔栚嫏応傪曄偊丄僇乕儖乕儞屛偵峴偔偲丄柲閫攏偵忔偭偨棫攈側恎側傝傪偟偨儅僌儕僽恖乮傾僼儕僇恖丄儌儘僢僐恖乯偑僕僁僨儖偺柤傪屇傃丄乽椉庤傪昍偱敍傝丄屛偵搳偘崬傒丄傕偟巰傫偩傜柲閫攏傪巗応偺僔儍儅儎乕傾偲偄偆儐僟儎恖偵搉偟100僨傿僫乕儖傪庴偗庢偭偰梸偟偄乿偲棅傫偩丅僕僁僨儖偑抝傪屛偵搳偘傞偲丄抝偼揗傟巰偵丄僕僁僨儖偼柲閫攏傪巗応偺儐僟儎恖偵搉偟丄100僨傿僫乕儖庴偗庢偭偨丅僕僁僨儖偼1僨傿僫乕儖偱僷儞壆偺偮偗傪暐偄丄擏壆偲栰嵷壆偵1僨傿僫乕儖偢偮暐偄丄廫暘側怘椏傪摼丄巆傝偺嬥偼曣偵梐偗偨丅師偺擔傕僇乕儖乕儞屛偵峴偔偲丄摨偠傛偆側婄偱傕偭偲棫攈側恎側傝偺儅僌儕僽恖偑偄偰丄摨偠偙偲傪棅傒丄揗傟巰傫偩偺偱丄僕僁僨儖偼摨偠偔100僨傿僫乕儖傪巗応偺儐僟儎恖偐傜庴偗偲偭偨丅 +偦偺師偺擔丄僇乕儖乕儞屛偵峴偔偲丄摨偠傛偆側婄偱峏偵棫攈側恎側傝偺儅僌儕僽恖偑偄偰丄摨偠偙偲傪棅傫偩偑丄崱搙偼2旵偺愒偄嫑傪曔傑偊丄惗偒偰屛偺掙偐傜婣傝丄2旵偺嫑傪時偵擖傟偨丅抝偺柤偼傾僽僪丒傾儖丒僒儅僪偲尵偄丄慜偵巰傫偩2恖偼傾僽僪丒傾儖丒僒儔乕儉偲傾僽僪丒傾儖丒傾僴僪偲尵偄丄巗応偺儐僟儎恖偼幚偼夞嫵搆偱傾僽僪丒傾儖丒儔僸乕儉偲尵偄丄4恖偼孼掜偱偁偭偨丅4恖偺晝偼傾僽僪丒傾儖丒儚僪僁僪偲偄偆戝杺弍巘偱丄敎戝側堚嶻傪巆偟巰傫偩偑丄4恖偱堚嶻傪4摍暘偡傞側偐丄堚嶻偺拞偺乽屆恖楍揱乿偲偄偆杺朄彂傪扤偑憡懕偡傞偐偱堄尒偑暘偐傟偨丅乽屆恖楍揱乿偵偼丄偁傜備傞抧拞偺曮偺惓妋側忣曬偲丄恄旈偺婰崋偺撲偑彂偐傟偰偄偰丄晝偺椡偺尮偲側偭偨傕偺偱偁偭偨丅偦偙偵乽怺抦偺僐乕僿儞乿偲偄偆晝偺巘偑拠嵸偵棃偰丄乽傾儖丒僔儍儅儖僟儖偺旈曮乿傪帩偭偰棃偨傕偺偑乽屆恖楍揱乿傪憡懕偡傞偲偄偆偙偲偵側偭偨丅傾儖丒僔儍儅儖僟儖偺旈曮偲偼丄屆偺戝杺弍巘傾儖丒僔儍儅儖僟儖偺曟偵柊傞4偮偺旈曮偱丄杺恄乽崒偔棆揹乿傪晻偠偨報帲丄堦怳傝偱戝孯傪寕攋偡傞寱丄悽奅拞偳偙偱傕尒偨傝攋夡偟偨傝偡傞偙偲偑偱偒傞揤媴媀丄豳偵揾傟偽抧拞偺曮偑尒偊傞豳杗偺偙偲偱偁偭偨丅傾儖丒僔儍儅儖僟儖偺旈曮偼乽峠墹乿偺2恖偺墹巕偵庣傜傟偰偍傝丄偦偺墹巕偨偪偼嫑偺巔傪偟偰僇乕儖乕儞屛偵偍傝丄曔傑偊傞偵偼僕僁僨儖丒儀儞丒僆儅乕儖偲偄偆嫏巘偵椉庤傪敍傜傟屛偵搳偘崬傑傟側偗傟偽側傜側偄偲偄偆傕偺偱偁偭偨丅偝傜偵丄傾儖丒僔儍儅儖僟儖偺曟偼儅僌儕僽偺抧偺僼傽乕僗偲儈僋僫乕僗偺嬤偔偵偁傝丄偦傟傪奐偗傞偵偼僕僁僨儖偺椡偑昁梫偱偁偭偨丅傾僽僪丒傾儖丒僒儅僪偼僕僁僨儖偵嫤椡傪梫惪偟丄僕僁僨儖偼曣偺偨傔偵1000僨傿僫乕儖傪傕傜偆偙偲偱嫤椡偡傞偙偲偵偟偨丅僕僁僨儖偼曣偵1000僨傿僫乕儖梐偗偰丄椃偵弌敪偟偨丅 +傾僽僪丒傾儖丒僒儅僪偲僕僁僨儖偼1擔偱1擭暘偺嫍棧傪曕偔杺恄偺柲閫攏偵忔偭偰椃傪偟丄偳傫側偛抷憱傕弌偰偔傞杺朄偺戃傪巊偄怘帠傪偟丄5擔屻偵偼僼傽乕僗偲儈僋僫乕僗偺挰偺傾僽僪丒傾儖丒僒儅僪偺娰偵拝偄偨丅娰偵偼儔儅僴乕偲偄偆傾僽僪丒傾儖丒僒儅僪偺柡偑偄偰寎偊偰偔傟偨丅 +娰偵拝偄偰21擔栚丄愯偄偵傛傝傾儖丒僔儍儅儖僟儖偺旈曮傪奐偔傋偒擔偲側偭偨偺偱丄傾僽僪丒傾儖丒僒儅僪偲僕僁僨儖偼偁傞愳偺傎偲傝偵峴偒丄傾僽僪丒傾儖丒僒儅僪偑嵳抎傪嶌傝時偺拞偺2旵偺嫑偵庺暥傪彞偊傞偲丄2旵偺嫑偼2恖偺杺恄偲側傝丄2恖偺杺恄偼僇僀儘偺嫏巘僕僁僨儖偑偄傟偽旈曮傪奐偔偲尵偄丄僕僁僨儖偑柤忔傞偲2恖偺杺恄偼徚偊偨丅傾僽僪丒傾儖丒僒儅僪偑庺暥傪彞偊傞偲丄愳偺悈偑側偔側傝丄栧偑尰傟偨丅傾僽僪丒傾儖丒僒儅僪偼僕僁僨儖偵師偺傛偆偵旈曮偺奐偗曽傪嫵偊偨丅 +乽愳掙偺栧傪偨偨偔偲寱巑偑尰傟丄師偺栧偵偼憚傪帩偭偨婻巑丄戞3偺栧偵偼幩庤丄戞4偺栧偵偼儔僀僆儞丄戞5偺栧偵偼崟恖丄戞6偺栧偵偼2旵偺棿偑偦傟偧傟尰傟僕僁僨儖傪嶦偦偆偲偡傞偑丄偄偢傟傕尪偱丄傂傞傑側偗傟偽嶦偝傟傞偙偲偼側偔尪偼徚偊傞丅戞7偺栧偵偼僕僁僨儖偺曣偑尰傟傞偑丄偦傟偵暈傪扙偖傛偆偵尵偭偰嫼偟丄慡晹扙偑偣傟偽尪偼徚偊戞7偺栧偑奐偔丅拞偵偼懡検偺嵿曮偑偁傞偑丄偦傟傜偵偼怗偭偰偼偄偗側偄丅墱偵戝杺弍巘傾儖丒僔儍儅儖僟儖偺堚奫偑偁傝丄偦偺夞傝偵4偮偺旈曮偑偁傞偺偱丄偦傟傪帩偭偰婣偭偰偒側偝偄丅乿 +僕僁僨儖偼戞6偺栧傑偱偼巜帵捠傝峴偭偨偑丄戞7偺栧偱曣偑媰偄偰崸婅偟偨偺偱丄壓拝傪扙偑側偔偰傕椙偄偲尵偭偰偟傑偆偲丄杺恄偨偪偑尰傟僕僁僨儖傪墸傝丄栧偺奜偵捛偄傗偭偰偟傑偭偨丅傾僽僪丒傾儖丒僒儅僪偼昺巰偺僕僁僨儖彆偗偨偑丄傾儖丒僔儍儅儖僟儖偺旈曮傪奐偗傞偺偼1擭懸偨側偗傟偽側傜側偔側偭偰偟傑偭偨丅 +師偺擭丄僕僁僨儖偼巜帵捠傝偵峴偄丄4偮偺旈曮傪帩偭偰婣偭偰棃偰丄旈曮傪傾僽僪丒傾儖丒僒儅僪偵搉偟偨丅傾僽僪丒傾儖丒僒儅僪偼僕僁僨儖偵偍楃偵壗偑梸偟偄偐恞偹偨偲偙傠丄僕僁僨儖偼偳傫側偛抷憱偱傕弌傞杺朄偺戃傪朷傫偩丅傾僽僪丒傾儖丒僒儅僪偼丄杺朄偺戃偱偼嬻暊偼枮偨偣偰傕晉傓偙偲偼偱偒側偄偲尵偄丄杺朄偺戃偺懠偵曮愇偲嬥傪堦攖媗傔崬傫偩戃傪僕僁僨儖偵搉偟偨丅僕僁僨儖偼杺恄偺柲閫攏偵忔傝丄1擔偱僇僀儘偵婣偭偨丅 +僕僁僨儖偑婣傞偲曣偼岊怘傪偟偰偍傝丄暦偔偲嬥偼慡晹孼偺僒乕儗儉偲僒儕乕儉偵庢傜傟偰偟傑偭偰偄偨丅僕僁僨儖偼杺朄偺戃偱崑壺側偛抷憱傪弌偟丄曣偺嬻暊傪枮偨偟偰偁偘偨丅偦偙偵僒乕儗儉偲僒儕乕儉偑尰傟丄僕僁僨儖偼2恖傪夣偔寎偊丄戲嶳偺偛抷憱傪弌偟偰傕偰側偟丄巆偭偨椏棟偼嬤強偺岊怘偵暘偗梌偊偨丅偙偺傛偆偵10擔娫偑夁偓偨偑丄僒乕儗儉偲僒儕乕儉偼僕僁僨儖偺偙偲傪搃傒丄僕僁僨儖偵廝偄妡偐傝敍傝偮偗偰丄僗僄僘偺慏偺慏挿偵搝楆偲偟偰攧傝旘偽偟偰偟傑偭偨丅 +僒乕儗儉偲僒儕乕儉偼僕僁僨儖偺曮愇偲嬥偺戃傪嶳暘偗偟偨偑丄杺朄偺戃傪偳偪傜偑庢傞偐偱憟偄偵側傝丄戝惡偱攍傝崌偭偨偺偱丄嬤強偺恖偵慡偰偺帠幚偑揱傢偭偰偟傑偭偨丅榖傪暦偄偨僔儍儉僗丒傾儖丒僟僂儔乕墹偼2恖偼楽偵擖傟丄杺朄偺戃偲曮愇偲嬥傪庢傝忋偘丄僕僁僨儖偺曣偵偼擔乆偺惗妶旓傪梌偊偨丅 +僕僁僨儖偑慏憜偓偺搝楆偲偟偰1擭夁偓偨偲偒丄慏偼擄攋偟丄僕僁僨儖偩偗偑惗偒巆偭偨丅僕僁僨儖偼僕僃僢僟惗傑傟偺彜恖偲弌夛偄丄僕僃僢僟偱偦偺彜恖偵偮偐偊偰惗妶偟偨丅偁傞偲偒丄偦偺彜恖偼僕僁僨儖傪楢傟偰儊僢僇傊弰楃偺椃偵弌偨偑丄僕僁僨儖偼儊僢僇偱傾僽僪丒傾儖丒僒儅僪偵嵞夛偟偨丅僕僁僨儖偼僕僃僢僟偺彜恖偵暿傟傪崘偘丄镾暿偲偟偰彜恖偐傜傕傜偭偨20僨傿僫乕儖傪捠傝偐偐偭偨岊怘偵梌偊丄傾僽僪丒傾儖丒僒儅僪偲偲傕偵弰楃偺嶲攓偺懕偒傪峴偭偨丅弰楃偺嶲攓傪廔偊偨偲偒丄傾僽僪丒傾儖丒僒儅僪偼杺恄乽崒偔棆揹乿傪晻偠偨報帲傪僕僁僨儖偵梌偊偨丅僕僁僨儖偼報帲傪巜偵偼傔丄巜椫傪嶤偭偰杺恄乽崒偔棆揹乿傪屇傃弌偟丄偦傟偵忔偭偰僇僀儘偵婣偭偨丅 +僕僁僨儖偼曣偵嵞夛偟丄杺恄乽崒偔棆揹乿偵柦偠偰丄2恖偺孼傪楽偐傜彆偗弌偟丄杺朄偺戃偲曮愇偲嬥傪庢傝栠偟丄偝傜偵崙墹偺嵿曮傪慡晹搻傒丄崙墹偺媨揳傪忋夞傞戝媨揳傪堦栭偵偟偰憿傜偣丄帺恎偲丄曣丄僒乕儗儉偲僒儕乕儉傪廧傑傢偣偨丅墹偼嬃偒丄僆僩儅儞偲偄偆婱懓傪僕僁僨儖偺媨揳偵尛傢偡偑丄栧斣傪偟偰偄偨乽崒偔棆揹乿偵捛偄曉偝傟偰偟傑偭偨丅墹偼暫傪憲傞偑乽崒偔棆揹乿偵寕戅偝傟偰偟傑偭偨丅偦偙偱墹偼憤棟戝恇傪尛傢偡偑丄僕僁僨儖偼憤棟戝恇偵墹帺恎偑棃傞傛偆偵尵偄偮偗偨丅墹帺恎偑棃傞偲丄僕僁僨儖偼杺朄偺戃偲曮愇偲嬥傪庢偭偨偙偲傪愑傔偨偺偱丄墹偼幱傝丄僕僁僨儖偼墹傪嫋偟偨丅墹偼僕僁僨儖偺椡傪偍偦傟丄柡傪寢崶偝偣傞偙偲偵偟丄僕僁僨儖傪墹媨偵彽偔偲丄僕僁僨儖偼僄儖丒僙僢僩丒傾僕傾乕墹彈偺旤偟偝偵楒偵棊偪偰偟傑偄丄寢崶偟丄墹偲挿偔拠椙偔曢傜偟偨丅墹偑巰偸偲僕僁僨儖偼墹偵懄埵偟偨丅 +僕僁僨儖偼僒乕儗儉偲僒儕乕儉傪戝恇偵擟柦偟偨偑丄1擭偡傞偲丄僒乕儗儉偲僒儕乕儉偼僕僁僨儖傪搃傒丄僕僁僨儖傪撆嶦偟偨丅報帲傪庤偵擖傟偨僒乕儗儉偼杺恄乽崒偔棆揹乿偵柦偠僒儕乕儉傪嶦偟丄墹偲側偭偨丅僒乕儗儉偼丄僄儖丒僙僢僩丒傾僕傾乕墹斳偵栚傪偮偗丄晇傪幐偭偰4偐寧偲10擔嵞崶偟偰偼側傜側偄僀僗儔儉偺嫵偊偵攚偄偰丄僄儖丒僙僢僩丒傾僕傾乕偲寢崶偟偨丅僄儖丒僙僢僩丒傾僕傾乕偼弶栭偵僒乕儗儉偵撆偺擖偭偨堸傒暔傪姪傔丄撆嶦偟丄乽崒偔棆揹乿偺報帲傪埆梡偝傟側偄傛偆偵暡乆偵攋夡偟偨丅 +傾僽乕丒僉乕儖偲傾僽乕丒僔乕儖偺暔岅乮戞487栭 - 戞501栭乯 [曇廤] + +僶乕僩儞斉乽嵁壆偺傾僽丒僉儖偲彴壆偺傾僽丒僔儖(戞930栭乚戞940栭)乿 +僶乕僩儞斉乽愼傔暔壆傾僽乕丒僉乕儖偲彴壆傾僽乕丒僔乕儖偺暔岅(戞930栭乚戞940栭)乿 +愄丄傾儖丒僀僗僇儞僟儕傾乮傾儗僉僒儞僪儕傾乯偵愼暔壆偺傾僽乕丒僉乕儖偲彴壆偺傾僽乕丒僔乕儖偲偄偆幰偑偄偨丅傾僽乕丒僉乕儖偼愼暔偺巇帠傪婜擔捠傝偵偟側偐偭偨傝丄媞偐傜梐偐偭偨惗抧傪攧傝旘偽偟偨傝偟偨偺偱丄扤偐傜傕怣梡偝傟側偔側偭偰偄偨丅彴壆偺傾僽乕丒僔乕儖偼丄怘偆偵崲偭偨傾僽乕丒僉乕儖偺柺搢傪尒偰偄偨偑丄偦傕偦傕彴壆偱偼廂擖偑彮側偄偺偱丄媷朢偟偰偄偨丅偦偙偱丄2恖偼怴偟偄搚抧傪傔偞偟丄慏偵忔偭偰椃偵弌偨丅 +2恖偼怘椏傪帩偨偢偵慏偵忔偭偨偑丄忔媞偑140恖偺戝偒側慏偩偭偨偺偱丄彴壆偺傾僽乕丒僔乕儖偑慏忋偱彴壆傪巒傔丄戙嬥偺姺傢傝偵怘椏傪傕傜偭偨偺偱丄戲嶳偺怘椏偑庤偵擖偭偨丅彴壆偺傾僽乕丒僔乕儖偼慏挿偺摢傕掍偭偰偁偘偨偺偱2恖偼慏挿偐傜梉怘偵桿傢傟偨偑丄愼暔壆偺傾僽乕丒僉乕儖偼晹壆偵巆傝丄彴壆偺傾僽乕丒僔乕儖偑擖庤偟偨怘椏傪堦恖偱慡晹怘傋偰偟傑偭偨丅梻擔傕偦偺師偺擔傕丄彴壆偺傾僽乕丒僔乕儖偼慏忋偱彴壆傪偟偰怘椏傪擖庤偟丄慏挿偵梉怘偵屇偽傟丄偦偺娫丄愼暔壆偺傾僽乕丒僉乕儖偑怘椏傪慡晹怘傋偰偟傑偆偲偄偆偙偲偑懕偄偨丅 +慏偵忔偭偰21擔栚偵慏偼峘偵擖傝丄2恖偼慏偐傜崀傝丄廻壆偵擖偭偨丅彴壆偺傾僽乕丒僔乕儖偼憗懍業揤偱彴壆傪巒傔丄偦偺擔偺壱偓偱怘椏傪攦偄丄2恖偱怘傋偨偑丄愼暔壆偺傾僽乕丒僉乕儖偼壗傕偣偢丄廻壆偱怮偰偄傞偩偗偱偁偭偨丅偙偺傛偆偵40擔夁偓偨偲偒丄彴壆偺傾僽乕丒僔乕儖偼昦婥偵側偭偰怮崬傫偱偟傑偭偨偑丄愼暔壆偺傾僽乕丒僉乕儖偼怘帠傪梡堄偡傞恖偑偄側偔側偭偨偺偱丄怮崬傫偱偄傞彴壆偺傾僽乕丒僔乕儖偐傜嬥傪庢傝忋偘丄廻壆傪弌偰峴偭偰偟傑偭偨丅 +愼暔壆偺傾僽乕丒僉乕儖偼丄彴壆偺傾僽乕丒僔乕儖偐傜庢偭偨嬥偱堸傒怘偄偟挰傪曕偒夞偭偨偑丄挰偺恖偺暈偑惵偺愼暔偟偐側偄偙偲偵婥晅偒丄傑偨丄挰偺愼暔壆偺憡応偑丄傾儖丒僀僗僇儞僟儕傾偱偼敿僪儔僋儉掱搙偺巇帠偑20僪儔僋儉傕偡傞偙偲傪抦偭偨丅愼暔壆偺傾僽乕丒僉乕儖偼丄挰偺墹偵偄傠偄傠側怓偱愼怓偱偒傞愼暔岺応傪嶌傞偙偲傪恑尵偟丄偦偺偨傔偵帒嬥墖彆傪婅偄弌偨偲偙傠丄墹偼嫋壜偟偨丅傾僽乕丒僉乕儖偺愼暔岺応偱偱偒傞怓偲傝偳傝偺晍抧偵墹偼戝曄婌傃丄戲嶳偺朖旤傪梌偊偨丅傾僽乕丒僉乕儖偺愼暔壆偼戝曄斏惙偟丄挰堦斣偺嬥帩偪偵側偭偨丅 +堦曽丄彴壆偺傾僽乕丒僔乕儖偼丄嬥傪慡晹庢傜傟偰丄昦婥偱廻壆偱怮偰偄偨偑丄廻壆偺栧斣偑婥偺撆偵巚偄傾僽乕丒僔乕儖偺旓梡傪暐偄娕昦偟偰偔傟偨偺偱丄2儠寧屻偵偼夞暅偟偰挰偵弌傜傟傞傛偆偵側偭偨丅挰偵弌傞偲丄愼暔壆偺傾僽乕丒僉乕儖偑戝嬥帩偪偵側偭偨榖傪暦偄偨偺偱丄夛偄偵峴偭偨偑丄愼暔壆傾僽乕丒僉乕儖偼彴壆傾僽乕丒僔乕儖偵夛偆側傝朹偱100夞偨偨偄偰捛偄曉偟偰偟傑偭偨丅彴壆偺傾僽乕丒僔乕儖偼媰偒側偑傜廻壆偵婣偭偨丅 +彴壆偺傾僽乕丒僔乕儖偼丄梻挬梺応(僴儞儅乕儉)偵峴偙偆偲偟偨偑丄挰偵梺応偑柍偄偙偲傪抦傝丄墹偵梺応偺棙揰傪愢偄偰丄梺応寶愝偺帒嬥採嫙傪婅偄弌偨偲偙傠丄墹偼嫋壜偟偨丅梺応偑弌棃忋偑傞偲丄傑偢墹偑擖梺偟丄偦偺怱抧傛偝偵姶寖偟偨丅墹偼擖梺椏偲偟偰愮僨傿僫乕儖暐偄丄懠偵傕戲嶳偺朖旤傪梌偊偨丅擖梺椏偼丄擖梺偟偨幰偺帒椡偲姲戝偝偵傛傝擖梺偟偨幰偑寛傔傞偙偲偵側偭偨丅墹偺屻偼婱懓偨偪偑擖梺偟丄傾僽乕丒僔乕儖偼懡妟偺擖梺椏偲朖旤傪傕傜偭偨丅師偺擔偐傜3擔娫偼柍椏偲偟丄戲嶳偺恖偑擖梺偟偨丅偝傜偵丄墹斳偑擖梺傪婓朷偟偨偺偱丄屵慜偼抝丄屵屻偼彈偺擖梺帪娫偲偟丄偝傜偵懡偔偺恖偑擖梺偟偨丅 +愼暔壆傾僽乕丒僉乕儖偼丄彴壆傾僽乕丒僔乕儖偺梺応偑戝斏惙偟戝嬥帩偪偵側偭偨偙偲傪暦偒丄擖梺偟偵棃偨丅彴壆傾僽乕丒僔乕儖偼朹偱100夞懪偨傟偨偙偲傪崷傒偵巚偭偰偄偨偑丄愼暔壆傾僽乕丒僉乕儖偑曎夝偡傞偲嫋偟偨丅愼暔壆傾僽乕丒僉乕儖偼偍榣傃偺報偲偟偰丄僸慺偲惗愇奃傪崿偤偰扙栄嵻傪嶌傞偙偲傪彴壆傾僽乕丒僔乕儖偵嫵偊偨偑丄偦偺懌偱墹偺偲偙傠偵峴偒丄彴壆傾僽乕丒僔乕儖偑僸慺偲惗愇奃偱墹傪撆嶦偟傛偆偲偟偰偄傞偲塕傪尵偭偨丅墹偼恀婾傪妋偐傔傞偨傔憤棟戝恇傪楢傟偰梺応偵峴偒擖梺偟偨偑丄彴壆偺傾僽乕丒僔乕儖偑扙栄嵻傪慐傔偨偺偱丄憤棟戝恇偵巊傢偣偨偲偙傠丄栄偑敳偗棊偪丄墹偼撆偩偲巚偄彴壆偺傾僽乕丒僔乕儖傪曔傑偊丄戃偵擖傟丄偦偺戃偵徚愇奃傪枮偨偟偰奀偵捑傔偰巰孻偵偡傞傛偆偵尵偭偨丅偟偐偟丄巰孻偵摉偨偭偨慏挿偑丄埲慜丄彴壆傾僽乕丒僔乕儖偺梺応傪嬥偺柍偄偲偒偵巊傢偣偰傕傜偭偨壎偑偁偭偨偺偱丄棧傟彫搰偵彴壆傾僽乕丒僔乕儖傪摻偄丄戃偩偗傪奀偵捑傔偨丅墹偼忛偺憢偐傜戃偑捑傓偺傪尒偰偄偨偑丄偦偺偲偒岆偭偰杺朄偺巜椫傪奀偵棊偲偟偰偟傑偭偨丅偦偺杺朄偺巜椫偼丄庤傪怳傞偲巜椫偐傜堫嵢偱偰丄慜偵偄傞幰偺庱傪檰偹傞偙偲偑偱偒傞偲偄偆傕偺偱偁偭偨丅 +彴壆偺傾僽乕丒僔乕儖偼棧傟彫搰偱掁傝傪偟偰嫑傪怘傋偰夁偛偟偨偑丄掁偭偨嫑偐傜墹偺側偔偟偨杺朄偺巜椫傪尒偮偗偨丅彴壆傾僽乕丒僔乕儖偼墹偵杺朄偺巜椫傪曉偟丄扙栄嵻偼愼暔壆傾僽乕丒僉乕儖偺嶔棯偩偭偨偙偲傪尵偄丄墹偺岆夝傪夝偄偨丅墹偼丄愼暔壆傾僽乕丒僉乕儖傪曔傜偊丄彴壆傾僽乕丒僔乕儖偺扱婅偵傕偐偐傢傜偢丄戃偵擖傟惗愇奃傪枮偨偟奀偵捑傔偰巰孻偵偟偨丅 +彴壆傾僽乕丒僔乕儖偼墹偵偄偲傑岊偄傪偟丄壱偄偩戝検偺嬥傪帩偭偰屘嫿偺傾儖丒僀僗僇儞僟儕傾偵婣傞慏偵忔偭偨丅傾儖丒僀僗僇儞僟儕傾偵拝偔偲丄奀曈偵愼暔壆傾僽乕丒僉乕儖偺堚懱偺擖偭偨戃偑棳傟拝偄偨丅彴壆傾僽乕丒僔乕儖偼庤岤偔憭傝丄曟傪寶偰偨丅彴壆傾僽乕丒僔乕儖偼岾偣偵曢傜偟偨丅 +擋偊傞墍偺摴榖乮戞502栭 - 戞505栭乯 [曇廤] + +擋偊傞墍偺榖 +嶰偮偺婅偄偛偲 [曇廤] +僶乕僩儞斉乽嶰偮偺婅偄亀恄偺栭亁傪尒偨偑偭偨抝偺榖(戞596栭)乿 +搶梞暥屔斉乽惞抐偺栭偵嶰偮偺婅偄傪偐偗偨抝偺榖(戞596栭)乿 +偁傞慞偄峴偄偺抝偑丄偁傞擔丄嶰偮偺婅偄帠偑偐側偆乽慡擻偺偐側偄偺栭乿傪寎偊偨丅堦偮栚偺婅偄偵丄戝偒側堦暔傪婅偭偨偲偙傠丄戝偒偔側傝偡偓偰偟傑偭偨丅擇偮栚偺婅偄偵丄彫偝偔偡傞傛偆婅偭偨偲偙傠丄堦暔偼側偔側偭偰偟傑偭偨丅偟偐偨側偔丄嶰偮栚偺婅偄偵尦捠傝偵偡傞傛偆婅偄丄尦偵栠偭偨丅偙偺榖偺嫵孭偼丄帩偭偰偄傞傕偺偱枮懌偡傋偒偩偲偄偆偙偲偱偁傞丅 +庒幰偲晽楥壆偺偁傫傑 [曇廤] +僶乕僩儞斉乽戝恇偺懅巕偲晽楥壆偺彈朳(戞584栭)乿 +搶梞暥屔斉乽梺応庡偲偦偺嵢偺榖(戞584栭)乿 +榬偺偄偄晽楥壆偺偁傫傑偑丄戝恇偺庒偔旤偟偄懅巕偵儅僢僒乕僕傪偟偰偄傞偲丄堦暔偑怸偺幚傎偳彫偝偄偺偑尒偊偨丅戝恇偺懅巕偵榖偡偲丄彈傪傑偩抦傜側偄偨傔戝偒偔側傜側偄偺偩傠偆偲尵偄丄偁傫傑偵嬥傪搉偟偰彈傪悽榖偟偰梸偟偄偲尵偭偨丅偁傫傑偼丄彫偝夁偓偰埨慡偩偲巚偄丄嬥傪帺暘偺暔偵偟丄帺暘偺庒偔偰旤偟偄嵢傪晽楥偵楢傟偰峴偭偨丅戝恇偺懅巕偺堦暔偼丄偁傫傑偺嵢傪尒傞偲嫄戝偵側傝丄嵢傪娧偄偨丅偁傫傑偺嵢偼丄旤偟偔鐥偟偄戝恇偺懅巕偵柌拞偵側傝丄偁傫傑偲暘偐傟偨丅偁傫傑偼愨朷偟帺嶦偟偨丅偙偺榖偺嫵孭偼丄尒偨栚偱敾抐偟偰偼偄偗側偄偲偄偆偙偲偱偁傞丅 +敀偵傕偄傠偄傠 [曇廤] +僶乕僩儞斉乽梀帯榊偺嶔棯偲掑愡側嵢(戞580栭)乿 +搶梞暥屔斉乽摴妝傕偺偲掑愡側嵢彈偲偺榖(戞580栭)乿 +偁傞抝偑恖嵢偵墶楒曠傪偟偨偑丄恖嵢偼憡庤偵偟側偐偭偨丅偦偺抝偼暅廞傪峫偊丄偦偺壠偺庒偄壓抝偲拠椙偔側傝丄壠恖偑偄側偄偲偒偵壠偵擖傟偰傕傜偄丄偙偭偦傝恖嵢偺怮彴偵棏敀傪悅傜偟偨丅壠偺庡恖偑婣傝丄怮彴偵偟傒傪尒偮偗丄抝偺惛塼偩偲巚偄丄恖嵢傪敍傝丄嶦偦偆偲偟偨丅庒偄壓抝偼偟傒偺尦傪僼儔僀僷儞偵廤傔丄壩偱鄑偭偨偲偙傠丄棏敀偱偁傞偙偲偑暘偐傝丄晇偼嵢偵幱傝丄100僨傿僫乕儖偺嬥偺庱忺傝傪憽傝丄晇晈偼拠捈傝偟偨丅偙偺榖偺嫵孭偼丄敀偵傕偄傠偄傠偁傝丄堘偄傪尒暘偗傞偙偲偑廳梫偲偄偆偙偲偱偁傞丅 +棨偺傾僽僪僁僢儔乕偲奀偺傾僽僪僁僢儔乕偺暔岅乮戞505栭 - 戞515栭乯 [曇廤] + +僶乕僩儞斉乽嫏巘偺傾僽僘儔乕偲恖嫑偺傾僽僘儔乕(戞940栭乚戞946栭)乿 +搶梞暥屔斉乽棨偺傾僽僪丒傾僢儔乕僼偲奀偺傾僽僪丒傾僢儔乕僼偺暔岅(戞940栭乚戞946栭)乿 +愄丄傾僽僪僁僢儔乕偲偄偆柤偺昻偟偄嫏巘偑偄偨丅斵偵偼嵢偲9恖偺巕偑偄偨偑丄嵿嶻偼栐偟偐側偔丄偦偺擔偺嫏偱僷儞壆偺傾僽僪僁僢儔乕偐傜僷儞傪攦偄丄晄嫏偺帪偼丄偮偗偱僷儞傪攦偭偰堦壠傪梴偭偰偄偨丅 +10恖栚偺巕偑惗傑傟偨擔丄栐傪懪偮偲丄忋敿恎偼恖娫偱崢偐傜壓偼嫑偺抝偺恖嫑偑栐偵偐偐偭偨丅恖嫑偺柤偼傾僽僪僁僢儔乕偲尵偄丄枅挬偙偙偱棨偺壥暔偲奀偺曮愇傪岎姺偟傛偆偲偄偆榖偵側傝丄庤巒傔偵丄恖嫑偺傾僽僪僁僢儔乕偼丄嫏巘偺傾僽僪僁僢儔乕偵恀庫丄嶺岃丄僄儊儔儖僪丄僸儎僔儞僗愇丄儖價乕側偳偺曮愇傪搉偟偨丅 +嫏巘偺傾僽僪僁僢儔乕偼丄壎恖偺僷儞壆偺傾僽僪僁僢儔乕偵曮愇偺敿暘傪搉偟丄巆傝偺曮愇偼壠偵帩偭偰婣偭偨丅梻挬丄嫏巘傾僽僪僁僢儔乕偼丄饽堦攖偺壥暔傪帩偭偰恖嫑傾僽僪僁僢儔乕偲夛偄丄饽堦攖偺曮愇偲岎姺偟丄偦偺曮愇傪巗応偺曮愇彜偵攧傠偆偲偟偨丅曮愇彜偼昻朢側偺偵曮愇傪傕偭偰偄傞偙偲傪夦偟傒丄墹斳偺曮愇偑搻傑傟偨偙偲傪巚偄弌偟丄嫏巘傾僽僪僁僢儔乕傪曔傑偊丄傾僽僪僁僢儔乕墹偺慜偵撍偒弌偟偨丅偟偐偟丄嫏巘傾僽僪僁僢儔乕偺曮愇偼墹斳偺暔偱偼側偄偙偲偑暘偐傝丄嫏巘傾僽僪僁僢儔乕偼庍曻偝傟偨丅墹偼嫏巘傾僽僪僁僢儔乕偐傜榖傪暦偒姶怱偟丄斵傪墹彈乽塰偊乿偲寢崶偝偣戝恇偲偟丄傑偨曮愇偺敿暘傪帩偭偰偄偨偨傔嫟斊幰偲偟偰曔傑傞偺偱偼側偄偐偲嫲傟偰偄偨僷儞壆偺傾僽僪僁僢儔乕傪戞2偺戝恇偲偟偨丅偦偺屻1擭娫丄枅挬嫏巘傾僽僪僁僢儔乕偼恖嫑偺傾僽僪僁僢儔乕偲夛偭偰丄饽堦攖偺壥暔傪饽堦攖偺曮愇偲岎姺偟偨丅 +偁傞擔丄恖嫑偺傾僽僪僁僢儔乕偼嫏巘傾僽僪僁僢儔乕偵壠偵彽懸偟偨偄偲尵偭偨偺偱丄嫏巘傾僽僪僁僢儔乕偼棁偵側傝丄悈拞偱傕懅偑偱偒傞傛偆僟儞僟乕儞偲偄偆嫑偺娞桘偐傜偱偒偨栻傪懱拞偵揾傝丄奀偺拞偵擖偭偰峴偭偨丅奀偺拞偱偼丄恖嫑偺巕傜偑嫏巘傾僽僪僁僢儔乕傪尒偰丄嫑偺旜偱偼側偔怟偲懌偑偁傞偙偲傪捒偟偑傝憶偄偩偺偱丄奀偺墹條傕嫽枴傪帩偭偰丄嫏巘傾僽僪僁僢儔乕傪奀偺墹媨偵彚偟弌偟偨丅墹媨偱偼丄墹偲昐姱偑嫏巘傾僽僪僁僢儔乕偺怟偲屢娫傪偠傠偠傠挱傔丄捒偟偝偐傜戝徫偄偟偨丅嫏巘傾僽僪僁僢儔乕偼戝検偺曮愇傪帩偭偰婣偭偨偑丄擇搙偲恖嫑傾僽僪僁僢儔乕偵夛偍偆偲偼偟側偐偭偨丅嫏巘傾僽僪僁僢儔乕偲僷儞壆傾僽僪僁僢儔乕偼丄傾僽僪僁僢儔乕墹偲偲傕偵岾偣偵曢傜偟偨丅 +墿怓偄庒幰偺暔岅乮戞515栭 - 戞526栭乯 [曇廤] + +僶乕僩儞斉乽僴儖儞丒傾儖丒儔僔僢僪嫵庡偲僆儅儞偺彜恖傾僽丒僴僒儞偺榖(戞946栭乚戞952栭)乿 +搶梞暥屔斉乽嫵墹僴乕儖乕儞丒傾僢儔僔乕僪偲傾僽乕丒傾儖僴僒儞丒傾儖僆儅乕僯乕偺暔岅(戞946栭乚戞952栭)乿 +偁傞栭丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偑戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕偲戝恇傾儖丒僼傽僘儖丄挒恇傾僽乕丒僀僗僴乕僋丄帊恖傾僽乕丒僰儚乕僗丄屼樜搧帩偪儅僗儖乕儖丄寈嶡戉挿乽夐偺傾僼儅乕僪乿傪堷偒楢傟丄彜恖偵曄憰偟偰僶僌僟乕僪偺挰傪曕偄偰偄傞偲丄旤偟偄壧惡偑暦偙偊偨丅嫵墹偨偪偑壧惡偺偡傞娰偺庡偵傕偰側偟傪媮傔傞偲嫋偝傟偨丅娰偱偼丄崑惃側梉怘傪怳晳傢傟丄壧惡偺庡偱偁傞娰偺庡偺嵢僙僢僩丒僕儍儈儔偺旤偟偄壧傪挳偒堦摨妝偟傫偩偑丄嫵墹偼娰偺庡偺婄怓偑墿怓偄偺偵婥晅偒丄側偤婄怓偑墿怓偄偐恞偹偨偲偙傠丄娰偺庡偼師偺傛偆側榖傪偟偨丅 +娰偺庡偺柤慜偼傾僽乕儖丒僴僒儞丒傾儖丒僆儅乕僯偲偄偄丄僆儅乕儞偺崑彜偺堦恖懅巕偱偁偭偨丅晝偑巰偸偲丄傾僽乕儖丒僴僒儞偼30惽偺慏傪娷傓敎戝側堚嶻傪憡懕偟偨偑丄偦偺慏偺慏挿偑帩偭偰棃偨僶僗儔偲僶僌僟乕僪偐傜偺堎崙偺壥暔傪尒傞偲丄偳偆偟偰傕椃偵弌偰僶僌僟乕僪傪尒偨偔側傝丄堦惽偺慏傪巆偟偰慡嵿嶻傪攧媝偟丄摼偨嬥傪帩偭偰巆偟偨慏偵忔傝僶僌僟乕僪偵岦偐偭偨丅 +僶僌僟乕僪偵拝偄偨傾僽乕儖丒僴僒儞偼丄僇儖儞丒傾儖丒僔儔乕僩偵偁傞傂偲偒傢旤偟偄寶暔偺慜偺旤偟偄敀堖偺榁恖偵栚傪棷傔偨丅偦偺榁恖偼僞乕僿儖丒傾僽乕儖丒僆儔偲偄偄丄偦偙偼丄偦偺榁恖偺宱塩偡傞娰偱丄嬥傪暐偊偽丄旤彈偲栭傪嫟偵偱偒傞強偱偁偭偨丅傾僽乕儖丒僴僒儞偼丄傑偢堦斣埨偄堦栭10僨傿僫乕儖偺彈傪1偐寧慜暐偄偱怽偟崬傫偩丅晹壆偵擖傞偲彈偼旤偟偄旤彈偱丄2恖偺旤偟偄彈搝楆傪廬偊偰偍傝丄偍偄偟偄椏棟傪怘傋丄堸傒暔傪堸傒丄壻巕傪怘傋丄書偒崌偄1偐寧偼夣妝偺偆偪偵夁偓偨丅師偵傾僽乕儖丒僴僒儞偼堦栭20僨傿僫乕儖偺彈傪1偐寧慜暐偄偱怽偟崬傫偩丅晹壆偵擖傞偲彈偼慜偺彈傛傝旤偟偄僼儔儞僋恖偱丄4恖偺旤偟偄彈搝楆傪廬偊偰偍傝丄傕偭偲偍偄偟偄椏棟傪怘傋丄傕偭偲偍偄偟偄堸傒暔傪堸傒丄傕偭偲偍偄偟偄壻巕傪怘傋丄書偒崌偄1偐寧偼偝傜側傞夣妝偺偆偪偵夁偓偨丅 +傾僽乕儖丒僴僒儞偼丄嵟傕崅偄堦栭500僨傿僫乕儖偺彈傪1偐寧慜暐偄偱怽偟崬傫偩丅彈偼丄敀堖偺榁恖僞乕僿儖丒傾僽乕儖丒僆儔偺柡偱丄愨悽偺旤彈偱偁偭偨丅傾僽乕儖丒僴僒儞偼柌拞偵側傝丄慡嵿嶻傪巊偄壥偨偡傑偱丄攽傑傝懕偗偨丅嬥偑側偔側傞偲丄彈傕傾僽乕儖丒僴僒儞傪岲偒偵側偭偰偄偨偺偱丄彈偼帺暘偺500僨傿僫乕儖傪傾僽乕儖丒僴僒儞偵搉偟丄傾僽乕儖丒僴僒儞偑偦偺嬥偱巟暐偄傪峴偄丄嬥傪庴偗庢偭偨僞乕僿儖丒傾僽乕儖丒僆儔偼偦偺嬥傪媼椏偲偟偰柡偵搉偡丄偲偄偆嬶崌偵嬥傪弞娐偝偣偰攽傑傝懕偗偨偑丄1擭屻偮偄偵僞乕僿儖丒傾僽乕儖丒僆儔偵尒偮偐傝丄傾僽乕儖丒僴僒儞偼娰傪捛偄弌偝傟偰偟傑偭偨丅 +傾僽乕儖丒僴僒儞偼嬥偑柍偄偨傔僶僗儔偵峴偔慏偵慏堳偲偟偰忔傝崬傒丄僶僗儔偵峴偭偨丅僶僗儔偱偼丄晝偺桭恖偲尵偆怘椏昳彜偵弌夛偄丄偦偙偱1擔嬧壿1僪儔僋儉偺媼椏偱100僨傿僫乕儖挋傑傞傑偱摥偄偨丅偡傞偲丄曮愇傪愊傫偩杅堈慏偑擖峘偟丄偦偺慏偐傜曮愇傪堦戃攦偭偨抝偑傾僽乕儖丒僴僒儞偺晝偺桭恖偱丄曮愇1戃傪100僨傿僫乕儖偱攧偭偰偔傟偨丅傾僽乕儖丒僴僒儞偼丄揦傪庁傝丄曮愇傪攧傝丄棙塿傪忋偘偨丅 +偁傞擔丄曮愇偵戃偺拞偵偁偭偨庺暥偑挙傜傟偨愒偄奓妅傪攦偄偨偄偲偄偆抝偑尰傟偨丅抝偼嵟弶20僨傿僫乕儖偱攦偆偲偄偭偨偑丄傾僽乕儖丒僴僒儞偑攧傜側偄偱偄傞偲丄嵟屻偵偼3枩僨傿僫乕儖傑偱攦抣傪忋偘偨丅傾僽乕儖丒僴僒儞偑攧傞偲丄抝偼師偺傛偆偵岅偭偨丅 +乽偙偺奓妅偺岠擻傪嫵偊傛偆丅僀儞僪偺墹偵旤偟偄墹彈偑偄偨偑丄墹彈偼寖偟偄摢捝帩偪偱丄偳傫側堛幰偱傕帯偣偢丄帺嶦杊巭偺偨傔晹壆偵嵔偱宷偑傟偰偄偨丅僀儞僪墹偼僶價儘儞恖偺尗幰僒傾僟僢儔乕偵棅傒丄偙偺奓妅偺岇晞傪嶌偭偰傕傜偭偨偲偙傠丄墹彈偺摢捝偼偨偪偳偙傠偵捈偭偨丅偟偐偟丄墹彈偼奓妅偺岇晞傪岆偭偰奀偵棊偲偟幐偔偟偰偟傑偄丄寖偟偄摢捝偑嵞敪偟偰偟傑偭偨丅尗幰僒傾僟僢儔乕偼婛偵巰傫偱偄偨偨傔丄嶌傝捈偡偙偲偼偱偒偢丄昁巰偵側偭偰扵偟偰偄偨傕偺偱丄100枩僨傿僫乕儖偱傕巹偼攦偭偨偱偁傠偆丅乿 +傾僽乕儖丒僴僒儞偼丄100枩僨傿僫乕儖傪栕偗懝偹偨偙偲傪抦傝丄偦偺帪埲棃丄婄怓偑墿怓偔側偭偰偟傑偭偨丅 +傾僽乕儖丒僴僒儞偼廫暘側嬥偑挋傑偭偨偺偱揦傪攧偭偰僶僌僟乕僪偵峴偔偲丄僞乕僿儖丒傾僽乕儖丒僆儔偺娰偼峳傟壥偰偰偍傝丄暦偔偲丄僞乕僿儖丒傾僽乕儖丒僆儔偺柡偼丄傾僽乕儖丒僴僒儞偑偄側偔側偭偨偺偱斶偟傒昦婥偵側傝丄偦傟傪斶偟傫偩僞乕僿儖丒傾僽乕儖丒僆儔偼娰傪傗傔偰偟傑偄丄傾僽乕儖丒僴僒儞傪扵偟偰偄傞偲偄偆偙偲偱偁偭偨丅傾僽乕儖丒僴僒儞偑僞乕僿儖丒傾僽乕儖丒僆儔偺柡偵嵞夛偡傞偲昦婥偼帯傝丄2恖偼寢崶偟丄岾偣偵曢傜偟偨丅 +梻擔丄嫵墹偼傾僽乕儖丒僴僒儞傪墹媨偵彚偟弌偟丄100枩僨傿僫乕儖栕偗懝偹偨寠杽傔偲偟偰丄僶僌僟乕僪丄僶僗儔丄儂儔乕僒乕儞偺擭峷1擭暘傪梌偊偨丅傾僽乕儖丒僴僒儞偺婄怓偺墿怓偼庢傟丄傾僽乕儖丒僴僒儞偼嫵墹偵姶幱偟丄壠懓偲嫟偵岾偣偵曢傜偟偨丅 +乽捬炛偺壴乿偲乽寧偺旝徫乿偺暔岅乮戞526栭 - 戞549栭乯 [曇廤] + +僶乕僩儞斉乽奀偐傜惗傑傟偨僕儏儖僫乕儖偲偦偺巕偺儁儖僔儍墹僶僪儖丒僶僔儉(戞738栭乚戞756栭)乿 +搶梞暥屔斉乽儂儔僒乕儞偺僔儍僼儖儅乕儞墹偺暔岅(戞738栭乚戞756栭)乿 +愄丄儂儔乕僒乕儞偺奀偵柺偟偨墹搒乽敀偄搒乿偵僔儍僴儔儅乕儞偲偄偆墹偑偄偨丅偁傞擔丄搝楆彜恖偑摼傕尵傢傟偸旤偟偄壋彈傪專忋偟偨偺偱丄墹偼1枩僨傿僫乕儖偱攦偄庴偗丄1擭娫偦偺壋彈偺傒偲夁偛偟偨偑丄壋彈偼堦尵傕榖偝側偐偭偨丅偁傞擔丄墹偑偄偮傕偺傛偆偵壋彈傪婌偽偣丄榖偝偣傛偆偲偟偰偄傞偲丄偮偄偵壋彈偑尵梩傪敪偟丄墹偺巕傪恎偛傕偭偨偲榖偟偨丅墹偼戝偄偵婌傫偩丅 +壋彈偺柤偼僌儖丒僀丒傾僫乕儖乽捬炛偺壴乿偲偄偄丄奀拞偺崙偺墹彈偱丄曣偼奀偺彈墹乽偄側偛乿暶壓偱丄孼偼僒乕儕僴墹巕偱偁偭偨偑丄偁傞擔丄乽捬炛偺壴乿偼乽偄側偛乿暶壓偲僒乕儕僴墹巕偲偝偝偄側偙偲偱寲壾偟偰偟傑偄丄奀偺媨揳傪弌偰棨忋偱怮偰偄偨偲偙傠丄抝偵曔傑偭偰丄搝楆彜恖偵2000僨傿僫乕儖偱攧傜傟丄偦偺搝楆彜恖偐傜墹偑攦偭偨偺偱偁偭偨偑丄搝楆偲偝傟偨夨偟偝偐傜堦尵傕偟傖傋傜側偐偭偨偑丄墹偺垽傪妋怣偟丄恎偛傕偭偨偺偱尵梩傪敪偟偨偺偱偁偭偨丅 +乽捬炛偺壴乿偑僐儌乕儖搰偺壘梾栘傪崄楩偵擖傟岥揓傪悂偄偰庺暥傪彞偊傞偲丄奀偺拞偐傜僒乕儕僴墹巕偲乽偄側偛乿彈墹偲5恖偺乽捬炛偺壴乿偺廬孼掜偑尰傟丄旘傃忋偑傝丄憢偐傜墹媨偺晹壆偵擖偭偰棃偨丅乽捬炛偺壴乿偨偪偼屳偄偺嵞夛傪婌傃丄僔儍僴儔儅乕儞墹偼媞恖傪娊懸偟偨丅 +傎偳側偔乽捬炛偺壴乿偼旤偟偄抝偺巕傪嶻傒丄抝偺巕偼乽寧偺旝徫乿偲柤偯偗傜傟偨丅僒乕儕僴墹巕偼乽寧偺旝徫乿傪書偄偰奀偺拞偵旘傃崬傒丄悈拞偱傕懅偑偱偒丄暈傕擥傟側偄椡傪梌偊偨丅乽寧偺旝徫乿偼偡偽傜偟偄彮擭偵惉挿偟偨偑丄14嵨偺帪丄晝墹僔儍僴儔儅乕儞偑朣偔側傝丄墹偵懄埵偟偨丅 +乽寧偺旝徫乿偑17嵨偵側偭偨偁傞擔丄乽寧偺旝徫乿偑挿堉巕偱墶偵側偭偰偄傞偲丄柊偭偰偄傞偲巚偭偨僒乕儕僴墹巕偲乽捬炛偺壴乿偼乽寧偺旝徫乿偵憡墳偟偄寢崶憡庤偺榖傪偟巒傔丄奀偺崙偺僒儔儅儞僪儖墹偺柡偺曮嬍昉偑嵟傕旤偟偔憡墳偟偄偑丄晝偱偁傞僒儔儅儞僪儖墹偑斀懳偡傞偩傠偆偲榖偟崌偭偰偄偨丅乽寧偺旝徫乿偼丄嵟傕旤偟偄偲偄偆曮嬍昉傪楒偟偔巚偄丄攲晝偺僒乕儕僴墹巕偵拠夘傪棅傓偑丄僒亅儕僴墹巕偼柪偄側偑傜傕堷偒庴偗丄乽寧偺旝徫乿傪楢傟偰乽偄側偛乿彈墹偺媨揳傑偱峴偭偨丅 +僒乕儕僴墹巕偼乽寧偺旝徫乿傪媨揳偵巆偟丄僒儔儅儞僪儖墹偺強傊峴偒丄曮嬍昉偲乽寧偺旝徫乿偺寢崶傪婅偄弌傞偑丄僒儔儅儞僪儖墹偼抐傝丄僒乕儕僴墹巕偺偍嫙偲丄僒儔儅儞僪儖墹偺暫巑偺娫偱愴憟偑巒傑偭偰偟傑偭偨丅愴偄偵嬃偄偨曮嬍昉偼丄偍婥偵擖傝偺彈搝楆揤恖壴傪楢傟偰偁傞柍恖搰偵摝偘偨丅堦曽丄乽偄側偛乿彈墹偺媨揳偺乽寧偺旝徫乿偼丄帺暘偺堊偵愴憟偑巒傑偭偨偙偲偵崲傝丄乽捬炛偺壴乿偺偲偙傠偵婣傠偆偲偟偨偑丄摴偵柪偄丄曮嬍昉偑摝傟偨柍恖搰偵拝偄偨丅愴偄偼僒乕儕僴墹巕偺戝妶桇偱丄僒乕儕僴墹巕偺彑棙偲側傝丄僒儔儅儞僪儖墹偼曔傜偊傜傟偰偟傑偭偨丅 +曮嬍昉偵夛偭偨乽寧偺旝徫乿偼垽傪崘敀偡傞偑丄曮嬍昉偼墹偺媨揳偵峌傔崬傫偱棃偨偙偲偺巇曉偟偵丄杺朄偱乽寧偺旝徫乿傪旤偟偄捁偵曄偊丄彈搝楆揤恖壴偵柦偠偰悈偺側偄柍恖搰偵幪偰偝偣傛偆偲偟偨偑丄揤恖壴偼乽寧偺旝徫乿傪壜垽偦偆偵巚偄丄暿偺柍恖搰偵幪偰偨丅柍恖搰偵幪偰傜傟偨乽寧偺旝徫乿偺捁偼捁栐懪偪偵曔傑傝丄捁栐懪偪偐傜偦偺搚抧偺墹偵攧傜傟偨偑丄墹偺斳偑捁偺惓懱偵婥晅偒丄杺朄傪夝偄偰偔傟偨丅墹偼乽寧偺旝徫乿偵婣崙偡傞偨傔偺慏傪梌偊偨丅 +偟偐偟丄乽寧偺旝徫乿偺忔偭偨慏偼棐偺偨傔捑杤偟丄乽寧偺旝徫乿偩偗偑偁傞搰偵偨偳傝拝偄偨丅偦偺搰偵偼懡偔偺閫攏偲閱攏偑偄偰丄斶偟偦偆偵乽寧偺旝徫乿偵搰偐傜弌偰峴偔傛偆偵巇憪偱帵偟偰偄偨丅乽寧偺旝徫乿偼挰偺擖傝岥偺栻庬彜偺榁恖傾僽僨儖儔僴儅乕儞偐傜丄閫攏偲閱攏偨偪偼傾儖儅僫僋彈墹偵杺朄傪妡偗傜傟偨庒幰偱偁傞偙偲傪嫵偊偰傕傜偭偨丅偦偙偵傾儖儅僫僋彈墹偑尰傟丄乽寧偺旝徫乿偵杺朄傪妡偗側偄偲栺懇偟偰媨揳偵楢傟偰峴偭偨丅傾儖儅僫僋彈墹偼岻傒側垽晱偱乽寧偺旝徫乿傪墄偽偣丄2恖偼40擔娫夣妝傪恠偔偟偨丅40擔栚偺栭乽寧偺旝徫乿偑傆偲栚傪妎傑偡偲丄傾儖儅僫僋彈墹偑晄巚媍側偍壻巕傪嶌偭偰偄偨偺偱丄婥晅偐傟側偄傛偆柊偭偨怳傝傪偟丄梻挬憗偔傾僽僨儖儔僴儅乕儞榁恖偲偙傠傊峴偔偲丄偦偺壻巕偼恖傪閫攏傗閱攏偵曄偊傞杺朄偺壻巕偱愨懳怘傋偰偼偄偗側偄偲嫵偊偰傕傜偄丄摨偠壻巕傪傕傜偭偰媨揳偵婣偭偨丅媨揳偱偼傾儖儅僫僋彈墹偑偍壻巕傪姪傔偰棃偨偺偱丄怘傋偨怳傝傪偟丄傾僽僨儖儔僴儅乕儞榁恖偐傜傕傜偭偨偍壻巕傪傾儖儅僫僋彈墹偵怘傋偝偣丄傾儖儅僫僋彈墹偑尵偭偨庺暥傪僆僂儉曉偟偵尵偆偲丄傾儖儅僫僋彈墹偼柲閱攏偵側偭偨丅乽寧偺旝徫乿偼傾儖儅僫僋彈墹偺柲閱攏傪傾僽僨儖儔僴儅乕儞榁恖偵搉偟偨丅傾僽僨儖儔僴儅乕儞榁恖偼杺恄乽揹岝乿傪屇傃弌偟丄乽寧偺旝徫乿傪乽敀偄搒乿傑偱憲偭偨丅 +乽敀偄搒乿偵栠偭偨乽寧偺旝徫乿偼丄曣乽捬炛偺壴乿偲偺嵞夛傪婌傃丄傾僢儔乕偵姶幱偟偨丅乽寧偺旝徫乿偼僒儔儅儞僪儖墹傪帺桼偵偟丄曮嬍昉偲偺寢崶傪婅偄弌偰嫋壜傪摼偨丅僒儔儅儞僪儖墹偼丄曮嬍昉偑塀傟偰偄傞柍恖搰偵恖傪尛傝曮嬍昉傪楢傟婣傜偣傞偲丄曮嬍昉傕乽寧偺旝徫乿偲偺寢崶偵摨堄偟偨丅2恖偼寢崶偟丄岾偣偵曢傜偟偨丅 +儌乕僗儖偺僀僗僴乕僋偺搤偺堦栭乮戞549栭 - 戞551栭乯 [曇廤] + +僶乕僩儞斉乽儌僗儖偺僀僔儍僋偲偦偺楒恖偲埆杺(戞695栭-戞696栭)乿 +搶梞暥屔斉乽僀僗僴乕僋丒傾儖儅僂僔儕乕偲搝楆柡偲栍恖乮埆杺乯偺暔岅(戞695栭-戞696栭)乿 +偁傞搤偺棐偺栭丄儌乕僗儖偺壧庤僀僗僴乕僋偑壠偱旤偟偄壋彈僒僀乕僟偺偙偲傪憐偭偰偄傞偲丄棐偺拞僒僀乕僟偑朘偹偰棃偨丅壠偺拞偵彽偒擖傟傞偲丄僒僀乕僟偑乽岊怘偺壧偑暦偒偨偄乿偲尵偭偨丅昞傪尒傞偲挌搙栍恖偺岊怘偑偄偨偺偱丄栍恖側傜彈偲偺偙偲傪尒傜傟側偄偩傠偆偲巚偄丄壠偺拞偵彽偒擖傟偨丅岊怘偼庡恖偑傑偢壧偆傋偒偩偲尵偄丄壧偺柤恖僀僗僴乕僋偵壧傢偣偨偑丄乽姰慡側壧庤傑偱傕偆彮偟偩丅乿偲尵偭偨丅師偵僒僀乕僟偵壧傢偣偨偑丄岊怘偼搑拞偱壧傪幷傝丄乽傑偩傑偩偩乿偲尵偭偨丅岊怘偑壧偆偲丄僀僗僴乕僋傕扙朮偡傞忋庤偝偱偁偭偨偑丄僒僀乕僟偲僀僗僴乕僋偺垽晱傪尒偰偄傞偐偺傛偆側壧帉偩偭偨偺偱丄僀僗僴乕僋偼棫暊偟偨丅岊怘偼乽庤愻偄偵峴偒偨偄乿偲尵偭偰晹壆傪弌傞偲徚偊偰偟傑偭偨丅僀僗僴乕僋偑怳傝曉傞偲僒僀乕僟傕徚偊偰偄偨丅埆杺偑尒偣偨尪偩偭偨偺偱偁傠偆偐丅 +僄僕僾僩偺昐惄偲偦偺怓敀偒巕嫙偨偪乮戞551栭 - 戞554栭乯 [曇廤] + +僶乕僩儞斉乽忋僄僕僾僩偺抝偲僼儔儞僋恖偺嵢(戞894栭乚戞896栭) +搶梞暥屔斉乽僇僀儘偺椞庡僔儏僕儍乕僂丒傾僢僨傿乕儞丒儉僴儞儅僪偲妼怓抝偺暔岅(戞894栭乚戞896栭) +僇僀儘偺懢庣儉僴儞儅僪偑忋僄僕僾僩傪弰帇偟偨嵺丄偁傞昐惄偺巕偑敀恖偱偁傞偺傪尒偮偗丄偦偺棟桼傪昐惄偵暦偄偨丅 +昐惄偼愄丄僄僕僾僩偺垷杻偺嵧攟恖偱丄庢傟偨垷杻傪僔儕傾偺傾僢僇乕偱攧偭偰栕偗偰偄偨丅摉帪傾僢僇乕偼僉儕僗僩嫵搆偺巟攝壓偱丄昐惄偼垷杻傪攦偄偵棃偨旤偟偄敀恖彈偵楒傪偟丄敀恖彈偲堦弿偵偄偨榁彈偵拠夘傪婅偭偨丅榁彈偼50僨傿僫乕儖傪惪媮偟丄暐偆偲丄敀恖彈偼昐惄偺廻偵棃偨偑丄昐惄偼敀恖彈偑僀僗儔儉嫵搆偱側偄偙偲傪婥偵偟偰庤傪弌偣側偐偭偨偺偱丄敀恖彈偼搟偭偰婣偭偰偟傑偭偨丅梻挬暘偐傟偨屻丄昐惄偼屻夨偟丄嵞搙榁彈偵崱屻偼100僨傿僫乕儖偱拠夘傪棅傓偑丄傗偼傝庤傪弌偣側偐偭偨丅梻挬暘偐傟偨屻丄傗偼傝屻夨偟丄嵞搙榁彈偵拠夘傪棅傒丄崱搙偼500僨傿僫乕儖傪暐偆偙偲傪栺懇偡傞偑丄僉儕僗僩嫵搆偲偺愴憟偑巒傑傝丄昐惄偼僟儅僗偵摝偘偨丅 +3擭屻丄愴憟偼掗墹僒儔僢僨傿乕儞偺彑棙偵廔傢傝丄傾僢僇乕偼僀僗儔儉嫵搆偺巟攝抧偲側偭偨丅昐惄偼崑彜偲側偭偰偄偨丅偁傞擔丄昐惄偼掗墹僒儔僢僨傿乕儞偵彈搝楆傪100僨傿僫乕儖偱攧偭偨偑丄掗墹偵偼庤尦偵90僨傿僫乕儖偟偐側偐偭偨偺偱丄10僨傿僫乕儖偺戙傢傝偵岲偒側曔椄傪傕傜偊傞偙偲偵側偭偨偑丄尒傞偲傾僢僇乕偱暘偐傟偨敀恖彈偑偄偨偺偱昐惄偼偦偺彈傪傕傜偭偨丅昐惄偼帺暘偺巚偄傪揱偊丄敀恖彈傕昐惄偑岲偒偱偁傞偙偲傪揱偊丄僀僗儔儉嫵偵夵廆偟丄2恖偼寢崶偟偨丅傾僢僇乕偺榁彈偼丄幚偼敀恖彈偺曣恊偱丄昐惄偑暐偭偨嬥偼曪傒傪暵偠偨傑傑偱昐惄偵曉偝傟偨丅2恖偼昐惄偺屘嫿偺僄僕僾僩偵婣傝丄巕傪嶌傝丄岾偣偵曢傜偟偨丅 +僇儕乕僼偲嫵墹乮僇儕乕僼傽乯偺暔岅乮戞554栭 - 戞576栭乯 [曇廤] + +僶乕僩儞斉乽僶僌僟僢僪偺嫏巘僴儕僼傽乕(戞831栭乚戞845栭)乿 +搶梞暥屔斉乽僶僌僟乕僪偺嫏巘僴儕乕僼傽(戞831栭乚戞845栭)乿 +愄丄僶僌僟乕僪偵僇儕乕僼偲偄偆昻偟偔壓昳側嫏巘偑偄偨丅偁傞擔丄愳偱栐傪懪偮偲丄悈偺拞偐傜曅栚偱傒偡傏傜偟偄墡偑妉傟偨丅嵞傃栐傪懪偮偲丄崱搙偼旤偟偄帗墡偑妉傟偨丅傒偡傏傜偟偄墡偼僇儕乕僼偺塣柦傪昞偡墡偱丄旤偟偄帗墡偼桾暉側儐僟儎恖椉懼彜傾僽乕丒僒傾乕僟偺塣柦傪昞偡墡偱偁偭偨丅帗墡偵尵傢傟偰3搙栚偺栐傪懪偮偲丄崱搙偼尒帠側嫑偑庢傟偨丅帗墡偼僇儕乕僼偵丄偦偺嫑傪傾僽乕丒僒傾乕僟偺強偵帩偭偰峴偒丄嫑傪搉偡偺偲堷偒姺偊偵乽巹偺墡偲僇儕乕僼偺墡傪岎姺偡傞乿偲傾僽乕丒僒傾乕僟偵尵傢偣傞傛偆尵偭偨丅僇儕乕僼偼偦偺捠傝峴偄丄愳偵栠偭偰棃偰栐傪懪偮偲丄崱搙偼戝検偺嫑偑庢傟丄挌搙偦偙偵戝惃偺恖偑捠傝偐偐傝丄嫑偼偨偪傑偪攧傟偰丄僇儕乕僼偼100僨傿僫乕儖傪栕偗偨丅僇儕乕僼偼偍嬥偺塀偟応強偵崲傝丄戃偵擖傟偰庱偐傜偐偗偰偄偨偑丄栐傪懪偭偨攺巕偵愳偵棊偲偟偰偟傑偄丄暈傪扙偄偱悈偺拞傪扵偟偨偑尒偮偐傜偢丄娸偵忋偑傞偲丄扙偄偩暈偑側偔側偭偰偄偨丅 +堦曽丄屼梡彜恖偺曮愇彜僀僽儞丒傾儖丒僉儖僫僗偼丄乽怱偺椡乿偲尵偆柤偺彈搝楆傪攦偄丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偵專忋偟偨偲偙傠丄嫵墹偼旕忢偵婥偵擖傝丄1枩僨傿僫乕儖偱攦庢傝丄偦偺擔埲棃丄惌柋傕朰傟丄扤偵傕夛傢偢丄乽怱偺椡乿偲偺妝偟傒偩偗偵杤摢偟偰偟傑偭偨丅戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕偼惌柋偑懾傞偙偲傪怱攝偟丄嬥梛擔偺楃攓偵嫵墹偑弌偰偒偨帪偵榖偟偐偗丄嶶曕偵桿偄弌偟偨丅挌搙丄嫵墹偑嶶曕偱愳曈偵棃偨偲偒丄暈傪側偔偟偨僇儕乕僼偵弌夛偭偨丅 +僇儕乕僼偼嫵墹傪暈揇朹偲巚偄丄暈傪曉偡傛偆傗偐傑偟偔尵偭偨偺偱丄嫵墹偼帺暘偑拝偰偄傞曮愇偺偪傝偽傔傜傟偨忋拝傪僇儕乕僼偵梌偊偨丅偝傜偵丄僇儕乕僼偼嫵墹偵嫏傪庤揱偆傛偆偵尵偄丄嫵墹偑栐傪懪偮偲丄戝検偺嫑偑庢傟偨丅僇儕乕僼偼嫵墹偵戝偒側饽傪2偮帩偭偰偔傞傛偆偵尵偭偨偑丄偦偺婡偵嫵墹偼摝偘丄僕儍傾僼傽儖偵嵞夛偟丄偍嫙偺泚姱偨偪偵僇儕乕僼偺嫑傪帩偭偰偒偨傕偺偵偼堦旵偵1僨傿僫乕儖梌偊傞偲尵偭偨偺偱丄泚姱偨偪偼憟偭偰僇儕乕僼偺偲偙傠偵峴偒丄嫑傪傎偲傫偳扗偭偰栠偭偰偒偨丅偟偐偟丄泚姱挿偺僒儞僟乕儖偼弌抶傟偨偨傔抶偔拝偒丄嵟屻偵巆偭偨2旵偺嫑傪攦偄庢傝丄庤帩偪偺嬥偑側偐偭偨偺偱梻擔媨揳偵庢傝偵棃傞傛偆僇儕乕僼偵尵偭偨丅 +偦偺堦曽丄嫵墹偑嶶曕偱棷庣拞丄嫵墹偺惓岪僝僶僀僟偼乽怱偺椡乿傪搃傒丄乽怱偺椡乿傪閤偟偰墐偵桿偄丄椏棟偵杻悓栻傪崿偤偰堸傑偣丄杻悓偵偐偐偭偨乽怱偺椡乿傪敔偵媗傔偰丄媨揳偺奜偱敔偺拞恎偑暘偐傜側偄傑傑嫞攧偵妡偗偰攧傝暐偆傛偆巜帵偟丄媨揳撪偱偼乽怱偺椡乿偑巰傫偩偲傆傟偝偣偰丄憭幃傪峴偄丄曟傪寶偰偨丅嶶曕偐傜婣偭偨嫵墹偼乽怱偺椡乿偑巰傫偩偲暦偄偰丄嵡偓崬傫偱偟傑偭偨丅 +梻擔丄僇儕乕僼偼泚姱挿僒儞僟乕儖傪朘偹媨揳偵棃偨偑丄嫵墹偵屇偽傟偰墆尒偺娫偵捠偝傟偨丅嫵墹偼傾僢儔乕偑掕傔偨僇儕乕僼偺塣柦傪尒傛偆偲丄20枃偺巻偵嫵墹埵丄墹懓埵丄戝恇埵丄1000僨傿僫乕儖丄1僨傿僫乕儖側偳偲彂偒丄傕偆20枃偺巻偵峣庱孻丄搳崠丄朹懪偪側偳偲彂偒丄嬥偺捹偵擖傟偰僇儕乕僼偵堷偐偣偨丅僇儕乕僼偼100夞朹懪偪偺巻傪堷偄偨偺偱丄100夞朹偱懪偨傟偨丅戝恇僕儍傾僼傽儖偼婥偺撆偵巚偄丄嵞搙堷偐偣傞偑丄偔偠傪尒偨僕儍傾僼傽儖偼丄巻偵偼壗傕彂偐傟偰偄側偄偲尵偭偨丅3搙栚偺偔偠傪堷偔偲丄1僨傿僫乕儖偲弌偨偺偱丄僇儕乕僼偼1僨傿僫乕儖傪梌偊傜傟偰晹壆偐傜弌偝傟偨丅偦偙偵泚姱挿僒儞僟乕儖偑尰傟丄嶐擔偺嫑偺戙嬥偲偟偰100僨傿僫乕儖傪僇儕乕僼偼庴偗庢偭偨丅 +僇儕乕僼偑媨揳傪弌傞偲丄挌搙乽怱偺椡乿偑擖傟傜傟偨敔偑嫞攧偵妡偗傜傟偰偄偨丅僇儕乕僼偼惃偄偱101僨傿僫乕儖偱敔傪嫞傝棊偲偟偨丅壸扴偓恖懌僝儔僀僋偼棅傑傟傕偟側偄偺偵敔傪扴偄偱僇儕乕僼偺壠傑偱堦弿偵峴偭偨偑丄嬥偑側偄偺偱壗傕傕傜偊側偐偭偨丅僇儕乕僼偑敔傪奐偗傞偲丄乽怱偺椡乿偑弌偰棃偨丅 +乽怱偺椡乿偼曮愇彜僀僽儞丒傾儖丒僉儖僫僗偵庤巻傪彂偄偰帒嬥傪梡棫偰偰傕傜偄丄僇儕乕僼傪晽楥壆偵峴偐偣丄旤偟偄暈傪梌偊丄楃媀嶌朄偲忋昳側尵梩巊偄傪嫵偊丄怴偟偄廧嫃傪梡堄偟偨丅僇儕乕僼偼嫵墹偵墆尒傪媮傔丄忋昳偵側偭偨僇儕乕僼偺曄杄偵嬃偄偰偄傞嫵墹偵丄怴嫃傊偺朘栤傪婅偄弌偨丅怴嫃偵棃偨嫵墹偼乽怱偺椡乿偲嵞夛偟丄旕忢偵婌傃丄僇儕乕僼傪抧曽偺懢庣偵擟柦偟丄乽怱偺椡乿偑慖傫偩旤偟偄壋彈傪嵢偲偟偰梌偊丄墐惾偺桭偲偝傟偨丅僇儕乕僼偨偪偼嫵墹偺斴岇偺傕偲岾偣偵曢傜偟偨丅 +僴僒儞丒傾儖丒僶僗儕偺朻尟乮戞576栭 - 戞615栭乯 [曇廤] + +僶乕僩儞斉乽僶僢僜儔乕偺僴僒儞(戞778栭乚戞831栭)乿 +搶梞暥屔斉乽彜恖偲嬥嵶岺巘偲摵嵶岺巘傪塩傒傓傆偨傝偺懅巕丄偍傛傃嬥嵶岺巘偺懅巕僴僒儞偲儁儖僔傾恖偺嵓媆巘偵傑偮傢傞暔岅(戞778栭乚戞831栭)乿 +愄丄儁儖僔儍偲儂儔乕僒乕儞偺墹偱丄僀儞僪偲僔儞僪偲僔僫(拞崙)偺崙乆偲僆僋僗僗壨(傾儉僟儕儎愳)偺斵曽傪椞桳偡傞働儞僟儈儖墹偲偄偆墹偑偄偨丅墹偼暔岅岲偒偩偭偨偑丄傎偲傫偳偺暔岅傪暦偄偰偟傑偭偨偺偱丄怴偟偄暔岅傪暔岅巘傾僽乕丒傾儕偵強朷偟偨偲偙傠丄傾僽乕丒傾儕偼1擭偺桺梊傪媮傔丄1擭埲撪偵怴偟偄暔岅傪尒偮偗傜傟側偗傟偽巰孻偵側傞偙偲偵側偭偨丅傾僽乕丒傾儕偼5恖偺敀恖搝楆傪屇傃丄堦恖傪僀儞僪偲僔儞僪偺抧堟丄堦恖傪儁儖僔儍偲僔僫偺抧堟丄堦恖傪儂儔乕僒乕儞偺抧堟丄堦恖傪儅僌儕僽偺崙乆丄嵟屻偺儉僶儔僋傪僄僕僾僩偲僔儕傾偺崙乆偵攈尛偟丄乽僴僒儞丒傾儖丒僶僗儕偺朻尟乿偲偄偆暔岅傪扵偡傛偆柦偠偨丅嵟弶偺4恖偼11儠寧屻嫊偟偔婣偭偨丅儉僶儔僋偼丄僄僕僾僩偱偼尒偮偗傜傟偢丄僟儅僗偱暔岅偺柤恖僀僗僴乕僋丒傾儖丒儌僫僢價乕榁恖傪尒偮偗丄偍婅偄偟偨偲偙傠丄僀僗僴乕僋榁恖偼丄忦審偲偟偰乽柍抦偺幰丄婾慞幰丄妛峑嫵巘丄攏幁幰丄晄怣幰偵偼暔岅偺壙抣偑暘偐傜側偄偺偱暔岅傪暦偐偣側偄乿偲偄偆偙偲偱乽僴僒儞丒傾儖丒僶僗儕偺朻尟乿傪嫵偊偰偔傟偨丅儉僶儔僋偼彂偒庢傝丄傾僽乕丒傾儕偺尦傊媫偄偱婣傝丄1擭偺桺梊偓傝偓傝偱暔岅傪撏偗偨丅偦偺暔岅偲偼師偺傛偆側傕偺偱偁偭偨丅 + +愄丄僶僗儔偵僴僒儞偲偄偆柤偺惵擭偑偄偨丅晝偑巰偵懡妟偺堚嶻傪憡懕偟偨偑曻摖偱巊偄壥偨偟丄曣偐傜嬥傪傕傜偄嬥嬧嵶岺偺揦傪巒傔偰偄偨丅偁傞擔丄揦偵儁儖僔儍恖偺抝偑棃偰丄摵偺杶偵杺朄偺暡傪妡偗嬥偵曄偊偰尒偣丄僴僒儞偵楤嬥弍傪嫵偊偰傗傞偲尵偭偨偺偱丄僴僒儞偼掜巕擖傝偟偨偑丄儁儖僔儍恖偼僴僒儞傪杻悓栻偱柊傜偣丄敔偵擖傟丄慏偵愊傒崬傫偱弌斂偟偨丅僴僒儞偑偄側偔側偭偨偺偱曣偼扱偒斶偟傫偩丅 +儁儖僔儍恖偼攓壩嫵搆偱丄柤偼僶乕儔儉偲尵偭偨丅僶乕儔儉偼乽塤偑曯乿偺榌偱慏偐傜崀傝丄僴僒儞傪敔偐傜弌偟偨丅僶乕儔儉偑梇寋偺旂傪挘偭偨摵偺彫懢屰傪扏偔偲戝偒側崟攏偑尰傟丄崟攏偼2恖傪忔偣偰愗傝棫偭偨乽塤偑曯乿傪搊傝丄2恖傪捀忋偵抲偄偰徚偊偨丅僶乕儔儉偑僴僒儞偵乽偙偙偐傜偼摝偘傜傟側偄偧乿偲尵偭偨偺偱丄僴僒儞偼僶乕儔儉偐傜彫懢屰傪扗偄庢傝丄曯偐傜撍偒棊偲偟偰嶦偟偨丅捀忋偺夞傝偼愗傝棫偭偰偄偨偑丄崅尨偵懕偄偰偄偨偺偱丄偦偪傜偵曕偄偰偄偔偲墿嬥偺媨揳偑偁偭偨丅 +僴僒儞偑墿嬥偺媨揳偵擖傞偲丄2恖偺旤偟偄壋彈乽錕錘偺錛乿偲偦偺巓乽揤恖壴偺幚乿偑偄偨偑丄乽錕錘偺錛乿偼僴僒儞傪婥偵擖傝丄媊掜偵偡傞偲惥偭偨丅偦偙傊忋偺巓偨偪乽嬇偺惎乿乽彧偺惎乿乽峠囿囗乿乽僄儊儔儖僪乿乽傾僱儌僱乿偺5恖偑庪偐傜婣偭偰偒偨丅7恖偺巓枀偼杺恄(僕儞)偺墹偺柡偱丄杺恄偺墹偼丄柡偨偪傪抝偐傜妘棧偟丄寢崶偝偣側偄偨傔偵丄乽塤偑曯乿偺捀忋偺媨揳偵廧傑傢偣偰偄偨偺偱偁偭偨丅7恖偺巓枀偼傒傫側僴僒儞傪婥偵擖傝丄巓掜偺傛偆偵媨揳偱曢傜偟偨丅 +偁傞擔丄壋彈偨偪偼丄晝偱偁傞杺恄偺墹偺媨揳偵弌偐偗傞偙偲偵側偭偨丅乽錕錘偺錛乿偼僴僒儞偵乽棷庣拞偳偺晹壆偵擖偭偰傕椙偄偑丄偨偩僩儖僐愇偺尞偺晹壆偩偗偼擖偭偰偼側傜側偄乿偲尵偄巆偟丄僴僒儞傪堦恖巆偟偰7恖偺巓枀偼弌偰峴偭偨丅僴僒儞偼嬛偠傜傟偨晹壆偑婥偵側偭偰丄偮偄偵尵偄晅偗傪攋傝偦偺晹壆偵擖偭偰偟傑偭偨丅 +晹壆偵偼掤巕偑偁傝丄壆忋傑偱懕偄偰偄偨丅僴僒儞偑壆忋偵弌傞偲丄偦偙偼旤偟偄嬻拞掚墍偱丄拞墰偵偼戝偒側屛偑偁偭偨丅僴僒儞偑掚墍偺旤偟偝偵尒偲傟偰偄傞偲丄撍慠10塇偺戝偒側敀偄捁偑屛偵晳偄崀傝丄塇堖傪扙偓幪偰傞偲丄10恖偺旤偟偄慡棁偺壋彈偨偪偵側傝悈梺傃傪巒傔偨丅悈梺傃偑嵪傓偲丄10恖偺拞偱嵟傕旤偟偄壋彈偑屛偵柺偟偨嬍嵗偵棁偺傑傑嵗傝丄懠偺壋彈偨偪偼偦傟偵廬偭偨丅僴僒儞偼塀傟偰嬍嵗偵嵗傞壋彈傪尒偮傔丄楒偵棊偪偰偟傑偭偨丅偟偽傜偔偡傞偲壋彈偨偪偼嵞傃塇堖傪拝偰捁偺巔偵側傝旘傃棫偭偰偟傑偭偨丅 +偦偺擔偐傜僴僒儞偼枅斢嬻拞掚墍偵峴偭偨偑丄嵞傃壋彈偨偪偑棃傞偙偲偼側偔丄僴僒儞偼楒偺嬯偟傒偐傜傗偮傟偰偟傑偭偨丅偦偙偵7恖偺巓枀偑晝偺媨揳偐傜婣偭偰棃偨丅乽錕錘偺錛乿偼傗偮傟偨僴僒儞傪尒偮偗棟桼傪暦偔偲丄僴僒儞偼巒傔尵偄晅偗傪攋偭偨偙偲傪抪偠偰摎偊側偐偭偨偑丄偮偄偵杮摉偺偙偲傪榖偟偨丅乽錕錘偺錛乿偼丄壋彈偑嵗偭偨応強偐傜丄偦偺壋彈偑乽錕錘偺錛乿偺晝傪梱偐偵忋夞傞杺恄偺戝墹偺7恖偺柡偺枛偭巕偺乽梥偄昉乿偱偁傝丄枅寧怴寧偺擔偵偙偺屛偵梀傃偵棃傞偙偲丄昉傪曔傑偊傞偵偼塇堖傪扗偄丄敮偺栄傪捦傫偱堷偭挘傟偽尵偆偙偲傪暦偔偲偄偆偙偲傪僴僒儞偵嫵偊偨丅 +師偺怴寧偺擔丄僴僒儞偑嬻拞掚墍偵塀傟偰偄傞偲丄捁偺巔偺壋彈偨偪偑旘棃偟丄塇堖傪扙偓悈梺傃傪巒傔偨丅僴僒儞偑乽梥偄昉乿偺塇堖傪扗偆偲丄婥晅偄偨乽梥偄昉乿偼嫨傃惡傪忋偘丄嬃偄偨偍嫙偺壋彈偨偪偼変愭偵塇堖傪庢傝丄捁偺巔偵側偭偰丄乽梥偄昉乿傪堦恖巆偟旘傃棫偭偰峴偭偰偟傑偭偨丅僴僒儞偼棁偺乽梥偄昉乿傪捛偄偐偗丄敮傪捦傫偱媨揳偺帺暘偺晹壆偵楢傟偰峴偭偨丅乽錕錘偺錛乿傜7恖巓枀偼乽梥偄昉乿偵僴僒儞偺挿強傪愢偄偰愢摼偟丄僴僒儞傕旤偟偄帊傪嬦偠偨偨傔丄乽梥偄昉乿傕僴僒儞偺挿強傪擣傔寢崶偵摨堄偟偨丅乽錕錘偺錛乿偼乽梥偄昉乿偵旤偟偄暈傪拝偣丄寢崶偺媀幃傪峴偭偨丅僴僒儞偲乽梥偄昉乿偼偦傟偐傜40擔娫垽偟崌偭偨偑丄僴僒儞偼巆偟偰偒偨曣偑婥偵側傝丄壠偵婣傞偙偲偵偟偨丅 +僴僒儞偼杺朄偺彫懢屰傪巊偄壗摢偐偺攏傪屇傃弌偟丄乽梥偄昉乿偲戝検偺偍搚嶻傪帩偭偰僶僗儔偵婣傝曣偲嵞夛偟偨丅僴僒儞偺曣偼杺恄偺戝墹偺墹彈偵偼僶僗儔傛傝僶僌僟乕僪偺搒偺曽偑椙偄偲峫偊丄僶僌僟乕僪偵堷偭墇偟丄乽梥偄昉乿偼偦偙偱僫僙儖偲儅儞僗乕儖偲偄偆憃巕偺抝偺巕傪嶻傫偩丅偁傞擔丄僴僒儞偑乽錕錘偺錛乿偵夛偆偨傔堦恖弌敪偟棷庣偵偟偨偲偒丄乽梥偄昉乿偑岞廜梺応(僴儞儅乕儉)偵峴偭偨偲偙傠丄偁傑傝偺棁恎偺旤偟偝偵搒拞偺彈偺塡偵側傝丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偺惓岪僝僶僀僟偺帹偵傑偱払偟丄僝僶僀僟斳偼乽梥偄昉乿傪彚偟弌偟偨丅墆尒偟偨乽梥偄昉乿偑乽嬻傪旘傇偙偲偑偱偒傞乿偲尵偭偨偺偱丄僝僶僀僟斳偼尒偨偄偲尵偄丄僴僒儞偺曣偼偟偐偨側偔塀偟偰偁偭偨塇堖傪乽梥偄昉乿偵搉偟偨偲偙傠丄乽梥偄昉乿偼2恖偺巕偳傕傪楢傟偰旘傃棫偭偰偟傑偄丄乽夛偄偨偗傟偽儚僋丒儚僋彅搰偵棃偰偔偩偝偄乿偲尵偄巆偟偰徚偊偰偟傑偭偨丅 +婣偭偰偒偨僴僒儞偼扱偒斶偟傒丄儚僋丒儚僋搰傊峴偔曽朄傪暦偒偵嵞傃乽錕錘偺錛乿偺強偵峴偭偨丅偟偐偟丄7恖偺巓枀傕峴偒曽傪抦傜側偐偭偨偺偱丄挿彈乽嬇偺惎乿傪壜垽偑偭偰偄傞廸晝偺杺恄傾僽僪丒傾儖丒僇僢僪僁僗偵彆椡傪棅傫偩偑丄斵偵傕峴偔偙偲偑偱偒側偄強偱偁偭偨丅偦偙偱丄杺恄傾僽僪丒傾儖丒僇僢僪僁僗偼僴僒儞傪忔偣偰嶰擔嶰斢嬻傪旘傃杺朄偺攏偺摯孉偵峴偒丄杺恄乽塇偺晝傾儕乿偺彆椡傪婅偆庤巻傪僴僒儞偵搉偟丄僴僒儞傪杺朄偺攏偵忔偣偰憲傝弌偟偨丅杺朄偺攏偼10擔娫憱傝懕偗乽塇偺晝傾儕乿偺摯孉偵拝偄偨丅 +乽塇偺晝傾儕乿偼彆椡傪墳戻偡傞偑丄儚僋丒儚僋搰偼丄斵偱傕峴偔偺偑崲擄側強偱偁偭偨丅乽塇偺晝傾儕乿偼杺恄僟僴僫僔儏丒儀儞丒僼僅儖僋僞僢僔儏傪屇傃弌偟丄僴僒儞傪楢傟偰搑拞偺乽敀従擼偺抧乿傑偱峴偔傛偆偵柦偠偨丅乽敀従擼偺抧乿偵拝偄偨僴僒儞偼曕偒弌偡偑丄嫄恖偵曔傑傝丄嫄恖懓偺墹偵專忋偝傟丄墹偐傜墹彈偵壓帓偝傟偨丅嫄恖偺墹彈偼僴僒儞傪捁偐偛偵擖傟丄僴僒儞偺抝惈傪娺傫偩偑丄偁傞擔僴僒儞偼捁偐偛偐傜敳偗弌偟丄乽塇偺晝傾儕乿偐傜傕傜偭偨栄傪擱傗偟偰斵傪屇傃弌偟彆偗偰傕傜偄丄儚僋丒儚僋彅搰偺奀娸傑偱楢傟偰峴偭偰傕傜偭偨丅 +偡傞偲抧嬁偒傪棫偰丄嫲傞傋偒儚僋丒儚僋搰偺柡巕孯偺旤偟偄壋彈偺婻暫偺堦抍偑傗偭偰棃偨丅僴僒儞偼戉挿偺榁攌乽憚偺曣乿偵婥偵擖傜傟丄乽婸偄昉乿傪扵偡嫤椡傪偟偰傕傜偆偙偲偵側傝丄柡巕孯偺拞偵乽婸偄昉乿偑偄側偄偐挷傋傞偨傔壋彈偺婻暫偨偪偑峛檋傪扙偄偱悈梺傃傪偡傞偲偙傠傪塀傟偰尒傞偙偲偵側傝丄柡巕孯偺慡偰偺壋彈偨偪偺棁恎傪尒偨偑乽婸偄昉乿偼偄側偐偭偨丅 +榁愴巑乽憚偺曣乿偼丄乽婸偄昉乿偼儚僋丒儚僋彅搰偺戝杺墹偺7恖偺墹彈偺堦恖偵堘偄側偄偲巚偄丄7恖偺墹彈偺側偐偺挿彈偺僰乕儖丒傾儖丒僼僟昉偵彆椡傪梫惪偟偨偑丄媡偵寖搟偝傟偰偟傑偄丄僰乕儖丒傾儖丒僼僟昉偼僴僒儞傪曔傜偊丄扤偑僴僒儞偲娭學傪寢傫偩偐挷傋傞偨傔丄儚僋丒儚僋彅搰偺7偮偺搰偵偦傟偧傟廧傫偱偄傞枀傪堦恖偢偮屇傃弌偟偨丅師彈偐傜6彈傑偱偺墹彈乽堦懓偺懜婱乿乽堦壠偺岾乿乽栭偺旝岝乿乽屼嬻偺惔忩乿乽敀偄弻乿傪偦傟偧傟僴僒儞偵夛傢偣偨偑丄偄偢傟傕乽婸偄昉乿偱偼側偐偭偨丅嵟屻偵丄枛偺枀乽悽奅偺忺傝乿傪僴僒儞偵夛傢偣傞偲丄幚偼乽婸偄昉乿偱偁傝丄僴僒儞偼姶寖偺偁傑傝婥愨偟偰偟傑偭偨丅僰乕儖丒傾儖丒僼僟昉偼丄乽悽奅偺忺傝乿偑恖娫偲娭學傪寢傃丄偝傜偵晇偲偟偨幰傪幪偰偰巕嫙偲摝偘婣偭偨偙偲偵寖搟偟丄乽悽奅偺忺傝乿傪曔傜偊丄僴僒儞傪挰偺奜偵幪偰偨丅 +僴僒儞偑挰偺奜傪曕偄偰偄傞偲丄2恖偺彈偺巕嫙偑朮巕偺庢傝崌偄傪偟偰偄偨偺偱拠嵸偟丄乽崱偐傜搳偘傞愇傪廍偭偰偒偨幰傪朮巕偺帩庡偵偟傛偆乿偲尵偄愇傪搳偘偨丅偦偺朮巕偼懱偑尒偊側偔側傞杺朄偺朮巕偱丄僴僒儞偑朮巕傪旐傞偲丄愇傪帩偪婣偭偨巕嫙傕僴僒儞偑尒偊偢丄僴僒儞偺惡偵嬃偒摝偘偰峴偭偨丅 +僴僒儞偼杺朄偺朮巕傪旐傝丄僰乕儖丒傾儖丒僼僟昉偺媨揳偵擖傝丄乽憚偺曣乿傪尒偮偗丄乽婸偄昉乿傪楽偐傜彆偗弌偟丄乽婸偄昉乿偺搰偺媨揳偵峴偒僫僙儖偲儅儞僗乕儖偵嵞夛偟丄3拝偺塇堖傪僴僒儞丄乽婸偄昉乿丄乽憚偺曣乿偑拝偰丄2恖偺巕嫙傪書偊偰嬻傪旘傫偱僶僌僟乕僪偵婣偭偨丅斵傜偼僶僌僟乕僪偱岾偣偵曢傜偟丄傑偨擭偵1夞偼乽塤偑曯乿偺7恖偺墹彈偺強偵峴偒丄嵞夛傪婌傃丄岾暉偺偆偪偵恖惗傪憲偭偨丅 +椶帡偺榖:斶偟傒偺旤惵擭偺暔岅 +娭楢崁栚:塇堖揱愢 +梲婥偱柍嶌朄側楢拞偺嵗択廤乮戞616栭 - 戞622栭乯 [曇廤] + +楌巎揑側曻洓 [曇廤] +僶乕僩儞斉乽傾僽丒僴僒儞偑洓傪偟偨榖(戞397栭嬤偔)乿 +愄丄儎儅乕儞(僀僄儊儞)偺僇僂僇僶乕儞偺挰偵僼傽僘儕懓偺儀僪僂傿儞恖偱傾僽乕儖丒儂僙僀儞偲偄偆抝偑偄偨丅傾僽乕儖丒儂僙僀儞偼丄嵞崶偺寢崶幃偱戝偒側洓傪偟偰偟傑偄丄抪偢偐偟偝偺偁傑傝摝偘弌偟丄僀儞僪峴偒偺慏偵忔傝儅儔僶乕儖傑偱峴偒丄偦偙偱堦恖偱惗妶偟偰偄偨丅10擭宱偭偰屘嫿偑楒偟偔側傝丄僇僂僇僶乕儞偵栠偭偰傒傞偲丄偁傞巕偳傕偑乽巹偼偁偺傾僽乕儖丒儂僙僀儞偑洓傪偟偨擭偵惗傑傟偨乿偲尵偭偰偄偰丄洓偺偙偲偑朰傟傜傟偰偄側偄偙偲傪抦傝丄愨朷偟偰屘嫿傪嵞傃屻偵偟偨丅 +椶帡偺榖丗朄姱乽洓偺晝乿偺暔岅 +擇恖偺埆媃幰 [曇廤] +愄丄僟儅僗偺埆媃幰偑丄僇僀儘偺埆媃幰偺塡傪暦偒丄偳偪傜偑忋庤偐丄僇僀儘傑偱尒偵峴偭偨丅2恖偼堄婥搳崌偟丄僇僀儘偺埆媃幰偼僇僀儘偺挰偺柤強傪埬撪偟偰曕偒丄偁傞夞嫵帥堾傑偱棃偨傜丄櫶偱梡傪懌偟偰偄傞恖偑尒偊偨丅偳偺傛偆側埆媃傪偡傞偐偲偄偆榖偵側傝丄僟儅僗偺埆媃幰偼乽獯偱怟傪撍偭偮偔乿偲尵偭偨偲偙傠丄僇僀儘偺埆媃幰偼乽壴懇傪搉偡乿偲尵偭偨偺偱丄僇僀儘偺埆媃幰偺曽偑桪傟偰偄傞偲偄偆偙偲偵側偭偨丅 +彈偺嶔棯 [曇廤] +僶乕僩儞斉乽恖嵢偲屲恖偺媮垽幰(戞593栭-戞596栭)乿 +搶梞暥屔斉乽崙偺崅姱傜傪庤嬍偵偲偭偨彈偺榖(戞593栭-戞596栭)乿 +愄丄偁傞恖嵢偑偄偨偑丄晇偑晄嵼偑偪偩偭偨偨傔庒偄抝傪垽恖偵偟偰偄偨偲偙傠丄偦偺庒偄抝偼椉搧巊偄偺榁恖偐傜尵偄婑傜傟偨偨傔丄榁恖傪墸傝丄曔傑傝楽壆偵擖傟傜傟偨丅恖嵢偼庒幰傪彆偗傞偨傔曭峴偵偍婅偄偟偨偑丄懱傪媮傔傜傟偨偨傔丄梉曽壠偵棃傞傛偆曭峴偵尵偭偨丅師偵朄姱(僇乕僨傿乕)偵庒幰偺庍曻傪偍婅偄偟偨偑丄懱傪媮傔傜傟偨偨傔丄梉曽壠偵棃傞傛偆朄姱偵尵偭偨丅師偵戝恇偵庒幰偺庍曻傪偍婅偄偟偨偑丄懱傪媮傔傜傟偨偨傔丄梉曽壠偵棃傞傛偆戝恇偵尵偭偨丅師偵墹條偵庒幰偺庍曻傪偍婅偄偟偨偑丄懱傪媮傔傜傟偨偨傔丄梉曽壠偵棃傞傛偆墹條偵尵偭偨丅恖嵢偼壠嬶壆偵丄堷偒弌偟偑5抜偁傞抃恲傪拲暥偟偨偑丄壠嬶壆偑戙嬥偺戙傢傝偵懱傪媮傔偨偨傔丄梉曽壠偵棃傞傛偆偵尵偭偨丅 +梉曽丄傑偢曭峴偑壠偵棃偨偑丄帠偵媦傏偆偲偟偨偲偒朄姱偑棃偨偺偱曭峴偼抃恲偺堦斣壓偺堷偒弌偟偵塀傟丄朄姱偑帠偵媦傏偆偲偟偨偲偒戝恇偑棃偨偺偱丄朄姱偼2斣栚偺堷偒弌偟偵塀傟丄戝恇偑帠偵媦傏偆偲偟偨偲偒墹條偑棃偨偺偱丄戝恇偼3斣栚偺堷偒弌偟偵塀傟丄墹條偑帠偵媦傏偆偲偟偨偲偒壠嬶壆偑棃偨偺偱丄墹條偼4斣栚偺堷偒弌偟偵塀傟丄壠嬶壆偑帠偵媦傏偆偲偟偨偲偒庍曻偝傟偨庒幰偑棃偨偺偱丄壠嬶壆偼5斣栚偺堷偒弌偟偵塀傟偨丅恖嵢偼堷偒弌偟偵尞傪妡偗丄壠嵿傪傑偲傔偰庒幰偲嬱偗棊偪偺椃偵弌偰偟傑偭偨丅恖嵢偺懱傪媮傔偨5恖偼抃恲偺拞偵暵偠崬傔傜傟偨傑傑偱丄2擔屻丄恖嵢偺晇偑婣偭偰棃偰傗偭偲彆偗弌偝傟偨丅 +娽傪妎傑偟偨塱柊偺抝偺暔岅乮戞622栭 - 戞653栭乯 [曇廤] + +愄僶僌僟乕僪偵傾僽乕儖丒僴僒儞偲偄偆庒幰偑偄偨丅斵偼晝偺堚嶻傪庴偗宲偄偩屻丄堚嶻傪擇偮偵暘偗丄曅曽傪桭偲偺梀嫽偵巊偭偨偑丄嬥偑側偔側偭偨搑抂丄桭恖偑慡偰偄側偔側偭偨偙偲偵挦傝丄巆傝偺堚嶻偼桭偺偨傔偵偼巊傢偢丄枅斢僶僌僟乕僪傪朘傟偨堎崙偺恖傪堦栭偩偗娊懸偡傞偙偲偵巊偄丄摨偠恖傪2搙偲娊懸偟側偄偙偲偲偟偰偄偨丅 +偁傞梉曽丄傾僽乕儖丒僴僒儞偑僶僌僟乕僪偺嫶偺忋偵偄傞偲丄堎崙偺彜恖偵曄憰偟偨嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偵弌夛偄丄帺戭偵彽偒娊懸偟偨丅嫵墹偑偍楃偵壗偐偟偨偄偲怽偟弌偨偲偙傠丄傾僽乕儖丒僴僒儞偼媞偑嫵墹偲偼抦傜偢丄乽堦擔偩偗嫵墹偵側偭偰傒偨偄丅乿偲柌傪尵偭偨丅偦傟傪暦偄偨嫵墹偼丄傾僽乕儖丒僴僒儞偺堸傒暔偵杻悓栻傪擖傟丄柊偭偨傾僽乕儖丒僴僒儞傪媨揳偵楢傟婣偭偨丅 +嫵墹偼媨揳偺恖乆偵乽傾僽乕儖丒僴僒儞傪嫵墹偲偟偰埖偊乿偲柦偠丄傾僽乕儖丒僴僒儞傪嫵墹偺怮戜偵怮偐偣偨丅梻挬栚妎傔偨傾僽乕儖丒僴僒儞偼丄嫵墹偵側偭偨偙偲偵嬃偔偑丄惌柋傪怽偟暘側偔峴偄丄栭丄屻媨偵擖偭偨丅屻媨偱偼丄偦傟偧傟7恖偺旤偟偄壋彈偺偄傞怘帠偺晹壆丄壥暔偺晹壆丄壻巕偺晹壆丄堸傒暔偺晹壆偱梉怘傪妝偟傫偩偑丄堸傒暔偺拞偺杻悓栻偱柊傜偝傟偰偟傑偄丄帺戭偵塣偽傟偨丅 +梻挬栚妎傔偨傾僽乕儖丒僴僒儞偼丄乽帺暘偼嫵墹偩乿偲憶偓棫偰偨偨傔丄嫸恖偲偟偰暵偠崬傔傜傟傞偑丄廫擔屻夝曻偝傟偨丅傾僽乕儖丒僴僒儞偑僶僌僟乕僪偺嫶偺忋偵偄傞偲丄堎崙偺彜恖偵曄憰偟偨嫵墹偲嵞傃弌夛偄丄嫵墹偑乽晄岾偺彏偄傪偟偨偄乿偲棅傫偩偺偱丄嵞傃帺戭偵彽偒娊懸偟偨丅嫵墹偼丄傾僽乕儖丒僴僒儞偑乽屻媨偺亀嵒摐媜亁偲尵偆柤偺壋彈偵傕偆堦搙夛偄偨偄乿偲偄偭偨偺偱丄嵞傃杻悓栻偱柊傜偣丄媨揳偵楢傟偰峴偒丄嫵墹偺怮戜偵怮偐偣偨丅 +梻挬栚妎傔偨傾僽乕儖丒僴僒儞偼埆杺偺巇嬈偲巚偄嬃偔偑丄嫵墹偼忕択偱傗偭偨偙偲偲恀幚傪嫵偊丄傾僽乕儖丒僴僒儞傪庰墐偺桭偲偟偰1枩僨傿僫乕儖偺曨媼偱屬偄丄嵒摐媜偲偺寢崶傪嫋偟偨丅 +寢崶偟偨傾僽乕儖丒僴僒儞偲嵒摐媜偼丄崑壺側惗妶傪巒傔傞偑丄嫵墹偑媼椏偺巟暐偄傪朰傟偨偨傔堦暥柍偟偵側偭偨丅偦偙偱丄傾僽乕儖丒僴僒儞偼丄嫵墹偵乽嵒摐媜偑巰傫偱傾僽乕儖丒僴僒儞偑斶偟傫偱偄傞乿偲丄嫵墹偺惓岪僝僶僀僟偵乽傾僽乕儖丒僴僒儞偑巰傫偱嵒摐媜偑斶偟傫偱偄傞乿偲揱偊丄椉幰偐傜挗堅嬥傪庢傞寁夋傪棫偰丄寁夋偼惉岟偟偨丅偟偐偟丄嫵墹偲僝僶僀僟偼丄扤偑巰傫偩偐偱尵偄憟偄偵側傝丄嫵墹偺巊幰偑妋偐傔偵棃偨偲偒偼嵒摐媜偑巰傫偩傆傝傪偟偰傾僽乕儖丒僴僒儞偑扱偒丄僝僶僀僟偺巊幰偑妋偐傔偵棃偨偲偒偼傾僽乕儖丒僴僒儞偑巰傫偩傆傝傪偟偰嵒摐媜偑扱偔偲偄偆偙偲傪偟偨偑丄嫵墹偲僝僶僀僟偺尵偄憟偄偼峏偵寖偟偔側傝丄椉幰杮恖偑妋偐傔偵棃偨偲偙傠丄擇恖偲傕巰傫偩傆傝傪偟偨偨傔丄戝徫偄偵側傝丄嫵墹偼媼椏偺巟暐偄傪朰傟側偄偲栺懇偟丄擇恖傪幫偟丄傒側岾偣偵曢傜偟偨丅 +僓僀儞丒傾儖丒儅儚僔僼偺楒乮戞653栭 - 戞666栭乯 [曇廤] + +僶乕僩儞斉乽儅僗儖乕儖偲僓僀儞丒傾儖丒儅儚僔僼(戞845栭乚戞863栭)乿 +搶梞暥屔斉乽彜恖儅僗儖乕儖偲斵偑尒偨柌偺暔岅(戞845栭乚戞863栭)乿 +愄丄戝嬥帩偪偺旤偟偄惵擭偱傾僯僗偲偄偆柤偺幰偑曕偄偰偄傞偲丄戝偒側壆晘偐傜旤偟偄彈偺惡偑暦偙偊偰棃偨丅拞偵擖傞偲丄4恖偺旤偟偄彚巊偺彈偵埻傑傟偰傂偲偒傢旤偟偄14嵨偖傜偄偺壋彈偑偄偨丅壋彈偼僓僀儞丒傾儖丒儅儚僔僼偲尵偄丄怤擖幰偵嬃偔偑丄傾僯僗傪彨婝偵桿偭偨丅傾僯僗偑僓僀儞丒傾儖丒儅儚僔僼偵尒偲傟丄彨婝偵廤拞偟側偄偺偱丄僓僀儞丒傾儖丒儅儚僔僼偼杮婥偵偝偣傞偨傔慡嵿嶻傪妡偗偰彨婝傪巜偡偙偲偵偡傞偑丄傗偼傝傾僯僗偼尒偲傟偰晧偗偰偟傑偭偨丅僓僀儞丒傾儖丒儅儚僔僼偼慡嵿嶻偼偄傜側偄偲尵偆偑丄傾僯僗偼晧偗偨埲忋慡嵿嶻偼偁側偨偺傕偺偩偲尵偄丄朄姱(僇乕僨傿乕)傪屇傃徹彂傪嶌偭偨丅 +偦偙偱丄僓僀儞丒傾儖丒儅儚僔僼偼傾僯僗偵乽阬崄4戃偲丄棿煹崄4僆儞僗偲丄嬥鍱4000斀偲丄柲閫攏4摢傪帩偭偰偒偰梸偟偄丅乿偲棅傒丄傾僯僗偼乽桭恖偑偄傞偺偱丄棅傔偽梡棫偰傜傟傑偡丅乿偲尵偭偰弌偰峴偭偨丅僓僀儞丒傾儖丒儅儚僔僼偼彈彚巊偺僼乕僽乕僽偵丄慡嵿嶻傪幐偭偨傾僯僗偑桭恖偵棅傫偱傕桭恖偼暦偐側偄偩傠偆偐傜丄慡偰偺桭恖偵抐傜傟偨傜偙偙偵楢傟偰偔傞傛偆偵尵偄丄傾僯僗偺屻傪偮偗偝偣偨丅傾僯僗偼慡偰偺桭恖偵抐傜傟丄僓僀儞丒傾儖丒儅儚僔僼偺尦偵婣偭偨偑丄僓僀儞丒傾儖丒儅儚僔僼偼傾僯僗偵慡嵿嶻傪曉偟丄怮幒偵擖傝垽偟崌偭偨丅 +僓僀儞丒傾儖丒儅儚僔僼偼幚偼儐僟儎恖偱恖嵢偱丄晇偵抦傜傟側偄傛偆偵傾僯僗偲枾夛傪廳偹偨偑丄偮偄偵晇偵抦傜傟偰偟傑偭偨丅晇偼嵢偲傾僯僗傪堷偒棧偡偨傔丄嵢傪楢傟偰彜攧偺椃偵弌敪偟偨丅晇偼嵢傪曏懪偪丄掻揝壆偺偲偙傠偵楢傟偰峴偒丄僓僀儞丒傾儖丒儅儚僔僼偵掻揝傪懪偮傛偆棅傫偩丅掻揝壆偼嬃偒丄曭峴偵捠曬偟偨丅僓僀儞丒傾儖丒儅儚僔僼偼丄帺暘偼僀僗儔儉嫵搆偱丄偙偺儐僟儎恖偵桿夳偝傟媠懸偝傟偰偄傞偲塕傪尵偄丄4恖偺彈彚巊僼乕僽乕僽丄僋乕僩僁乕僽丄僗乕僋乕僽丄儖乕僋乕僽傕僓僀儞丒傾儖丒儅儚僔僼偺塕偵摨挷偟偨丅儐僟儎恖偺晇偼杮摉偺偙偲傪尵偭偰傕怣偠偰傕傜偊偢丄廔惗擖楽偲側偭偨丅 +僓僀儞丒傾儖丒儅儚僔僼偼婣傞搑拞丄僉儕僗僩嫵偺嫵夛偺慜傪捠偭偨偑丄廋摴巑偑乽栭偼搻懐偑弌傞偺偱婋尟偩偐傜攽傑偭偰峴偒側偝偄乿偲尵偆偺偱丄攽傑傞偙偲偵偟偨丅廋摴巑偨偪偼僓僀儞丒傾儖丒儅儚僔僼傪廝偍偆偲偟偨偑丄僓僀儞丒傾儖丒儅儚僔僼偲4恖偺彈彚巊偼摝偘弌偟擄傪摝傟偨丅僓僀儞丒傾儖丒儅儚僔僼偼壆晘偵婣傝丄傾僯僗偲嵞夛偟丄岾偣偵曢傜偟偨丅 +晄惛側庒幰偺暔岅乮戞666栭 - 戞671栭乯 [曇廤] + +僶乕僩儞斉乽懹偗幰偺傾僽丒儌僴儊僢僪(戞299栭-戞305栭)乿 +搶梞暥屔斉乽傕偺偖偝偺傾僽乕丒儉僴儞儅僪(戞299栭-戞305栭)乿 +偁傞擔丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偼丄惓岪僝僶僀僟偐傜柍悢偺曮愇傪偪傝偽傔偨墹姤偺拞墰偵偮偗傞戝偒側曮愇偑梸偟偄偲棅傑傟丄僶僌僟乕僪拞傪扵偝偣傞偑尒偮偐傜偢丄偦偺傛偆側曮愇偼僶僗儔偵廧傓乽偖偵傖偖偵傖崪偺傾僽乕丒儉僴儞儅僪乿偟偐帩偭偰偄側偄偲彜恖偑岥乆偵尵偭偰偄傞偙偲傪抦偭偨丅嫵墹偼恖傪僶僗儔偵尛傢偟丄偖偵傖偖偵傖崪偺傾僽乕丒儉僴儞儅僪傪彚偟弌偟偨丅 +嫵墹偵墆尒偟偨偖偵傖偖偵傖崪偺傾僽乕丒儉僴儞儅僪偼丄懡悢偺曮愇傗丄墿嬥偺姴偵僄儊儔儖僪偲傾僋傾儅儕儞偺梩傪晅偗偰儖價乕偲僩僷乕僘偲恀庫偺幚偑側偭偨栘傗丄柍悢偺曮愇偑朌偄晅偗傜傟偨揤枊偱岥揓傪悂偔偲曮愇偺捁偨偪偑壧偄偩偡偲偄偆傕偺傪專忋偟偨丅嫵墹偼偖偵傖偖偵傖崪偺傾僽乕丒儉僴儞儅僪偺柤慜偺桼棃偲丄偙傟傎偳偺嵿曮傪偳偺傛偆偵偟偰摼偨偐傪暦偄偨偨傔丄傾僽乕丒儉僴儞儅僪偼師偺傛偆偵岅偭偨丅 +傾僽乕丒儉僴儞儅僪偼昻偟偄壠偵惗傑傟丄傑偭偨偔懱傪摦偐偝偢怮偰偽偐傝偱偁偭偨偨傔乽偖偵傖偖偵傖崪乿偲屇偽傟傞傛偆偵側偭偨偑丄15嵨偺偲偒晝恊偑側偔側傝丄曣偺摥偒偱曢傜偟偰偄偨丅偁傞擔丄偲側傝偺挿榁儉乕僓僼傽儖偑彜戉傪慻傫偱僔僫乮拞崙乯傊杅堈偵弌偐偗傞偙偲偵側偭偨偺偱丄嬧壿5僪儔僋儉傪儉乕僓僼傽儖偵梐偗丄僔僫偱壗偐傪巇擖傟偰偒偰傕傜偆傛偆棅傫偩丅 +儉乕僓僼傽儖偼柍帠僔僫偵拝偒丄彜攧傪偟丄慏偱婣搑偵拝偔偑丄搑拞偱傾僽乕丒儉僴儞儅僪偺巇擖傟傪朰傟偨偙偲偵婥晅偒丄慏傪僔僫偵栠偦偆偲偡傞丅偟偐偟懠偺彜恖偨偪偑斀懳偟丄偦傟偧傟嬥壿5僨傿僫乕儖傪傾僽乕丒儉僴儞儅僪偺偨傔偵暐偆偺偱丄堷偒曉偝側偄偙偲偵側偭偨丅慏偼曗媼偺偨傔偁傞搰偵婑峘偟偨偲偙傠丄20旵傎偳偺墡傪帩偭偨墡攧傝偑偄偰丄偆偪1旵偼懠偺墡偐傜偄偠傔傜傟偰丄傂偳偄忬嫷偩偭偨丅儉乕僓僼傽儖偼垼傟偵巚偄丄偦偺墡偺抣抜傪暦偄偨偲偙傠丄嬧壿5僪儔僋儉偩偭偨偺偱丄傾僽乕丒儉僴儞儅僪偺偨傔偵偦偺墡傪攦偭偨丅墡傪慏偵楢傟偰峴偔偲丄墡偼奀偵旘傃崬傒丄恀庫偺奓傪奀掙偐傜師乆廍偭偰偒偨丅墡偑廍偄廔傢傞偲丄慏偼弌峘偟丄柍帠僶僗儔偵栠偭偨丅儉乕僓僼傽儖偼丄嬥壿偲丄墡偲丄墡偑廍偭偨恀庫傪傾僽乕丒儉僴儞儅僪偵搉偟偨丅 +傾僽乕丒儉僴儞儅僪偼偦偺擔埲崀婲偒偰丄恀庫傪攧傞彜攧傪巗応偱巒傔丄嬥帩偪偵側偭偨丅偁傞擔丄墡偑梇寋偺塇傪傓偟傝丄堦杮堦杮搚偵怉偊丄捁偺寣傪妡偗丄嵒擷傪庢傝弌偟搚偺忋偵婲偒丄庺暥傪彞偊傞偲丄墡偼徚偊丄塇崻堦杮堦杮偑墿嬥偲曮愇偺栘偵側傝丄嵒擷偼曮愇偺揤枊偵側傝丄敎戝側晉傪摼偨丅傾僽乕丒儉僴儞儅僪偼偙偺嵿椡偺偨傔丄僶僗儔偺墹懓偺柡偲寢崶偱偒偨丅 +偙偺榖傪暦偄偨嫵墹偼姶怱偟丄專忋昳傪忋夞傞朖旤傪梌偊偨丅傾僽乕丒儉僴儞儅僪偼僶僗儔偵婣傝丄岾偣偵偔傜偟偨丅 +庒幰僰乕儖偲桬傑偟偄僼儔儞僋墹彈偺暔岅乮戞671栭 - 戞714栭乯 [曇廤] + +僶乕僩儞斉乽傾儕丒僰儖丒傾儖丒僨傿儞偲懷嶌傝偺儈儕傾儉昉(戞863栭乚戞894栭)乿 +搶梞暥屔斉乽僰乕儖丒傾僢僨傿乕儞偲懷曇柡儅儖儎儉偺暔岅(戞863栭乚戞894栭)乿 +僄僕僾僩偺僇僀儘偺崑彜乽姤巵乿偵偼丄僰乕儖偲尵偆柤偺14嵨偵側傞旤偟偄懅巕偑偄偨丅偁傞擔僰乕儖偼埆桭偲掚墍偵梀傃偵峴偒丄壴乆傗壥暔傪妝偟傒丄埆桭偵偦偦偺偐偝傟惗傑傟偰弶傔偰庰傪堸傒丄彈傪書偄偨丅壠偵婣偭偨庰廘偄僰乕儖偼丄僀僗儔儉偺嫵偊偵攚偒庰傪堸傫偩偙偲傪晝偐傜幎傜傟丄悓偭偨惃偄偱晝傪墸偭偨偨傔丄晝偐傜梻挬塃庤傪愗傝棊偲偡偲愰尵偝傟偨丅曣恊偼嬃偒丄僰乕儖偵1000僨傿僫乕儖偲100僨傿僫乕儖偺嵿晍傪搉偟丄傾儖丒僀僗僇儞僟儕傾乮傾儗僋僒儞僪儕傾乯偵摝偘傞傛偆尵偭偨丅 +傾儖丒僀僗僇儞僟儕傾偵拝偄偨僰乕儖偼丄儁儖僔儍恖偵楢傟傜傟偨旤偟偄彈搝楆偵怱傪扗傢傟丄屻傪晅偗偰搝楆巗応傑偱峴偭偨丅彈搝楆偼嫞傝偵妡偗傜傟傞偑丄攦偄傪擖傟偨幰傪師乆攍搢偟嫞傝偼晄惉棫偵側傝偦偆偵側偭偨丅彈搝楆偼僰乕儖傪尒偮偗丄攦偆傛偆棅傫偩偺偱丄僰乕儖偼1000僨傿僫乕儖偱彈搝楆傪攦偄庴偗偨丅彈搝楆偺柤偼儅儕傾儉偲尵偄丄僐儞僗僞儞僥傿僯傾乮僐儞僗僞儞僠僲乕僾儖乯偺僼儔儞僋恖乮儓乕儘僢僷恖乯偺墹偺柡偱丄慏椃偵弌偨偲偙傠丄僀僗儔儉偺奀懐偵廝傢傟偰曔傑傝丄搝楆偲偟偰儁儖僔儍恖搝楆彜恖偵攧傜傟偨偑丄偦偺搝楆彜恖偑昦婥偵側傝丄恊愗偵娕昦偟偰偁偘偨偺偱丄搝楆彜恖偐傜乽婥偵擖傜側偄恖偵偼攧傜側偄乿偲偺栺懇傪摼偰嫞傝偵弌偝傟偨傕偺偱丄攦偄傪擖傟偨幰偑婥偵擖傜側偐偭偨偺偱攍搢偟偰偄偨偲偄偆偙偲偱偁偭偨丅僰乕儖偲儅儕傾儉墹彈偼屳偄偑岲偒偵側傝2擔娫垽偟崌偭偨丅儅儕傾儉偼怣嬄崘敀(僔儍僴乕僟)傪峴偄僀僗儔儉嫵偵夵廆偟偨丅 +偦偺擔偺屵屻丄僰乕儖偑帥堾偵峴偒丄儅儕傾儉偑傾儖丒僀僗僇儞僟儕傾偺柤強偱乽烖偺拰乮傎偽偟傜偺偼偟傜乯乿偲偄偆崅偝30m偺愇拰傪尒偵峴偭偨偲偙傠丄僐儞僗僞儞僥傿僯傾偺墹偑墹彈憑嶕偵巊傢偟偨戝恇偵弌夛偄丄婣崙傪抐傞傕柍棟傗傝楢傟嫀傜傟偰偟傑偭偨丅儅儕傾儉偑徚偊偨偙偲傪抦偭偨僰乕儖偼丄僐儞僗僞儞僥傿僯傾偵峴偔慏偵忔傝丄屻傪捛偄偐偗偨偑丄慏偼僐儞僗僞儞僥傿僯傾偺峘偱曔傑偭偰偟傑偭偨丅儅儕傾儉墹彈偑張彈傪幐偭偨偙偲傪抦偭偨墹偼搟傝乽僀僗儔儉嫵搆傪100恖嶦偡乿偲愰尵偟丄忔慏偟偰偄偨幰傪師乆張孻偡傞偑丄僰乕儖偑101恖栚偩偭偨偺偱丄柦偼彆偗傜傟丄嫵夛偺壓摥偒偲側偭偨丅 +7擔屻丄儅儕傾儉墹彈偑嫵夛偵饽傞偙偲偵側傝丄僰乕儖偲嵞夛偟偨丅僰乕儖偼儅儕傾儉偺寁夋偵廬偄丄栭丄嫵夛偺嵿曮傪扗偄丄奀娸偱巜掕偝傟偨彫宆慏偵忔偭偨丅慏偺慏挿偼慏堳傪慡堳嶦偡偑丄慏挿偼抝憰偟偨儅儕傾儉偱偁偭偨丅擇恖偼慏傪憖傝傾儖丒僀僗僇儞僟儕傾偵拝偄偨丅 +傾儖丒僀僗僇儞僟儕傾偵拝偔偲僰乕儖偼儅儕傾儉傪慏偵巆偟儀乕儖偲彈梡偺暈傪攦偄偵峴偭偨偑丄偦偺寗偵丄慏偼廝傢傟儅儕傾儉偼僐儞僗僞儞僥傿僯傾偵楢傟栠偝傟丄儅儕傾儉偼戝恇偲寢崶偡傞偙偲偵側偭偨丅堦曽丄僰乕儖偼僐儞僗僞儞僥傿僯傾峴偒偺慏偵忔傞偑丄僐儞僗僞儞僥傿僯傾偱曔傑傝丄嶦偝傟偦偆偵側偭偨偑丄戝恇偺壠偺柤攏偱偁傞敀攏僒價僋丄崟攏儔僸僋偺栚偺昦婥傪帯偟丄柦傪彆偗傜傟偨丅偦偺栭丄儅儕傾儉偼戝恇傪杻悓栻偱柊傜偣丄儅儕傾儉偼儔僸僋偵丄僰乕儖偼僒價僋偵忔傝摝偘弌偟偨丅扙憱偵婥晅偄偨墹偼丄戝恇傪嶦偟丄3恖偺彨孯偲9000恖偺暫傪棪偄偰捛偄偐偗偰偒偨丅 +僰乕儖偲儅儕傾儉偼墹偺孯偵捛偄偮偐傟偨偑丄儅儕傾儉偼僶儖僽乕僩丄僶儖僩僁僗丄僼傽僔傾乕儞偺3彨孯傪堦婻懪偪偱搢偟丄揋偑摝偘弌偟偨偲偙傠傪捛寕偟偰巰懱偺嶳傪嶌偭偨丅2恖偼僟儅僗偵岦偐偭偰椃傪懕偗偨丅 +僐儞僗僞儞僥傿僯傾偺墹偼丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偵憽傝暔傪偟丄儅儕傾儉墹彈傪曉偡傛偆巊幰傪巊傢偟偨丅嫵墹偼僟儅僗偵拝偄偨僰乕儖偲儅儕傾儉偺2恖傪僶僌僟乕僪偺媨揳偵彚偟弌偟偨丅嫵墹偼帠忣傪暦偒丄儅儕傾儉偑僀僗儔儉偵夵廆偟偨偙偲傪妋擣偟丄僐儞僗僞儞僥傿僯傾偺墹偺埶棅傪抐傝丄2恖偵懡妟偺朖旤傪梌偊偨丅2恖偼僄僕僾僩偺僇僀儘偺乽姤巵乿偺尦偵曉傝丄岾偣偵曢傜偟偨丅 +椶帡偺榖:乽傎偔傠乿偺暔岅 +椶帡偺榖:旤偟偒僘乕儉儖僢僪偲乽塰岝乿偺懅巕傾儕僔儍乕儖偲偺暔岅 +姲恗戝搙偲偼壗丄悽偵張偡傞摴偼偄偐偵偲榑偠崌偆偙偲乮戞714栭 - 戞720栭乯 [曇廤] + +僒儔僨傿儞偲偦偺戝恇偺暔岅 [曇廤] +僶乕僩儞斉乽傾儖丒儅儕僋丒傾儖丒僫僔儖偲偦偺嵣憡(戞697栭-戞698栭)乿 +搶梞暥屔斉乽戝恇傾僽乕丒傾乕儈儖丒僽僰丒儅儖儚乕儞偲傾儖儅儕僋丒傾儞僫乕僗傿儖偺暔岅(戞697栭-戞698栭)乿 +愄丄掗墹(僗儖僞乕儞)僒儔僨傿儞偵巇偊傞戝恇偺尦偵丄旤偟偄僉儕僗僩嫵搆偺彮擭搝楆偑偄偨偑丄偁傞擔掗墹偺栚偵棷傑傝丄掗墹偼怱傪扗傢傟偨傛偆偱偁偭偨丅戝恇偼彮擭傪庤尦偵抲偄偰掗墹偺晄嫽傪攦偆偙偲傪嫲傟丄彮擭傪掗墹偵專忋偟偨丅傑偨偁傞擔丄戝恇偼旤偟偄彮彈搝楆傪攦偭偨偑丄偄偮偺擔偐掗墹偺栚偵棷傑傞偙偲傪嫲傟丄愭夞傝偟偰彮彈傪掗墹偵專忋偟偨丅戝恇偺昡壙偼崅傑傝丄掗墹偼戝恇傪廳梡偟偨丅 +偟偐偟丄夞傝偺幰偼戝恇傪慉朷偟丄掗墹偵乽戝恇偼彮擭搝楆傪掗墹偵庢傜傟偨偙偲傪崷傫偱偄傞乿偲塕偺塡傪揱偊偨丅偦偙偱丄掗墹偼戝恇偺拤惤傪帋偡偨傔丄彮擭搝楆偵乽壗傜偐偺庤抜偱丄巹傪掗墹偐傜庢傝曉偟偰梸偟偄乿偲偄偆戝恇埗偺庤巻傪彂偐偣戝恇偵撏偗偝偣偨丅戝恇偼庤巻傪奐晻偣偢丄乽偡偱偵掗墹偵專忋偟偨傕偺偼掗墹偺傕偺偩乿偲尵偭偰庤巻傪曉偟偨丅掗墹偺戝恇偵懳偡傞怣梡偼塿乆忋偑偭偨丅 +斾梼捤 [曇廤] +僶乕僩儞斉乽僆僩僶乕偲儔僀儎(戞680栭乚戞688栭)乿 +搶梞暥屔斉乽傾僽僪丒傾僢儔乕僼丒僽僰丒儅傾儅儖丒傾儖僇僀僔乕偲僆僩僶丒僽僰丒傾儖僕儏僢僶乕儞偺暔岅(戞680栭乚戞688栭)乿 +傾儖丒僇僀僔偺懅巕傾僽僪僁僢儔乕偑儊僨傿僫偺儉僴儞儅僪偺曟偵嶲攓偟偨嵺丄旤偟偄彮擭偑媰偄偰偄傞偺偑栚偵擖偭偨丅彮擭偼傾儞僒乕儖乮儉僴儞儅僪偑儊僨傿僫偵堏廧乮僸僕儏儔乯偟偨嵺丄儉僴儞儅僪傪庴偗擖傟偨儊僨傿僫偺廧恖乯偺傾儖丒僕儍儉乕偺懅巕傾儖丒儉儞僨傿乕儖偺懅巕傾儖丒僼僶僢僼偺懅巕偺僆僩僶乕偱丄帥堾偱偍婩傝傪偟偰偄偨偲偒偵丄旤偟偄彈惈偨偪偺堦抍偑擖偭偰偒偰丄偦偺拞偺傂偲偒傢旤偟偄彮彈偑乽僆僩僶乕條丄偁側偨偲寢崶偟偨偄偲巚偭偰偄傞彈惈偲寢崶側偝偄傑偡偐乿偲堦尵偄偭偰弌偰峴偒丄偦偺傑傑尒幐偭偰偟傑偭偨偨傔媰偄偰偄傞偺偱偁偭偨丅 +梻擔帥堾偵峴偭偰挷傋傞偲丄彮彈偼梀杚柉僗儔僀儉懓偺懓挿傾儖丒僊僩儕僼偺柡儕儎偱丄婛偵儐乕僼儔僥僗壨偵岦偗偰弌敪偟偨偲偺偙偲偱偁偭偨丅偦偙偱丄傾儞僒乕儖偨偪偼僗儔僀儉懓傪捛偄偐偗傞偙偲偵側傝丄6擔偱捛偄偮偄偨丅僆僩僶乕偑寢崶傪怽偟崬傓偲丄傾儖丒僊僩儕僼偼柡傪掜偺懅巕偵壟偑偣傞偮傕傝偩偭偨偺偱丄朄奜側崶帒傪傆偭偐偗偰榖傪夡偦偆偲巚偄丄崶帒偲偟偰弮嬥偺榬椫1000屄偲丄嬥壿5000枃偲丄5000屄偺恀庫傪偪傝偽傔偨庱忺傝1屄偲丄對怐暔1000斀偲丄墿旂偺挿孋12懌偲丄側偮傔傗偟偺幚10戃偲丄壠抺1000摢偲丄柲攏1摢偲丄阬崄5敔偲丄僶儔偺崄桘俆時偲丄棿煹崄5敔傪梫媮偟偨丅僆僩僶乕偼偦傟傜偺昳傪懙偊丄儕儎偲寢崶偟偨丅 +僆僩僶乕偑儊僨傿僫偵儕儎傪楢傟偰婣傞搑拞丄僗儔僀儉懓偑儕儎傪庢傝曉偡偨傔廝偄偐偐傝丄僆僩僶乕偨偪偼僗儔僀儉懓傪寕戅偡傞偑丄僆僩僶乕偼彎傪晧偄巰偵丄儕儎傕斶偟傒偺偨傔巰傫偱偟傑偭偨丅僆僩僶乕偲儕儎偼堦弿偵杽憭偝傟丄曟偼斾梼捤偲屇偽傟偨丅 +僸儞僪偺棧崶 [曇廤] +僶乕僩儞斉乽傾儖丒僰乕儅儞偺柡僸儞僪偲傾儖丒僴僢僕儍僕(戞680栭-戞681栭)乿 +搶梞暥屔斉乽傾儞僰傾儅乕儞偺柡僸儞僪偲傾儖僴僢僕儍乕僕儏偺暔岅(戞680栭-戞681栭)乿 +傾儖丒僰儅乕儞墹偺旤偟偄柡僸儞僪偼丄僀儔僋偺懢庣傾儖丒僴僕儍乕僕偲寢崶偟偨偑丄傾儖丒僴僕儍乕僕偼婏宍偱晄擻偩偭偨偺偱丄僸儞僪偼斶偟傒丄傾儖丒僴僕儍乕僕傪壊閫攏偵偨偲偊偨偨傔丄傾儖丒僴僕儍乕僕偼僸儞僪傪棧崶偟偨丅 +嫵墹乮乮僇儕乕僼傽乯乯傾僽僪僁儖丒儅儕僋丒價儞丒儅儖儚乕儞偼僸儞僪偺旤杄傪暦偒丄寢崶傪怽偟崬傓偑丄僸儞僪偼乽傾儖丒僴僕儍乕僕偑棁懌偱儔僋僟傪堷偄偰嫵墹偺屼揳傑偱巹傪楢傟偰峴偔乿偙偲傪忦審偲偟偰寢崶傪彸戻偟偨丅嫵墹偼傾儖丒僴僕儍乕僕偵偦偆柦椷偟丄僸儞僪偼傾儖丒僴僕儍乕僕傪怞傔偨丅 +張彈偺嬀偺嬃偔傋偒暔岅乮戞720栭 - 戞731栭乯 [曇廤] + +愄僶僗儔偵僛僀儞偲偄偆柤偺庒偄掗墹乮僗儖僞乕儞乯偑偄偨偑丄楺旓傪懕偗嵿嶻傪慡偰巊偄壥偨偟偰偟傑偭偨丅愭墹偑惗慜乽崲偭偨偙偲偑偁偭偨傜暥屔傪扵偣乿偲尵偭偰偄偨偙偲傪巚偄弌偟丄暥屔傪扵偡偲乽媨揳偺抧壓幒偺彴傪孈傟丅乿偲偺彂抲偒傪尒偮偗偨丅抧壓幒偺彴傪孈傞偲丄壓傊懕偔奒抜偑尒偮偐傝丄崀傝傞偲戝検偺嵿曮偑偁傞晹壆偵捠偠偰偄偨丅偝傜偵旈枾偺斷傪奐偗偰恑傓偲丄7偮偺戜嵗偺忋偵6懱偺僟僀儎儌儞僪偺旤偟偄壋彈偺憸偑偁傝丄7偮栚偺戜嵗偺忋偵偼愭墹偺昅偱乽戞7偺壋彈傪摼傞偵偼僇僀儘偺儉僶儔僋偲偄偆巹偺搝楆偱偁偭偨幰傪朘偹傛丅乿偲偁偭偨丅 +僛僀儞偼憗懍僇僀儘偵椃棫偪丄儉僶儔僋傪尒偮偗丄戞7偺壋彈傪摼傞偵偼乽嶰偮搰偺榁恖乿偵夛偆昁梫偑偁傞偙偲傪抦偭偨丅僛僀儞偼埬撪傪怽偟弌偨儉僶儔僋偲廬幰傪楢傟偰弌敪偟丄壗擔傕宱偰偁傞憪尨偵拝偒丄偦偙傛傝愭偼儉僶儔僋偲2恖偩偗偱恑傓昁梫偑偁傞偙偲傪抦偭偨丅偝傜偵恑傓偲愗傝棫偭偨嶳偑尰傟偨偑丄儉僶儔僋偑庺暥傪彞偊傞偲丄嶳偼妱傟偰摴偑偱偒丄2恖偑捠傞偲嵞傃嶳偼嵡偑偭偨丅偝傜偵恑傓偲戝偒側屛偑偁傝丄懸偭偰偄傞偲丄徾偺摢偲恖娫偺懱傪帩偮慏摢偑尰傟丄慏偱嶰偮搰傑偱塣傫偱偔傟偨丅嶰偮搰偵偼戝偒側媨揳偑偁傝丄偦偺慜偱暯暁偟偰懸偭偰偄傞偲丄棆柭偲偲傕偵嶰偮搰偺榁恖偑尰傟偨丅 +僛僀儞偑嶰偮搰偺榁恖偵戞7偺壋彈傪媮傔偵棃偨偙偲傪揱偊傞偲丄榁恖偼15嵨偺旤偟偄張彈偲堷偒姺偊偱側偄偲戞7偺壋彈偼搉偝側偄偲尵偄丄張彈傪尒暘偗傞偨傔偺乽張彈偺嬀乿傪搉偟偨丅張彈偺嬀偼丄彈惈傪塮偡偲棁偺巔偑尒偊丄張彈偱側偄偲嬀偑撥偭偰偟傑偆偲偄偆傕偺偱偁偭偨丅 +僇僀儘偵婣偭偨2恖偼丄僄僕僾僩拞偺15嵨偺旤偟偄彈傪挷傋傞偑丄張彈偺嬀偵塮偡偲偄偢傟傕張彈偱偼側偐偭偨丅2恖偼僟儅僗偵峴偔偑丄傗偼傝15嵨偺旤偟偄張彈偼堦恖傕偄側偐偭偨丅2恖偼僶僌僟乕僪偵峴偒丄傾僽乕丒儀僋儖偲偄偆柤偺廋摴憁傪愙懸偟丄廋摴憁偺挿榁偺15嵨偺柡儔僥傿僼傽乕偑偁傜備傞抝偺帇慄傪旔偗偰堢偰傜傟偰偒偨偙偲傪抦偭偨丅2恖偼戝偒側儀乕儖偱懱傪暍傢傟偨儔僥傿僼傽乕偵夛偆偑丄張彈偺嬀偵塮偡偲丄旤偟偄慡棁偺巔偑尒偊丄張彈偱偁傞偙偲偑暘偐偭偨丅僛僀儞偼儔僥傿僼傽乕傪摼傞偨傔寢崶傪怽偟弌丄2恖偼寢崶偟偨丅 +僛僀儞丄儉僶儔僋丄儔僥傿僼傽乕偺3恖偼嶰偮搰偵岦偗偰椃棫偮偑丄僛僀儞偼杮摉偵儔僥傿僼傽乕偺偙偲傪楒偟偔巚偆傛偆偵側偭偰偟傑偭偨丅僛僀儞偼嶰偮搰偺榁恖偵柪偄側偑傜儔僥傿僼傽乕傪堷偒搉偟丄榁恖偼戞7偺壋彈偼婛偵戞7偺戜嵗偺忋偵憲偭偨偲崘偘偨丅僛僀儞偼屻夨偟側偑傜僶僗儔偺媨揳偵栠偭偨偑丄戞7偺戜嵗偺忋偵偼棁偺儔僥傿僼傽乕偑偄偰丄戞7偺壋彈偲偼儔僥傿僼傽乕偱偁偭偨偙偲傪抦偭偨丅2恖偼嵞傃寢崶偟岾偣偵曢傜偟偨丅 +傾儔僕儞偲杺朄偺儔儞僾偺暔岅乮戞731栭 - 戞774栭乯 [曇廤] + +徻嵶偼乽傾儔僕儞偲杺朄偺儔儞僾乿傪嶲徠 +僔僫偺庒幰傾儔僕儞偼埆偨傟彫憁偱丄晝恊偑巰傫偱傕廫屲嵨偵側偭偰傕惓嬈偵偮偐偢丄梀傃傎偆偗偰偄偨丅壠寁偼曣恊偑嵶乆偲壱偖嬥偱巟偊傜傟丄惗妶偼昻偟偐偭偨丅偁傞偲偒丄儅僌儕僽恖偺杺朄巊偄偑挰偵傗偭偰偒偰丄晝偺掜偱偁傞偲婾偭偰傾儔僕儞偵嬤偯偔丅曣恊偼偦傫側孼掜側偳偄側偄偲尵偆偑丄傾儔僕儞偺巇帠偵偮偄偰側偵偔傟偲憡択偵偺偭偰偔傟傞偨傔丄彊乆偵怣梡偡傞傛偆偵側偭偨丅 +偦偺偆偪儅僌儕僽恖偼傾儔僕儞傪偁傞応強傊楢傟弌偟丄庺暥傪彞偊傞偲戝抧偑楐偗丄戝棟愇偱傆偨傪偝傟偨寠偑偁傜傢傟偨丅儅僌儕僽恖偵傛傞偲丄拞偵擖偭偰偮偒偁偨傝偺業戜偵敎戝側壙抣傪傕偮儔儞僾偑偁傞丅傾儔僕儞偺傒偑戝棟愇傪傛偗偰拞偵擖傝丄偦傟傪庤偵擖傟傞偙偲偑偱偒傞丅偦傟傪擖庤偟丄棙塿傪傗傑傢偗偟傛偆偲偄偆偺偩丅 +巜帵偳偍傝偺庤弴偱儔儞僾傪庤偵擖傟偨傾儔僕儞偼丄婣傝摴丄栘偵側偭偰偄傞壥暔偵栚傪偲傜傟傞丅偦傟偼偒傜偒傜偲偟偨僈儔僗嬍偱偱偒偰偄傞偺偩丅偁傑傝偵旤偟偐偭偨偨傔丄傾儔僕儞偼偦傟傪傕偄偱暈偺側偐偵塀偡丅幚偺偲偙傠丄偦傟偼庬乆偺曮愇偱偱偒偰偄偨偺偩偑丄傕偺傪抦傜偸傾儔僕儞偼僈儔僗嬍偩偲巚偄偙傫偩偺偩丅偦偆偟偰擖傝岥傊栠偭偰傒傞偲丄偨偔偝傫偺僈儔僗嬍偺偨傔奜傊弌傞偙偲偑偱偒側偄丅庤傪戄偟偰偔傟偲尵偆偲儅僌儕僽恖偼搟傝弌偟丄戝抧偺楐偗栚傪暵偠偰傾儔僕儞傪惗偒杽傔偵偟偰棫偪嫀偭偰偟傑偭偨丅 +儅僌儕僽恖偼傾僼儕僇偺梔弍巊偄偱偁傝丄偙偺抧偵婱廳側儔儞僾偑偁傞偙偲傪偮偒偲傔偰偄偨丅偟偐偟偦偺偁傝偐偵偼尩廳側寢奅偑挘傜傟偰偍傝丄擖傞偙偲偑偱偒側偄丅傾儔僕儞偲偄偆庒幰偩偗偑擖傞偙偲偑偱偒傞偙偲傪抦傝丄棙梡偟偰儔儞僾偩偗傪庤偵擖傟丄惗偒杽傔偵偟偰傗傠偆偲峫偊偰偄偨偺偩丅傾儔僕儞偑弌偰偙側偐偭偨偨傔丄搟偭偰儔儞僾偛偲惗偒杽傔偵偟偨偺偱偁傞丅 +崲偭偨傾儔僕儞偼丄拞偵擖傞慜偵儅僌儕僽恖偐傜偍庣傝偲偟偰傕傜偭偨巜椫傪柍堄幆偺偆偪偵偙偡傞丅偡傞偲婼恄偑偁傜傢傟丄側傫偱傕婅偄傪偐側偊傞偲偄偆丅偙偙偐傜弌偟偰偔傟傞傛偆棅傓偲丄柍帠偵扙弌偡傞偙偲偑偱偒丄曣偺懸偮壠傊婣偭偨丅 +師偺擔丄曣恊偼怘暔傪攦偆偨傔審偺儔儞僾傪巗応偱攧傠偆偲峫偊偨丅墭傟偰偄傞晹暘傪偒傟偄偵偟傛偆偲儔儞僾傪偙偡傞偲丄巜椫偺傕偺傛傝傕偭偲嫄戝側婼恄偑偁傜傢傟丄婅偄傪暦偔偲尵偆丅婥傪幐偭偨曣偵偐傢偭偰傾儔僕儞偑怘暔傪強朷偡傞偲丄婼恄偼戝検偺偛偪偦偆傪塣傫偱偒偨丅偦偺擔偼婥偑偮偄偨曣恊偲傆偨傝偱偦傟傪怘傋丄師偺擔埲崀偼怘暔偑偺偭偰偄偨嬥偺嶮傪攧偭偰惗妶旓偲偟偨丅傕偺傪抦傜偸傾儔僕儞偼丄偼偠傔嫮梸側儐僟儎恖偵嶮傪攦偄偨偨偐傟偨偑丄恊愗側忺傝怑恖偺拤崘偱崅壙側傕偺偱偁傞偙偲傪抦傞丅偦偆偟偰攧傝怘偄傪偟偰偄傞偆偪彊乆偵嵿嶻偑抸偐傟丄怱傪擖傟懼偊偰埆桭偲偺偮偒偁偄傪抐偪尗榁偺偼側偟傪暦偔傛偆偵側偭偨傾儔僕儞偼抦幆傪摼偰偄偭偨丅 +偦傫側偁傞擔丄傾儔僕儞偼煍梺偵棃偨掗墹偺柡僶僪儖乕儖丒僽僪僁乕儖昉傪傂偲傔尒偰楒偟丄楒傢偢傜偄偵側傞丅尦婥偺側偄棟桼傪暦偔曣偵傢偗傪偼側偟丄嵟嬤偦偺壙抣傪抦偭偨曮愇偺壥暔傪掗墹偵專忋偟丄寢崶傪怽偟崬傓傛偆棅傒偙傫偩丅崅朷傒偱偁傞偲斀懳偡傞曣偩偑丄傾儔僕儞偺忣擬揑側愢摼偵傛偭偰丄朄掛偱憈忋偡傞偙偲傪彸抦偡傞丅偲偼偄偊朄掛偵偼峴偔傕偺偺丄側偐側偐慜偵恑傒弌傞桬婥偑弌側偄丅壗擔偐捠偄媗傔傞偆偪丄掗墹偺曽偱枅擔捠偭偰偄傞榁彈偵嫽枴傪帩偪丄榖傪暦偐傟傞丅 +埬偵憡堘偟偰掗墹偼搟傞傛偆側偙偲偼側偔丄專忋昳偺曮愇傪尒偰傾儔僕儞偲偼棫攈側庒幰偵偪偑偄側偄偲峫偊丄寢崶傪彸戻偡傞婥偵側偭偨丅徟偭偨偺偼戝恇偱偁傞丅昉偼備偔備偔偼丄戝恇偺懅巕偲寢崶偡傞偙偲偵側偭偰偄偨偺偩丅掗墹偵尵忋偟偰嶰偐寧偺桺梊傪媮傔丄偦偺偁偄偩偵傾儔僕儞埲忋偺專忋昳傪梡堄偱偒偨側傜偽懅巕偲寢崶偝偣傞傛偆偵摥偒偐偗偨丅掗墹偼彸戻偟丄傾儔僕儞偺曣偵丄弨旛偺偨傔寢崶偼嶰偐寧屻偵側傞偲曉帠偡傞丅 +嶰偐寧偺偁偄偩偍偲側偟偔懸偮偙偲偵偟偨傾儔僕儞偩偑丄擇偐寧偨偭偨偙傠丄昉偲戝恇偺懅巕偑寢崶偡傞偲偄偆榖偑棳傟偨丅寢崶偺摉栭傾儔僕儞偼丄儔儞僾偺杺恄傪屇傃弌偟偰丄弶栭偺儀僢僪偵偄傞怴榊怴晈傪儀僢僪偛偲漟抳偝偣傞丅偦偟偰怴榊傪僩僀儗偵暵偠偙傔丄帺暘偼昉偵庤傕怗傟偢偵栭傪偁偐偟偨丅師偺挬偵側傞偲傆偨偨傃杺恄傪屇傃弌偟偰丄傆偨傝傪儀僢僪偛偲曉偝偣傞丅偦傟偑擇栭偵偍傛傃丄昉偺條巕偑偍偐偟偄偙偲傪埬偠偨掗墹偼丄偡傋偰傪昉偐傜暦偔偲戝偄偵搟傝丄戝恇偵懅巕偐傜帠忣傪挳庢偡傞傛偆尵偄偮偗傞丅戝恇偺懅巕偼枅栭偺堎曄偵偡偭偐傝傇傞偭偰偍傝丄棧崶傪怽偟弌偨丅掗墹偼傆偨傝傪棧崶偝偣偨丅 +嶰偐寧偨偪丄傾儔僕儞偺曣偼嵞搙掗墹偵攓墆偡傞丅栺懇傪巚偄弌偟偨掗墹偼崶帒傪傆偭偐偗傞偑丄傾儔僕儞偼杺朄偺儔儞僾傪巊偭偰偡傋偰傪偦傠偊丄旤乆偟偄峴楍傪偮偔偭偰搊忛偡傞丅偝傜偵婼恄偺椡偵傛偭偰堦栭偵偟偰崑汎側媨揳傪寶偰丄偦偙傪嫃娰偲偟偰昉傪嵢偵寎偊偨丅墹懓偺傂偲傝偲側偭偨傾儔僕儞偼丄婥慜偑傛偔暔崢傕廮榓側偙偲偐傜恖柉偵岲偐傟丄傾儔僕儞岞偲屇偽傟偰宧垽偝傟偨丅 +偦偺偙傠丄儔儞僾偺擖庤偵幐攕偟偨偙偲傪偄傑偩偵夨偄偰偄傞儅僌儕僽恖偼丄傾儔僕儞偺枛楬傪妋擣偟偰怱傪棊偪拝偗傛偆偲悈徎嬍傪偺偧偒崬傫偱偄偨丅偡傞偲丄側傫偲傾儔僕儞偼偺偨傟巰偸偳偙傠偐丄儔儞僾偺杺椡傪巊偭偰塰梥塰壺傪摼偰偄傞偱偼側偄偐丅儅僌儕僽恖偼戝偄偵搟傝丄儔儞僾偺扗夞偲傾儔僕儞傊偺曬暅傪婜偟偰僔僫偺挰偵嵞愽擖偡傞丅傾儔僕儞偑庪傝偺偨傔娰傪棷庣偵偟偰偄傞偙偲傪抦傞偲丄怴偟偄儔儞僾傪悢屄庤偵擖傟丄屆偄儔儞僾偑偁傟偽怴偟偄傕偺偲岎姺偡傞偲惡傪偁偘側偑傜挰傪傔偖傝巒傔偨丅棷庣傪庣偭偰偄偨昉偼丄偍偐偟側偙偲傪尵偭偰偄傞抝偵嫽枴傪傂偐傟丄帢彈偵尵偭偰杮摉偵岎姺偝偣偰傒傞丅帢彈偑帩偪弌偟偨偺偼丄傾儔僕儞偑偆偭偐傝弌偟偭傁側偟偵偟偰偄偭偨杺朄偺儔儞僾偩偭偨丅庱旜傛偔儔儞僾傪庤偵擖傟偨儅僌儕僽恖偼丄婼恄傪屇傃弌偟偰丄媨揳偛偲儅僌儕僽偺帺暘偺壠傊堏摦偝偣偨丅 +掗墹偼丄媨揳偑傑傞偛偲徚偊丄昉偑峴曽晄柧偵側偭偨偙偲偵嬃偄偨丅戝恇偺擖傟抦宐偱丄傾儔僕儞偑梔弍傪巊偭偰偙偺帠審傪婲偙偟偨偺偩偲巚偄崬傒丄曔敍偟偰張孻偟傛偆偲偡傞丅偟偐偟傾儔僕儞傪曠偭偰偄傞恖柉偨偪偑朶摦傪婲偙偟偦偆偵側偭偨偺偱偲傝傗傔丄婅偄偵偟偨偑偭偰巐廫擔偺桺梊傪梌偊丄傾儔僕儞扨恎偱昉傪憑嶕偡傞偙偲偵側偭偨丅 +偁偰傕側偔憑嶕傪峴偆傾儔僕儞偩偑丄杺朄偺巜椫偺懚嵼傪巚偄弌偟偨丅婼恄傪屇傃弌偟偰娰傪傕偲偵栠偡傛偆梫媮偡傞偑丄偦傟偼儔儞僾偺婼恄偺娗妽偵側傞偙偲偱丄庤弌偟偱偒側偄偲偄偆丅偦偙偱丄尰嵼娰偑偁傞応強傊楢傟偰偄偔傛偆偵棅傫偩丅娰偵偮偔偲丄偪傚偆偳儅僌儕僽恖偼奜弌偟偰偄傞丅昉偼屘嫿偐傜楢傟嫀傜傟偨偙偲傪斶偟傒丄傑偨枅栭儅僌儕僽恖偺媮垽傪偼偹偮偗傞偺偑傢偢傜傢偟偐偭偨偨傔丄僴儞僗僩拞偩偭偨偑丄傾儔僕儞偺巔傪尒傞偲惗婥傪偲傝傕偳偟偨丅昉偵傛傞偲丄儅僌儕僽恖偼儔儞僾傪敡恎偼側偝偢帩偪曕偄偰偄傞偲偄偆丅傾儔僕儞偼丄巜椫偺婼恄偵傛偭偰栆撆偺杻悓栻傪擖庤偟丄昉偵傢偨偟偰嶔傪偝偢偗傞丅儅僌儕僽恖偑栠偭偰偔傞偲丄昉偼偦偺媮垽傪庴偗擖傟傞傆傝傪偟偰杻悓栻傪堸傑偣傞丅偡傞偲栆撆偑傑傢傝丄儅僌儕僽恖偼巰傫偱偟傑偭偨丅 +傾儔僕儞偼儔儞僾偺婼恄傪屇傃弌偟丄娰傪傕偲偺応強傊栠偝偣偨丅昉偑柍帠偵傕偳傝丄掗墹偼傾儔僕儞偵幱嵾偟偨丅偦偟偰憺偒儅僌儕僽恖偺巰懱傪從媝偝偣丄奃傪幪偰偨丅 +偦傟偐傜悢偐寧偨偪丄昉偼巕曮傪偝偢偐傜側偄偙偲傪巚偄擸傫偱偄偨丅偦偙偱丄愇彈傪帯椕偡傞偲昡敾偺惞彈傪屇傃丄恌偰傕傜偭偨丅惞彈偼丄嫄捁儘僋偺棏傪峀娫偵偮傞偟丄枅擔挱傔偰偄傟偽帯桙偡傞偩傠偆偲偄偆丅傾儔僕儞偼偦傟傪暦偔偲丄儔儞僾偺婼恄傪屇傃弌偟偰儘僋偺棏傪擖庤偡傞傛偆柦偠傞丅偡傞偲婼恄偼楏壩偺偛偲偔搟傝偩偡丅嫄捁儘僋偼丄儔儞僾偺婼恄傪偼偠傔偡傋偰偺婼恄偨偪偺曭偢傞懚嵼丄戝儃僗側偺偱偁傞丅偦偺婅偄偑惞彈偺彆尵偵傛傞傕偺偱偁傞偙偲傪柧偐偡偲丄婼恄偼傛偆傗偔搟傝傪偍偝傔丄偙偺揯枛偺嬝彂偒傪偁偐偟偨丅偦偺惞彈偲偄偆偺偼丄儅僌儕僽恖偺掜偺曄憰偱偁傞丅孼偑巰傫偩偙偲傪崷傒丄儘僋偺棏傪帩偪弌偟偰婼恄傪搟傜偣傞傛偆偵巇岦偗偨偺偩丅傾儔僕儞偼惞彈傪屇傃弌偡偲丄偍傕傓傠偵庱傪偼偹偨丅 +偦偺屻昉偼傇偠巕曮偵傔偖傑傟丄掗墹偺堦懓偼岾偣偺偆偪偵夁偛偟偨丅掗墹偑朣偔側傞偲丄傾儔僕儞偼偦偺屻傪宲偓丄慞惌傪晍偄偰恖柉偵曠傢傟偨丅 +恖偺悽偺傑偙偲偺抭宐偺偨偲偊榖乮戞774栭乯 [曇廤] + +愄丄偁傞庒偄抝偑妛栤傪媶傔傛偆偲丄僀僗儔儉悽奅戞堦偺妛幰偱抌栬壆傪偟偰偄傞榁恖傪朘偹丄嫵偊傪岊偆偨丅榁恖偼彸戻偟丄撪掜巕偲偟偰抌栬壆偺庤揱偄傪偝偣偨偑丄壗擭宱偭偰傕堦岦偵妛栤偼嫵偊偰偔傟側偐偭偨丅10擭宱偭偨偁傞擔丄榁恖偼庒幰偵乽偍慜偵慡偰偺抦幆傪庼偗偨丅側偤側傜偍慜偼擡懴傪妛傫偩偺偩偐傜丅乿偲尵偭偨丅庒幰偼婌傃屘嫿偵婣偭偨丅 +錕錘偺旝徫偺僼傽儕僓乕僪乮戞774栭 - 戞779栭乯 [曇廤] + +偍擡傃偱昻柉奨傪帇嶡拞丄堦尙偺壠偱旤偟偄嶰巓枀偑斺業偟偁偭偰偄傞朷傒傪暦偄偨掗墹儂僗儘乕丒僔儍乕偼丄斵彈偨偪偺朷傒傪姁偊偰挿彈傪墹媨偺壻巕怑恖偵傔偁傢偣丄師彈傪墹媨偺椏棟斣偵傔偁傢偣丄嶰彈傪帺傜偺嵢偵寎偊偨丅嶰彈偼嶰搙夰擠偟偨傕偺偺丄弌嶻偵棫偪夛偭偨幑搃怺偄巓偨偪偑巕嫙傪將丒擫丒憀偵偡傝偐偊偨偨傔丄掗墹偺晄嫽傪攦偭偰桯暵偝傟偰偟傑偆丅堦曽丄墹斳偺巓偨偪偑摦暔偲偡傝懼偊偰愳偵棳偟偨掗墹偺巕嫙偨偪偼墹媨偺屼墤娔撀偵廍傢傟偰堢偰傜傟丄擇恖偺孼僼傽儕僪偲僼傽儖乕僘偼旣栚廏楉側棫攈側婻巑偵丄枛偺枀僼傽儕僓乕僪偼乽錕錘偺旝徫偺僼傽儕僓乕僪乿偲徧偊傜傟傞旤偟偄壋彈偵惉挿偟偨丅 +屼墤娔撀偺壆晘偱孼偨偪偲壗晄帺桼側偄惗妶傪憲偭偰偄偨僼傽儕僓乕僪偩偑丄偁傞擔壆晘偵棫偪婑偭偨擭榁偄偨惞彈偐傜乽傕偺尵偆捁乿乽壧偆栘乿乽嬥怓偺悈乿偲偄偆嶰偮偺曮偺榖傪暦偒丄偡偭偐傝枺椆偝傟偰偟傑偆丅僼傽儕僓乕僪偐傜曮偺榖傪暦偄偨擇恖偺孼偼曮傪媮傔偰嶳偵搊傞偑丄嶳傪巟攝偟偰偄傞乽尒偊偞傞傕偺偺偲傕偑傜乿偺帋楙偵孅偟偰崟偄愇憸偵偝傟偰偟傑偆丅嵟屻偵嶳偵挧傫偩僼傽儕僓乕僪偼帋楙偵偆偪偐偭偰嶳捀偵偁傞嶰偮偺曮傪庤偵擖傟丄偦偺楈尡傪埲偰愇憸偲壔偟偨孼偨偪傪媬偄弌偟偰婣娨偡傞丅 +偁傞擔嬼慠偵僼傽儕僓乕僪偺孼偨偪偲掗墹偑弌夛偭偰壆晘偺尒暔偵傗偭偰偒偨偲偙傠丄乽傕偺尵偆捁乿偑僼傽儕僓乕僪偨偪偑掗墹偺巕偱偁傞偙偲傪柧偐偟偨偨傔丄墹斳偺柤梍傕夞暅偝傟丄堦摨偼岾偣偵曢傜偟偨丅 +僇儅乕儖偲払幰側僴儕儅偲偺暔岅乮戞780栭 - 戞787栭乯 [曇廤] + +僶乕僩儞斉乽僇儅儖丒傾儖丒僓儅儞偲曮愇彜偺嵢(戞963栭乚戞978栭)乿 +搶梞暥屔斉乽彜恖傾僽僪丒傾僢儔乕僼儅乕儞偲偦偺懅巕僇儅儖丒傾僢僓儅乕儞偺暔岅(戞963栭乚戞978栭)乿 +愄丄僄僕僾僩偺僇僀儘偵傾僽僪丒僄儖丒儔乕儅乕儞偲偄偆彜恖偑偄偰丄斵偵偼恀偵旤偟偄懅巕僇儅乕儖偲柡乽嬇惎乿偑偄偨偑丄幾帇傪嫲傟偰14嵨偵側傞傑偱壠偺奜偵弌偝偢丄扤偵傕夛傢偣偢偵堢偰偨丅僇儅乕儖偑14嵨偵側偭偨偁傞擔丄傾僽僪丒僄儖丒儔乕儅乕儞偼憡懕恖偑偄側偄偲巚傢傟巰屻嵿嶻偑杤廂偝傟傞偙偲傪嫲傟丄僇儅乕儖傪巒傔偰奜偵楢傟弌偟偨偲偙傠丄偁傑傝偺旤偟偝偵丄懡悢偺尒暔恖偑尰傟丄偦偺拞偵丄偁傞廋摴憁偑偄偨丅偦偺廋摴憁偼丄僇儅乕儖傪尒偮傔偰師偺傛偆側榖傪偟偨丅 +偦偺廋摴憁偑埲慜僶僗儔偵峴偭偨偲偒丄挌搙嬥梛擔偺屵慜偱偁偭偨偑丄挰偺揦偼慡偰揦傪奐偗偰彜昳傪暲傋偰偄傞偺偵丄捠傝偵傕揦偵傕扤傕偄側偐偭偨丅廋摴憁偼嬻暊傪妎偊丄揦摢偺擏傗僷儞傗僔儍乕儀僢僩傪彑庤偵怘傋偰偄傞偲丄壒妝偑暦偙偊偰偒偨丅廋摴憁偑暔堿偵塀傟傞偲丄旤偟偄壋彈偨偪偺峴楍偑傗偭偰棃偰丄峴楍偺拞怱偵偼恀偵旤偟偄彈墹偺傛偆側彈偑儀乕儖傕拝偗偢偵柲攏偵忔偭偰偄偰丄偦偺榚偵偼戝寱傪帩偭偨彈搝楆偑晅偒廬偭偰偄偨丅峴楍偑捠傝夁偓傞偲丄挰偺恖偨偪偑偳偙偐傜偲傕側偔尰傟丄挰偼捠忢偺巔偵側偭偨丅廋摴憁偼晄巚媍偵巚偄丄彴壆偵峴偒榖傪暦偔偲丄彴壆偲偄偆傕偺偼榖偟岲偒偱丄偁偺峴楍傪尒傞傕偺偼扤偱傕寱傪帩偭偨彈搝楆偵愗傝嶦偝傟傞偺偱丄挰偺恖偼峴楍偑捠傝夁偓傞傑偱塀傟偰偄傞偲偄偆偙偲傪暦偄偨丅廋摴憁偼晐偔側偭偰僶僗儔偺挰傪棧傟丄僇僀儘傑偱棃偨偲偙傠丄僇儅乕儖偑柲攏偵忔偭偨彈偵帡偰偄傞偺偱尒偮傔偰偄偨偺偱偁偭偨丅 +榖傪暦偄偨僇儅乕儖偼丄榖偺彈偵怱傪扗傢傟丄壗偲偟偰傕僶僗儔偵峴偒偦偺彈傪尒偰傒偨偄偲巚偄丄椉恊偵棅傒丄9枩僨傿僫乕儖偺嬥偲懡悢偺曮愇傪帩偭偰僶僗儔偵椃棫偭偨丅僇儅乕儖偑僶僗儔偵嬥梛擔偺屵慜偵拝偔偲丄榖偺捠傝旤偟偄彈偺峴楍偑棃偨丅僇儅乕儖偼暔堿偐傜尒偰柲攏偵忔偭偨彈偵楒傪偟偰偟傑偭偨丅僇儅乕儖偑彴壆偱榖傪暦偔偲丄彴壆偼帺暘偺嵢傪徯夘偟丄彴壆偺嵢偼師偺傛偆偵榖偟偰偔傟偨丅 +愄丄僶僗儔偺掗墹乮僗儖僞儞乯偑僀儞僪偺掗墹偐傜尒帠側戝棻偺恀庫傪傕傜偭偨偺偱丄偦傟偵寠傪奐偗巺傪捠偟偰庱忺傝偵偟傛偆偲巚偭偨偑丄曮愇彜恖偨偪偼岆偭偰恀庫傪彎偮偗傞偙偲傪嫲傟丄寠偁偗傪堷偒庴偗傛偆偲偼偟側偐偭偨丅偟偐偟丄曮愇彜恖偺挿榁僆僗僞丒僆儁僀僪偩偗偼丄忋庤偔寠傪奐偗傟偽朷傒偺朖旤傪傕傜偊傞偑丄岆偭偰彎偮偗傞偲巰孻偵側傞偲偄偆忦審偱寠偁偗傪堷偒庴偗丄尒帠寠傪奐偗偨丅僆僗僞丒僆儁僀僪偼嵢偺僴儕儅偲榖傪偟丄朖旤偲偟偰丄枅廡嬥梛擔丄僆僗僞丒僆儁僀僪偺嵢偑峴楍傪慻傫偱僶僗儔偺挰傪嶶曕偟丄偦偺娫扤傕峴楍偼尒偰偼側傜偢丄尒偨傕偺偼巰孻偵偡傞偲偄偆摿尃傪傕傜偭偨丅偦傟偑愭傎偳偺峴楍偱偁偭偨偺偩丅 +彴壆偺嵢偼丄柲攏偵忔偭偨彈偲嬤偯偒偨偄偺側傜丄僆僗僞丒僆儁僀僪偺揦偵峴偒丄帩偭偰偄傞曮愇傪巜椫偵壛岺偡傞偙偲傪埶棅偟側偝偄偲尵偭偨丅僇儅乕儖偼彴壆偺嵢偵嬥傪暐偄丄尵傢傟偨捠傝偵偡傞偲丄僆僗僞丒僆儁僀僪偼揦偵棃偨僇儅乕儖偺旤偟偝偵嬃偒丄偆偐偮偵傕帺暘偺嵢偵僇儅乕儖偲偄偆旤偟偄媞偑棃偨偙偲傪尵偭偰偟傑偭偨丅師偺擔丄巜椫偑偱偒偨偺偱丄僇儅乕儖偑庢傝偵峴偭偨偑丄僇儅乕儖偼彴壆偺嵢偵擖傟抦宐偝傟偰丄偦偺庴偗庢傝傪嫅斲偟丄巜椫傪僆僗僞丒僆儁僀僪偵梌偊丄暿偺傕偭偲戝偒偄曮愇偺壛岺傪埶棅偟偨丅僆僗僞丒僆儁僀僪偼巜椫傪嵢偵梌偊丄僇儅乕儖偺桾暉怳傝傪嵢偵尵偭偰偟傑偭偨丅偦偺師偺擔丄2屄栚偺巜椫偑偱偒偨偺偱丄僇儅乕儖偑庢傝偵峴偭偨偑丄傗偼傝僇儅乕儖偼彴壆偺嵢偵擖傟抦宐偝傟偰丄偦偺庴偗庢傝傪嫅斲偟丄巜椫傪僆僗僞丒僆儁僀僪偵梌偊丄暿偺峏偵戝偒偄曮愇偺壛岺傪埶棅偟偨丅僆僗僞丒僆儁僀僪偼巜椫傪嵢偵梌偊偨偑丄僆僗僞丒僆儁僀僪偺嵢偼丄偙傟偩偗偺曮愇傪傕傜偭偨偺偩偐傜丄僇儅乕儖傪怘帠偵彽懸偟側偝偄偲尵偭偨丅 +偦偺師偺擔丄3屄栚偺巜椫偑偱偒偨偺偱丄僇儅乕儖偑庢傝偵峴偭偨偑丄傗偼傝僇儅乕儖偼彴壆偺嵢偵擖傟抦宐偝傟偰丄偦偺庴偗庢傝傪嫅斲偟丄巜椫傪僆僗僞丒僆儁僀僪偵梌偊丄4屄栚偺曮愇偺壛岺傪埶棅偟偨丅僆僗僞丒僆儁僀僪偼僇儅乕儖傪怘帠偵彽懸偟偨丅僆僗僞丒僆儁僀僪偺嵢僴儕儅偼丄暔堿偐傜僇儅乕儖傪尒偰丄旤偟偝偵姶摦偟偨丅僴儕儅偼怘帠偵杻悓栻傪擖傟僇儅乕儖偲僆僗僞丒僆儁僀僪傪柊傜偣丄柊偭偰偄傞僇儅乕儖偺婄偑庮傟傞傎偳僉僗傪偟丄僇儅乕儖偺堦暔偵忔傝夣妝傪傎偟偄傑傑偵偟偨丅梻挬丄僴儕儅偼僇儅乕儖偺夰偵崪偺偍偼偠偒傪擖傟偰丄僇儅乕儖偲僆僗僞丒僆儁僀僪傪婲偙偟偨丅2恖偼挬怘傪庢傝暘偐傟偨丅 +僇儅乕儖偑彴壆偺嵢偺強傊峴偔偲丄彴壆偺嵢偼婄偺庮傟偐傜嶐栭偺忣帠傪尵偄摉偰偨偑丄僇儅乕儖杮恖偼柊偭偰偄偨偨傔帺妎偑側偔丄崪偺偍偼偠偒偺堄枴偼乽偍慜偼偍偼偠偒偱梀傇傛偆側巕嫙偩丅乿偲夝愢偟偰偔傟偨丅僆僗僞丒僆儁僀僪偼偦偺擔傕僇儅乕儖傪梉怘偵彽懸偟偨偑丄僇儅乕儖偲僆僗僞丒僆儁僀僪偼杻悓栻偱柊偭偰偟傑偄丄嶐栭偲摨偠偔丄僴儕儅偼柊偭偰偄傞僇儅乕儖偺婄偑庮傟傞傎偳僉僗傪偟丄僇儅乕儖偺堦暔偵忔傝夣妝傪傎偟偄傑傑偵偟偨丅梻挬丄僴儕儅偼僇儅乕儖偺夰偵彫搧傪擖傟偰丄僇儅乕儖偲僆僗僞丒僆儁僀僪傪婲偙偟偨丅2恖偼挬怘傪庢傝暘偐傟偨丅 +僇儅乕儖偑彴壆偺嵢偺強傊峴偔偲丄彴壆偺嵢偼婄偺庮傟偐傜嶐栭偺忣帠傪尵偄摉偰偨偑丄僇儅乕儖杮恖偼柊偭偰偄偨偨傔傗偼傝帺妎偑側偔丄彫搧偺堄枴偼乽崱搙柊偭偨傜嶦偡乿偲偄偆堄枴偩偲夝愢偟偰偔傟偨丅僆僗僞丒僆儁僀僪偼偦偺擔傕僇儅乕儖傪梉怘偵彽懸偟偨丅僇儅乕儖偼彴壆偺嵢偺擖傟抦宐偱怘帠傪怘傋偢丄僆僗僞丒僆儁僀僪偩偗偑杻悓栻偱柊偭偰偟傑偭偨丅僴儕儅偲僇儅乕儖偼寖偟偔垽偟崌偭偨丅 +師偺擔丄僇儅乕儖偼僆僗僞丒僆儁僀僪偺壠偺椬偵堷墇偟丄僴儕儅偼暻偵寠傪奐偗偰旈枾偺捠楬傪嶌傝丄偦偺擔埲棃2恖偼枾夛傪懕偗偨丅僴儕儅偼僆僗僞丒僆儁僀僪偵棧崶偝偣傛偆偲丄僆僗僞丒僆儁僀僪偑僴儕儅偵梌偊偨尒帠側曮愇嵶岺偺抁寱傪僇儅乕儖偵搉偟丄僇儅乕儖偑僆僗僞丒僆儁僀僪偵乽偙偺抁寱偼巗応偱攦偭偨暔偩偑丄攧庡偼垽恖偐傜傕傜偭偨偲尵偭偰偄偨丅乿偲尵偆傛偆偵尵偭偨丅偙傟傪暦偄偨僆僗僞丒僆儁僀僪偼僴儕儅偑晜婥偟偨偲巚偄寖搟偟丄僴儕儅偺強偵峴偭偨偑丄僴儕儅偼旈枾偺捠楬傪巊偄丄僇儅乕儖偐傜抁寱傪庴偗庢傝栠偭偨偺偱丄僴儕儅偑抁寱傪帩偭偰偄偰僆僗僞丒僆儁僀僪偼抪傪偐偄偨丅師偺擔丄僇儅乕儖偼僴儕儅傪楢傟偰僆僗僞丒僆儁僀僪偺強偵峴偒丄乽偙偺彈偼巹偑攦偭偨搝楆偱偡丅乿偲僆僗僞丒僆儁僀僪偵尵偭偨丅僆僗僞丒僆儁僀僪偼嬃偒壠偵婣偭偨偑丄僴儕儅偑愭夞傝偟偰偄偨偺偱丄乽偦偭偔傝側彈偑偄傞傕偺偩乿偲巚偄嵞傃抪傪偐偄偨丅 +僆僗僞丒僆儁僀僪偑僴儕儅傪棧崶偟側偄偺偱丄僇儅乕儖偲僴儕儅偼嬱偗棊偪偟丄僇僀儘偺僇儅乕儖偺晝傾僽僪丒僄儖丒儔乕儅乕儞偺強偵峴偭偨偑丄傾僽僪丒僄儖丒儔乕儅乕儞偼僇儅乕儖偵旕傪擣傔偝偣丄僴儕儅傪娔嬛偟丄僇儅乕儖傪僇僀儘偒偭偰偺旤恖偱偁傞朄姱(僇乕僨傿乕)偺柡偲寢崶偝偣偨丅寢崶偺墐偵岊怘偑偄偨偑丄偦傟偼僴儕儅傪扵偡椃偵偱偨偑丄搻懐偵恎偖傞傒攳偑偝傟偨僆僗僞丒僆儁僀僪榁恖偱偁偭偨丅傾僽僪丒僄儖丒儔乕儅乕儞偼丄桿榝偝傟傟偽抝偺杮擻偼惂屼偱偒側偔側傞偺偱丄埆偄偺偼桿榝偟偨彈偩偲尵偭偰丄僴儕儅傪僆僗僞丒僆儁僀僪偵堷偒搉偟丄僆僗僞丒僆儁僀僪偼僴儕儅傪峣傔嶦偟偨丅傾僽僪丒僄儖丒儔乕儅乕儞偼丄彏偄偲偟偰丄柡偺乽嬇惎乿傪僆僗僞丒僆儁僀僪榁恖偺嵢偲偟偨丅 +梤偺媟偺暔岅乮戞787栭 - 戞788栭乯 [曇廤] + +愄丄僇僀儘偵偁傞彈偑偄偨偑丄偦偺彈偼1恖偺晇偱偼枮懌偱偒偢丄2恖偺晇傪帩偭偰偄偨丅1恖偼揇朹偺僴儔儉偱栭奜偵峴偒丄拫壠偵偄偰丄傕偆堦恖偼僗儕偺傾僉儖偱丄拫奜偵峴偒丄栭壠偵偄偨丅偙偺偨傔丄2恖偺晇偼屳偄偺懚嵼傪抦傜偢偵偄偨丅 +偁傞擔丄僴儔儉偑椃偵弌傞偙偲偵側偭偨偺偱丄彈偼曎摉傪帩偨偣偰憲傝弌偟偨丅偲偙傠偑摨偠擔傾僉儖傕椃偵弌傞偙偲偵側傝丄彈偼曎摉傪帩偨偣偰憲傝弌偟偨丅僴儔儉偲傾僉儖偼丄椃愭偺椃娰乮僇乕儞乯偱弌夛偄丄堄婥搳崌偟偨偑丄帩偭偰偄傞曎摉偺梤偺媟偑摨偠傕偺偱丄崌傢偣傞偲愗傝岥偑僺僢僞儕堦抳偟偨偺偱晄怰偵巚偄丄屳偄偵廧強傪暦偔偲摨偠応強偩偭偨偺偱丄彈偵閤偝傟偰偄傞偙偲偑暘偐偭偨丅偟偐偟丄2恖偼偦偺彈偑岲偒偩偭偨偺偱丄彈偵暅廞偡傞偺偱偼側偔丄乽傛傝尒帠側榬慜傪帵偟偨曽偑偦偺彈偺晇偲側傞丅乿偲偄偆偙偲偵偟偨丅 +僗儕偺傾僉儖偼儐僟儎恖椉懼彜偑帩偭偰偄偨500僨傿僫乕儖擖傝偺戃傪僗儕庢傝丄偦偙偐傜10僨傿僫乕儖敳偒弌偟丄帺暘偺巜椫傪擖傟偰晻傪偟丄婥晅偐傟側偄傛偆偵儐僟儎恖椉懼彜偺億働僢僩偵栠偟偨丅偦偟偰戝惡偱乽儐僟儎恖椉懼彜偵嬥傪庢傜傟偨乿偲憶偓棫偰偨丅朄姱(僇乕僨傿乕)偑棃偰憃曽偵戃偺拞恎傪暦偔偲丄儐僟儎恖椉懼彜偼500僨傿僫乕儖偲摎偊丄傾僉儖偼490僨傿僫乕儖偲巜椫偲摎偊偨丅朄姱偑戃傪尒傞偲傾僉儖偑惓偟偐偭偨偺偱丄戃偼傾僉儖偺暔偵側傝丄儐僟儎恖偼敱傪庴偗偨丅 +揇朹偺僴儔儉偼丄掗墹偺媨揳偵擡傃崬傒丄彫惄偺傆傝傪偟偰丄墶偵側偭偰偄傞掗墹傪儅僢僒乕僕偟側偑傜丄乽儐僟儎恖偐傜嬥傪偡偭偨抝偲丄媨揳偵擡傃崬傒掗墹傪儅僢僒乕僕偟偨抝偲偱偼丄偳偪傜偑偡偛偄偐丅乿偲暦偄偨丅掗墹偼乽掗墹偺媨揳偵擡傃崬傫偩曽偑偡偛偄乿偲尵偭偨丅偙偆偟偰彈偼僴儔儉偺嵢偲側偭偨丅 +塣柦偺尞乮戞788栭 - 戞794栭乯 [曇廤] + +愄丄僄僕僾僩偺掗墹(僗儖僞儞)偱嫵墹(僇儕乕僼傽)偺儉僴儞儅僪丒儀儞丒僥僀儖儞[扤?]偼丄朶孨偱偁偭偨晝僥僀儖儞偲媡偱丄旕忢側柤孨偱偁偭偨丅偁傞擔丄掗墹儉僴儞儅僪偼丄戝恇側偳偺栶恖傪堦恖偢偮屇傫偱丄摥偒傇傝傪挷傋丄摥偒偵墳偠偰曨媼傪壛尭偟偰偄偨丅嵟屻偵屼樜搧帩偪偑弌偰偒偰丄乽偛懄埵埲棃丄巰孻偺幏峴偑側偔側傝丄廂擖偑側偔側偭偰偟傑偄傑偟偨丅乿偲怽偟忋偘偨偨傔丄掗墹儉僴儞儅僪偼帯悽偑忋庤偔峴偭偰偄傞偙偲傪婌傃丄巰孻偺幏峴偑側偔偰傕屼樜搧帩偪偵擭200僨傿僫乕儖偺媼椏傪搉偡偙偲偵偟偨丅 +掗墹儉僴儞儅僪偼丄傑偩榖偟偰偄側偄榁恖偑偄傞偙偲偵婥晅偒丄偦偺榁恖偺巇帠傪暦偄偨偲偙傠丄榁恖偼乽40擭慜偺愭墹偺柦椷偱丄偁傞彫敔傪庣偭偰偄傑偡乿偲摎偊偨偺偱丄掗墹儉僴儞儅僪偑偦偺彫敔傪尒傞偲丄拞偵愒搚偲丄偳傫側妛幰偵傕撉傔側偄暥帤偺彂偐傟偨巻偑偁偭偨丅掗墹儉僴儞儅僪偑偦偺暥帤傪撉傓傛偆偵偍怗傟傪弌偡偲丄愭墹偵捛曻偝傟偨抝偑尰傟丄偦偺彫敔偼杮棃傾儖丒傾僔儍乕儖偺懅巕僴僒儞丒傾僽僪僁僢儔乕偺傕偺偱偁傞偑丄40擭慜愭墹偵傛傝彫敔傪庢傝忋偘傜傟丄搚楽偵擖傟傜傟偰偄傞偲憈忋偟偨丅掗墹儉僴儞儅僪偼嬃偒丄偡偖搚楽傪扵偝偣傞偲丄僴僒儞丒傾僽僪僁僢儔乕榁恖偼傑偩惗偒偰偍傝丄掗墹儉僴儞儅僪偑搚楽偐傜弌偟偰彫敔偺偙偲傪暦偔偲丄師偺傛偆偵榖偟偨丅 +僴僒儞丒傾僽僪僁僢儔乕偼僇僀儘偺崑彜偺懅巕偱丄庒偔偟偰妛栤傪廋傔丄旤偟偄壋彈偲寢崶偟丄岾偣側寢崶惗妶傪10擭娫夁偛偟偨偑丄撍慠晄岾偑墴偟婑偣丄晝偑儁僗僩偱巰偵丄壠偑壩帠偱從偗丄帩偪慏偑捑杤偡傞側偳丄弖偔娫偵柍堦暥偵側偭偰偟傑偭偨丅偁傞擔挰偱暔岊偄偟偰偄傞偲丄儀僪僂傿儞偑僴僒儞丒傾僽僪僁僢儔乕偺柤傪屇傃朘偹偰偒偨偺偱丄崲榝偟側偑傜傕壠偵彽偔偲丄儀僪僂傿儞偼僴僒儞丒傾僽僪僁僢儔乕偺昻偟偄曢傜偟傪尒偰嬥壿10僨傿僫乕儖傪搉偟丄偦傟偱僴僒儞丒傾僽僪僁僢儔乕偺壠懓偲怘帠傪偟偨丅儀僪僂傿儞偼15擔娫枅擔嬥壿10僨傿僫乕儖傪搉偟怘帠傪嫟偵偟偨偑丄16擔栚偺挬丄僴僒儞丒傾僽僪僁僢儔乕偵乽偁側偨傪巹偵攧偭偰梸偟偄乿偲尵偭偨丅僴僒儞丒傾僽僪僁僢儔乕偼丄乽恖傪嶦偣偽1000僨傿僫乕儖偺戙彏傪暐偆偙偲偼惞揟偵彂偐傟偰偍傝丄恖傪愗傝崗傔偽1500僨傿僫乕偵側偭偰偄傞丅乿偲尵偄丄嵢偺斀懳偵傕偐偐傢傜偢丄1500僨傿僫乕儖偱帺暘傪攧傞偙偲偵偟偨丅僴僒儞丒傾僽僪僁僢儔乕偼嬥傪嵢偵梐偗丄儀僪僂傿儞偵廬偄椃偵弌偨丅 +閜閗偵忔偭偰庈擬偺嵒敊傪恑傒丄11擔栚偺挬丄壴浖娾偱偱偒偨堦杮偺崅偄拰偑偁傞強偵拝偄偨丅拰偺忋偵偼摵憸偑偁傝丄偦偺塃庤偺奺巜偵尞偑妡偐偭偰偄偨丅僴僒儞丒傾僽僪僁僢儔乕偼儀僪僂傿儞偺巜帵偱丄栴傪寕偪尞偵摉偰偰棊偲偡偙偲偵側偭偨丅嵟弶偵棊偪偨偺偼墿嬥偺尞偱丄師偼敀嬧偺尞偩偭偨偑丄偦傟傜偼斶嶴偺尞偲昦嬯偺尞偱丄抦傜側偄僴僒儞丒傾僽僪僁僢儔乕偼偦傟傜傪廍偄夰偵擖傟偨丅師偵揝偺尞偲墧偺尞偑棊偪丄偦傟傜偼塰岝偺尞偲抦宐偲岾暉偺尞偱丄儀僪僂傿儞偑廍偭偨丅嵟屻偵巆偭偨惵摵偺尞偼巰偺尞偱偁偭偨偑丄偦傟傪慱偄栴傪幩傠偆偲偟偨偺傪儀僪僂傿儞偑巭傔偨攺巕偵丄僴僒儞丒傾僽僪僁僢儔乕偼懌偵栴偑巋偝傝夦変傪偟偰偟傑偭偨丅 +椃傪嵞奐偟偰3擔栚偵偍偄偟偦偆側壥庽偑尒偊偨偺偱僴僒儞丒傾僽僪僁僢儔乕偑幚傪怘傋傞偲丄峝偄幚偵帟偑怘偄崬傒敳偗側偔側偭偰偟傑偭偨丅偳偆偟偰傕敳偗側偄偺偱丄拵怘偄偵側偭偨暿偺幚偐傜拵傪庢傝弌偟丄僴僒儞丒傾僽僪僁僢儔乕偺姎傫偩幚偵堏偟丄拵偑幚傪怘偄帟偑敳偗傞傑偱3擔娫懸偮偙偲偵側偭偨丅偝傜偵僴僒儞丒傾僽僪僁僢儔乕偼悈偁偨傝傪婲偙偟嬯偟傫偩丅 +擇恖偼峏偵椃傪偟丄釓婥偺嶳偺榌偵棃偨丅儀僪僂傿儞偼僴僒儞丒傾僽僪僁僢儔乕偵嶳捀偵搊傝擔偺弌傑偱懸偪丄搶傪岦偄偰婩傝傪曺偘傞傛偆偵尵偄丄柊傞偲釓婥偵傗傜傟傞偺偱柊傜側偄傛偆偵尵偭偨丅偟偐偟嶳捀偵拝偄偨僴僒儞丒傾僽僪僁僢儔乕偼栭柧偗傑偱柊偭偰偟傑偄丄壗偲偐擔偺弌偺婩傝偼偟偨偑丄懱拞偑悈傇偔傟偵側傝丄嶳傪崀傝傞偲偒偵揮傃丄偦偺傑傑榌傑偱揮偘棊偪偰偟傑偭偨丅儀僪僂傿儞偼擔偺弌偺帪偺僴僒儞丒傾僽僪僁僢儔乕偺塭偐傜埵抲傪妱傝弌偟丄偦偙傪孈傞偲戝棟愇偺娀壉偑偁傝丄偦偺拞偵恖崪偲丄偙偺彫敔偺拞偵偁傞扤偵傕撉傔側偄帤偺彂偐傟偨巻偑偁偭偨丅儀僪僂傿儞偑撉傓偲乽墌拰偺僀儔儉偺埵抲偑暘偐偭偨乿偲嫨傫偩丅 +擇恖偼峏偵3擔椃傪偟丄悈嬧偺壨偵壦偐偭偨悈徎偺嫶傪搉傝丄崟偄娾偱庢傝埻傑傟偨崟偄扟偵拝偄偨丅儀僪僂傿儞偼僴僒儞丒傾僽僪僁僢儔乕偵妏偺惗偊偨崟偄戝幹傪曔傑偊怱憻偲擼傪帩偭偰棃傞傛偆偵尵偄丄帩偭偰偔傞偲丄時偵擖傟偨晄巰捁偺寣傪庢傝弌偟丄撶偵偦傟傜傪擖傟丄幭廯傪儀僪僂傿儞偺攚拞偵揾傜偣傞偲丄儀僪僂傿儞偺攚拞偐傜塇崻偑惗偊偰偒偨丅儀僪僂傿儞偼僴僒儞丒傾僽僪僁僢儔乕傪楢傟偰旘傃棫偪丄旘傫偱偄偔偲丄夞傝傪悈徎偺暻偱埻傑傟偨墌拰偺僀儔儉偵拝偄偨丅 +墌拰偺僀儔儉偼曮愇偲嬥偱偱偒偨奨偱丄2恖偑儖價乕偺栧丄僄儊儔儖僪偺栧丄囿囗偺栧丄嶺岃偺栧丄暽嬍偺栧丄嬧偺栧丄嬥偺栧傪捠傝拞墰偺媨揳偵峴偒丄偦偺拞掚偺僄儊儔儖僪偺掄偵峴偔偲丄偙偺彫敔偑偁傝丄偦偺拞偵偼愒偄搚偑偁偭偨丅偦傟偼愒棸墿偲偄偆傕偺偱丄嬥懏傪嬥偵曄偊傞椡傪帩偭偰偄偨丅偙偺挰偐傜曮愇傪搻傓偲嶦偝傟傞偺偱丄彫敔偩偗傪帩偭偰旘傫偱悈嬧偺愳傑偱婣傝丄閜閗偵忔偭偰僇僀儘偵婣偭偨丅 +僴僒儞丒傾僽僪僁僢儔乕偑壠偵婣傞偲丄婛偵壠懓偼巰傫偱偄偨丅儀僪僂傿儞偼愒棸墿偱楤嬥弍傪峴偄丄戝検偺嬥傪嶌傝丄戝偒側媨揳傪寶偰偰僴僒儞丒傾僽僪僁僢儔乕偲堦弿偵廧傒丄柌偺傛偆側崑壺側惗妶傪偟偨偑丄僴僒儞丒傾僽僪僁僢儔乕偵偲偭偰偼慡偔妝偟偔側偐偭偨丅儀僪僂傿儞偼偙偆偟偰岾偣偺撪偵惗奤傪暵偠丄僴僒儞丒傾僽僪僁僢儔乕偼憭幃傪幏傝峴偭偨丅 +僴僒儞丒傾僽僪僁僢儔乕偑堚昳傪惍棟偟偰偄傞偲丄塣柦偺尞偺堄枴偑彂偄偰偁傞巻傪尒偮偗丄弶傔偰墿嬥偺尞偑斶嶴偺尞偱丄敀嬧偺尞偑昦嬯偺尞偱偁傞偙偲偑傢偐偭偨丅僴僒儞丒傾僽僪僁僢儔乕偼搟傝丄毊毮偱尞傪梟偐偦偆偲偟偰偄傞偲丄愭墹偺暫巑偑棃偰僴僒儞丒傾僽僪僁僢儔乕傪曔傜偊偨丅愭墹偼僴僒儞丒傾僽僪僁僢儔乕偵楤嬥弍偺旈朄傪敀忬偡傞傛偆尵偆偑丄愭墹偼朶孨偩偭偨偺偱丄僴僒儞丒傾僽僪僁僢儔乕偼朶孨傪棙偝側偄傛偆旈枾傪嫵偊側偐偭偨丅偙偺偨傔丄愭墹偼僴僒儞丒傾僽僪僁僢儔乕傪搚楽偵擖傟偨偺偱偁偭偨丅 +掗墹儉僴儞儅僪偼愭墹僥僀儖儞偺峴堊傪幱嵾偟丄僴僒儞丒傾僽僪僁僢儔乕傪憤棟戝恇偵擟柦偟偨丅僴僒儞丒傾僽僪僁僢儔乕偼楤嬥弍偺旈朄傪掗墹儉僴儞儅僪偵嫵偊丄掗墹儉僴儞儅僪偼巆偭偨愒棸墿偱嬥傪嶌傝丄恄偺堄巚偵増偆傛偆丄偦偺嬥偱夞嫵帥堾傪寶偰偨丅僴僒儞丒傾僽僪僁僢儔乕偼偦傟埲崀120嵨傑偱岾偣偵曢傜偟偨丅 +岻傒側鎫鎮偲桖偟偄撢抭偺廤偄乮戞794栭 - 戞806栭乯 [曇廤] + +尭傜側偄憪棜 [曇廤] +愄丄僇僀儘偵傾僽乕丒僇僔儉丒僄儖丒僞儞僽儕偲偄偆働僠偱桳柤側栻庬彜偑偄偨偑丄斵偺憪棜偼搙傪墇偊偨偮偓偼偓偩傜偗偱丄僇僀儘偺挰拞偺恖偼憪棜偺偮偓偼偓偺傂偳偝傪抦偭偰偄偨丅偁傞擔丄傾僽乕丒僇僔儉偑梺応(僴儞儅乕儉)偵峴偒晽楥偐傜弌傞偲丄帺暘偺憪棜偑側偔側偭偰偄偰丄戙傢傝偵旤偟偄墿怓偄僗儕僢僷偑偁偭偨偺偱丄扤偐偑偼偒娫堘偊偨偲巚偄丄偦偺僗儕僢僷傪棜偄偰婣偭偨偑丄傾僽乕丒僇僔儉偺憪棜偼丄偦偺偁傑傝偺墭偝偲廘偝偺偨傔壓懌斣偑妘棧偟偰偄偨傕偺偱丄墿怓偄僗儕僢僷偼朄姱(僇乕僨傿乕)偺傕偺偱偁偭偨丅晽楥偐傜弌偨朄姱偼丄帺暘偺僗儕僢僷偑側偄偙偲偵搟傝丄巆偝傟偨憪棜偺偮偓偼偓偐傜傾僽乕丒僇僔儉偵堘偄側偄偲巚偄丄傾僽乕丒僇僔儉傪曔傜偊丄墿怓偄僗儕僢僷傪庢傝曉偟偨丅傾僽乕丒僇僔儉偼懡妟偺嬥傪暐偄丄側傫偲偐楽偐傜弌偟偰傕傜偭偨丅 +傾僽乕丒僇僔儉偼丄懝傪偟偨偺偼憪棜偺偣偄偩偲峫偊丄憪棜傪僫僀儖壨偵幪偰偨偑丄憪棜偼嫏巘偺栐偵偐偐傝丄栐傪彎偮偗偨丅嫏巘偨偪偼憪棜偺偮偓偼偓偐傜傾僽乕丒僇僔儉偺憪棜偵堘偄側偄偲巚偄丄傾僽乕丒僇僔儉偵憪棜傪曉偟丄栐偺廋棟戙傪暐傢偣偨丅 +傾僽乕丒僇僔儉偼丄師偵憪棜傪揷幧偺塣壨偵幪偰偨偑丄憪棜偑塣壨偺悈幵偵棈傫偱悈幵傪夡偟丄悈幵偺庡偼憪棜偺偮偓偼偓偐傜傾僽乕丒僇僔儉偺憪棜偵堘偄側偄偲巚偄丄傾僽乕丒僇僔儉偵憪棜傪曉偟丄悈幵偺廋棟戙傪暐傢偣偨丅 +傾僽乕丒僇僔儉偑憪棜偺張暘偵崲偭偰偄傞偲丄嬤強偺將偑憪棜傪欨偊偰憱傝嫀偭偨偑丄偦偺憪棜偑將偺岥偐傜奜傟偰旘傫偱峴偒丄榁攌偵摉偨傝丄榁攌偼巰傫偱偟傑偭偨丅榁攌偺壠懓偼憪棜偺偮偓偼偓偐傜傾僽乕丒僇僔儉偺憪棜偵堘偄側偄偲巚偄丄傾僽乕丒僇僔儉偵憪棜傪曉偟丄榁攌偺寣偺戙彏傪暐傢偣偨丅 +傾僽乕丒僇僔儉偼朄姱偺慜偵峴偒丄憪棜偺強桳尃傪曻婞偡傞偲愰尵偟偨丅偦傟傪尒偨朄姱傕徹恖偨偪傕戝徫偄偟偨丅 +傾儖丒儔僔乕僪偺摴壔栶僶僴儖儖 [曇廤] +愄丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偵偼乽尗恖僶僴儖儖乿偲偄偆摴壔栶偑偄偨丅 +偁傞擔丄嫵墹偑僶僴儖儖偵乽僶僌僟乕僪偵偄傞攏幁幰偺堦棗昞傪嶌傟乿偲柦偠偨偲偙傠丄僶僴儖儖偼乽棙岥幰偺堦棗昞側傜偡偖偱偒傞偺偱丄偦傟埲奜偼慡堳攏幁幰偱偡丅乿偲摎偊偨丅 +傑偨偁傞擔丄僶僴儖儖偼嫵墹偺嬍嵗偵傆偞偗偰嵗偭偨偨傔丄敱偲偟偰灋朹偱懪偨傟偨偑丄乽彮偟嵗偭偨偩偗偱偙傫側偵懪偨傟傞偺側傜丄偄偮傕嵗偭偰偄傞嫵墹偼偳傟傎偳偺敱傪庴偗傞偺偱偁傠偆丅乿偲尵偭偨丅 +傑偨丄僶僴儖儖偼寢崶傪寵偑傝撈恎偱偁偭偨偑丄偁傞擔丄嫵墹偑旤偟偄壋彈偲傓傝傗傝寢崶偝偣偨丅寢崶弶栭丄僶僴儖儖偼怮幒傪旘傃弌偟丄媨揳撪傪戝惡傪忋偘偰憱傝夞偭偨丅嫵墹偑屇傃巭傔棟桼傪暦偔偲丄乽怴嵢偺嫻偐傜丄拝暔偑梸偟偄丄償僃乕儖偑梸偟偄丄忋拝偑梸偟偄偲偄偭偨彅乆偺惡偑暦偙偊偰偒偨偺偱丄嫲晐偺偁傑傝憱傝夞偭偨偺偱偡丅乿偲摎偊偨丅 +傑偨偁傞擔丄僶僴儖儖偼嫵墹偑嵎偟弌偟偨1000僨傿僫乕儖傪帿戅偟偨丅嫵墹偑偦偺棟桼傪暦偔偲丄曅懌傪嬋偘丄曅懌傪怢偽偟偰嫵墹偺屼慜偵嵗偭偰偄偨僶僴儖儖偼丄乽偦偺嬥傪傕傜偆偲椉懌傪怢偽偟偰嵗傞偙偲偑偱偒側偔側傞偐傜丅乿偲摎偊偨丅 +傑偨偁傞擔丄嫵墹偑旕忢偵岮傪妷偐偟偰悈傪強朷偟偨偲偒丄僶僴儖儖偼堦攖偺悈傪嵎偟弌偟偰丄乽偙偺堦攖偺悈偵偳傟傎偳偺壙抣偑偁傝傑偟傚偆偐丅乿偲暦偄偨丅嫵墹偼乽椞搚偺敿暘偺壙抣偑偁傞丅乿偲摎偊偨丅僶僴儖儖偼乽彫悈傪弌偟偨偔側偭偨偲偒丄彫悈傪弌偡尃棙偵偼偳傟傎偳偺壙抣偑偁傝傑偟傚偆偐丅乿偲暦偄偨丅嫵墹偼乽椞搚偺巆傝敿暘偺壙抣偑偁傞丅乿偲摎偊偨丅僶僴儖儖偼乽椞搚偺壙抣偼丄偨偭偨偦傟偩偗偱偟傚偆偐丅乿偲尵偭偨丅 +悽奅暯榓傊偺桿偄 [曇廤] +愄丄偁傞擾応偵乽嬇偺惡乿偲偄偆梇寋偑偄偨丅偁傞擔丄乽嬇偺惡乿偑懞偺拞傪曕偄偰偄傞偲丄屜偲弌夛偭偨偺偱丄嵶偄暬偺忋偵旘傃忔偭偨丅偦偺暬偼嵶偡偓偰屜偵偼搊傟側偐偭偨丅屜偼乽昐廱偺墹儔僀僆儞偲昐捁偺墹儚僔偺榖偟崌偄偱丄摦暔摨巑嶦偟偁偆偙偲偼巭傔傞偙偲偵寛傑偭偨偺偱丄暬偐傜崀傝偰棃偰偔偩偝偄丅乿偲尵偭偨丅乽嬇偺惡乿偑丄乽椔將偑憱偭偰棃傞偺偑墦偔偵尒偊傞丅乿偲尵偆偲丄屜偼嫲傟偰摝偘弌偟偨丅乽嬇偺惡乿偑乽摦暔摨巑嶦偟偁偆偺偼巭傔傞偙偲偵側偭偨傫偠傖側偄偺偐偄丅乿偲暦偄偨偑丄屜偼摝偘偰偄偭偨丅 +晄擻偺偍庺偄(偍傑偠側偄) [曇廤] +愄丄偁傞掗墹偺強偵堦恖偺擾晇偑栰嵷傗壥暔偺弶暔傪專忋偵棃偨丅掗墹偲屻媨偺彈偨偪偑怘傋偰傒傞偲丄恀偵旤枴偟偔丄掗墹偼200僨傿僫乕儖丄彈偨偪偼100僨傿僫乕儖偺朖旤傪擾晇偵梌偊丄偝傜偵掗墹偼擾晇傪梉怘偵彽偄偨丅梉怘偺妝偟偄帪傪夁偛偟丄掗墹偼擾晇偵柺敀偄榖傪強朷偟偨偲偙傠丄擾晇偼柧擔偺斢偵榖偡偙偲傪栺懇偟丄偦偺擔偼媨揳偵攽傑傞偙偲偵側傝丄晹壆偲旤偟偄張彈偺壋彈傪梌偊傜傟偨丅 +擾晇偲壋彈偼晹壆偵擖偭偨偑丄擾晇偺暔偼偳偆偟偰傕棫偨偢丄壋彈偼偍庺偄傪偡傞偙偲偵偟偨丅崄傪暟偒丄擾晇偺暔傪巰懱傪悈偱惔傔傞傛偆偵悈偱惔傔丄儌僗儕儞偺晍偱巰幰傪曪傓傛偆偵曪傒丄媨揳偺彈搝楆偨偪傪屇傫偱憭幃偺恀帡帠傪偟偨偑岠壥偼側偐偭偨丅 +梻擔丄彈搝楆偨偪偐傜榖傪暦偄偰偄偨掗墹偼擾晇偲壋彈傪屇傃弌偟丄嶐斢偁偭偨偙偲傪榖偝偣偨丅壋彈偑壗偑偁偭偨偐榖偡偲丄掗墹偼戝徫偟丄擾晇偵傕偆堦搙摨偠榖傪偝偣丄崱搙偼椳傪棳偟偰戝徫偄偟偨丅 +偦偺屻丄擾晇偼嶐擔栺懇偟偨柺敀偄榖乽擇恖偺僴僔乕僔儏怘傜偄偺暔岅乿傪掗墹偵偟偨丅婌傫偩掗墹偼擾晇傪憤棟戝恇偵偟丄堦摨偼岾偣偵曢傜偟偨丅 +擇恖偺僴僔乕僔儏怘傜偄偺暔岅 [曇廤] +愄丄僴僔乕僔儏岲偒偺嫏巘偑偄偨丅偁傞斢丄嫏巘偑僴僔乕僔儏傪姎傫偱偄傞偲丄奨拞偺摴偑愳偵尒偊偰棃偰丄憗懍掁娖傪庢傝弌偟掁傝傪巒傔偨丅偡傞偲丄栰椙將偑塧偵怘偄偮偒丄掁娖傪堷偭挘偭偨偨傔丄嫏巘偼嫑偑怘偄偮偄偨偲姩堘偄偟掁傝忋偘傛偆偲偟偨偑丄將偺椡偼嫮偔丄堷偭挘傜傟偰摴偵揮傫偱偟傑偭偨丅嫏巘偼愳偵棊偪偨偲巚偄丄戝惡偱彆偗傪媮傔偨丅嬤強偺恖偨偪偑弌偰偒偰丄憶偄偱偄傞僴僔乕僔儏堸傒傪曔傑偊丄埨柊朩奞偱朄姱(僇乕僨傿乕)偵撍偒弌偟偨丅 +朄姱偼幚偼僴僔乕僔儏偑戝岲偒偩偭偨偺偱丄撍偒弌偝傟偨嫏巘傪偦偺擔偼媥傑偣丄梻擔梉怘傪嫟偵偟丄2恖偱僴僔乕僔儏傪堸傫偩丅2恖偼慺偭棁偵側偭偰梮傝偩偟丄戝憶偓偟偨丅偪傚偆偳丄偦偺斢丄掗墹偑戝恇傪楢傟偰奨拞傪曕偄偰偄偨偑丄戝憶偓偺壒傪暦偄偰丄朄姱偺壆晘偵傗偭偰棃偨丅朄姱偲嫏巘偺2恖偼攏幁憶偓傪懕偗丄嫏巘偼掗墹偵彫曋傪妡偗傛偆偲偡傞側偳偟偨偨傔丄掗墹偼婣偭偰偟傑偭偨丅 +梻挬丄掗墹偼朄姱偲嫏巘傪彚偟偩偟偨丅朄姱偼暯恎掅摢偱偁偭偨偑丄嫏巘偼埆傃傟傞偲偙傠傕側偔丄掗墹偺媮傔偵墳偠乽朄姱乽洓偺晝乿偺暔岅乿乽朄姱偺閱攏偺榖乿傪榖偟偨丅掗墹偼婌傃丄僴僔乕僔儏岲偒偺嫏巘傪帢廬挿偵擟柦偟偨丅嫏巘偼懕偗偰乽朄姱偲巈閱攏偺榖乿乽敳偗栚偺側偄朄姱偺榖乿乽彈摴妝偺払恖偺嫵偊偺榖乿傪榖偟偨丅掗墹偼偝傜偵婌傃丄僴僔乕僔儏岲偒偺嫏巘傪憤棟戝恇偵擟柦偟偨丅 +偦偙偵慽徸偑帩偪崬傑傟丄憤棟戝恇偵側偭偨僴僔乕僔儏岲偒偺嫏巘偼乽僴僔乕僔儏怘傜偄偺敾寛乿傪壓偟偨丅 +朄姱乽洓偺晝乿偺暔岅 [曇廤] +嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偺帪戙偺僔儕傾偺僩儔僽儖僘偺挰偵働僠偱桳柤側朄姱(僇乕僨傿乕)偑偄偨丅偁傞擔丄嵸敾傪桳棙偵偼偐傜偭偰傕傜偍偆偲偟偨恖偑丄朄姱偵壟傪悽榖偟偨丅朄姱偼働僠偩偭偨偺偱丄斺業墐傕側偔丄怘帠偼1擔1夞偱丄嬍擪1屄偲僷儞1愗傟偱偁偭偨丅壟偼懴偊傜傟偢丄3擔偱棧墢偵側偭偨丅偟偽傜偔偟偰丄傑偨朄姱偼暿偺壋彈偲寢崶偟偨偑丄傗偼傝働僠偵懴偊傜傟偢3擔偱棧墢偵側偭偨丅偙偺傛偆側偙偲偑懕偒丄挰拞丄朄姱偲寢崶偟傛偆偲偄偆彈偼偄側偔側偭偨丅 +偁傞擔丄朄姱偑挰偺奜傪曕偄偰偄傞偲丄儌乕僗儖偐傜棃偨偲尵偆旤偟偄彈偲弌夛偭偨丅偦偺彈偼朄姱偲寢崶偟丄嬍擪1屄偲僷儞1愗傟偺怘帠偵傕暥嬪傪尵傢側偐偭偨丅偟偐偟丄梻擔丄朄姱偑巇帠偵峴偒壠傪棷庣偵偡傞偲丄彈偼壠偺拞傪扵偟丄朄姱偺嬥屔傪尒偮偗丄嬥屔偺寗娫偐傜儌僠晅偺朹傪擖傟丄拞偺嬥壿傪壗枃偐庢偭偨丅彈偼偦偺嬥壿偱崑壺側椏棟傪攦偭偰偒偰丄彚巊偺崟恖彈偲偍偄偟偔怘傋偨丅朄姱偑壠偵婣傞偲丄彈偼乽嬤偔偵廧傓恊愂偐傜丄偍廽偄偺椏棟傪傕傜偭偨乿偲朄姱偵尵偄丄朄姱偵傕椏棟偺巆傝傪怘傋偝偣偨丅偦傟偐傜枅擔丄彈偼朄姱偺嬥屔偐傜嬥壿傪搻傒丄偦傟偱崑壺側椏棟傪攦偄丄朄姱偵偼乽傕傜偭偨傕偺偩乿偲愢柧偟偰偄偨丅 +偁傞擔丄彈偼朄姱偺偨傔偵嶾摛丄偊傫偳偆摛丄敀偄傫偘傫丄僉儍儀僣丄儗儞僘摛丄嬍擪丄偵傫偵偔側偳偺偛偭偨幭傪嶌偭偨丅偦傟傪怘傋偨朄姱偼丄暊偵僈僗偑偨傑傝丄擠晈偺傛偆側暊偵側偭偨丅彈偼丄乽慡擻偺傾儔乕偑丄抝傪擠怭偝偣偨乿偲憶偓丄朄姱偑戝偒側偍側傜傪偡傞偲丄嬤強偱惗傑傟偨偽偐傝偺愒傫朧傪庢傝弌偟丄乽愒傫朧偑惗傑傟偨乿偲朄姱偵尵偭偨丅 +朄姱偼丄崲榝偟丄乽偍姌傪孈傜傟偰擠怭偟偨乿側偳偲尵傢傟傞偙偲傪嫲傟丄嵢巕傪壠偵巆偟丄傎偲傏傝偑椻傔傞傑偱僟儅僗偵塀傟傞偙偲偵偟偨丅偟偐偟丄朄姱偺塡偼丄旜傂傟偑晅偄偰僟儅僗傑偱峀偑偭偰偄偨丅悢擭偟偰丄朄姱偑僩儔僽儖僘偵婣偭偰尒傞偲丄巕嫙偨偪偑乽洓偺晝乿偺榖傪偟偰偍傝丄朄姱偺偙偲偑朰傟傜傟偰偄側偄偙偲傪抦偭偨丅朄姱偑巕嫙偵徻偟偔暦偔偲丄偁偺彈偼丄朄姱偵棧墢偝傟偨壋彈偨偪偺暅廞傪偡傞偨傔偵朄姱偵嬤偯偄偨傕偺偱偁偭偰丄巕嫙偑惗傑傟偨偲偄偆偺偼丄塕偱偁偭偨偲偄偆偙偲傪巒傔偰抦偭偨丅湵慠偲偟偨朄姱偑壠偵峴偭偰尒傞偲丄壠偼攑壆偵側偭偰偍傝丄扤傕偍傜偢丄嬥屔傕側偔側偭偰偄偨丅 +椶帡偺榖丗楌巎揑側曻洓 +朄姱偺閱攏 [曇廤] +愄丄僄僕僾僩偵丄偁傞挜惻惪晧恖偑偄偨偑丄棷庣彑偪偩偭偨偺偱嵢偼庒偄忣晇傪帩偭偰偄偨丅偁傞擔丄忣晇偑嵢偺強偵偒偰偳偆偟偰傕300僪儔僋儉嬥偑昁梫偩偲尵偄丄嬥偑側偄偲暘偐傞偲丄嬥偺戙傢傝偵閱攏傪楢傟偰峴偭偨丅挜惻惪晧恖偼閱攏偑偄側偔側偭偨偙偲偵婥晅偒丄嵢偵栤偄偨偩偡偲丄嵢偼乽偁偺閱攏偼丄幚偼杺朄偱閱攏偵偝傟偨朄姱(僇乕僨傿乕)偱丄崱堦帪揑偵杺朄偑夝偗偨偺偱挰傊峴偭偰嵸敾傪偟偰偄傞偑丄傑偨閱攏偵側偭偰栠偭偰棃傞偩傠偆乿偲尵偭偨丅挜惻惪晧恖偼偡偖偵閱攏偑昁梫偩偭偨偺偱丄挰傊峴偭偰朄姱偵榖偟偐偗偰閱攏偵栠傞傛偆尵偭偨偑丄朄姱偼挜惻惪晧恖傪婥堘偄偩偲巚偄丄300僪儔僋儉傪梌偊偰怴偟偄閱攏傪攦偆傛偆偵尵偭偰栵夘暐偄偟偨丅挜惻惪晧恖偑巗応偱閱攏傪尒偰偄傞偲丄帺暘偺閱攏偑尒偮偐偭偨偑丄偙傟傪攦偭偰傑偨朄姱偵栠偭偨傜戝曄偩偲巚偄丄暿偺閱攏傪攦偭偰婣偭偨丅 +椶帡偺榖丗閱攏 +朄姱偲巈閱攏 [曇廤] +愄丄偁傞挰偵擭榁偄偨朄姱(僇乕僨傿乕)偑偄偨偑丄斵偼恊巕傎偳擭偺棧傟偨庒偔旤偟偄壋彈偲寢崶偟偨丅傑偨丄朄姱偵偼庒偄彆庤偑偄偨偑丄偁傞擔丄朄姱偺嵢偲朄姱偺壠偱婄傪偁傢偣丄屳偄偵堦栚傏傟偟偰偟傑偄丄枾夛傪廳偹傞傛偆偵側偭偨丅 +偁傞挬丄朄姱偼巇帠偵弌偐偗偨偑丄搑拞偱婥暘偑埆偔側偭偰壠偵婣傝丄晹壆傪恀偭埫偵偟偰怮崬傫偱偟傑偭偨丅朄姱偺嵢偼朄姱偑怮偰偄傞娫偵梺応(僴儞儅乕儉)偵弌偐偗偨丅偦偙偵朄姱偺彆庤偑傗偭偰偒偰丄晹壆偱怮偰偄傞偺偼朄姱偺嵢偩傠偆偲巚偄晍抍偺拞偵庤傪擖傟偨偲偙傠丄朄姱偑栚傪妎傑偟丄彆庤傪曔傑偊丄晍抍(儅僩儔乕)傪擖傟傞敔偺拞偵擖傟偰尞傪妡偗偨丅偟偐偟丄晹壆偑恀偭埫偩偭偨偺偱丄怤擖幰偑扤偩偭偨偐偼尒偰偄側偐偭偨丅 +朄姱偼嵢偑晜婥偟偰偄偨偺偐丄扨側傞怤擖幰偩偭偨偺偐抦傞昁梫偑偁傞偲巚偄丄媫偄偱梺応偵峴偒丄彈搾偵擖傞媞偵嵢偑憗偔弌偰偔傞傛偆偵尵揱傪棅傒丄奜偱懸偭偰偄偨丅梺応偺拞偺朄姱偺嵢偼尵揱偐傜堎忢傪姶偠庢傝丄挌搙梺応偱僄僕僾僩摛傪攧偭偰偄偨彈偵嬥傪搉偟偰彜攧摴嬶偲暈偲儀乕儖傪庁傝丄摛攧傝偵曄憰偟偰丄晇偺朄姱偵婥晅偐傟偢偵梺応傪弌偰壠偵婣偭偨丅朄姱偺嵢偼晍抍敔偐傜彆庤傪弌偟偰摝偑偟丄戙傢傝偵巕閱攏傪擖傟偰尞傪暵傔丄梺応偵栠傝丄崱搙偼曄憰偣偢偵弌偰偒偨丅朄姱偼嵢傪尒偮偗傞偲庤傪捦傫偱壠傑偱堷偭挘偭偰偄偭偨丅 +壠偵婣傞偲朄姱偼徹恖傪屇傃廤傔丄晍抍敔偺尞傪奐偗偨丅偡傞偲丄巕閱攏偑弌偰偒偨偺偱丄徹恖偨偪偼偁偒傟偰偟傑偄丄朄姱偼抪傪偐偐偝傟偨偙偲偱搟傝丄搟傝偺偁傑傝巰傫偱偟傑偭偨丅朄姱偺巰屻丄朄姱偺嵢偲彆庤偼寢崶偟丄岾偣偵曢傜偟偨丅 +敳偗栚偺側偄朄姱 [曇廤] +愄丄僇僀儘偵朄姱(僇乕僨傿乕)偑偄偨偑丄晄惓傪摥偄偨偨傔旊柶偝傟偨丅尦朄姱偼朄棩抦幆傪巊偭偰栕偗傛偆偲巚偄丄崟恖搝楆偵帠審傪婲偙偡傛偆偵尵偭偰挰偵峴偐偣偨丅崟恖搝楆偼丄偁傞抝偑挰偺岞嫟姈壆偵闍捁傪從偄偰傕傜偆偨傔梐偗偨偺傪尒偰丄闍捁偑從偗偨崰丄偦偺闍捁偼帺暘偺暔偩偲尵偭偰姈壆偐傜庴偗庢偭偨丅偦偟偰丄傕偟闍捁傪梐偗偨抝偑棃偨傜丄乽闍捁偑惗偒曉偭偰旘傫偱峴偭偨乿偲尵偆傛偆姈壆偵尵偭偨丅崟恖搝楆偼闍捁偺擏傪尦朄姱偺強偵帩偭偰峴偒丄2恖偱怘傋偰偟傑偭偨丅 +闍捁傪梐偗偨抝偑姈壆偺強偵闍捁傪庴偗庢傝偵棃傞偲丄姈壆偺庡恖偼乽闍捁偑惗偒曉偭偰旘傫偱峴偭偨乿偲尵偭偨偺偱丄抝偼搟傝丄墸傝崌偄偺寲壾偵側偭偨偑丄偪傚偆偳捠傝偐偐偭偨擠晈偵傇偮偐傝丄擠晈偼棳嶻偟偰偟傑偭偨丅擠晈偺恊懓偨偪偼搟傝丄姈壆傪捛偄偐偗丄姈壆偼崅偄寶暔偵摝偘崬傫偩偑丄捛偄媗傔傜傟偰業戜偐傜棊偪丄壓偵偄偨儅僌儕僽恖偵傇偮偐傝丄儅僌儕僽恖傪嶦偟偰偟傑偭偨丅恖乆偼姈壆偺庡恖傪曔傑偊丄朄姱偑傑偩旊柶偝傟偨偙偲傪抦傜側偐偭偨偺偱丄崟恖搝楆偺埬撪偱丄尦朄姱偺壆晘偵姈壆傪楢傟偰峴偭偨丅 +朄姱偼嵸敾傪峴偄丄闍捁傪梐偗偨抝偵懳偟丄傾儔乕偼巰幰傪惗偒曉傜偣傞偲惞揟偵偁傞偺偵丄闍捁偑惗偒曉傞偙偲傪怣偠側偄偺偼晄怣怱偩偲弎傋丄抝偺慽偊傪戅偗偨丅師偵棳嶻偟偨擠晈偺恊懓偵懳偟丄擠晈偑擠怭6偐寧偩偭偨偙偲偐傜丄棳嶻偟偨擠晈傪姈壆偵梐偗丄擠怭6偐寧偵偟偰曉偡偙偲偱彏傢偣傞偲敾寛偟偨偺偱丄擠晈偺恊懓偼慽偊傪庢傝壓偘偨丅巰傫偩儅僌儕僽恖偺恊懓偵懳偟丄暅廞偲偟偰崅偄搩偐傜姈壆偺忋偵旘傃崀傝姈壆傪嶦偣偲敾寛偟偨偺偱丄儅僌儕僽恖偺恊懓偼慽偊傪庢傝壓偘偨丅 +朄姱偺婡抭偵晉傫偩敾寛偺榖偼峀傑傝丄掗墹偺帹偵払偟丄掗墹偼朄姱偺旊柶傪庢傝徚偟偨丅 +彈摴妝偺払恖偺嫵偊 [曇廤] +愄丄僇僀儘偵儅僴儉乕僪偲偄偆撈恎偺庒偄抝偑偄偨丄斵偵偼2嵨擭忋偺傾僼儅僪偲偄偆嵢巕偺偁傞桭恖偑偄偨丅偁傞偲偒丄儅僴儉乕僪偑傾僼儅僪偵彈偲晅偒崌偆曽朄傪暦偄偨丅傾僼儅僪偼丄乽柧擔偺儉儗僪丒僄儖丒僫價乕偺偍嵳傝偱丄彫偝側巕嫙楢傟偺庒偄曣恊傪尒偮偗丄曣恊偵偼榖偝偢丄巕嫙偵榖偟偐偗偨傝丄偁傗偟偨傝偡傟偽椙偄丅乿偲摎偊偨丅儅僴儉乕僪偼尵傢傟偨傛偆偵巕嫙傪偁傗偟丄巕嫙傪尐偵忔偣彈偺壠傑偱憲傝丄栭傪柧偐偟偨丅偟偐偟丄偦偺彈偼嬼慠偵傕傾僼儅僪偺嵢偱偁偭偨偑丄儅僴儉乕僪偼傾僼儅僪偺壠傕嵢偺婄傕抦傜側偐偭偨偺偱丄偦偆偲偼婥晅偄偰偄側偐偭偨丅 +偁傞擔丄傾僼儅僪偑椬偺壠偵偄傞偲丄帺暘偺壠偵儅僴儉乕僪偑擖偭偰峴偔偺偑尒偊偨丅傾僼儅僪偼嬃偒丄婥晅偐傟偢偵壠偵婣傞偨傔丄椬偺壠偺堜屗傪崀傝丄抧壓傪捠傝帺暘偺壠偺堜屗傑偱峴偒丄攪偄忋偑傠偆偲偟偨偑丄挌搙帺暘偺壠偺彚巊偺彈偑堜屗傪擿偒崬傒丄堜屗偺掙偵傾僼儅僪偺塭傪尒偮偗偰婼恄(僀僼儕乕僩)偩偲巚偭偰戝惡傪弌偟丄壉傪棊偲偟偨偺偱丄壉偑傾僼儅僪偺摢偵摉偨傝丄夦変傪偟偰偟傑偭偨丅傾僼儅僪偼戝惡偱彆偗傪媮傔偨偺偱堷偒忋偘傜傟偨偑丄偦偺娫偵儅僴儉乕僪偼婣偭偰偟傑偭偨丅 +壗擔偐偟偰丄傾僼儅僪偑壠偺奜偵偄傞偲丄儅僴儉乕僪偑傾僼儅僪偺壠偵擖傞偺偑尒偊偨偺偱丄傾僼儅僪偼屗傪扏偒丄嵢偑屗傪奐偔偲丄嵢偺庤傪堷偄偰怮幒偵擖偭偰峴偭偨偑儅僴儉乕僪偼尒偮偐傜側偐偭偨丅幚偼儅僴儉乕僪偼屗偺棤懁偵偄偰丄傾僼儅僪偑怮幒偵峴偔娫偵摝偘偰偄偨偺偱偁偭偨丅 +傑偨壗擔偐偟偰丄傾僼儅僪偺嵢偺晝偑擭傪庢偭偰偐傜愝偗偨巕嫙偺妱楃偺偍廽偄偑偁傝丄傾僼儅僪偼儅僴儉乕僪傪楢傟偰弌惾偟偨丅偍廽偄偺梋嫽偱丄柺敀偄榖傪偡傞偙偲偵側傝丄傾僼儅僪偼儅僴儉乕僪偵儉儗僪丒僄儖丒僫價乕偺偍嵳傝偺栭偺榖傪偡傞傛偆偵懀偟偨丅儅僴儉乕僪偑榖傪巒傔傞偲丄彈偺昤幨偐傜傾僼儅僪偺嵢偺偙偲偩偲弌惾幰慡堳偑姶偠丄尟埆側暤埻婥偵側偭偨偑丄巕嫙嫨傇傛偆側惡偑偡傞偲丄儅僴儉乕僪偼榖偺嬝傪曄偊丄巕嫙傪尐偵忔偣壠傑偱峴偭偨偑屗岥偱捛偄曉偝傟偨偲偄偆榖偵偟偨丅偦偺応偺尟埆側暤埻婥偼徚偊偨丅屻偱丄傾僼儅僪偑儅僴儉乕僪偵丄側偤榖偺嬝傪曄偊偨偐傪暦偔偲丄儅僴儉乕僪偼丄巕嫙偺嫨傃惡偐傜偦偺巕偑偄傞偙偲偑暘偐傝丄摉慠曣傕偄傞偐傜榖偺嬝傪曄偊偨偲摎偊偨丅傾僼儅僪偼棊抇偟丄嵢傪棧墢偟儊僢僇偵弰楃偺椃偵弌偨丅儅僴儉乕僪偼丄朄掕偺婜娫偺屻丄傾僼儅僪偺尦嵢偲寢崶偟岾偣偵曢傜偟偨丅 +僴僔乕僔儏怘傜偄偺敾寛 [曇廤] +愄丄巕媿偲巕攏傪傔偖傞嵸敾偑偁傝丄堦曽偼乽柲媿偺巕偼巕媿偱丄柲攏偺巕偼巕攏偱丄巕媿傪庢偭偨柲攏偺庡偼巕媿傪柲媿偺庡偵曉偣乿偲慽偊丄傕偆堦曽偼乽柲媿偺巕偼巕攏偱丄柲攏偺巕偼巕媿偱丄柲攏偺庡偼巕媿傪柲媿偺庡偵曉偡昁梫偼側偄乿偲慽偊偨丅柲攏偑巕媿傪惗傓偺偐偲偄偆栤偄偵懳偟丄柲攏偺庡偼丄傾儔乕偼慡擻偩偲摎偊偨丅 +憤棟戝恇偵側偭偨僴僔乕僔儏岲偒偺嫏巘偼丄柲攏偺庡偵懳偟丄僴僣僇僱僘儈偺忋偵丄戝偒側彫敒暡偺戃傪忔偣傞傛偆偵尵偭偨丅柲攏偺庡偑柍棟偩偲尵偆偲丄憤棟戝恇偼丄傾儔乕偼慡擻偱偁傝丄柍棟偩偲偼晄怣嬄偱偁傞偲偟偰丄柲攏偺庡傪攕慽偝偣丄巕媿偲柲攏偲巕攏傪慡偰柲媿偺庡偵梌偊偨丅 +僰儗儞僫僴乕儖昉偲旤偟偄杺彈偺暔岅乮戞807栭 - 戞814栭乯 [曇廤] + +愄丄偁傞崙偵丄挿抝傾儕丄師抝僴僒儞丄嶰抝僼僒僀儞偲偄偆3恖偺墹巕偑偄偨丅3恖偺墹巕偨偪偼旤偟偄廬巓枀偺僰儗儞僫僴乕儖昉偵楒傪偟丄嵟傕偡偽傜偟偄曮傪帩偭偰棃偨幰偑寢崶偡傞偲偄偆偙偲偵側傝丄椃偵弌偨丅3恖偼偁傞廻壆偱丄1擭屻曮傪帩偭偰嵞夛偡傞偙偲傪栺懇偟丄暘偐傟偨丅 +挿抝傾儕墹巕偼丄僀儞僪偺奀偵柺偟偨價僗僔儍儞僈乕儖墹崙偵拝偒丄旤偟偄挰暲傒偲丄捒偟偄昳乆傪尒偰偄傞偲丄3枩僨傿僫乕儖偱婩摌梡偺鉕焴傪攧傞彜恖偑偄偨丅晄巚媍偵巚偄丄暦偔偲丄偦偺鉕焴偼杺朄偺鉕焴偱丄怱偵擮偠傟偽偳偙偵偱傕嬻傪旘傫偱塣傫偱偔傟傞傕偺偱丄偨偲偊栧偑暵傑偭偰偄偰傕栧偼傂偲傝偱偵奐偔偲偄偆傕偺偱偁偭偨丅傾儕墹巕偼4枩僨傿僫乕儖偱偦傟傪攦偭偨丅 +師抝僴僒儞墹巕偼丄儁儖僔儍偺僔乕儔乕僘偺搒偵拝偒丄偦偺崙偺尵梩偱僶僕僗僞乕儞偲偄偆巗応偵峴偒丄捒偟偄昳乆傪尒偰偄傞偲丄3枩僨傿僫乕儖偱徾夊偺摏傪攧傞彜恖偑偄偨丅晄巚媍偵巚偄丄暦偔偲丄偦偺徾夊偺摏偼杺朄偺朷墦嬀偱丄怱偵擮偠傟偽偳傫側偵墦偔偺暔偱傕尒偊傞傕偺偱偁偭偨丅帋偟偵僰儗儞僫僴乕儖昉傪怱偵擮偠擿偔偲丄梺応偱偍壔徬傪偡傞昉偑尒偊偨丅僴僒儞墹巕偼4枩僨傿僫乕儖偱偦傟傪攦偭偨丅 +嶰抝僼僒僀儞墹巕偼丄僒儅儖僇儞僪丒傾儖丒傾僕儍儉偵拝偒丄僶僓乕儖偱捒偟偄昳乆傪尒偰偄傞偲丄3枩僨傿僫乕儖偱僗僀僇傎偳偺戝偒偝偺椦岀傪攧傞彜恖偑偄偨丅晄巚媍偵巚偄丄暦偔偲丄偦偺椦岀偼杺朄偺椦岀偱丄偦偺擋偄傪歬偘偽偳傫側昦婥偱傕帯傞偲偄偆傕偺偱偁偭偨丅帋偟偵崱偵傕巰偵偦偆側栍栚偺拞晽偺昦恖偵擋偄傪歬偑偣偨偲偙傠丄昦恖偼偨偪傑偪捈傝丄尦婥偵憱傝嫀偭偰偄偭偨丅僼僒僀儞墹巕偼4枩僨傿僫乕儖偱偦傟傪攦偭偨丅 +3恖偼栺懇偺廻壆偱嵞夛偟丄屳偄偺昳暔傪尒偣崌偭偨偑丄師抝偺僴僒儞墹巕偑徾夊偺朷墦嬀偱僰儗儞僫僴乕儖昉傪尒傞偲丄昉偼昺巰偺昦婥偱丄廃傝偺搝楆偨偪偑扱偒斶偟傫偱偄傞條巕偑尒偊偨丅偦偙偱丄3恖偼挿抝傾儕墹巕偺杺朄偺鉕焴偵忔傝嬻傪旘傫偱僰儗儞僫僴乕儖昉偺昦幒傑偱峴偒丄嶰抝僼僒僀儞墹巕偺椦岀偺擋偄傪歬偑偣傞偲丄僰儗儞僫僴乕儖昉偼偨偪傑偪尦婥偵側偭偨丅 +3恖偺昳暔偼偳傟傕楎傜偢偡偽傜偟偄昳暔偱丄偳偺1偮偑寚偗偰傕僰儗儞僫僴乕儖昉傪彆偗傞偙偲偑偱偒側偐偭偨偺偱丄彑晧偼堷偒暘偗偲側偭偨丅偦偙偱丄寛拝傪拝偗傞偨傔丄栴傪堦斣墦偔傑偱旘偽偡偙偲偑偱偒偨傕偺偑僰儗儞僫僴乕儖昉偺晇偵側傞偙偲偵偟偨丅傑偢挿抝傾儕墹巕偑栴傪寕偪丄師偵師抝僴僒儞墹巕偑栴傪寕偮偲傾儕墹巕偺栴傛傝墦偔偵旘傫偩丅嶰抝僼僒僀儞墹巕偑栴傪寕偮偲丄栴偼偳偙傑偱傕旘傫偱峴偒丄尒偊側偔側偭偰偟傑偭偨丅栴偑尒偮偐傜側偄偺偱丄彑晧偼師抝僴僒儞墹巕偺彑偪偲側偭偨丅 +僴僒儞墹巕偲僰儗儞僫僴乕儖昉偺寢崶幃偺擔丄挿抝傾儕墹巕偼斶偟傒偺偁傑傝墹埵宲彸尃傪曻婞偟丄廋摴憁偲側傝墹媨傪嫀偭偨丅僼僒僀儞墹巕偼丄幩偭偨栴傪扵偟丄栴偺旘傫偩曽岦偵偳偙傑偱傕恑傫偱偄偔偲丄愗傝棫偭偨娾嶳偺榌偵栴偑棊偪偰偄傞偺傪尒偮偗偨丅傛偔尒傞偲丄娾嶳偵偼愗傟栚偑擖偭偰偍傝丄怗傞偲斷偺傛偆偵奐偄偨丅僼僒僀儞墹巕偑擖傝埫埮偺拞傪恑傫偱峴偔偲丄峀乆偲偟偨憪尨偵弌偰丄偦偙偵偼憇戝側屼揳偑偁傝丄旤偟偄彈偑僼僒僀儞墹巕偵垾嶢傪偟偰屼揳偺拞偵彽偒擖傟偨丅 +彈偼幚偼杺恄(僕儞)偱丄杺朄偺鉕焴傕丄杺朄偺朷墦嬀傕丄杺朄偺椦岀傕丄慡偰偼偙偺彈杺恄偺暔偱偁偭偨丅彈杺恄偼僼僒僀儞墹巕傪偢偭偲尒偰偄偨偲尵偄丄寢崶傪媮傔偨丅僼僒僀儞墹巕偼僰儗儞僫僴乕儖昉傪忋夞傞旤杄偺彈杺恄傪尒偰丄寢崶傪彸戻偟偨丅僼僒僀儞墹巕偼6偐寧娫偦偺彈杺恄偺屼揳偱丄岾偣偵夁偛偟偨丅 +6偐寧偡傞偲丄僼僒僀儞墹巕偼丄墹偺偙偲偑婥偵側傝丄墹媨偵婣傝偨偄偲彈杺恄偵尵偭偨丅彈杺恄偼応強傪抦傜傟側偄傛偆偵梡怱偡傞偙偲偲丄偡偖偵婣偭偰偔傞偙偲傪忦審偵丄墹媨偵峴偔偙偲偵摨堄偟偨丅僼僒僀儞墹巕偼彚巊偺杺恄偨偪傪楢傟偰丄崑惃側峴楍傪慻傫偱墹媨偵婣偭偨丅墹偼僼僒僀儞墹巕偺婣娨傪婌傃丄僼僒僀儞墹巕偑偳偙偵偄偨偐傪暦偄偨偑丄僼僒僀儞墹巕偼摎偊側偐偭偨丅僼僒僀儞墹巕偼枅寧1夞墹媨偵棃傞偙偲傪栺懇偟偰彈杺恄偺屼揳偵婣偭偨丅 +師偺寧丄僼僒僀儞墹巕偑棃偨偲偒丄戝恇偨偪偼峴楍偺尒帠偝偐傜丄僼僒僀儞墹巕偺椡偑嫮戝偱偁傝丄杁斀傪婲偙偡偐傕抦傟側偄偲丄墹偵恑尵偟偨丅墹偼嗦嘞側榁攌傪屇傃丄墹巕偺屻傪偮偗偝偣偨偑丄墹巕偑徚偊偨娾偺斷傪丄榁攌偼偳偆偟偰傕尒偮偗傞偙偲偑偱偒側偐偭偨丅 +師偺寧丄榁攌偼旈枾偺娾偺斷偺嬤偔偱昦恖偺傆傝傪偟偰搢傟偰偄偨丅偦偙偵弌偰棃偨僼僒僀儞墹巕偼丄榁攌傪尒偮偗丄帯椕偡傞偨傔榁攌傪楢傟偰彈杺恄偺屼揳傑偱栠偭偨丅彈杺恄偼榁攌偵偳傫側昦婥傕帯偡乽巶巕偺愹乿偺悈傪梌偊偨丅榁攌偼彈杺恄偺屼揳傪埬撪偟偰傕傜偄丄偦偺崑壺偝偵嬃偄偨丅榁攌偼婣傞偨傔娾嶳偺斷傪弌傞偲丄嵞傃擖傝岥偑暘偐傜側偔側偭偰偄偨丅 +榁攌偼墹媨偵栠傝丄墹偲戝恇偨偪偵彈杺恄偺媨揳偺崑壺偝傪揱偊丄崱搙僼僒僀儞墹巕偑棃偨傜丄杺朄偺揤枊側偳專忋偡傞偙偲傪梫媮偟丄梫媮偵廬傢側偗傟偽嶦偦偆偲榖偟偨丅僼僒僀儞墹巕偵梫媮傪揱偊傞偲丄僼僒僀儞墹巕偼彸戻偟丄屼揳偵婣偭偰彈杺恄偵憡択偟偨丅彈杺恄偼杺朄偺揤枊傪弌偟丄僔儍僀僶乕儖偲偄偆柤偺恎挿40亅50cm偱丄傂偘偑10m傕偁傞椡帩偪偺杺恄傪屇傃弌偟丄僼僒僀儞墹巕偺偍嫙傪偟偰墹媨偵峴偔傛偆偵尵偭偨丅 +墹媨偵拝偔偲僔儍僀僶乕儖偼丄僼僒僀儞墹巕偺杁斀傪媈偭偨偲偟偰榁攌偲戝恇偨偪傪揝朹偱墸傝嶦偟丄墹偵偼戅埵傪敆偭偨丅墹偼戅埵偟偰廋摴憁偵側傝丄挿抝傾儕墹巕偲塀撡偟偨丅僼僒僀儞墹巕偼怴偟偄墹偵側傝丄師抝僴僒儞墹巕偼丄堿杁偵壛傢偭偰偄側偐偭偨偺偱丄墹崙偺嵟傕朙偐側抧曽偺椞庡偲側偭偨丅僼僒僀儞墹巕偼彈杺恄偺嵢偲岾偣偵曢傜偟偨丅 +乽恀庫壺乿偺暔岅乮戞814栭 - 戞819栭乯 [曇廤] + +僶乕僩儞斉乽儂儔僒儞偺傾僽丒傾儖丒僴僒儞(戞959栭乚戞963栭)乿 +搶梞暥屔斉乽嫵墹傾儖儉僂僞僨傿僪丒價僢儔乕僸偲儂儔僒儞偺傾僼儅僪偺懅巕偺傾僽乕丒傾儖僴僒儞丒傾乕儕乕偺暔岅(戞959栭乚戞963栭)乿 +愄丄傾僢僶乕僗挬偺戞16戙嫵墹(僇儕乕僼傽)偱丄戞5戙嫵墹僴乕儖乕儞丒傾儖丒儔僔乕僪偺懛偺戞10戙嫵墹傾儖丒儉僞儚僢僉儖偺峏偵懛偺傾儖丒儉乕僞僨傿僪丒價儖儔乕嫵墹偑丄暔岅巘傾僼儅乕僪丒僀僽儞丒僴儉僪僁儞偲僶僌僟乕僪偺挰傪嶶曕偟偰偄傞偲丄旤偟偄慜掚傪帩偭偨娰傪尒偮偗偨丅擇恖偼椃偺彜恖偲婾偭偰丄娰偺庡偵夛偆偲丄庡偼夣偔2恖傪梉怘偵彽偄偨丅娰偺撪晹偼幚偵偡偽傜偟偔丄旤偟偄壧昉丄晳昉偨偪偑晳偄梮傝丄崑壺側椏棟偑怳晳傢傟偨丅偟偐偟丄嫵墹偼撍慠娰偺庡偵乽壠嬶傗庡偺暈偵傾儖丒儉僞儚僢僉儖嫵墹偺報偑偮偄偰偄傞偺偼偳偆偄偆棟桼偐乿偲搟傝傪業傢偵偟偰栤偄惓偟偨丅娰偺庡傾僽乕儖丒僴僒儞丒傾儕丒儀儞丒傾僼儅乕僪丒傾儖丒儂儔乕僒乕僯偼師偺傛偆偵摎偊偨丅 +傾僽乕儖丒僴僒儞偼僶僌僟乕僪偺崑彜偺堦恖懅巕偲偟偰惗傑傟丄庒偔偟偰晝偑巰傫偩屻傕庤寴偔彜攧傪懕偗偨丅偁傞擔丄傾僽乕儖丒僴僒儞偺揦偵旤偟偄14嵨傎偳偺壋彈偑棃偰300僨傿僫乕儖傪搉偟偰梸偟偄偲尵偭偨丅傾僽乕儖丒僴僒儞偼堦栚崨傟偟丄300僨傿僫乕儖傪搉偟偰偟傑偭偨丅傾僽乕儖丒僴僒儞偼棟惈傪幐偭偨峴摦傪屻夨偟偨偑丄梻擔摨偠帪崗偵嵞傃偦偺壋彈偑棃偰丄崱搙偼500僨傿僫乕儖搉偡傛偆偵尵偆偲丄尵傢傟傞偑傑傑偵搉偟偰偟傑偭偨丅偦偺梻擔崱屻偼偦偺壋彈偑曮愇傪搉偡傛偆偵尵偆偲丄傾僽乕儖丒僴僒儞偼尵傢傟傞偑傑傑偵搉偟偨丅傾僽乕儖丒僴僒儞偑壋彈偺屻傪晅偗傞偲丄壋彈偼嫵墹傾儖丒儉僞儚僢僉儖偺媨揳偵徚偊偨丅 +傾僽乕儖丒僴僒儞偼崲榝偟丄晝偺戙偐傜偺斣摢偵憡択偡傞偲丄媨揳偵弌擖傝偟偰偄傞巇棫壆傪徯夘偟偰偔傟偨丅傾僽乕儖丒僴僒儞偑巇棫壆偺揦偵峴偒嬥傪搉偟憡択偡傞偲丄偦偺壋彈偼嫵墹偺旡攊抏偒乽恀庫壺乿偵堘偄側偄偙偲偑暘偐偭偨丅偪傚偆偳偦偺帪乽恀庫壺乿偺彚巊偺彮擭泚姱偑巇棫壆偺揦偵棃偰丄乽恀庫壺乿傕傾僽乕儖丒僴僒儞偺偙偲傪垽偟偰偄傞偙偲傪揱偊丄屻媨偵擡傃崬傓庤堷偒傪偟偰偔傟偨丅 +傾僽乕儖丒僴僒儞偼嫵墹偺暈傪拝偰屻媨傪恑傒乽恀庫壺乿偺晹壆偺庤慜傑偱棃偨偑丄撍慠嫵墹偺峴楍偑尒偊丄傾僽乕儖丒僴僒儞偼屻媨傪摝偘夞傝丄帺暘偑偳偙偵偄傞偺偐暘偐傜側偔側偭偰偟傑偄丄偁傞晹壆偺拞偵擖傝崬傫偩丅偦偙偼乽恀庫壺乿偺巓偺乽傾乕儌儞僪偺楙暡乿偺晹壆偱偁偭偨丅乽傾乕儌儞僪偺楙暡乿偼傾僽乕儖丒僴僒儞傪摻偄丄乽恀庫壺乿傪晹壆偵屇傫偩丅傾僽乕儖丒僴僒儞偲乽恀庫壺乿偼嵞夛傪婌傫偩偑丄偦偺捈屻嫵墹偑乽傾乕儌儞僪偺楙暡乿偺晹壆偵棃偨偨傔丄傾僽乕儖丒僴僒儞偼堖徶敔偺拞偵塀傟偨丅 +嫵墹偼丄乽恀庫壺乿偑晹壆偵偄偨偙偲傪婌傃丄壧傪強朷偡傞偲乽恀庫壺乿偼尒帠偵壧偭偨丅嫵墹偼朖旤偲偟偰壗偱傕梌偊傞偲尵偭偨偺偱丄乽恀庫壺乿偑帺桼傪婅偆偲婅偄偼嫋偝傟偨丅乽恀庫壺乿偼帺暘偺晹壆偺壠嬶傗暈丄偦偟偰傾僽乕儖丒僴僒儞偑擖偭偰偄傞堖徶敔傪偐偮偑偣偰丄屻媨傪屻偵偟偨丅偙傟偑丄偙偺娰偺壠嬶傗暈偵嫵墹儉僞儚僢僉儖偺報偑偁傞棟桼偱偁偭偨丅 +嫵墹傾儖丒儉乕僞僨傿僪丒價儖儔乕偼榖傪暦偒丄媈偭偨偙偲傪抪偠丄傾僽乕儖丒僴僒儞偺慸惻傪柶彍偟丄帢廬挿偵擟柦偟偨丅傾僽乕儖丒僴僒儞偼嫵墹偺斴岇偺傕偲岾偣偵曢傜偟偨丅 +掗墹儅僴儉乕僪偺擇偮偺悽奅乮戞819栭 - 戞821栭乯 [曇廤] + +愄丄僄僕僾僩偺掗墹(僗儖僞儞)儅僴儉乕僪偼丄憦柧偱塰岝偵枮偪偨掗墹偱偁偭偨偑丄帪愜桱烼側婥帩偪偵廝傢傟傞偙偲偑偁偭偨丅偦傫側偁傞桱烼側擔丄儅僌儕僽偺抧偐傜堦恖偺榁恖偑墆尒傪媮傔偰棃偨丅榁恖偑掗墹偺晹壆偺4偮偁傞憢偺戞1偺憢傪奐偗傞偲丄揋偺戝孯偑戝嫇偟偰傗偭偰偔傞偺偑尒偊偨丅憢傪暵傔偰傕偆堦搙偁偗傞偲丄戝孯偼徚偊丄暯榓側挰暲傒偑偁偭偨丅戞2偺憢傪奐偗傞偲丄挰偼戝壩偵廝傢傟堦柺壩偺奀偱偁偭偨偑丄堦搙暵傔偰傕偆堦搙偁偗傞偲丄晛捠偺挰暲傒偵栠偭偨丅戞3偺憢傪奐偗傞偲丄挰偼僫僀儖愳偺戝峖悈偵廝傢傟壗傕偐傕攇偵偝傜傢傟偰偟傑偭偨偑丄堦搙暵傔偰傕偆堦搙偁偗傞偲丄晛捠偺挰暲傒偵栠偭偨丅戞4偺憢傪奐偗傞偲丄挰偼澺榀偵廝傢傟憪傕栘傕屚傟壥偰嵒敊偵側偭偰偟傑偭偨偑丄堦搙暵傔偰傕偆堦搙偁偗傞偲丄晛捠偺挰暲傒偵栠偭偨丅 +師偵榁恖偼丄掗墹偺庱傪捦傒丄晹壆偺愹偺悈偺拞偵掗墹偺庱傪捑傔偨丅偡傞偲丄掗墹偼尒抦傜偸搚抧偺奀曈偵懪偪忋偘傜傟偨丅掗墹偑嬤偔偵偄偨擾柉偨偪偵榖偟偐偗傞偲丄扤傕掗墹偺偙偲傪抦傜偢丄擾柉偨偪偼掗墹傪曔傑偊丄彫壆偵楢傟偰峴偒丄杺朄偱閱攏偵偟偰偟傑偭偨丅閱攏偵側偭偨掗墹偼5擭娫棃傞擔傕棃傞擔傕廳楯摥傪偝偣傜傟偨丅5擭屻杺朄偑夝偗偰恖偺巔偵栠傞偲丄恖偑棃偰丄乽梺応偵峴偒丄弌偰偔傞彈偵昁偢撈恎偐偳偆偐傪暦偒丄撈恎側傜寢崶偡傞傛偆偵乿偲尵偭偨丅掗墹偑惡傪妡偗偨旤偟偄彈偨偪偼婛崶偱偁偭偨偑丄3恖栚偺廥偔嬌傔偰擭傪庢偭偨榁攌偼撈恎偱丄寢崶偡傞偙偲偵側偭偨偑丄敆傜傟偰偁傑傝偺晄夣偵掗墹偼戝惡傪偁偘偨丅 +掗墹偑婥晅偔偲丄晹壆偺愹偺悈偐傜摢傪忋偘偨強偱偁傝丄5擭偲姶偠偨偺偼悈偵摢傪捑傔偰偄偨嬐偐側帪娫偱偁偭偨丅掗墹偼帺暘偺嫬嬾偺岾塣傪姶幱偟丄嫬嬾傪堦弖偱曄偊傜傟傞傾僢儔乕偺椡傪巚偭偨丅偦偺偲偒婛偵儅僌儕僽偺榁恖偼徚偊偰偄偨丅 +掙側偟偺曮屔乮戞821栭 - 戞826栭乯 [曇廤] + +愄丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偑戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕偵乽嵟傕婥慜偺椙偄恖娫偼扤偐丅乿偲恞偹偨偲偙傠丄僕儍傾僼傽儖偼乽嫵墹條偱偼側偔丄僶僗儔偺傾僽乕儖僇僙儉偲偄偆庒幰偱偡丅乿偲摎偊偨丅嫵墹偼偙偺梊憐奜偺夞摎偵搟傝丄僕儍傾僼傽儖傪抧壓楽偵暵偠崬傔丄帺傜恀婾傪妋偐傔傞傋偔丄彜恖偵曄憰偟偰僶僗儔偵椃棫偭偨丅僶僗儔偵拝偒丄傾僽乕儖僇僙儉偺壆晘傪朘偹傞偲丄傾僽乕儖僇僙儉偼椃偺彜恖偺巔傪偟偨嫵墹傪夣偔寎偊偨丅娰偵擖傞偲丄撪柺偼曮愇傗嬥偱旤偟偔忺傜傟偰偍傝丄傑偢捠偝傟偨戞堦偺峀娫偱捒偟偄堸傒暔傪堸傒丄師偺峀娫偱偍偄偟偄椏棟傪暊堦攖怘傋丄戞3偺峀娫偱庰傪堸傒丄壧昉偨偪偺墘憈傪暦偒丄晳昉偨偪偺晳傪尒偨丅 +傾僽乕儖僇僙儉偼嫵墹偵丄姴偼敀嬧丄巬梩偼僄儊儔儖僪丄壥幚偼儖價乕偱偱偒偨敨怉偊傪尒偣丄偦偺栘偺忋偵巭傑偭偰偄傞墿嬥偺岴悵傪噫噙偺朹偱扏偔偲丄墿嬥偺岴悵偼摦偒弌偟丄棿煹崄丄娒徏崄丄壘梾偺崄傝傪偁偨傝偵昚傢偣偨丅嫵墹偑嫽枴傪帵偡偲丄傾僽乕儖僇僙儉偼敨怉偊傪曅晅偗偰偟傑偭偨丅 +師偵傾僽乕儖僇僙儉偼丄晵摳庰傪枮偨偟偨攖傪帩偭偨旤偟偄彮擭搝楆傪楢傟偰棃偨丅嫵墹偑攖傪庴偗庢傝堸傓偲丄嬻偵側偭偨攖偐傜晵摳庰偑桸偒弌偟丄攖偼嵞傃晵摳庰偱枮偨偝傟偨丅偙偺攖偼杺朄偺攖偱偁偭偨丅嫵墹偑嫽枴傪帵偡偲丄傾僽乕儖僇僙儉偼彮擭搝楆偵杺朄偺攖傪帩偨偣偰戅弌偝偣偰偟傑偭偨丅 +師偵傾僽乕儖僇僙儉偼丄旡攊傪帩偭偨旤偟偄搝楆偺壋彈傪楢傟偰棃偨丅壋彈偼旡攊偱旤偟偄壒怓傪憈偱丄嫵墹偼暦偒崨傟偨偑丄傾僽乕儖僇僙儉偼壋彈傪戅弌偝偣偨丅嫵墹偼丄媞偵彮偟偩偗尒偣偰丄媞偑嫽枴傪帵偡偲曅晅偗傞傗傝曽傪柍楃偩偲姶偠丄傾僽乕儖僇僙儉傪旕擄偟偰娰傪弌偰廻壆偵婣偭偨丅 +廻壆偵婣傞偲丄旡攊傪帩偭偨壋彈傕丄杺朄偺攖傪帩偭偨彮擭搝楆傕偄偰丄偝傜偵丄曮愇偺敨怉偊傪帩偭偨暿偺彮擭搝楆傗偦偺懠戝惃偺搝楆偑偄偰丄偦傟傜偼傾僽乕儖僇僙儉偐傜偺憽傝暔偱偁偭偨丅嫵墹偼抁椂傪抪偠丄傾僽乕儖僇僙儉偺娰偵栠傝丄憽傝暔傪幱偟丄側偤偦傟傎偳偺嵿椡偑偁傞偺偐傪恞偹偨偲偙傠丄傾僽乕儖僇僙儉偼師偺傛偆偵摎偊偨丅 +傾僽乕儖僇僙儉偺晝偼傾僽僨儖傾僘傿乕僘偲偄偄丄戙乆懕偔僇僀儘偺戝曮愇彜恖偱偁偭偨偑丄僄僕僾僩偺掗墹(僗儖僞儞)偑朶孨偱偁偭偨偨傔丄僶僗儔偵堏傝丄偦偙偱寢崶偟偰傾僽乕儖僇僙儉偑惗傑傟偨丅傾僽僨儖傾僘傿乕僘偑朣偔側傞偲丄堦恖懅巕偱偁偭偨傑偩庒偄傾僽乕儖僇僙儉偑慡嵿嶻傪憡懕偟偨偑丄2擭偺偆偪偵楺旓偟柍偔偟偰偟傑偭偨丅傾僽乕儖僇僙儉偼僶僗儔傪屻偵偟丄儌乕僗儖丄僟儅僗傪曻楺偟丄儊僢僇偵弰楃偟丄晝慶偺抧偱偁傞僇僀儘偵拝偄偨丅 +僇僀儘偺挰傪曕偄偰偄傞偲丄僫僀儖愳偵柺偟偨掗墹偺媨揳偺棤庤傪捠偭偨偑丄憢偺墱偵堦弖尒偊偨壋彈偵楒傪偟偰偟傑偭偨丅偦偺擔偼憢偺奜偱堦擔拞懸偭偨偑丄偦偺壋彈偼擇搙偲尰傟側偐偭偨丅梻擔傕偦偺憢偵棃傞偲丄壋彈偑尰傟丄恀栭拞偵棃傞傛偆偵偲偩偗尵偭偰丄徚偊偰偟傑偭偨丅恀栭拞偵棃傞偲丄撽掤巕偑崀傝偰偒偰丄偦傟傪搊偭偰憢偐傜擖傞偲偦偺壋彈偑偄偨丅壋彈偼儔價僶偲偄偄丄掗墹偺懁幒偱偁偭偨偑丄掗墹偑晄擻偱偁偭偨偨傔丄張彈偺傑傑偱偁偭偨丅2恖偑書偒崌偍偆偲偟偨偲偒丄掗墹偺暫巑偑擖偭偰偒偰丄2恖傪曔傜偊丄僫僀儖愳偵搳偘崬傫偱偟傑偭偨丅傾僽乕儖僇僙儉偼娸偵拝偔偙偲偑偱偒偨偑丄儔價僶偺巔偼尒偊偢丄昁巰偵扵偟偨偵傕偐偐傢傜偢峴曽偑暘偐傜側偔側偭偰偟傑偭偨丅 +傾僽乕儖僇僙儉偼僇僀儘傪摝傟丄僶僌僟乕僪偱峴彜傪巒傔偨丅偡傞偲偁傞榁恖偑傾僽乕儖僇僙儉偵嫽枴傪帵偟丄嵒摐壻巕傪10僨傿僫乕儖偺戝嬥偱攦偄丄惗偄棫偪傪暦偄偰偒偨丅傾僽乕儖僇僙儉偑榖偡偲丄榁恖偼姶摦偟丄梴巕偵側傜側偄偐暦偄偰偒偨偺偱丄傾僽乕儖僇僙儉偼彸抦偟偨丅2恖偼榁恖偺壆晘偺偁傞僶僗儔偵堏偭偨丅傾僽乕儖僇僙儉偼岶峴偵搘傔偨偑丄1擭偡傞偲榁恖偼嵟婜偺帪傪寎偊丄傾僽乕儖僇僙儉偺岶峴偵姶幱傪昞偟丄壆晘撪偵偁傞掙側偟偺曮屔傊偺擖傝曽傪嫵偊偰偔傟偨丅偦偺曮屔偼扤偑嶌偭偨傕偺偐暘偐傜側偄偑丄戙乆庴偗宲偑傟偰偒偨傕偺偱丄柍尷偲傕尵偊傞曮暔偑擖偭偰偄傞偺偱偁偭偨丅榁恖偼嫵偊廔傢傞偲丄懅愨偊偨丅 +傾僽乕儖僇僙儉偼嬥傪巊偄弌偟偨偑丄恖乆偺梊憐偵斀偟偰丄嬥偑柍偔側傞偙偲偼側偐偭偨丅栶恖偑嬥傪梫媮偟偰棃偰丄偦傟傪暐偭偰傕慡慠戝忎晇偱偁偭偨丅 +榖傪暦偔偲嫵墹偼偳偆偟偰傕掙側偟偺曮屔偑尒偨偔側傝丄棅傓偲丄傾僽乕儖僇僙儉偼嫵墹傪栚塀偟偟偰丄抧壓偵偁傞掙側偟偺曮屔偵楢傟偰偄偭偨丅尒傞偲丄戝偒側峀娫偵曮愇偺嶳偑偄偔偮傕偁傝丄崱傑偱巊偭偨偺偼嶳2屄暘偱偟偐側偐偭偨丅曮屔偵偼偦偺傛偆側峀娫偑柍悢偵偁傝丄傾僽乕儖僇僙儉偼嫵墹傪弴偵埬撪偟偨偑丄峀娫偺悢偑懡偡偓偰丄搑拞偱旀傟偰曮屔傪弌偰偟傑偭偨丅嫵墹偼傾僽乕儖僇僙儉偵姶幱偟丄僶僌僟乕僪偺媨揳偵婣偭偨丅 +嫵墹偼僕儍儚僼傽儖傪抧壓楽偐傜弌偟丄傾僽乕儖僇僙儉偐傜傕傜偭偨彮擭搝楆2恖傪梌偊偨丅曮愇偺敨怉偊偲丄旡攊抏偒偺壋彈偼惓岪僝僶僀僟偵梌偊丄杺朄偺攖偼帺暘偺暔偲偟偨丅嫵墹偼傾僽乕儖僇僙儉傪僶僗儔偺墹偵擟柦偡傞偨傔僶僌僟乕僪偺媨揳偵彽偄偨偑丄偦偺栭偺墐偵尰傟偨壧昉偑儔價僶偱偁傝丄偦傟傪尒偨傾僽乕儖僇僙儉偼婥愨偟偰偟傑偭偨丅儔價僶偼僫僀儖愳偵搳偘崬傑傟偨偁偲丄嫏巘偵彆偗傜傟丄搝楆彜恖偺庤傪宱偰嫵墹偵專忋偝傟偨偺偱偁偭偨丅2恖偼寢崶偟丄嫵墹偺斴岇偺傕偲岾偣偵曢傜偟偨丅 +婥偺撆側晄媊偺巕偺偙傒偄偭偨暔岅乮戞826栭 - 戞844栭乯 [曇廤] + +愄丄3恖偺妛幰偑偄偰丄掗墹(僗儖僞儞)偵嬤偯偙偆偲丄墹媨偺慜偱攈庤側寲壾傪偟偨丅3恖偼曔傜偊傜傟丄掗墹偺慜偵堷偒弌偝傟傞偲丄偦傟偧傟乽曮愇偺宯晥妛幰乿乽攏偺宯晥妛幰乿乽恖偺宯晥妛幰乿偲柤忔偭偨偨傔丄掗墹偼3恖傪墹媨偵棷傔抲偒丄僷儞偲擏傪1恖慜偢偮梌偊丄擻椡傪帋偡偙偲偵偟偨丅 +偟偽傜偔偡傞偲丄椬崙偐傜偺憽傝暔偑偁傝丄拞偵旤偟偄摟柧側曮愇偑偁偭偨偨傔丄曮愇偺宯晥妛幰偵娪掕偝偣傞偙偲偵偟偨丅偡傞偲丄乽偙偺曮愇偼柍壙抣偱丄拞偵拵偑擖偭偰偄傞乿偲尵偭偨偨傔丄掗墹偼巰孻偵偟傛偆偲偟偨偑丄憤棟戝恇偑柍幚偺幰傪巰孻偵偡傞偲恄偺慜偱曎柧偱偒側偔側傞偲娦傔偨偨傔丄曮愇傪妱偭偰妋偐傔傞偙偲偵側傝丄妱傞偲拵偑擖偭偰偄偨丅掗墹偼曮愇偺宯晥妛幰偺僷儞偲擏偺妱傝摉偰傪2攞偵偟偨丅 +偟偽傜偔偡傞偲丄偁傞晹懓偐傜攏偺憽傝暔偑偁傝丄尒帠側崟幁栄偺攏偱偁偭偨偨傔丄攏偺宯晥妛幰偵娪掕偝偣傞偙偲偵偟偨丅偡傞偲丄乽偙偺攏偼尒帠側攏偱偁傞偑丄嚓偑偁傝丄偦傟偼曣偑悈媿偱偁傞偙偲偱偁傞乿偲尵偭偨偨傔丄掗墹偼搟傝巰孻偵偟傛偆偲偟偨偑丄憤棟戝恇偑娦傔偨偨傔丄寣摑徹傪挷傋偝偣偨偲偙傠妋偐偵曣偼悈媿偲婰嵹偟偰偁偭偨丅掗墹偼攏偺宯晥妛幰偺僷儞偲擏偺妱傝摉偰傪2攞偵偟偨丅 +掗墹偼丄帺暘偺垽彣傪恖偺宯晥妛幰偵娪掕偝偣傞偙偲偵偟偨丅偡傞偲丄乽恀偵旤偟偔丄懡偔偺挿強傪帩偭偨彈惈偱偁傞偑丄曣曽偼棳楺柉僈乕僕儍乕(Ghajar)偺梀彈偱偁傞乿偲尵偭偨偨傔丄掗墹偼搟傝巰孻偵偟傛偆偲偟偨偑丄憤棟戝恇偑娦傔偨偨傔丄垽彣偺晝偱偁傞墹媨偺幏帠傪彚偟弌偟帠忣傪栤偄惓偟偨丅偡傞偲丄幏帠偼師偺傛偆偵摎偊偨丅 +幏帠偼庒偄崰嵒敊偺戉彜偺岇塹傪偟偰偄偰丄偁傞偲偒丄棳楺柉僈乕僕儍乕偺梀彈偺堦抍偺栰塩抧嬤偔偵棷傑偭偨偑丄僈乕僕儍乕偺堦抍偑嫀偭偨屻偵丄5嵨傎偳偺僈乕僕儍乕偺彈帣偑偼偖傟偰巆偭偰偍傝丄堷偒庢傝堢偰傞偙偲偵偟偨丅彈帣偼妼怓偺敡偺旤偟偄壋彈偵惉挿偟丄幏帠偲寢崶偟丄惗傑傟偨偺偑掗墹偺垽彣偱偁偭偨丅 +掗墹偼恖偺宯晥妛幰偺僷儞偲擏偺妱傝摉偰傪2攞偵偟偨丅 +掗墹偼丄恖偺宯晥妛幰偵丄崱搙偼帺暘帺恎傪娪掕偝偣傞偙偲偵偟偨丅偡傞偲丄恖偺宯晥妛幰偼恖暐偄傪偟丄乽掗墹偼晄媊偺巕偱偁傞乿偲摎偊偨丅掗墹偼湵慠偲偟丄曣偺晹壆偵峴偒丄恀幚傪岅傞傛偆偵敆偭偨丅偡傞偲掗墹偺曣偼師偺傛偆偵岅偭偨丅 +掗墹偺曣偼愭掗偺戞1偺惓嵢偱偁偭偨偑丄掗墹偵偼巕庬偑側偔巕嫙偑偱偒側偐偭偨丅愭掗偼戞2偺惓嵢傪沇傝丄戞3偺惓嵢傪沇偭偨偑傗偼傝巕嫙偼偱偒側偐偭偨丅愭掗偼斶偟傒丄桱烼側擔乆傪夁偛偝傟偨丅偦偙偱丄掗墹偺曣偼丄墹媨偺庒偄椏棟恖傪晹壆偵屇傃丄岎傢偭偨屻岥晻偠偺偨傔嶦偟丄巰懱傪掚偵杽傔偨丅偙偆偟偰崱偺掗墹偑惗傑傟偨偑丄愭掗偼戝偄偵婌傃丄墹媨偺恖乆偵懡偔偺昳暔傪壓帓偝傟丄40擔娫偺戝墐夛傪奐偒丄婌傃傪嫟偵偝傟偨偺偱偁偭偨丅 +掗墹偼丄恖偺宯晥妛幰偵側偤晄媊偺巕偱偁傞偲巚偭偨偐傪恞偹傞偲丄恖偺宯晥妛幰偼乽掗墹偼3恖偺妛幰偑岟愌傪帵偟偨偲偒丄僷儞偲擏偺妱傝摉偰傪攞憹偟偨偩偗偱丄掗墹偺朖旤偲巚偊偸偗偪側朖旤偱偁傝丄恀偺掗墹側傜梍傟偺暈傗嵿曮傪梌偊傞傕偺偱側偺偱丄椏棟恖偺寣嬝偲峫偊偨乿偲摎偊偨丅掗墹偼帺暘偺惗傑傟傪抪偠丄掗墹埵傪恖偺宯晥妛幰偵忳傝戅埵偟丄廋摴憁偲側偭偰丄曻楺偺椃偵弌偨丅怴偟偄掗墹偲側偭偨恖偺宯晥妛幰偼丄曮愇偺宯晥妛幰傪塃偺庣岇丄攏偺宯晥妛幰傪嵍偺庣岇偲偟丄憤棟戝恇偼棷擟偝偣丄怴偟偄帯悽傪巒傔偨丅 +廋摴憁偲側偭偨掗墹偼曻楺偺椃偱僇僀儘偵拝偒丄墹媨傪挱傔偰偄傞偲丄掗墹儅僴儉乕僪偑捠傝偐偐傝丄崅婱側暤埻婥傪帩偭偨廋摴憁傪晄巚媍偵巚偄丄墹媨偵彽偒帠忣傪暦偄偨丅廋摴憁偑榖傪偡傞偲丄掗墹儅僴儉乕僪偼戝偄偵姶怱偟丄崱搙偼帺暘偑偄偐偵偟偰掗墹偵側偭偨偐偺榖乽庒幰偺墡偺暔岅乿傪偟丄恎暘偺掅偄惗傑傟傪婥偵偡傋偒偱偼側偄偲尵偭偰丄掗墹偱偁偭偨廋摴憁傪憤棟戝恇偵偟偨丅怴偟偄憤棟戝恇偼惌柋傪岞暯偵峴偄丄恖乆偐傜柤嵣憡偲尵傢傟偨丅 +偁傞偲偒丄掗墹儅僴儉乕僪偑桱烼側婥暘偵廝傢傟偨偨傔丄掗墹偲憤棟戝恇偼惛恄昦堾傪尒妛偵峴偭偨丅偦偙偵偼3恖偟偐偄側偐偭偨偑丄偦傟偧傟乽戞堦偺嫸恖偺暔岅乿乽戞擇偺嫸恖偺暔岅乿乽戞嶰偺嫸恖偺暔岅乿傪岅偭偨丅掗墹偼3恖傪惛恄昦堾偐傜夝曻偟丄偦傟偧傟偺楒恖偲寢崶偝偣丄帢廬偵擟柦偟丄堦摨岾偣偵曢傜偟偨丅 +庒幰偺墡偺暔岅 [曇廤] +愄丄僇僀儘偵昻偟偄悈嶵恖晇偑偄偰丄戝偒側嶳梤偺旂戃傪扴偄偱悈傪嶵偒曕偔偙偲傪惗嬈偲偟偰偄偨偑丄儅僴儉乕僪偲偄偆柤偺庒偄懅巕傪巆偟偰巰傫偱偟傑偭偨丅儅僴儉乕僪偼廂擖傪摼傞摴偑側偔丄廋摴憁偲側傝丄帥堾偵怮攽傝偟丄暔岊偄傪偟偰曢傜偟偰偄偨丅 +偁傞擔丄儅僴儉乕僪偼丄婥慜偺椙偄婱懓偐傜嬧壿5僪儔僋儉傪傕傜偭偨丅偦傟傪帩偭偰曕偄偰偄傞偲丄巗応偱墡夞偟傪偟偰偄傞抝傪尒偮偗丄墡傪攦偊偽丄寍傪偝偣傞偙偲偱埨掕偟偨慘傪壱偘傞偲巚偄丄墡夞偟偐傜墡傪5僪儔僋儉偱攦偭偨丅墡偑偄偰偼帥堾偵擖傟側偄偺偱丄攑壆偱栭傪夁偛偦偆偲攑壆偵擖傞偲丄墡偼旤偟偄庒幰偲側傝丄嬥壿傪庢傝弌偟偰怘帠傪攦偭偰偔傞傛偆偵尵偄丄2恖偼崑壺側椏棟傪怘傋丄攑壆偱柊偭偨丅 +梻挬丄墡偺庒幰偼嵞傃嬥壿傪庢傝弌偟丄儅僴儉乕僪偵梺応偵峴偒懱傪惔傔丄旤偟偄堖徶傪攦偭偰栠偭偰棃傞傛偆尵偭偨丅栠偭偰棃傞偲丄崱搙偼憽傝暔偺擖偭偨敔傪搉偝傟丄偦傟傪帩偭偰掗墹(僗儖僞儞)偺偲偙傠傊峴偒丄掗墹偺挿彈偲偺寢崶傪怽偟崬傓傛偆尵傢傟偨丅尵傢傟偨捠傝偵偟偰掗墹偵憽傝暔傪專忋偡傞偲丄偦傟偼旤偟偄曮愇偺憰恎嬶偺悢乆偱偁偭偨丅挿彈偲偺寢崶傪怽偟崬傓偲丄掗墹偼戝棻偺僟僀儎儌儞僪傪帵偟丄偦傟偲摨偠戝偒偝偺僟僀儎儌儞僪傪崶帒偲偟偰嵎偟弌偡傛偆偵尵偭偨丅儅僴儉乕僪偑墡偺庒幰偵憡択偡傞偲丄摨偠戝偒偝偺戝棻偺僟僀儎儌儞僪10屄傪弌偟偰儅僴儉乕僪偵梌偊偨偑丄忦審偲偟偰墡偺庒幰偺嫋偟偑偁傞傑偱墹彈偺拞偵暘偗擖傜側偄傛偆尵偭偨丅儅僴儉乕僪偑掗墹偵戝棻偺僟僀儎儌儞僪10屄傪崶帒偲偟偰搉偡偲寢崶偑寛傑傝丄朄姱傪屇傃庤懕偒偑峴傢傟丄墐偑偁傝丄弶栭偲側偭偨偑丄儅僴儉乕僪偼墹彈偺張彈傪扗傢側偐偭偨丅墡偺庒幰偼丄儅僴儉乕僪偵墹彈偺偍庣傝偺榬椫傪傕傜偭偰偔傞傛偆偵尵偄丄儅僴儉乕僪偑墹彈偐傜偍庣傝偺榬椫傪傕傜偄丄墡偺庒幰偵搉偡偲丄儅僴儉乕僪偼昻偟偄暈傪拝偰丄偁偺攑壆偱栚傪妎傑偟偨丅 +儅僴儉乕僪偑攑壆傪弌偰丄巗応偵峴偔偲僶儖僶儖抧曽偺儅僌儕僽恖偺愯偄巘偑偄偨偺偱丄愯偭偰傕傜偆偲丄偙傟偼杺恄(僕儞)偺巇嬈偱偁傞偲尵偄丄撉傔側偄暥帤偱庤巻傪彂偒丄儅僴儉乕僪偵偦傟傪偁傞強傑偱帩偭偰峴偒丄庡恖偵搉偡傛偆偵尵偭偨丅儅僴儉乕僪偑尵傢傟偨強傑偱峴偔偲丄柍悢偺壩偑尰傟偨偑丄偦傟傪帩偮幰偼尒偊側偐偭偨丅拞怱偺戝偒側壩偺慜偵峴偒丄庤巻傪搉偡偲丄乽傾僩儔僔儏傛丄晄怣偺僕儞傪曔傑偊偰棃偄乿偲偺惡偑偟丄偡偖偵墡偺庒幰偑曔傑偊傜傟偰棃偨丅惡偑乽墹彈偺榬椫傪曉偣乿偲尵偆偲丄墡偺庒幰偼抐傝丄榬椫傪堸傒崬傫偩偺偱丄墡偺庒幰偼嶦偝傟丄懱傪楐偄偰榬椫偑庢傝弌偝傟偨丅榬椫偑儅僴儉乕僪偵曉偝傟傞偲丄儅僴儉乕僪偼崑壺側暈傪拝偰丄媨揳偺晹壆偵偄偰丄墹彈偐傜榬椫傪傕傜偭偨帪偵栠偭偰偄偨丅 +偦偺屻偟偽傜偔偟偰丄掗墹偼抝巕傪巆偝偢側偔側傜傟偨偺偱丄挿彈偺晇偱偁傞儅僴儉乕僪偑掗墹偲側偭偨偺偱偁偭偨丅 +戞堦偺嫸恖偺暔岅 [曇廤] +偦偺嫸恖偺庒幰偼埲慜丄僇僀儘偱晝慶偺戙偐傜懕偔對怐暔偺揦偺庡恖偱偁偭偨丅偁傞擔丄忋昳側榁彈偑棃偰丄揦偱嵟傕忋摍側對怐暔傪1斀500僨傿僫乕儖偱攦偭偰峴偭偨丅榁彈偼偦偺擔埲崀枅擔丄摨偠傛偆偵1斀500僨傿僫乕儖偺對怐暔傪攦偭偰峴偭偨偑丄16擔栚偵攦偄偵棃偨偲偒丄嵿晍傪朰傟偰棃偨偨傔丄庒幰偼壠傑偱戙嬥傪庢傝偵峴偔偙偲偵側偭偨丅庒幰偑榁彈偲壠偺嬤偔傑偱峴偔偲丄榁彈偼乽嬤強偺彈傪尒偰桿榝偝傟側偄傛偆偵乿偲庒幰偵栚塀偟傪偟偰丄庤傪堷偄偰壆晘傑偱峴偭偨丅壆晘偵擖傝栚塀偟傪庢傜傟傞偲丄偦偙偼崑壺側媨揳偱丄庒幰偑攧偭偨忋摍側對怐暔偼嶨嬓偲偟偰巊傢傟偰偄偨丅 +偡傞偲丄50恖偺庒偔旤偟偄彈搝楆傪廬偊偨堦抜偲旤偟偄彈庡恖偑尰傟丄庒幰偵寢崶傪怽偟崬傫偩偨傔丄庒幰偼敿怣敿媈側偑傜彸戻偟丄朄姱傪屇傃朄揑偵寢崶偟丄偦傟偐傜20擔娫垽偟崌偭偨丅庒幰偼揦偲曣恊偑婥偑偐傝偵側傝丄堦扷婣傝偨偄偲尵偆偲丄栚塀偟傪偝傟偰丄榁彈偺庤傪堷偐傟偰丄壠偵婣偭偨丅埲崀丄拫偼揦丄栭偼嵢偺壆晘偲偄偆惗妶偑懕偄偨丅 +偁傞擔丄庒幰偑揦偵偄傞偲丄1000僨傿僫乕儖偼偟偦偆側曮愇偲嬥偱偱偒偨梇寋偺抲暔傪帩偭偨旤偟偄彈偑棃偰丄庒幰偺杍偵僉僗傪偝偣偰偔傟傟偽丄偦偺抲暔傪偨偩偱搉偡偲尵偭偰偒偨丅庒幰偑彸抦偡傞偲丄彈偼庒幰偺杍偵姎傒晅偒丄杍偵彎偑偮偄偰偟傑偭偨丅彈偼抲暔傪抲偄偰婣偭偨丅 +栭偵側傝丄嵢偺壆晘偵峴偔偲丄嵢偼搟偭偰偍傝丄拫娫杍偵僉僗傪偟偨彈偺巰懱傪庒幰偵尒偣丄庒幰傪嫸恖偲偟偰惛恄昦堾偵娔嬛偟偨偺偱偁偭偨丅 +掗墹儅僴儉乕僪偲憤棟戝恇偼庒幰偺榖傪暦偒丄庒幰傪惛恄昦堾偐傜夝曻偟偰丄栚塀偟傪偝傟偨応強傑偱峴偒丄偦偙偐傜曕偄偨曕悢傪巚偄弌偝偣偰丄壆晘傪尒偮偗弌偟偨丅偦偙偼愭掗偺柡偺堦恖偱丄儅僴儉乕僪偺嵢偲堎曣枀偵偁偨傞恖偺廧傫偱偄傞壆晘偱偁偭偨丅掗墹儅僴儉乕僪偼2恖傪榓夝偝偣丄堦弿偵廧傑傢偣丄庒幰傪帢廬偵庢傝棫偰偨丅堦摨偼岾偣偵曢傜偟偨丅 +椶帡偺榖:戞擇偺壋彈傾儈僫偺榖 +戞擇偺嫸恖偺暔岅 [曇廤] +偦偺嫸恖偺庒幰偼丄憰恎嬶傪彜偆彜恖偺巕偱丄旕忢偵寴暔偱丄16嵨偺崰偼彈惈偺桿榝傪旔偗偰彜攧偺庤揱偄傪偟偰偄偨丅偁傞擔丄旤偟偄崟恖偺搝楆偺彮彈偑揦偵棃偰丄庒幰偵彈庡恖偐傜梐偐偭偨楒暥傪搉偟偨丅庒幰偼撉傓偲丄桿榝偝傟偨偲巚偄搟傝丄楒暥傪攋傝幪偰丄巊偄偺崟恖偺彮彈傪墸傝丄捛偄曉偟偨丅 +偦傟偐傜悢擭屻丄庒幰偑嵢傪沇傞傛偆側擭楊偵側偭偨偁傞擔丄5恖偺旤偟偄敀恖彈搝楆傪廬偊偨堦抜偲旤偟偄壋彈偑揦偵尰傟偨丅壋彈偼旤偟偄懌庱傪庒幰偵尒偣偰傾儞僋儗僢僩傪帋偟丄榬傪尒偣偰榬椫傪帋偟丄庱偲嫻傪偼偩偗偰庱忺傝傪帋偟丄崢昍傪帋偟丄婄偺儀乕儖傪奜偟偰僀傾儕儞僌偲敮忺傝傪帋偟偨丅偦傟偧傟偺晹暘傪尒傞搙偵丄庒幰偼偁傑傝偺旤偟偝偵棟惈傪幐偄偦偆偵側偭偨偑丄揦偵偼憡墳偟偄憰恎嬶偼側偐偭偨丅偟偐偟丄壋彈偼帋偡偨傃偵乽晝偼巹傪廥偄偲尵偆乿偲孞傝曉偟丄偝傜偵乽晝偼巹偺廥偝偺偨傔丄搝楆偲偟偰攧傝暐偍偆偲偟偰偄傞乿偲尵偭偨丅庒幰偼壋彈傪嵢偲偟偰傕傜偍偆偲巚偄丄壋彈偺晝偱偁傞乽僀僗儔儉偺挿榁乿偺強傊寢崶傪怽偟崬傒偵峴偔偙偲偵偟偨丅 +僀僗儔儉偺挿榁偵夛偭偰寢崶傪怽偟崬傓偲丄僀僗儔儉偺挿榁偼墑乆偲柡偑偄偐偵廥偄偐傪榖偟懕偗偨丅庒幰偼偦傟傪彸抦偱寢崶偟偨偄偲尵偭偨偨傔丄朄姱傪屇傃寢崶偑峴傢傟偨偑丄柡偼揦偵棃偨壋彈偲偼暿恖偱丄僀僗儔儉偺挿榁偑榖偟偨捠傝偺廥偄彈偱偁偭偨丅庒幰偼湵慠偲偟丄挿偄栭傪夁偛偟偰梻挬憗偔偵壠傪弌偰丄僀僗儔儉帥堾偵峴偭偨丅 +僀僗儔儉帥堾偵峴偔偲丄椺偺壋彈偑偄偨偨傔丄庒幰偼栆慠偲暥嬪尵偭偨偑丄壋彈偼楒暥偺帠審偺暅廞偲偟偰傗偭偨偲尵偭偨偨傔丄庒幰偼旕傪擣傔丄壋彈偵偡偑傝晅偄偰媰偒丄彆偗傪媮傔偨丅壋彈偼戝摴寍恖偺堦抍傪楢傟偰僀僗儔儉偺挿榁偺壠偵峴偗偽椙偄偲抦宐傪庼偗偨偺偱丄庒幰偼偦偺捠傝偵偟丄戝摴寍恖偨偪傪恊愂偩偲尵偭偰徯夘偡傞偲丄僀僗儔儉偺挿榁偼嬃偒丄戝摴寍恖偨偪偲恊愂偵側傞偙偲偼偱偒側偄偲尵偭偰丄棧崶偡傞傛偆偵庒幰偵梫媮偟丄庒幰偼廥偄柡偲棧崶偟偨丅 +庒幰偼旤偟偄壋彈偲寢崶偟丄30擔娫寖偟偔垽偟崌偭偨偑丄31擔栚偵偼懱挷傪曵偟丄垽偟崌偆偙偲偑偱偒側偐偭偨丅怴嵢偼搟傝丄庒幰傪惛恄昦堾偵擖傟偨丅 +掗墹儅僴儉乕僪偲憤棟戝恇偼庒幰偺榖傪暦偒丄庒幰傪惛恄昦堾偐傜夝曻偟偰丄寢崶憡庤偺壆晘傪尒偮偗弌偟偨丅偦偙偼愭掗偺俁彈偵摉偨傞恖偺廧傫偱偄傞壆晘偱偁偭偨丅掗墹儅僴儉乕僪偼2恖傪榓夝偝偣丄堦弿偵廧傑傢偣丄庒幰傪帢廬偵庢傝棫偰偨丅堦摨偼岾偣偵曢傜偟偨丅 +戞嶰偺嫸恖偺暔岅 [曇廤] +偦偺嫸恖偺庒幰偼丄梒偄崰偵椉恊傪朣偔偟丄嬤強偺恖偵堢偰傜傟偰偄偨丅12嵨偵側偭偨偁傞擔丄梀傫偱偄傞偲丄彫壆傪尒偮偗偦偺拞偵擭榁偄偨尗幰偑偄傞偺偑暘偐偭偨丅庒幰偼偦偺尗幰偐傜妛栤傪妛傇偙偲偵側傝丄5擭偺寧擔偑棳傟偨丅 +偁傞擔丄僀僗儔儉帥堾偺拞掚偵偄傞偲丄泚姱偨偪偵埻傑傟偨墹彈偺峴楍偑捠傝丄儀乕儖傪偟偨墹彈傪堦栚尒偨庒幰偼丄楒偵棊偪偰偟傑偭偨丅庒幰偼尗幰偵丄墹彈偵傕偆堦搙夛傢側偗傟偽巰傫偱偟傑偆偲尵偄丄擭榁偄偨尗幰偼丄楒偼恎傪柵傏偡尨場偵側傞偲尵偄側偑傜傕丄墹彈偵夛偆庤棫偰偲偟偰丄庒幰偺豳偵杺朄偺栻傪揾傞偲丄庒幰偺懱偼敿恎偑徚偊丄敿恎偩偗偑尒偊傞傛偆偵側偭偨丅庒幰偑偦偺巔偱挰偵峴偔偲丄恖乆偼捒偟偑傝丄榖偼墹媨偺墹彈偺帹偵傕払偟偨丅墹彈偼庒幰傪墹媨偵彚偟弌偟丄晄巚媍側懱傪挱傔偨丅偙偆偟偰丄庒幰偼墹彈偺巔傪尒傞偙偲偑偱偒偨偑丄楒怱偼峏偵曞偭偰偟傑偭偨丅 +庒幰偑嵞傃擭榁偄偨尗幰偵憡択偵峴偔偲丄尗幰偼榁悐偐傜嵟婜偺帪傪寎偊偰偍傝丄庒幰偵巰傫偩傜杽憭偡傞傛偆偵棅傒丄慡恎偑摟柧偵側傞杺朄偺栻傪庒幰偺豳偵揾傞偲巰傫偱偟傑偭偨丅庒幰偼榁尗幰傪杽憭偟偨丅 +庒幰偼慡恎偑摟柧側偺偱丄墹媨偵擖傝崬傒丄墹彈偺晹壆傑偱峴偭偨丅墹彈偼儌僗儕儞偺敡拝堦枃偱柊偭偰偍傝丄庒幰偼偦傟傪偠偭偲挱傔偰偄偨偑丄師戞偵挱傔傞偩偗偱側偔怗傝偨偔側傝丄怗傞偲墹彈偼戝惡傪忋偘偰栚傪妎傑偟偨丅戝惡傪暦偄偰墹彈偺曣偲擕曣偑傗偭偰棃偰丄墹彈偐傜榖傪暦偔偲丄扤偐偑塀傟偰偄側偄偐晹壆拞傪扵偟偨丅擕曣偼杺恄(僕儞)偺巇嬈偵堘偄側偄偲巚偄丄杺恄偵岠偔偲偄偆閱攏偺暢傪晹壆偺側偐偱擱傗偟丄晹壆偵墝傪廩枮偝偣偨丅庒幰偼墝偑栚偵偟傒偰丄偨傑傜偢栚傪嶤偭偨偑丄杺朄偺栻偑師戞偵庢傟偰偟傑偄丄偮偄偵巔偑尒偊傞傛偆偵側傝丄曔傑偊傜傟偰偟傑偭偨丅擕曣偼杺恄偩偲巚偭偰偄偨偨傔丄偁偊偰嶦偝偢惛恄昦堾偵庒幰傪娔嬛偟偨丅 +掗墹儅僴儉乕僪偲憤棟戝恇偼庒幰偺榖傪暦偒丄庒幰傪惛恄昦堾偐傜夝曻偟偰丄偦偺墹彈偺壆晘傑偱峴偐偣傞偲丄偦傟偼愭掗偺枛偺柡偱偁傞巐彈偺偙偲偱偁偭偨丅掗墹儅僴儉乕僪偼2恖傪寢崶偝偣丄庒幰傪帢廬偵庢傝偨偰偨丅堦摨偼岾偣偵曢傜偟偨丅 +嬨廫嬨偺嶯庱偺壓偱偺栤摎乮戞844栭 - 戞847栭乯 [曇廤] + +愄丄偁傞儖乕儉恖偺崙偵丄崙墹偲墹斳偑偄偨偑丄塣柦偺曄揮偵傛傝杤棊偟偰偟傑偭偨丅崙墹偲墹斳偼墹巕偲偲傕偵椃偵弌偰丄偁傞柤孨偑帯傔傞崙偵拝偄偨丅墹巕偼偦偺崙偺墹偵夛偄丄晝傪搝楆偲偟偰梐偗傞戙傢傝偵柤攏1摢傪庁傝丄曣傪搝楆偲偟偰梐偗傞戙傢傝偵晲嬶峛檋傪庁傝丄攏偲晲嬶峛檋傪曉偟偨帪偵偼晝曣傪婣偟偰傕傜偆偙偲傪婅偄弌丄婅偄偼嫋偝傟偨丅 +墹巕偑椃傪懕偗傞偲丄戝偒側挰偑偁偭偨丅偦偙偺墹彈偼愨悽偺旤彈偱偁傞偑丄媮崶偵棃偨抝偵懳偟栤摎傪峴偄丄抝偑摎偊傜傟側偄偲懪偪庱偵偟丄婛偵99偺庱偑忛栧偵嶯偝傟偰偄傞偺偱偁偭偨丅墹巕偼栤摎偵墳偠丄墹彈偺乽巹偲巹偺彈搝楆偨偪偼壗偵帡偰偄傞偐乿側偳偺栤偄偵師乆摎偊偰偄偭偨丅嵟婜偵墹彈偺栤偄偑恠偒偨偺偱丄崱搙偼墹巕偑墹彈偵懳偟乽巹偼攏偵屪傝側偑傜晝偵屪傝丄峛檋傪拝側偑傜曣偺堖傪拝偰偄傞偲偼偳偆偄偆偙偲偐乿偲栤偄丄墹彈偑摎偊傜傟側偐偭偨偺偱丄栤摎偼墹巕偺彑偪偲側偭偨丅 +墹巕偲墹彈偼寢崶偟丄偦偺屻丄墹彈偺晝偱偁傞崙墹偑朣偔側偭偨偲偒墹巕偼崙墹偵側偭偨丅墹巕偼攏偲晲嬶峛檋傪曉偟丄晝曣傪曉偟偰傕傜偄丄堦摨岾偣偵曢傜偟偨丅 +嵶孨偳傕偺暊崟偝乮戞847栭 - 戞851栭乯 [曇廤] + +愄丄偁傞崙偺掗墹(僗儖僞儞)偺摴壔栶偑丄掗墹偺姪傔偱寢崶偟偨偑丄怴嵢偼壻巕壆丄敧昐壆丄擏壆丄扜揓悂偒偲晜婥傪巒傔偰偟傑偭偨丅偁傞擔丄摴壔栶偑壠傪弌偰媨揳偵岦偐偆偲丄壠偵壻巕壆偑傗偭偰棃偰嵢偵媮垽偟偨偑丄偦偙偵敧昐壆偑傗偭偰棃偨偺偱壻巕壆偼曋強偵塀傟偨丅敧昐壆偑媮垽偟偰偄傞偲丄偦偙偵擏壆偑傗偭偰棃偨偺偱敧昐壆偼曋強偵塀傟偨丅擏壆偑媮垽偟偰偄傞偲丄偦偙偵扜揓悂偒偑傗偭偰棃偨偺偱擏壆偼曋強偵塀傟偨丅扜揓悂偒偑媮垽偟偰偄傞偲丄偦偙偵媫側暊捝傪妎偊偨摴壔栶偺晇偑婣偭偰棃偨偺偱丄扜揓悂偒偼曋強偵塀傟偨偑丄摴壔栶偑曋強偵旘傃崬傓偲4恖偺抝偲偼偪崌傢偣偵側偭偨丅摴壔栶偼丄4恖懳1恖偱偼婋尟偩偲巚偄堦寁傪埬偠丄壻巕壆傪梐尵幰傾僀儐乕僽丄敧昐壆傪椢偺梐尵幰僸僘儖丄擏壆傪憃妏偺僀僗僇儞僟乕儖(傾儗僋僒儞僟亅戝墹)丄扜揓悂偒傪揤巊僀僗儔乕僼傿乕儖偲屇傃丄惞恖偨偪傪掗墹偺強偵埬撪偟偨丅 +掗墹偼堦栚尒偰丄扤偑扤偐暘偐傝丄懠恖偺嵢傪怮庢偭偨嵾偱4恖傪嫀惃偟傛偆偲偡傞偑丄4恖偼偦傟偧傟柺敀偄榖傪偡傞偺偱嵾傪嫋偟偰梸偟偄偲婅偄弌偰丄壻巕壆偺榖偟偨暔岅丄敧昐壆偺榖偟偨暔岅丄擏壆偺榖偟偨暔岅丄扜揓悂偒偺榖偟偨暔岅偑岅傜傟丄掗墹偼4恖傪幫偟偨丅 +壻巕壆偺榖偟偨暔岅 [曇廤] +愄丄偁傞掗墹(僗儖僞儞)偺搒偵丄搒偺挿姱偱偁傞戙棟姱(僇乕僀儉丒儅僇乕儉)偑偄偨偑丄朳帠偑晄擻偱偁偭偨偨傔嵢偼攏挌傪垽恖偲偟偰偄偨丅偟偐偟丄戙棟姱偼掑廼側嵢偩偲巚偄崬傫偱偄偨丅偁傞偲偒丄嵢偼乽幚壠偺嬤強偱憭幃偑偁偭偨偨傔3擔娫庤揱偄偵峴偒偨偄乿尵偄丄晇偺嫋偟傪傕傜偄丄攏挌偵閱攏傪堷偐偣偰弌偰峴偭偨丅嵢偼幚壠偵偼峴偐偢丄攏挌偺壠偱3擔娫擏梸偵抆偭偨偑丄偦傟偱傕懌傜偢峏偵3擔娫擏梸偵抆偭偨丅嵢偼7擔栚偵壠偵婣傝丄憭幃偺庤揱偄偑戝曄偱丄3擔娫墑傃偰偟傑偭偨偲榖偟偨丅晇偼嵢傪怣偠愗偭偰偄偨偨傔丄婣傝偑抶偔偰怱攝偟偨偲嵢傪嫋偟偨丅 +敧昐壆偺榖偟偨暔岅 [曇廤] +愄丄偁傞揤暥妛幰偑偄偰丄嵢偺掑廼傪怣偠偰偍傝丄偙偲偁傞偛偲偵帺枬偟偰偄偨丅偁傞偲偒丄揤暥妛幰偑嵢偺帺枬傪偟偰偄傞偲丄偁傞抝偑丄揤暥妛幰偺嵢偼堹棎偩偲尵偄丄塕偩偲巚偆側傜丄悢擔棷庣偵偡傞偲尵偭偰壠傪弌偰丄壗偑婲偙傞偐尒傟偽椙偄偲尵偭偨丅 +揤暥妛幰偼嵢偵丄4擔傎偳棷庣偵偡傞偲尵偭偰壠傪弌偰丄偡偖偵扤偵傕婥晅偐傟偢偵壠偵栠傝丄塀傟偰偄偨丅偡傞偲丄嵒摐媜攧傝偑傗偭偰棃偰嵢偲岎傢傝丄懕偄偰寋壆偑傗偭偰棃偰嵢偲岎傢傝丄懕偄偰閱攏塯偒偑傗偭偰棃偰嵢偲岎傢偭偨丅揤暥妛幰偼搟傝偺梋傝巰傫偱偟傑偭偨丅嵢偼丄掕傔傜傟偨懸崶婜娫偑夁偓傞偲丄閱攏塯偒偲寢崶偟偨丅 +擏壆偺榖偟偨暔岅 [曇廤] +愄丄僇僀儘偵偁傞抝偑偄偨偑丄偦偺嵢偵偼忣晇偑偄偨丅抝偺壠偱偼闍捁傪2塇帞偭偰偄偨偑丄枾夛偵棃偨忣晇偑怘傋偨偄偲尵偭偨偨傔丄嵢偼堦寁傪埬偠偨丅嵢偼乽崱傑偱壠偵媞恖傪屇傫偩偙偲偑側偄偺偼忣偗側偄乿偲晇偵尵偄丄晇偑媞恖傪屇傫偱闍捁傪怘傋傞偙偲偵側偭偨丅晇偼闍捁偺擏媗傔偺嵽椏傪攦偭偰棃偰嵢偵搉偟丄媞恖傪屇傇偨傔偵弌偰峴偭偨丅嵢偼2塇偺闍捁傪從偄偰擏媗傔傪嶌傞偲丄忣晇偵搉偟偰偟傑偭偨丅 +偟偽傜偔偡傞偲丄晇偼媞恖傪堦恖楢傟偰棃偨偑丄嵢偼乽2塇偺闍捁傪從偄偨偺偵媞恖偑1恖偲偼彮側偡偓傞乿偲尵偄丄晇偵傕偭偲媞恖傪楢傟偰偔傞傛偆尵偆偲丄晇偼媞恖傪屇傃偵弌偰峴偭偨丅偡傞偲嵢偼媞恖偵懳偟乽晇偼怘帠傪弌偡偨傔偱偼側偔丄偁側偨傪嫀惃偡傞偨傔偵偙偙偵屇傫偩偺偱偡丅乿偲尵偭偨偺偱丄媞恖偼嬃偄偰摝偘弌偟偨丅偦偙偵晇偑暿偺媞恖傪楢傟偰婣偭偰棃偨偑丄嵢偼晇偵乽偝偭偒偺媞恖偑闍捁傪2塇偲傕帩偭偰弌偰峴偭偰偟傑偭偨乿偲尵偭偨丅晇偼媞恖傪捛偄偐偗丄闍捁傪1塇曉偟偰傕傜偍偆偲巚偄乽堦偮偩偗偱椙偄偐傜乿偲嫨傫偩偑丄媞恖偺曽偼嵛娵傪堦偮庢傜傟傞偲巚偄丄摝偘偰偄偭偨丅 +扜揓悂偒偺榖偟偨暔岅 [曇廤] +愄丄僄僕僾僩偵丄擭崰偺懅巕傪帩偮晝恊偑偄偰丄15嵨偺庒偄柡偲嵞崶偟偨偑丄帺暘偺懅巕偑嵢偵庤傪弌偡偙偲傪嫲傟丄傕偆堦恖庒偄柡偲寢崶偟丄嵢摨巑屳偄偵庣傜偣偨丅偁傞擔丄晝恊偑弌偐偗傛偆偲偡傞偲丄憪棜傪朰傟偨偙偲偵婥晅偒丄懅巕偵憪棜傪帩偭偰偔傞傛偆偵尵偭偨丅懅巕偼丄晝偺2恖偺嵢偺強偵峴偒丄乽晝偑2恖傪書偔傛偆偵尵偭偨乿偲尵偭偨丅2恖偺嵢偼怣偠側偐偭偨偺偱丄懅巕偼晝偵乽曅曽偱偡偐丄椉曽偱偡偐丅乿偲戝惡偱暦偄偨偑丄晝恊偼憪棜偺偙偲偩偲巚偄乽椉曽偵寛傑偭偰偄傞乿偲戝惡偱摎偊偨丅嵢偨偪偼姩堘偄偟偰丄2恖偲傕懅巕偵書偐傟偨丅 +傾儕丒僶僶偲巐廫恖偺搻懐偺暔岅乮戞851栭 - 戞860栭乯 [曇廤] + +徻嵶偼乽傾儕僶僶偲40恖偺搻懐乿傪嶲徠 +僶僌僟乕僪偺嫶忋偱傾儖丒儔僔乕僪偺弌夛偭偨恖偨偪乮戞860栭 - 戞876栭乯 [曇廤] + +愄丄僶僌僟乕僪偺嫶偺忋傪嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪丄戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕丄屼樜搧帩偪儅僗儖乕儖偺3恖慻偑彜恖偵曄憰偟偰曕偄偰偄傞偲丄栍栚偺岊怘偑偄偨偺偱嬥壿1僨傿僫乕儖傪梌偊偨偑丄岊怘偼墸偭偰傕傜傢側偗傟偽巤偟偼庴偗庢傜側偄偲恄偵惥偄傪棫偰偄傞偲尵偭偰嫵墹偵墸傞傛偆偵棅傫偩偺偱丄嫵墹偼墸偭偨丅偝傜偵嫶忋傪恑傓偲丄岥偑楐偗椉懌偑晄帺桼側岊怘偑偄偨偺偱丄偙傟偵傕巤偟傪梌偊偨丅偡傞偲丄偁傞榁恖偑丄偝傜偵戝嬥偺巤偟傪梌偊偨偺偱丄夞傝偺恖乆偼嬃偄偨丅偦偙偵丄崑壺側峴楍偑捠傝偐偐傝丄峴楍偼柤攏偵忔偭偨墹巕傪愭摢偲偟偰丄閜閗偵忔偭偨2恖偺旤偟偄昉偨偪偲丄僀儞僪偲僔僫偺嬋傪憈偱傞妝戉偑晅偒廬偭偰偄偨丅嫵墹偨偪偑嫶傪搉傝廔偊傞偲丄敀偄攏偵忔傝丄曏傪懪偭偰偦偺攏傪媠懸偟偰偄傞庒幰偑偄偨丅 +嫵墹偼偙傟傜偺偙偲傪晄巚媍偵巚偄丄梻擔偙傟傜偺恖乆傪媨揳偵屇傃丄偦傟偧傟偺榖傪偝偣丄乽敀偄柲攏偺庡恖偺庒幰偺暔岅乿丄乽僀儞僪偲僔僫偺嬋傪憈偡傞恖乆傪廬偊偨攏忋偺庒幰偺暔岅乿丄乽婥慜偺傛偄彾偺榁恖偺暔岅乿丄乽岥偺楐偗偨晄嬶偺妛峑嫵巘偺暔岅乿丄乽嫶忋偱杍傪墸偭偰傕傜偆栍恖偺暔岅乿偑岅傜傟偨丅嫵墹偼姶摦偟丄嫶忋偱杍傪墸偭偰傕傜偆栍恖偲丄岥偺楐偗偨妛峑嫵巘偵枅擔10僪儔僋儉傪梌偊傞偙偲偲偟丄敀偄柲攏偺庡恖丄僀儞僪偲僔僫偺嬋傪憈偡傞恖乆傪廬偊偨攏忋偺庒幰丄婥慜偺椙偄榁恖偵偼丄恎暘偵墳偠岤偔張嬾偟偨丅 +敀偄柲攏偺庡恖偺庒幰偺暔岅 [曇廤] +偦偺庒幰偺柤偼僱乕儅乕儞偲尵偄丄晝偺堚嶻偺偨傔桾暉偱偁偭偨偑丄晛捠偵寢崶偟偨応崌偺嵢曽偲偺柺搢側恊愂偯偒偁偄傪寵偄丄搝楆巗応偱彈傪攦偭偰嵢偲偟傛偆偲偟偨丅搝楆巗応偵偼嬥敮暽娽偺旤偟偄敀恖彈偑偄偰丄堦栚傏傟偟偰偟傑偄丄偦偺彈傪攦偭偰壠偵楢傟婣偭偨丅彈偲偼尵梩偑捠偠偢丄傑偨丄彈偼怘帠偵暷傪悢棻偟偐怘傋側偐偭偨丅彈傪嬃偐偣偸傛偆丄悢擔偼暿乆偺晹壆偱怮偨丅 +偁傞栭丄僱乕儅乕儞偑栚傪妎傑偡偲丄彈偑壒傕側偔憱偭偰壠傪弌偰峴偔偺偑尒偊偨偺偱丄屻傪偮偗傞偲丄彈偼挰偺奜偺曟応傑偱峴偒丄偦偙偵偄偨拠娫偺敀恖偲曟傪朶偄偰巰懱傪怘傋巒傔偨丅僱乕儅乕儞偼塀傟偰尒偰偄偨偑丄彈偵尒偮偐傝丄杺朄偱將偵偝傟偰偟傑偭偨丅 +將偵偝傟偨僱乕儅乕儞偼挰偺僷儞壆偵曐岇偝傟偨偑丄偁傞擔丄僷儞壆偺媞偑婁嬥傪巊偭偨偺傪尒敳偄偨偺偱丄婁嬥傪尒暘偗傜傟傞將偲偄偆偙偲偱挰偺昡敾偵側偭偨丅偡傞偲丄忋昳側榁晈恖偑棃偰丄將偺僱乕儅乕儞偵拝偄偰棃傞傛偆偵尵偄丄榁晈恖偺壠偵峴偔偲丄偦偙偺柡偑惓懱傪尒敳偒丄杺朄傪夝偄偰恖娫偺巔偵栠偟偰偔傟傟偨丅僱乕儅乕儞偼敀恖彈傪敀攏偵偡傞杺朄傪偦偺柡偐傜嫵偊偰傕傜偄丄壠偵婣傝丄嫵偊偰傕傜偭偨捠傝杺朄偺庺暥傪彞偊偨悈傪敀恖彈偵妡偗偰丄敀攏偵曄偊偨丅偦傟埲棃丄僱乕儅乕儞偼敀攏偵偟偨敀恖彈傪枅擔媠懸偟偰偄傞偺偱偁偭偨丅 +僱乕儅乕儞偼杺朄傪夝偄偰偔傟偨柡偲寢崶偟偰岾偣偵曢傜偟偨丅 +僀儞僪偲僔僫偺嬋傪憈偡傞恖乆傪廬偊偨攏忋偺庒幰偺暔岅 [曇廤] +庒幰偼愄丄僶僌僟乕僪偺昻偟偄偒偙傝偱偁偭偨偑丄嵢偑偲傫偱傕側偄埆嵢偱丄忢偵晇偱偁傞庒幰偺埆岥偽偐傝傪尵偄懕偗偰偄偨丅偁傞擔丄愗偭偨恉傪敍傞撽偑嶤傝愗傟偨偺偱丄撽傪攦偆嬥傪弌偡傛偆嵢偵尵偆偲丄嵢偼晇傪挿偄帪娫攍傝丄嬥傪搉偡偲柍懯尛偄偡傞偵堘偄側偄偲尵偭偰丄巗応傑偱晅偄偰棃偰丄偝傫偞傫抣愗偭偰撽傪攦偭偨丅嵢偼偝傜偵攍傝側偑傜嶳傑偱晇偵晅偄偰棃偨丅晇偼丄嵢偺嵺尷側偄埆岥偵怱媥傑傞婥帩偪偑偣偢丄堦寁傪埬偠丄嶳偺拞偺屆堜屗傪巜偟偰丄乽幚偼堜屗偺掙偵曮偑偁傝丄偦傟傪庢傞偨傔偵撽傪攦偭偨丅乿偲嵢偵尵偭偨丅嵢偼帺暘偑曮傪庢傝偵峴偔偲尵偭偰暦偐偢丄撽偺堦抂傪晇偵帩偨偣偰堜屗傪崀傝偰偄偭偨偑丄晇偼嵢偑堜屗偺掙偵崀傝傞偲丄撽傪堜屗偵搳偘幪偰丄嵢偑堜屗偐傜忋偑偭偰棃傟側偄傛偆偵偟丄怱埨傜偐偵徔偺巇帠傪偟丄壠偵婣偭偨丅 +偟偐偟丄2擔偡傞偲嵾埆姶傪姶偠偨偺偱丄怴偟偄撽傪堜屗偵崀傠偟丄嵢偵搊偭偰偔傞傛偆惡傪妡偗偨偑丄撽傪堷偒忋偘傞偲丄壗偲杺恄(僕儞)偑撽傪偮偨偭偰弌偰偒偨丅杺恄偑尵偆偵偼丄2擔慜偵偲傫偱傕側偄彈偑堜屗偵崀傝偰偒偰丄埆岥傪尵偄懕偗丄怱媥傑傞婥偑偣偢丄偨傑傜偢挿擭偺廧張偺堜屗偐傜摝偘偰棃偨偲偄偆偙偲偱偁偭偨丅杺恄偼丄偍楃偑偟偨偄偲尵偄丄僀儞僪偺崙偺墹彈偺懱偵擖偭偰墹彈傪惛恄昦偵偡傞偺偱丄僀儞僪偵棃偰墹彈傪帯偡傛偆偵偲尵偭偰徚偊偨丅 +庒幰偑僀儞僪偵峴偔偲丄墹彈偼14嵨3儢寧偺旤偟偄惙傝偺壋彈偱丄惛恄昦偵側偭偰偍傝丄帯偟偨幰偼墹彈偲寢崶偱偒傞偲偄偆偙偲偵側偭偰偄偨丅庒幰偑柡傪恌傞偲丄杺恄偼墹彈偺懱偐傜弌偰峴偒丄墹彈偺昦婥偼帯偭偨丅庒幰偼墹彈偲寢崶偟偨丅 +偟偽傜偔偡傞偲丄僔僫偺崙偐傜巊幰偑棃偰丄僔僫偺崙偺墹彈傕14嵨3儢寧偺旤偟偄惙傝偺壋彈偩偑丄摨偠惛恄昦偺徢忬偑弌偨偺偱丄庒幰偵恌偰梸偟偄偲偄偆傕偺偱偁偭偨丅庒幰偑僔僫偵峴偔偲丄墹彈偵偼椺偺杺恄偑溸偄偰偄偨偑丄庒幰偑杺恄偵弌偰峴偔傛偆偵尵偭偰傕丄杺恄偼僔僫偺墹彈偺懱偑婥偵擖偭偰偄傞偲尵偄丄弌偰峴偐側偐偭偨丅偦偙偱庒幰偼乽偁偺彈偑堜屗偐傜敳偗弌偟丄偡偖嬤偔傑偱棃偰偄傞乿偲尵偆偲丄杺恄偼斶柭傪忋偘丄墹彈偺懱偐傜敳偗弌偟丄偳偙偐傊峴偭偰偟傑偭偨丅偙偆偟偰僔僫偺墹彈偺昦婥偼帯傝丄庒幰偼僔僫偺墹彈傪戞2偺惓嵢偲偟偨丅 +庒幰偼屘嫿僶僌僟乕僪傪傕偆堦搙尒偨偄偲巚偄丄2恖偺嵢偲僀儞僪偲僔僫偺妝戉傪楢傟偰僶僌僟乕僪偵棃偨偺偱偁偭偨丅 +婥慜偺傛偄彾偺榁恖偺暔岅 [曇廤] +榁恖偺柤偼僴僒儞偲尵偄丄僶僌僟乕僪偺昻偟偄撽嶌傝偱偁偭偨丅偁傞擔丄桾暉側僔丒僒傾乕僪偲僔丒僒傾乕僨傿偑丄嬥帩偪偵側傞偨傔偵偼尦庤偑昁梫側偺偐丄尦庤偑側偔偰傕傾僢儔乕偺巚偟彚偟偵傛傝嬥帩偪偵側偭偨傝昻朢偵側偭偨傝偡傞偺偐傪媍榑偟側偑傜曕偄偰棃偰丄僴僒儞傪栚偵偟偰丄僴僒儞偵嬥傪搉偟丄偦傟傪尦庤偵嬥帩偪偵側傞偐偳偆偐傪幚尡偟偰傒傛偆偲偄偆偙偲偵側傝丄僔丒僒傾乕僪偼僴僒儞偵200僨傿僫乕儖傪搉偟偨丅 +僴僒儞偼丄惗傑傟偰弶傔偰戝嬥傪庤偵偟偰丄搻傑傟偰偼戝曄偲丄10僨傿僫乕儖傪庤尦偵巆偟丄巆傝190僨傿僫乕儖傪僞乕僶儞偺拞偵塀偟偨偑丄撐偑旘傫偱偒偰丄僞乕僶儞傪棭傔庢偭偰峴偭偰偟傑偭偨丅僴僒儞偵巆偭偨10僨傿僫乕儖偼弖偔娫偵惗妶旓偵徚偊偰側偔側傝丄10儠寧屻丄僔丒僒傾乕僪偲僔丒僒傾乕僨傿偑條巕傪尒偵棃偨帪偼丄僴僒儞偼昻偟偄傑傑偱偁偭偨丅 +僔丒僒傾乕僪偼帠忣傪暦偒丄傕偆堦搙僴僒儞偵200僨傿僫乕儖傪梌偊偰幚尡偟偰傒傞偙偲偵側偭偨丅僴僒儞偼10僨傿僫乕儖傪庤尦偵巆偟丄巆傝190僨傿僫乕儖傪晍偵曪傒峟偺擖偭偨酨偵塀偟偨偑丄帠忣傪抦傜側偄嵢偑酨傪峴彜恖偺敮愻偄梡擲搚偲暔乆岎姺偟偰偟傑偭偨丅酨偑側偔側偭偨偙偲傪抦偭偨僴僒儞偼嵢傪愑傔偨偑丄媡偵乽側偤塀偟偨偙偲傪尵傢側偐偭偨偺偐乿偲嵢偵嶶乆嬸抯傪尵傢傟傞偙偲偵側偭偨偩偗偱偁偭偨丅僴僒儞偵巆偭偨10僨傿僫乕儖偼弖偔娫偵惗妶旓偵徚偊偰側偔側傝丄10儠寧屻丄僔丒僒傾乕僪偲僔丒僒傾乕僨傿偑條巕傪尒偵棃偨帪偼丄僴僒儞偼嵞傃昻偟偄傑傑偱偁偭偨丅 +崱搙偼丄僔丒僒傾乕僨傿偑丄僴僒儞偵丄摴偱廍偭偨壗偺壙抣傕側偄墧偺嬍傪梌偊丄條巕傪傒傞偙偲偵側偭偨丅偦偺斢丄椬偺嫏巘偺墱偝傫偑棃偰丄嫏巘偺栐偺悗偑堦偮側偔側傝崲偭偰偄傞偑丄戙傢傝偵巊偊傞傛偆側暔傪帩偭偰偄側偄偐暦偄偰棃偨偺偱丄僴僒儞偼墧偺嬍傪搉偟偨丅偡傞偲丄梻挬丄嫏巘偼嵟弶偺堦栐偱庢傟偨戝偒側嫑傪墧偺嬍偺偍楃偲偟偰帩偭偰偒偨丅僴僒儞偺嵢偑嫑傪嵸偔偲丄嫑偺暊偐傜僈儔僗嬍偑弌偰偒偨丅偦偺嬍偼栭偺埫埮偱傕岝傪曻偮嬍偱偁偭偨丅 +偡傞偲丄嬤強偵廧傓曮愇彜偺儐僟儎恖偺嵢偑棃偰丄10僨傿僫乕儖偱攧偭偰梸偟偄偲尵偭偰偒偨丅僴僒儞偑抐傞偲丄儐僟儎恖曮愇彜杮恖偑攦偄偨偄偲尵偭偰偒偨丅僴僒儞偑抐傞偲丄儐僟儎恖曮愇彜偼抣傪偮傝忋偘丄偮偄偵10枩僨傿僫乕儖偱攧攦偑惉棫偟偨丅儐僟儎恖曮愇彜偼嬍傪攦偭偨屻偱丄偙傟偼僗儔僀儅乕儞丒僽僯丒僟乕僂僪偺墹姤偺曮愇偺堦偮偩偲尵偭偨丅 +僴僒儞偼丄摼偨10枩僨傿僫乕儖偺戝嬥偼傾僢儔乕偺憽傝暔偱偁傝丄傾僢儔乕偺堄偵増偆傛偆恖乆偺偨傔偵巊偍偆偲峫偊丄昻偟偄撽嶌傝偨偪偺惗妶傪埨掕偝偣傞偨傔偵丄撽傪堦掕偺壙奿偱柍惂尷偵攦偄忋偘傞偙偲偵偟丄撽嶌傝慻崌偱敪昞偟偨丅偍偐偘偱撽嶌傝偨偪偺惗妶偼埨掕偟偨偑丄偦傟埲忋偵僴僒儞偼攦偄忋偘偨戝検偺撽傪巗応偱攧傞偙偲偱棙塿傪忋偘偨丅偙偆偟偰僴僒儞偼戝嬥帩偪偵側偭偨丅偦偙傊僔丒僒傾乕僪偲僔丒僒傾乕僨傿偑僴僒儞偺條巕傪尒偵傗偭偰棃偰丄僴僒儞偺偁傑傝偺曄傢傝條偵戝曄嬃偄偨丅偦偙偵丄巕嫙偨偪偑撐偺憙傪庢偭偰梀傫偱偄偨偑丄傛偔尒傞偲偦傟偼僴僒儞偺僞乕僶儞偱偁傝丄拞偐傜190僨傿僫乕儖偑弌偰偒偨丅偝傜偵丄僴僒儞偺壠偺搝楆偑偦偺擔巗応偱攦偭偨酨偑丄埲慜僴僒儞偑幐偭偨酨偱丄拞偐傜晍偵曪傑傟偨190僨傿僫乕儖偑弌偰偒偨丅偙偆偟偰丄僔丒僒傾乕僪偲僔丒僒傾乕僨傿偲僴僒儞偼丄嬥帩偪偵側傞偺傕嬥傪幐偆偺傕傾僢儔乕偺堄偺傑傑偱偁傞偙偲偵擺摼偟偨丅偙偆偟偰僴僒儞榁恖偼丄摼偨嬥傪昻偟偄恖乆偵巊偄懕偗偨偺偱偁偭偨丅 +偙偺榖傪暦偄偨偲偒丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偼丄曮憼偐傜僗儔僀儅乕儞偺曮愇傪帩偭偰棃偝偣偰堦摨偵尒偣丄僗儔僀儅乕儞偺曮愇偼儐僟儎恖曮愇彜偑擖庤偟偨偦偺擔偺偆偪偵丄嫵墹偺曮憼偵擖偭偨偙偲傪堦摨偵揱偊偨丅 +岥偺楐偗偨晄嬶偺妛峑嫵巘偺暔岅 [曇廤] +偦偺抝偼丄埲慜妛峑嫵巘偱偁傝丄尩奿偵惗搆偨偪傪偟偮偗偰偄偨偑丄偁傑傝偺尩奿偝偺偨傔偵丄惗搆偨偪偼寵偑偭偰偄偨丅偁傞擔惗搆偨偪偑丄嫵巘偱偁傞抝偵岦偐偄乽愭惗偺婄怓偑埆偄乿偲偁傑傝偵尵偆偺偱丄墶偵側傝媥傓偙偲偵偟偨丅偡傞偲媺挿偑棃偰丄乽昦婥偺愭惗偺偨傔偵曞嬥傪偟傑偟偨乿偲80僪儔僋儉偺嬥傪搉偟偰偔傟偨偑丄偦傟偼1擔暘偺媼椏傛傝崅偄傕偺偱偁偭偨丅師偺擔埲崀傕摨偠偙偲偑1廡娫懕偒丄抝偼偡偭偐傝媥傫偱栕偗傞偙偲偑婥偵擖偭偰偟傑偭偨丅偦偺娫惗搆偨偪偼帺桼偵偟偰偄偨丅偦偺傛偆側偁傞擔丄抝偑備偱棏傪怘傋傛偆偲偟偰偄傞偲偙傠偵媺挿偑棃偨偺偱丄尦婥偵側偭偨偲巚傢傟偰偼曞嬥偑傕傜偊側偔側傞偲巚偄棏傪岥偺拞偵塀偟偨偑丄棏偺擬偝偵岥偺拞偑壩彎偟偰偟傑偭偨丅媺挿偼棏偱朿傟偨杍傪尒偰丄乽戝偒側庮傟暔偑偮傜偦偆側偺偱丄擽傪弌偟傑偟傚偆偲乿恓嬥偱杍傪巋偟丄壩彎偲巋偟彎偱杮摉偵庮傟暔偑偱偒偰偟傑偭偨丅彴壆傪屇傫偱帯椕偝偣偨偑丄岥偑楐偗偰偟傑偭偨丅 +傑偨丄抝偼惗搆偨偪偵丄扤偐偑偔偟傖傒傪偡傞偲椉榬傪慻傫偱乽廽暉偁傟丅廽暉偁傟丅乿偲尵偆傛偆偵偟偮偗偰偄偨丅惗搆偨偪偲墦懌偵峴偭偨偲偒丄屆堜屗偑偁偭偨偺偱丄儘乕僾傪惗搆偨偪偵帩偨偣偰堜屗偵崀傝偰悈傪媯傫偱棃傛偆偲偟偨偑丄搑拞偱偔偟傖傒傪偟偨偨傔丄惗搆偨偪偑儘乕僾傪曻偟丄椉榬傪慻傫偱乽廽暉偁傟丅廽暉偁傟丅乿偲尵偭偨偺偱丄堜屗偺掙偵棊偪丄抝偼椉懌偑晄嬶偵側偭偰偟傑偭偨偺偱偁偭偨丅 +嫶忋偱杍傪墸偭偰傕傜偆栍恖偺暔岅 [曇廤] +偦偺抝偼丄僶僶丒傾僽僪僁僢儔乕偲偄偄丄80摢偺閜閗傪強桳偡傞閜閗塯偒偱偁偭偨丅偁傞擔丄僶僶丒傾僽僪僁僢儔乕偼廋摴憁偲抦傝崌偄偵側傝丄廋摴憁偺抦偭偰偄傞旈枾偺曮傪庢傝偵峴偔偙偲偵側偭偨丅偁傞娾嶳偵拝偒丄廋摴憁偑旈媀傪峴偆偲丄娾嶳偑妱傟丄拞偵偼柍悢偺嬥嬧曮愇偑偁傝丄偲偰傕80摢偺閜閗偵愊傔傞検偱偼側偔丄嬥嬧偼偁偒傜傔丄崅壙側曮愇偩偗傪閜閗偵愊傔傞偩偗愊傫偩丅廋摴憁偼彫偝側嬥偺捹傪夰偵偟傑偭偨丅 +愊傔傞偩偗愊傫偩偺偱娾嶳傪弌傞偙偲偵側傝丄廋摴憁偼曮傪40摢偢偮暘偗傛偆偲採埬偟偨丅僶僶丒傾僽僪僁僢儔乕偼梸偑弌偰60摢傪梫媮偟丄岎徛偺寢壥丄堦扷偼偦傟偱榖偑傑偲傑偭偨丅偟偐偟丄偝傜偵梸偑弌偰崱搙偼70摢傪梫媮偟丄嵞搙偺岎徛偺寢壥丄70摢偱榖偼傑偲傑偭偨丅偟偐偟丄偝傜偵梸偑弌偰崱搙偼80摢慡晹傪梫媮偟丄嵞搙偺岎徛偺寢壥丄80摢偱榖偼傑偲傑偭偨丅 +僶僶丒傾僽僪僁僢儔乕偼丄廋摴憁偑夰偵偟傑偭偨嬥偺捹偵戝曄側壙抣偑偁傞偵堘偄側偄偲巚偄廋摴憁偵暦偔偲丄廋摴憁偼乽偙偺捹偵偼楖傝帀偑擖偭偰偍傝丄嵍栚偺豳偵揾傟偽抧拞偺曮偑尒偊傞傛偆偵側傞偑丄塃栚偺豳偵揾傞偲椉栚偑偮傇傟偰尒偊側偔側傞傕偺偩丅乿偲摎偊偨丅僶僶丒傾僽僪僁僢儔乕偑嵍栚偺豳偵揾偭偰傕傜偆偲丄妋偐偵抧拞偺曮偑尒偊傞傛偆偵側偭偨丅僶僶丒傾僽僪僁僢儔乕偼丄偙傟傪塃栚偺豳偵傕揾傟偽丄傕偭偲偡偛偄傕偺偑尒偊傞偵堘偄側偄偲巚偄丄廋摴憁偑巭傔傞偵傕偐偐傢傜偢丄廋摴憁偵塃栚偺豳偵傕揾偭偰傕傜偭偨偲偙傠丄尵傢傟偨捠傝椉栚偑尒偊側偔側偭偰偟傑偭偨丅 +廋摴憁偼80摢偺閜閗傪塯偄偰偳偙偐偵峴偭偰偟傑偭偨丅巆偝傟偨僶僶丒傾僽僪僁僢儔乕偼丄偨傑偨傑捠傝偐偐偭偨戉彜偵彆偗傜傟丄僶僌僟乕僪傑偱棃偨丅偦傟埲棃丄僶僶丒傾僽僪僁僢儔乕偼帺暘偺嫮梸傪抪偠丄巤偟傪傕傜偆偨傃偵杍傪墸偭偰傕傜偆傛偆偵偟偰偄傞偺偱偁偭偨丅 +僗儗僀僇昉偺暔岅乮戞876栭 - 戞881栭乯 [曇廤] + +愄丄僟儅僗偵丄偁傞僂儅僀儎挬偺嫵墹(僇儕乕僼傽)偑偄偨偑丄偁傞斢偁傞戝恇偑丄戅孅傪側偖偝傔傞偨傔丄庒偄崰偺榖傪偟偨丅 +戝恇偼柤傪僴僒儞偲尵偄丄傾僽僪僁僢儔乕偲偄偆崑彜傪晝偲偟偰僟儅僗偱惗傑傟偨丅僴僒儞偼偁傜備傞妛栤丄偁傜備傞尵岅傪廗摼偟偨偑丄晝偑巰偵丄楺旓傪巒傔丄堦暥柍偟偵側偭偨丅惗慜晝偑乽崲偭偨傜掚偺栘偵傇傜壓偑傟乿偲尵偭偰偄偨偙偲傪巚偄弌偟丄庱傪捿傞偲丄栘偑楐偗丄姴偺拞偐傜戝検偺曮愇偑弌偰偒偨丅16嵨偺僴僒儞偼曮愇傪帩偭偰儁儖僔儍偺僔乕儔乕僘偵峴偔偙偲偵偟偨丅 +僔乕儔乕僘偵拝偄偨僴僒儞偼丄戝恇偵婥偵擖傜傟丄崙墹僒乕僽儖丒僔儍乕偵墆尒偟丄帢廬偵庢傝棫偰傜傟偨丅僴僒儞偼帢廬偺巇帠傪椼傫偩偑丄偁傞擔丄掚偱拫怮傪偟偰偟傑偄丄栚傪妎傑偡偲栭偵側偭偰偄偨丅偦偺掚偼丄栭偼屻媨偺彈偨偪偟偐擖傟側偄掚偱丄抝偑栭擖傞偲巰孻偵側傞掚偱偁偭偨丅僴僒儞偼掚偐傜摝偘弌偦偆偲偟偨偑丄僇僀儕儎偲偄偆旤偟偄壋彈偲弌夛偄丄夛榖傪偡傞偆偪丄僇僀儕儎偑怬傪廳偹偰棃偨偺偱丄僇僀儕儎傪廝偍偆偲偟偨傜丄夞傝偐傜10恖偺壋彈偑弌偰棃偰堦惸偵徫偄弌偟偨丅僴僒儞偼丄偐傜偐傢傟偨偙偲傪抦傝旕忢偵崲榝偟偨丅偡傞偲丄僗儗僀僇昉偑弌偰偒偰丄僴僒儞偲11恖偺帢彈傪晹壆偵楢傟偰峴偒丄僴僒儞傪堸怘偱娊懸偟偨偁偲丄乽偙偙偵嫃傞12恖偺壋彈偺拞偱扤偑堦斣岲偒偐乿偲暦偄偰偒偨丅僴僒儞偼丄偄偢傟傕旤偟偄壋彈偨偪偱偁傝丄摎偊傞偲懠偺壋彈偨偪偺崷傒傪攦偆偲巚偄栙偭偰偄偨偑丄偁傑傝偵廳偹偰暦偔偺偱丄偮偄偵乽僗儗僀僇昉偑嵟傕旤偟偄偑丄僇僀儕儎偑嵟傕岲偒偩丅乿偲崘敀偟偨丅僴僒儞偼栭捠偟壋彈偨偪偲梀傃丄栭柧偗偵旈枾偺捠楬傪捠傝屻媨傪弌偰丄壠偵婣偭偨丅 +梻擔丄僇僀儕儎偐傜庤巻偑偁傝丄僴僒儞偼嵞傃屻媨偵擡傃崬傒丄僇僀儕儎偲夛偭偨丅僇僀儕儎偼僴僒儞偵乽僗儗僀僇昉偑僴僒儞偺偙偲傪枾偐偵巚偭偰偄傞偑丄僗儗僀僇昉偲僇僀儕儎偺偳偪傜傪慖傇偐丅乿偲暦偄偰偒偨丅僴僒儞偼乽僗儗僀僇昉偺恎暘偑偄偐偵崅偔偲傕丄僇僀儕儎傪慖傇丅乿偲摎偊偨丅偡傞偲丄僇僀儕儎偼乽幚偼丄僇僀儕儎偑恀偺僗儗僀僇昉偱丄僗儗僀僇昉傪柤忔偭偨壋彈偑帢彈偺僇僀儕儎偱丄僴僒儞偺垽傪帋偡偨傔恎暘傪塀偟偰婥帩偪傪妋偐傔偨丅乿偲尵偭偰丄偦偺栭偼2恖偱夁偛偟偨丅 +偦偺梻擔偼丄僗儗僀僇昉偐傜偺庤巻偼棃偢丄屻媨偺寈旛偑尩廳偵側偭偰偄傞偺偑尒偊偨丅偦偺梻擔丄乽偟偽傜偔夛偊側偄偑丄寛偟偰憗傑傜側偄傛偆偵丅乿偲偺庤巻偑棃偨丅偦偺梻擔丄僗儗僀僇昉偺巰嫀偑曬偠傜傟丄僴僒儞偼斶偟傒偺偁傑傝7擔娫怮崬傫偱偟傑偭偨丅僴僒儞偼僔乕儔乕僘偺挰傪嫀傠偆偲峫偊丄嵿嶻傪傑偲傔偰挰偺奜偺摴傪曕偒弌偟偨偑丄婻巑偵曄憰偟偨僗儗僀僇昉偑捛偄偐偗偰偒偰丄2恖偼嵞夛偟偨丅僗儗僀僇昉偼丄屻媨偵抝偑怤擖偟偰偄傞偙偲偑塡偵側傝寈旛偑尩廳偵側偭偨偨傔夛偊側偔側偭偨偙偲丄巰傫偩傆傝傪偟偰屻媨偐傜摝偘弌偟偨偙偲傪僴僒儞偵嫵偊偨丅2恖偼椃傪偟丄僟儅僗偵拝偒丄僴僒儞偼嫵墹偵巇偊傞傛偆偵側傝丄屻偵戝恇偵側偭偨偺偱偁偭偨丅 +偺偳偐側惵弔偺抍烺乮戞881栭 - 戞894栭乯 [曇廤] + +婃屌側摢偺彮擭偲彫偝側懌偺枀 [曇廤] +偁傞懞偺抝偼堦抝堦彈傪愝偗偰偄偨偑丄朣偔側傞偲偒丄懅巕偺尵偆偙偲傪偐側傜偢暦偔傛偆偵偲堚尵偟偨丅傎偳側偔曣恊傕朣偔側偭偨偑丄枍摢偵柡傪屇傃丄孼偺尵梩偵偝偐傢傜偸傛偆偒偮偔尵偄偮偗傞丅 +椉恊偑巰偸偲丄彮擭偼堚嶻傪偁偮傔偰擱傗偡偺偩偲愰尵丅彮彈偼偙偭偦傝嵿嶻傪懞偺奺壠傊塀偟偨偑丄孼偼偦傟傪嶡偟丄懞拞傪曻壩偟偰夞偭偨丅搟偭偨懞恖偨偪偵捛傢傟偨孼枀偼丄偁傞擾晇偵廍傢傟偰摥偔偙偲偵側傞丅偟偐偟孼偼擾晇偺巕嫙偨偪傪扏偒嶦偟丄傑偨摝憱丅嫄捁儘僋偺懌偵庢傝晅偄偰丄怘恖婼偑孨椪偡傞埫崟偺崙傊崀傝棫偭偨丅 +孼枀偑暟偒壩傪偟偰抔傪偲偭偰偄傞偲丄怘恖婼偑偁傜傢傟傞丅彮擭偼偁傢偰偢棊偪拝偄偰恉傪搳偘偮偗傞偲丄怘恖婼偼偐傜偩傪傑偭傉偨偮偵偟偰巰傫偱偟傑偆丅偡傞偲埫崟偵曪傑傟偰偄偨搰偵傆偨偨傃懢梲偑偝偟偨丅偦偺抧偺墹條偼丄怘恖婼傪偨偍偟偨彮擭偵柡傪傔偁傢偣丄彮彈傪斳偲偟偨丅 +懌忺傝 [曇廤] +巺朼偓偺嶰巓枀偺偆偪枛偺枀偼傕偭偲傕婍検偑傛偔庤愭傕婍梡偱丄傆偨傝偺巓偼枛枀傪搃傫偱偄偨丅枛枀偼巗応偱攦偭偨捹傪帩偭偰偍傝丄巓傜偼偦傟傪攏幁偵偟偰偄偨偑丄偦傟偼朷傒偺傕偺傪壗側傝偲弌偟偰偔傟傞杺朄偺捹偩偭偨丅 +偁傞偲偒巓偨偪偑墹條偺抋惗僷乕僥傿偵偱偐偗傞偲丄枛枀偼捹偐傜偡偽傜偟偄堖憰偲僈儔僗偺懌椫傪庴偗庢傝丄帺暘傕夛応傊岦偐偆丅偦偟偰巓偨偪偑婣傞慜偵栠傠偆偲偟偨枛枀偼丄偁傢偰偰夛応偵懌椫傪抲偒嫀傝偵偟偰偟傑偭偨丅 +墹巕偼巆偝傟偨懌椫傪尒偰丄慺惏傜偟偄懌偺帩偪庡偲寢崶偟偨偄偲擬朷丅恖傪傗偭偰扵偝偣傞偲丄懌椫偵傄偭偨傝偺懌傪帩偭偰偄傞偺偼枛柡偩偗偱偁偭偨丅崶楃偼40擔偵傢偨偭偰惙戝偵峴傢傟偨偑丄嵟廔擔丄巓傜偑傗偭偰偒偰丄廽暉偡傞傆傝傪偟偰杺朄偺僺儞傪枛柡偺摢偵巋偡丅偡傞偲枛柡偼堦塇偺璩數偵曄傢偭偰偟傑偭偨丅 +枛柡偺巔偑徚偊丄墹巕偼扱偒斶偟傓丅偡傞偲枅栭璩數偑偁傜傢傟丄斶偟偘側惡偱柭偔丅璩數傪偲傜偊偨墹巕偑摢偵巋偝偭偰偄傞僺儞傪敳偔偲丄數偼枛柡偺巔偵曄傢偭偨丅 +墹彈偲壊嶳梤偺暔岅 [曇廤] +僀儞僪偺掗墹偼嶰恖偺柡偺寢崶憡庤傪揤塣偵傑偐偣傛偆偲丄傔偄傔偄僴儞僇僠傪憢偐傜搳偘偝偣偰寛傔傞偙偲偵偡傞丅傆偨傝偺巓偺僴儞僇僠偼偦傟偧傟崅婱側庒幰傊搉偭偨偑丄枛昉偩偗偼嶰搙傗傝側偍偝偣偰傕嶰搙偲傕壊嶳梤偺忋偵棊偪偨丅偙傟傕揤柦偲丄壊嶳梤偲偺寢崶傪庴偗擖傟偨枛昉偩偭偨偑丄偠偮偼壊嶳梤偺旂偺壓偵偼旤偟偄庒幰偑塀傟偰偄偨偺偱偁傞丅庒幰偼丄帺暘偺旈枾傪庣傞傛偆枛昉偵栺懇偝偣偨丅 +偟偽傜偔偟偰墹媨偱偼丄惙戝側栰帋崌傪奐嵜偡傞偙偲偵側偭偨丅帋崌偱偼巓昉偺柟傜偑妶桇偡傞偑丄偦傟傪忋夞傞惉壥傪忋偘偨偺偼丄壊嶳梤偑巔傪曄偊偨庒幰偱偁傞丅枛昉偼帺暘偺晇偵垽傪帵偟偰墳墖丅偦傟傪尒欓傔偨墹偑媗栤偡傞偲丄偁偺庒幰偙偦帺暘偺晇偱偁傞偲嫙弎丅偦偺擔偐傜庒幰偼巔傪徚偟偰偟傑偭偨丅 +幐堄偺枛昉偼丄偁傜備傞晄岾榖傪廤傔偰婥傪傑偓傜傢偣傛偆偲偡傞偑丄偁傞榁攌偼丄壊嶳梤偲恖娫偲偵巔傪帺嵼偵曄偊傞庒幰偨偪偺崙傊柪偄崬傫偩偲偄偆榖傪偡傞丅巐廫恖偺庒幰偲偦偺庡恖傜偟偒庒幰偼丄彈庡恖傪懸偭偰斶扱偵偔傟偰偄傞偲偄偆偺偩丅 榁攌偵埬撪偝偣偰抧壓偺崙傊擖偭偰傒傞偲丄偼偨偟偰庡恖偺庒幰偼斵彈偺晇偱偁偭偨丅彈庡恖偲側偭偨枛昉偼丄偟偽傜偔偺偪偵傆偨傝偟偰媨揳傊婣偭偨丅 +墹巕偲戝婽偺暔岅 [曇廤] +偁傞崙偺墹偵偼挿抝僔儍僥儖丒傾儕乕丄師抝僔儍僥儖丒僼僒僀儞丄嶰抝僔儍僥儖丒儉僴儞儅僪偲偄偆嶰恖偺墹巕偑偄偨丅寢崶揔楊婜偵払偟偨嶰恖偺墹巕偵嵢傪扵偡偨傔偵墹偑巚偄偮偄偨曽朄偼丄栚塀偟傪偟偨墹巕偨偪偵媨揳偺崅偄憢偐傜媩偱栴傪幩偝偣丄栴偑棊偪偨壠偺柡傪懅巕偨偪偺嵢偲偡傞偲偄偆傕偺偩偭偨丅 +傾儕乕墹巕丄僼僒僀儞墹巕偺幩偨栴偼偦傟偧傟戝婱懓偺壠偵棊偪偨偑丄儉僴儞儅僪墹巕偺幩偨栴偼戝偒側婽偑廧傫偱偄傞壠偵棊偪偨丅嵞搙帋傒偰傕摨偠壠偵棊偪丄傾僢儔乕偺屼柤傪彞偊偰偦偺壎挒偵偡偑偭偰偐傜嶰搙帋傒偰傕摨偠壠偵棊偪偨丅墹偼儉僴儞儅僪墹巕偼撈恎偺傑傑偱偄傞傋偒偩偲偄偆寢榑傪弌偦偆偲偟偨偑丄儉僴儞儅僪墹巕偼乽嶰搙偲傕戝婽偺壠偵栴偑棊偪偨偐傜偵偼丄巹偑戝婽偲寢崶偡傞偙偲偼塣柦偺彂偵婰偝傟偰偄傞乿偲庡挘偟偰丄戝婽偲寢崶偡傞偙偲傪媮傔偨丅墹偼偙偺媮傔傪嫅傓偙偲偑偱偒偢丄旲偵傕偐偐傢傜偢乮寵乆側偑傜乯戝婽偲偺寢崶傪嫋壜偡傞丅偐偔偟偰傾儕乕墹巕偲僼僒僀儞墹巕偺崶楃偺媀偼墹懓偲戝婱懓偺柡偺寢崶偵傆偝傢偟偔惙戝偵幏傝峴傢傟傞偑丄儉僴儞儅僪墹巕偲戝婽偺崶楃偺媀偼偛偔堦斒揑側暯柉偺寢崶掱搙偺傒偡傏傜偟偄傕偺偱丄偟偐傕扤傕嶲楍偟側偐偭偨丅 +墹偼嶰恖偺崶楃偺偟偽傜偔屻丄婑傞擭攇偵彑偰偢悐庛偟偰偟傑偆丅墹巕偨偪偼奺乆偺嵢偺椏棟傪專忋偟偰惛傪偮偗偰傕傜偍偆偲岅傝崌偄丄墹巕偨偪偺嵢偼榬偵鉹傝傪妡偗偰椏棟傪嶌傝巒傔傞丅儉僴儞儅僪墹巕偺嵢偼孼墹巕偨偪偺嵢偵巊偄傪弌偟丄乽寋偺暢乿乽憀偺暢乿傪椏棟偺崄傝晅偗偵巊偆偐傜暘偗偰傎偟偄偲棅傓偑乽偁傫側戝婽傛傝巹偺曽偑偆傑偔巊偊傞乿偲抐傜傟傞丅偙偺嶔杁偺寢壥丄孼墹巕偺嵢偨偪偼埆廘暣乆偨傞椏棟傪專忋偟偰墹傪寖搟偝偣偰偟傑偆丅堦曽丄儉僴儞儅僪墹巕偺嵢偼旤怘偺悎傪嬅傜偟偨尒帠側椏棟傪專忋偟丄墹偼墵惙側怘梸偱偙傟傪暯傜偘偰尦婥傪夞暅偟偨丅 +墹偺夣婥廽偄偺墐偑嵜偝傟傞偙偲偵側傝丄墹巕偨偪偼嵢摨敽偱偙傟偵弌惾偡傞偙偲偲側偭偨丅儉僴儞儅僪墹巕偺嵢偼傑偨傕孼墹巕偨偪偺嵢偵巊偄傪弌偟丄墐偵弌惾偡傞忔傝暔偲偟偰乽朶傟嶳梤乿乽閗捁乿傪庁傝偨偄偲棅傓偑乽偁傫側戝婽傛傝巹偺曽偑偆傑偔忔傟傞乿偲抐傜傟傞丅偙偺嶔杁偺寢壥丄孼墹巕偺嵢偨偪偼朶傟傞閗捁偲嶳梤偵傑偨偑傝丄屼偡傞偙偲傕偱偒偢偵嶶乆側懱偨傜偔偱墹媨偵傗偭偰偔傞塇栚偵側偭偨丅堦曽儉僴儞儅僪墹巕偺嵢偼戝婽偺峛梾傪扙偄偱旤偟偔拝忺傝丄旕偺懪偪強偑側偄婱晈恖偺巔偱丄偟偲傗偐偵曕偄偰墹媨偵擖偭偨丅 +儉僴儞儅僪墹巕偺嵢偑墐惾偺僶僞乕斞偲惵摛偺億僞乕僕儏偺婍傪帺暘偺摢偵岦偗偰孹偗偨偲偙傠丄敮偺栄偵怗傟偨僶僞乕斞偼偍傃偨偩偟偄悢偺恀庫偵丄億僞乕僕儏偼偍傃偨偩偟偄悢偺僄儊儔儖僪偵曄傢偭偰彴偵棊偪丄暲傒嫃傞恖乆傪嬃扱偝偣偨丅孼墹巕偨偪偺嵢傕偙傟偵挘傝崌偭偰摢偵僶僞乕斞傗億僞乕僕儏傪梺傃偣偐偗偨偑丄斞棻傑傒傟丒億僞乕僕儏傑傒傟偺柍條側巔傪嶯偟偰偟傑偆丅婔搙偲側偔幐懺傪廳偹偨傾儕乕墹巕丒僼僒僀儞墹巕偺嵢偼墹偺晄嫽傪攦偄丄墹埵宲彸尃傪攳扗偝傟偨晇嫟乆捛曻偝傟偨丅 +埲屻丄桞堦偺墹埵宲彸尃幰偲側偭偨儉僴儞儅僪墹巕偼丄偐偮偰戝婽偺巔傪偟偰偄偨嵢乮戝婽偺巔偱嫃傞昁梫偑側偔側偭偨偨傔丄峛梾偼擱傗偟偰偟傑偭偨乯偲丄晝墹偲偲傕偵岾暉偵曢傜偟偨丅 +僄僕僾僩偺摛攧傝柡 [曇廤] +僄僕僾僩摛攧傝偵嶰恖偺柡偑偍傝丄掗墹偺墹巕偼枛柡偵寽憐偟偰偄偨偑丄柡偨偪偼墹巕傪偐傜偐偄捠偟偰偄偨丅墹巕偑摛攧傝傪嫼偟偰擄戣傪巇妡偗偰偔傞偲丄寉偔夝偒柧偐偟偰傒偨偽偐傝偐丄娫敮傪偄傟偢媡廝偟丄杺恄偺巔傪偟偰嫼偐偟婥傪幐偭偨墹巕偵攏暢傪怘傢偣丄椉旣丄曽旹丄曽敮傪偦傝棊偲偟偰偟傑偄丄偝傫偞傫偵殅楳偡傞丅 +巚偄偁傑偭偨墹巕偼丄摛攧傝偺庱傪偼偹傞偲嫼偟偰枛柡偲偺寢崶傪彸戻偝偣傞偲丄巓枀偼嵒摐壻巕偱枛柡偺恖宍傪偮偔傝丄怮幒偵怮偐偣偨丅偙傟傑偱偺晭怞偺悢乆傪巚偄弌偟偨墹巕偑寱傪敳偄偰嵒摐壻巕偺摢偵堦寕傪壛偊傞偲丄壻巕偼偙側偛側偵嵱偗偰偦偺偐偗傜偑墹巕偺岥偵擖傞丅巚偄偑偗側偄娒業偵屻夨傪嵜偟偨墹巕偑暊傪愗傠偆偲偡傞偲丄杮暔偺枛柡偑偁傜傢傟傞丅斵傜偼偍屳偄傪嫋偡偙偲偵偟丄埲屻斏塰傪嬌傔偨丅 +夝彍恖 [曇廤] +僟儅僗偺庒偄彜恖偼丄揦偵偁傜傢傟偨旤偟偄曣柡偐傜寢崶傪傕偪偐偗傜傟偨丅崶帒傕堦愗偺弌旓傕柶彍偟丄埨妝側曢傜偟傪曐徹丄寢崶幃傕偦偺懠彅乆傕偡傋偰徣棯偟丄堦崗傕偼傗偔寢崶偟傛偆偲偄偆丅偆傑偄榖偩丅 +寢崶偺梻擔丄巇帠傪廔偊偰怴嫃偵栠偭偨抝偼丄嵢偑傂偘偺側偄庒偄抝偲摨逦偟偰偄傞偺傪栚寕丅斀幩揑偵棧崶傪岥憱傞丅偩偑丄傂偘偺側偄彮擭偲尒偊偨偺偼丄庒偄彈偱偁偭偨丅 +幚偼嵢偱偁偭偨彈偼丄偐偮偰憡巚憡垽偺抝偲寢崶偟偰偄偨偺偩偑丄寲壾傪偟偨偁偘偔偵抝偺傎偆偑棧墢傪愰尵偟偰偟傑偭偨偺偩丅僀僗儔儉朄偱偼丄棧墢偟偨彈偼堦搙寢崶偟偰棧墢偝傟偨屻偱側偄偲丄傕偲偺晇偲暅墢偱偒側偄丅曣柡偼丄棧墢偺尵梩偺夝彍恖傪扵偟偰偄偨偺偱偁傞丅 +寈嶡戉挿 [曇廤] +僇僀儘偵梕杄夽執側僋儖僪恖偺寈嶡戉挿偑偄偨丅寢崶偡傞偵偁偨傝丄彈偑堷偒崬傓彅乆偺嵭偄傪旔偗傞偨傔丄曣恊偺傕偲偐傜棧傟偨偙偲偺側偄弶怱側張彈傪強朷偡傞丅忦審偵偁偆柡偑傒偮偐偭偰寢崶偡傞偑丄嵢偼偝偭偦偔椬壠偺擏壆偺懅巕傪壠偵堷偒崬傓傛偆偵側偭偨丅 +偁傞擔憗偔婣偭偨寈嶡戉挿偼丄壠偺條巕偑偍偐偟偄偙偲偵婥偯偔丅嵢偼偲偭偝偵婡揮傪偒偐偣丄尵梩偨偔傒偵尰嵼偺忬嫷傪懠恖帠偺傛偆偵榖偟偰傒偣丄寈嶡戉挿偵栚塀偟傪偟偰偄傞偁偄偩偵傑傫傑偲抝傪摝偟偰偟傑偆丅撦姶側僋儖僪恖偺抝偼傑偭偨偔婥偯偐偢丄岾暉側抝偲偟偰悽傪憲偭偨丅 +扤偑偄偪偽傫姲戝偐 [曇廤] +僶僌僟乕僪偵憡巚憡垽偺廬孼枀偳偆偟偑偄偨偑丄壠偑杤棊偟偰偟傑偄丄柡偼挿榁傊壟擖傝偡傞偙偲偵側偭偨丅 +挿榁偼怴嵢偑扱偒斶偟傫偱偄傞偺傪尒偰丄傢偗傪抦傞偲丄垽偡傞抝偺傕偲傊婣傝側偝偄偲柡傪憲傝弌偡丅 +摴偺搑拞偱搻懐偑柡傪尒偮偗傞偑丄斵彈偺恎偺忋偲挿榁偺榖傪暦偔偲丄柡傪岇塹偟偰廬孼偺傕偲傊憲傝撏偗傞丅 +廬孼枀偨偪偑挿榁偺壠傪朘偹傞偲丄挿榁偼嵿嶻傪傆偨傝偺傕偺偲偟丄帺暘偼暿偺搒傊廧傓偙偲偲偟椃棫偭偰峴偭偨丅 +嫀惃偝傟偨彴壆 [曇廤] +僇僀儘偺昐恖戉挿偼崉桬偺巑偱偁傜備傞彈傪枮懌偝偣傞帒幙傪桳偟偰偄偨偑丄偦偺嵢偼傓偟傠廮庛側庒幰偑僞僀僾偱丄垽偡傞抝傪帩偭偰偄偨丅偁傞擔昐恖戉挿偑偱偐偗傞偲丄偝偭偦偔巊偄傪傗偭偰庒幰傪屇傃崬傓丅偨傑偨傑彴壆偵偄偨庒幰偑堦僪儔僋儉傪偼偢傫偱壆晘偵偐偗偮偗傞偲丄婥慜偺偄偄忋媞偲傒偨彴壆偼丄屻傪捛偭偰壆晘偺慜偱庒幰偑弌偰偔傞偺傪懸偭偨丅 +昐恖戉挿偑巚偄偑偗偢憗偔婣偭偰傒傞偲丄彴壆偑壆晘偺慜偵偄偰丄庒偄抝偑拞偵擖偭偰峴偭偨偲徹尵偡傞丅昐恖戉挿偼彴壆傪偮傟偰壠扵偟偡傞偑丄憶偓傪暦偄偰偄偨嵢偑抝傪塉悈壉偺拞偵塀偟偰偄偨偨傔丄巔偼傒偮偐傜側偄丅嵟屻偵塉悈壉傪挷傋傛偆偲偡傞偲丄嵢偼偨偔傒偵昐恖戉挿傪暟偒偮偗偰挦傜偟傔傞傛偆偵尵偄丄從偒晅偗偨揝朹偱惛娗傪從偒愗偭偰捛曻偟偨丅庒偄抝偼憶偓偑偍偝傑傞傑偱懸偪丄柍帠偵摝憱偟偨丅 +僼傽僀儖乕僘偲偦偺嵢 [曇廤] +壠棃僼傽僀儖乕僘偺嵢偵寽憐偟偨墹條偼丄僼傽僀儖乕僘傪巊偄偵弌偟偰偄傞娫偵巚偄傪偲偘傛偆偲嵢傪朘偹傞偑丄嵢偼墹偺梫媮傪嫅愨偟偨丅 +偄偭偨傫椃棫偭偨僼傽僀儖乕僘偩偑丄彂忬傪朰傟偨偙偲偵婥偯偄偰壠偵栠傞偲丄墹偺僒儞僟儖偑帺暘偺壆晘偵棊偪偰偄傞偺傪尒偮偗傞丅墹偺偨偔傜傒偵婥偯偄偨斵偼丄巊偄傪壥偨偟偰栠傞偲丄棟桼傪偮偗偰嵢傪幚壠傊婣偟丄偁偲偼岥傪偮偖傫偱壗傕偄傢側偐偭偨丅 +嵢偺孼偑拠嵸傪墹偵怽偟弌傞偲丄僼傽僀儖乕僘偼偨偔傒側椺偊偱墹偺峴摦傪帵嵈偡傞丅偦偟傜偸婄偱暦偄偰偄偨墹傕丄嫅愨偝傟偨偙偲傪偦傟偲暦偙偊側偄傛偆偵抦傜偣傞丅僼傽僀儖乕僘偼擺摼偟偰嵢傪屇傃栠偟丄偙偺帠審偼墹偲僼傽僀儖乕僘偺傎偐偵抦傞幰偼側偐偭偨丅 +惗傑傟偲怱 [曇廤] +僇僀儘偱傂偲栕偗偟傛偆偲偟偨梸怺側僔儕傾恖偼丄巗応偱庒偄嶰恖偺彈傪尒偰僗働儀怱傪偍偙偟丄戉彜廻偵彽偄偰墐夛傪傂傜偔丅嶰恖偺柤慜傪暦偔偲丄偦傟偧傟乽偁側偨偼巹偺傛偆側傕偺傪尒偨偙偲偼側偄偱偟傚偆丠乿乽偁側偨偼巹偵帡偨恖側偳尒偨偙偲偑側偄偱偟傚偆両乿乽巹傪尒偰偔偩偝偄丅偦偆偟偨傜巹偑暘偐傞偱偟傚偆両乿偲摎偊偨丅 +揇悓偟偨僔儕傾恖偑栚妎傔偰傒傞偲丄斵偺帩偪暔偼偙偲偛偲偔扗傢傟丄娵棁偵偝傟偰偄傞丅偁傢偰偰摴偵弌偰丄彈偨偪偐傜嫵偊傜傟偨柤慜傪楢屇偡傞偑丄恖乆偼僔儕傾恖傪嫸恖偁偮偐偄偡傞偽偐傝偱偁偭偨丅 +晄巚媍側彂暔偺暔岅乮戞895栭 - 戞904栭乯 [曇廤] + +怮嬯偟偝偱栚妎傔偨嫵墹傾儖丒儔僔乕僪偼丄戝恇僕儍傾僼傽儖偺姪傔偵偟偨偑偭偰撉彂傪偟偨丅偡傞偲嫵墹偼丄杮傪撉傒側偑傜丄徫偄側偑傜媰偒偼偠傔傞丅側偤偦偺傛偆側偙偲偵側偭偨偐僕儍傾僼傽儖偑偨偢偹傞偲丄嫵墹偼偄偨偔搟傝丄彂暔偺撪梕傪嵟弶偐傜嵟屻傑偱夝偒柧偐偣傞傕偺傪楢傟偰偙側偄偐偓傝庱傪偼偹傞偲尵偄偮偗偨丅僕儍傾僼傽儖偼嶰擔偺桺梊傪庢傝偮偗偰丄尗幰傪扵偟偵偱偐偗偨丅 僟儅僗偵帄偭偨僕儍傾僼傽儖偼丄桾暉側庒幰恗幰傾僞僼偑壠偺慜偵僥儞僩傪挘傝丄旤偟偄壋彈偵尒帠側帊傪壧傢偣偰偄傞偲偙傠傊捠傝偐偐傝丄壧偵帹傪偐偨傓偗傞丅庒幰偼僕儍傾僼傽儖傪扤偲傕抦傜偢偵壆晘傊彽偒丄戝偄偵娊懸丅僕儍傾僼傽儖偼恎暘偲杮柤傪塀偟丄嫵墹偲偺栺懇傪婥偵偐偗側偑傜傕丄庒幰偲偺恊桭偺岎傢傝偺偆偪偵偮偄偮偄帪傪夁偛偡丅 +巐偐寧偑偨偪丄栺懇傪巚偄弌偟偰烼乆偲偟偰偄偨僕儍傾僼傽儖偼丄婥惏傜偟偵嶶曕偵偱偐偗丄旤偟偄壋彈偵楒傪偡傞丅楒傢偢傜偄偵娮偭偨僕儍傾僼傽儖偐傜榖傪暦偒弌偟偰傒傞偲丄楒偺憡庤偼丄偠偮偼傾僞僼偺嵢側偺偱偁偭偨丅偦傟傪抦偭偨斵偼丄嵢偺傕偲偵峴偭偰偨偩偪偵棧墢傪尵偄搉偡偲丄戝恇僕儍傾僼傽儖傪柤忔偭偰嵢偵寎偊偵棃偨偙偲偵偟傠偲嶔傪偝偢偗傞(傾僞僼偼僕儍傾僼傽儖偑戝恇偦偺恖偱偁傞偙偲傪抦傜側偄)丅僕儍傾僼傽儖偼僟儅僗偺嫵墹戙棟偺慜偱寢崶宊栺傪偍偙側偄丄傾僞僼偑惍偊偨戉楍傪楢傟偰僶僋僟乕僪傊偺婣搑偵偮偄偨丅 +怴嵢偼丄傾僞僼偲僕儍傾僼傽儖偑媽抦偱偁傞偙偲傪抦傞偲丄傾僞僼偑恎傪堷偄偰帺暘傪僕儍傾僼傽儖偺嵢偲偟偨偙偲偵婥偯偔丅斵彈偐傜榖傪暦偄偨僕儍傾僼傽儖傕傾僞僼偺峴摦傪抦傝丄埲屻斵彈偵岇塹傪偮偗偰丄梐偐傝傕偺偲偟偰挌廳偵埖偭偨丅堦帪偺搟傝偱僕儍傾僼傽儖偑弌杬偟偨偙偲傪屻夨偟偰偄偨嫵墹偼丄斵偺婣崙傪娊寎丅恗幰傾僞僼偲偦偺嵢偺榖傪暦偔偲丄掚墍偺拞偵壠傪偨偰丄斵彈傪廧傑傢偣偨丅 +堦曽傾僞僼偼丄僕儍傾僼傽儖傪棅偭偰嫵墹戙棟傪幐媟偝偣傛偆偲偟偨偺偩偲丄斵傪搃傓攜偐傜妲慽偝傟丄崠偵偮側偑傟傞丅扙崠偟偨斵偼岊怘摨慠偺巔偲側偭偰僶僋僟乕僪傑偱偨偳傝偮偒丄僕儍傾僼傽儖偑戝恇偦偺恖偱丄傾僞僼偺恗幰傇傝傪帠乆偵岅偭偰偄傞偙偲傪抦傞偲丄壆晘傊峴偭偰儊儌偺尵晅偗傪棅傓丅偟偐偟儊儌傪傒偨僕儍傾僼傽儖偑摦揮偟偰婥傪幐偭偰偟傑偭偨偨傔丄壠杔偺搝楆偨偪偼偗偟偐傜偸儊儌傪尒偣偨偲偟偰傾僞僼傪曔傜偊丄搚楽偵傇偪偙傫偱偟傑偭偨丅 +擇偐寧偑偨偪丄嫵墹偵巕嫙偑偆傑傟偨偨傔偵壎幫偑峴傢傟丄夝曻偝傟偨廁恖偨偪偺拞偵傾僞僼偺巔偑偁偭偨丅搑曽偵偔傟偰偄偨斵偼丄婩傝傪偝偝偘傛偆偲帥堾傊岦偐偆偑丄懠嶦巰懱偵偮傑偯偄偰揮傫偱偟傑偆丅偦偙傊寈嶡姱偑偐偗偮偗丄寣傑傒傟偵側偭偰偄傞傾僞僼傪尒偰丄嶦恖偺尰峴斊偲偟偰戇曔偡傞丅梻擔傾僞僼偼巃庱偝傟偐偗傞偑丄偦偺敾寛偵媈栤傪帩偭偨僕儍傾僼傽儖偺拠嵸偱堦柦傪偲傝偲傔傞丅嵟弶偼偁傑傝偺曄傢傝傛偆偵婥偯偐側偐偭偨僕儍傾僼傽儖偩偑丄偙傟傑偱偺榖傪暦偔偵丄傾僞僼偦偺恖偱偁傞偙偲偑傢偐傝丄傆偨傝偼嵞夛偺婌傃傪傢偐偪偁偭偨丅偦偺応偵偼恀斊恖傕偁傜傢傟傞丅柍椶偺曻摖幰偱偁偭偨偨傔惉攕偟偨偺偩偲偄偆榁恖偱偁傞丅僕儍傾僼傽儖偼榖傪暦偄偰偦偺嵾傪嫋偟丄帠審偼夝寛偟偨丅 +媨揳偵彽偐傟偨傾僞僼偼丄嫵墹傛傝敎戝側晉傪壓帓偝傟丄嵢傪傕偲偺傑傑偵曉偝傟傞丅偦偟偰僟儅僗偺懢庣偲偟偰奙慁偟丄巗柉偐傜擬楏偵娊寎偝傟偨丅傕偲偺嫵墹戙棟偼巰嵾偵側傞偲偙傠偱偁偭偨偑丄傾僞僼偺偲傝側偟偱廔惗捛曻偺傒偱偡傫偩丅 +偦偟偰丄偙偺憶摦偺偍偍傕偲偱偁傞彂暔偵偮偄偰偼丄傕偼傗扤傕栤戣偲偟側偐偭偨丅 +嬥崉墹巕偺壺楉側暔岅乮戞904栭 - 戞922栭乯 [曇廤] + +愄丄僔儍儉僗丒僔儍乕偲偄偆墹偵偼乽嬥崉墹巕乿偲偄偆嫮偔旤偟偄墹巕偑偄偨丅偁傞擔丄乽嬥崉墹巕乿偑庪偵峴偒丄幁傪捛偭偰嵒敊傪恑傫偱偄偔偲丄偁傞恖棦棧傟偨僆傾僔僗偵拝偄偨丅偦偺僆傾僔僗偵偼榁恖偑塀撡偟偰偍傝丄乽嬥崉墹巕乿偑榁恖偵塀撡偟偰偄傞棟桼傪栤偆偲丄榁恖偼庒幰偑偦偺榖傪暦偗偽恎偺攋柵偵側傞偲尵偭偨偑丄乽嬥崉墹巕乿偑廳偹偰暦偄偨偨傔丄榁恖偼師偺傛偆偵榖偟偨丅 +愄丄榁恖偼朙偐側僶價儖偺抧堟偺墹偱偁傝丄墹偵偼7恖偺墹巕偑偄偨丅偁傞擔丄椃偺彜恖偑僔乕儞偲儅僔乕儞偺崙偺僞儞儉乕僘丒儀儞丒僇乕儉乕僗墹偺墹彈儌儂儔昉偺榖傪揱偊偨丅儌儂儔昉偼愨悽偺旤彈偱偁傝丄乽徏焮偲巺悪偺娭學偼壗乿偲偄偆栤偵摎偊傜傟偨幰偑壟偵偡傞偙偲偑偱偒傞偑丄摎偊傜傟側偄幰偼嶦偝傟庱傪忛栧偵嶯偝傟傞偲偄偆榖偱偁偭偨丅墹偺挿抝偑榖傪暦偒丄僇乕儉乕僗墹偺忛偵峴偭偨偑丄摎偊傜傟偢嶦偝傟偰偟傑偭偨丅偦偺屻丄掜偺6恖偺墹巕偨偪傕弴乆偵峴偭偨偑丄偄偢傟傕摎偊傜傟偢嶦偝傟偰偟傑偭偨丅7恖偺墹巕慡偰傪幐偭偨榁墹偼愨朷偟丄墹埵傪幪偰偰丄偙偺僆傾僔僗偵塀撡偡傞傛偆偵側偭偨偺偱偁偭偨丅 +榖傪暦偄偨乽嬥崉墹巕乿偼丄晝墹僔儍儉僗丒僔儍乕偺媨揳偵婣傞偲丄晝墹偑巭傔傞偺傕暦偐偢丄僔乕儞偲儅僔乕儞偺崙偺僇乕儉乕僗墹偺墹彈儌儂儔昉偺忛偵椃棫偭偰偟傑偭偨丅忛偵拝偄偨乽嬥崉墹巕乿偼僇乕儉乕僗墹偵墆尒偡傞偑丄僇乕儉乕僗墹偼乽嬥崉墹巕乿偵弉椂偟3擔屻嵞傃棃傞傛偆偵尵偭偨丅忛傪戅弌偟偨乽嬥崉墹巕乿偼丄忛偐傜棳傟弌傞悈楬傪偮偨偄丄忛偺拞掚偵擖傝崬傒丄嬼慠儌儂儔昉傪暔堿偐傜尒偰丄偦偺旤偟偝偵怱傪扗傢傟偰偟傑偭偨丅乽嬥崉墹巕乿偼悈傪媯傒偵棃偨乽嶺岃偺巬乿偲偄偆旤偟偄帢彈偵尒偮偗傜傟丄儌儂儔昉偺慜偵堷偒弌偝傟傞偑丄婥偑怗傟偨惞幰(僒儞僩儞)偺怳傝傪偟丄儌儂儔昉偺懜宧傪庴偗丄拞掚偵棷傑傞嫋偟傪庴偗偨丅 +偟偐偟丄悢擔偟偰乽嶺岃偺巬乿偑乽嬥崉墹巕乿傪晄怣偵巚偄丄栤偄惓偟偨偺偱丄乽嬥崉墹巕乿偼恎暘傪柧偐偟丄乽徏焮偲巺悪偺娭學偼壗乿偲偄偆栤偺摎偊傪扵偟偵棃偨偲尵偭偨丅乽嶺岃偺巬乿偼丄偦偺栤偺忣曬傪摼偨偗傟偽丄惓嵢偵偡傞傛偆媮傔丄乽嬥崉墹巕乿偑彸戻偡傞偲丄師偺傛偆偵尵偭偨丅 +儌儂儔昉偺怮戜偺壓偵偼丄幚偼丄儚乕僇乕僋偺挰偐傜棃偨堦恖偺崟恖偑塀傟偰偄傞丅乽徏焮偲巺悪偺娭學偼壗乿偲偄偆栤偼偙偺崟恖偑峫偊偨傕偺偱偁傝丄偦偺摎偊偼儚乕僇乕僋偺挰偵峴偐偹偽暘偐傜側偄丅 +乽嬥崉墹巕乿偼乽嶺岃偺巬乿偵丄婣偭偰偒偨傜昁偢惓嵢偵偡傞偲栺懇偟丄忛傪弌偰儚乕僇乕僋偺奨傊偺摴傪扵偟偨偑丄挰偺恖偨偪偼扤傕偦偺挰傪抦傜側偐偭偨丅偡傞偲偁傞廋摴憁(僟儖償傿乕僔儏)偑丄師偺傛偆偵嫵偊偰偔傟偨丅 +儚乕僇乕僋偺挰偼僇乕僋嶳偺拞怱偵偁傞丅偦偺撪奜偵偼偁傜備傞杺恄(僕儞)丄埆楈(儅儕乕僪)丄婼恄(僀僼儕乕僩)偑偄傞丅偦偙偵峴偔摴偼塃丄嵍丄拞墰偺3杮偁傞偑丄塃偺摴傪慖偽偹偽側傜側偄丅塃偺摴傪恑傓偲1杮偺岝搩(儅僫乕儔)偑偁傞偺偱丄偦偺旇柫傪撉傒恑傓摴傪掕傔側偝偄丅 +乽嬥崉墹巕乿偑尵傢傟偨傛偆偵恑傓偲岝搩偑偁傝丄偦偙偵偼師偺傛偆側旇柫偑偁偭偨丅 +嵍偺摴傪偲傜偽丄偁傑偨偺斚偄偵憳傢傫丅塃偺摴傪偲傜偽丄夨備傞強偁傞傋偟丅拞墰偺摴傪偲傜偽丄恀偵嫲傞傋偒傕偺偁傜傫丅 +乽嬥崉墹巕乿偼拞墰偺摴傪偲傝丄恑傓偲奯崻偵埻傑傟偨峀戝側壆晘偵偨偳傝拝偒丄壴浖娾偱偱偒偨栧偺慜偵偼嫄戝側崟恖偺栧斣偑柊偭偰偄偨丅乽嬥崉墹巕乿偼栧偺拞偵擡傃崬傓偲丄峀乆偲偟偨掚偵側偭偰偍傝丄妏偵曮愇傪偮偗偨旤偟偄幁偑壗摢傕偄偨丅掚傪恑傓偲媨揳偑偁傝丄偦偺庡偱偁傞儔僥傿僼傽偲偄偆旤偟偄壋彈偑寎偊偰偔傟偨丅乽嬥崉墹巕乿偑椃偺棟桼傪榖偡偲丄儔僥傿僼傽偼儚乕僇乕僋偵峴偔偙偲偵斀懳偟丄堦弿偵曢傜偡偙偲傪採埬偟偨偑丄乽嬥崉墹巕乿偼偁偔傑偱峴偔偲尵偆偲丄儔僥傿僼傽偼杺朄偱乽嬥崉墹巕乿傪幁偵曄偊偰偟傑偭偨丅 +幁偵側偭偨乽嬥崉墹巕乿偼掚偺暻偺寗娫偐傜敳偗弌偡偲丄偦偙偼儔僥傿僼傽偺枀僈儈儔偺壆晘偱丄僈儈儔偼杺朄傪夝偄偰乽嬥崉墹巕乿傪恖娫偺巔偵栠偟偨丅乽嬥崉墹巕乿偑椃偺栚揑傪榖偡偲丄僈儈儔偼儚乕僇乕僋偺挰偵峴偔偙偲偵斀懳偟丄堦弿偵曢傜偡偙偲傪採埬偟偨偑丄乽嬥崉墹巕乿偼偁偔傑偱峴偔偲尵偆偲丄師偺傛偆偵岅傝丄乽梐尵幰僒乕儕僼偺媩栴乿丄嶳傪傕愗傞柤寱乽僗儔僀儅乕儞偺宥乿丄偳偺傛偆側峌寕偐傜傕庣偭偰偔傟傞抁寱乽尗恖僞儞儉乕僘偺抁寱乿傪搉偟偨丅 +儚乕僇乕僋偺挰偵峴偔偵偼丄儔僥傿僼傽偲僈儈儔偺廸晝偱偁傞乽旘峴偺傾儖丒僔儉乕僌儖乿偺彆椡偑昁梫偩偑丄偦偺偨傔偵偼僞乕僋丒僞乕僋墹偺媨揳偵峴偔昁梫偑偁傞丅偦偙偼恖傪怘偆嫢朶側崟恖偨偪偵庣傜傟偰偄傞丅偦偙偺墹偲2擔攽傑傝乽旘峴偺傾儖丒僔儉乕僌儖乿偵夛偆偙偲偑偱偒傞偱偁傠偆丅 +乽嬥崉墹巕乿偼僈儈儔偵暿傟傪崘偘偰丄僞乕僋丒僞乕僋偺媨揳偵峴偔偲丄崟恖偨偪偑廝偭偰偒偨偑丄乽僗儔僀儅乕儞偺宥乿偱崟恖偨偪傪搢偟偨丅偡傞偲丄崟恖偼撆偺洓傪偟偰棃偨偑丄乽尗恖僞儞儉乕僘偺抁寱乿偺楈尡偱撆偺岠壥偼側偐偭偨丅乽嬥崉墹巕乿偼乽梐尵幰僒乕儕僼偺媩栴乿偱崟恖偺墹傪嶦偡偲丄崟恖偨偪偼摝偘偰偄偭偨丅 +媨揳偱偼旤偟偄傾僕僓昉偑乽嬥崉墹巕乿傪弌寎偊偰偔傟偨丅傾僕僓昉偼怣嬄崘敀傪偟僀僗儔儉偵夵廆偟丄嵢偵偡傞傛偆乽嬥崉墹巕乿偵棅傫偩丅偟偐偟丄乽嬥崉墹巕乿偑偁偔傑偱儚乕僇乕僋偺挰偵峴偔偲偄偆偺偱丄媨揳偺掚偱怮偰偄傞嫄恖乽旘峴偺傾儖丒僔儉乕僌儖乿偺強偵埬撪偟丄乽傕偟塃栚偐傜栚傪妎傑偣偽嫤椡偟偰偔傟傞偑丄嵍栚偐傜栚傪妎傑偣偽嶦偝傟傞乿偲尵偭偨丅傾儖丒僔儉乕僌儖偼椉栚摨帪偵栚傪妎傑偟丄乽嬥崉墹巕乿偵嫤椡傪栺懇偟丄7摢偺栰惗偺閱攏傪曔傑偊丄偦傟傜偲乽嬥崉墹巕乿傪攚拞偵忔偣丄洓偺椡偱嬻傪旘傃丄1擔偱堦偮偺奀傪挻偊丄媥傫偱偼1摢偺閱攏傪怘偄丄7擔妡偗偰7偮偺奀傪挻偊偰儚乕僇乕僋偺挰傑偱棃偨丅 +儚乕僇乕僋偺挰偱乽嬥崉墹巕乿偼旤偟偄帢廬偺惵擭僼傽儔乕偲弌夛偄丄乽徏焮偲巺悪偺娭學偼壗乿偲恞偹傞偲丄僼傽儔乕偼惵偄婄傪偟丄乽巺悪乿偲偼儚乕僇乕僋偺墹偺柤偱偁傝丄乽徏焮乿偲偼墹斳偺柤偱偁傞偑丄偦傟傜偺柤傪尵偆傕偺偼巰孻偵側傞偲尵偭偨丅乽嬥崉墹巕乿偼乽巺悪墹乿偵墆尒偟丄嬌傔偰崅壙側愒偄恀庫傪恑暔偲偟偰專忋偟偨丅乽巺悪墹乿偼婓朷偺朖旤傪庢傜偣傞偲尵偭偨偺偱丄乽嬥崉墹巕乿偼乽徏焮偲巺悪偺娭學偼壗乿偲恞偹偨丅乽巺悪墹乿偼寖搟偟偨偑丄師偺傛偆偵榖偟偰偔傟偨丅 +傓偐偟乽巺悪墹乿偑庪傪偟偰偄傞偲丄屆偄堜屗傪尒偮偗偨丅岮偑妷偄偰偄偨偺偱丄朮巕傪壉戙傢傝偵丄僞乕僶儞傪峧戙傢傝偵偟偰堜屗偵崀傠偟丄堷偒忋偘傞偲丄2恖偺榁攌偑忋偑偭偰棃偨丅2恖偼栚偑尒偊側偐偭偨偑丄嬤偔偺愳偵棃傞柲媿偺暢傪栚偵揾傟偽尒偊傞傛偆偵側傞偺偱丄巺悪墹偵暢傪庢偭偰偔傞傛偆棅傫偩丅巺悪墹偑尵傢傟偨捠傝偡傞偲丄2恖偺榁攌偺栚偑尒偊傞傛偆偵側傝丄偍楃偵乽晉丄寬峃丄旤乿偺偳傟偑梸偟偄偐暦偄偰偒偨丅 +乽巺悪墹乿偑乽旤乿偲摎偊傞偲丄榁攌偨偪偼杺恄偺墹偺媨揳偵偄傞杺恄偺墹偺柡乽徏焮乿偺偲偙傠偵乽巺悪墹乿傪埬撪偟丄2恖偼屳偄偵堦栚傏傟偟丄垽偟崌偭偨丅偟偐偟丄杺恄偺墹偵尒偮偐偭偰偟傑偄丄乽巺悪墹乿偼壩偁傇傝偺孻偵偝傟偨偑丄榁攌偨偪偑揾偭偨僗儔僀儅乕儞偺楈桘偺偨傔偵丄壩偵擱偊傞偙偲偼側偐偭偨丅偙傟傪尒偨杺恄偺墹偼乽巺悪墹乿傪懜宧偟丄乽徏焮乿偲偺寢崶傪擣傔偨丅 +乽巺悪墹乿偲乽徏焮乿偼儚乕僇乕僋偺挰偵婣偭偨丅偟偐偟丄乽徏焮乿偼枅栭乽巺悪墹乿偑柊偭偨屻丄攏偵忔偭偰偳偙偐偵弌偐偗偰偄偨丅偁傞栭乽巺悪墹乿偑偦傟偵婥晅偒屻傪晅偗傞偲丄乽徏焮乿偼1審偺壠偵擖傝丄7恖偺崟恖偨偪偲棎岎傪巒傔偨丅乽巺悪墹乿偼搟傝丄5恖偺崟恖傪愗傝嶦偟丄6恖栚傪嶦偦偆偲偟偨偲偙傠丄斀寕傪庴偗婋側偔側偭偨偑丄墹偺椔將偺1旵偑彆偗偵棃偰崟恖偵姎傒晅偒丄墹偼崟恖偺庱傪檰偹偨丅7恖栚偺崟恖偼丄摝偘墑傃丄僇乕儉乕僗墹偺墹彈儌儂儔昉偺怮戜偺壓偵塀傟偰偄傞丅 +偦偺擔埲棃丄偦偺椔將偵偛抷憱傪梌偊丄偦偺巆斞傪乽徏焮乿偵屻傠庤偵敍偭偨傑傑怘傋偝偣偰偄傞偺偱偁偭偨丅 +榖傪暦偔偲乽嬥崉墹巕乿偼旘峴偺傾儖丒僔儉乕僌儖傪屇傃弌偟丄嬻傪旘傃丄傾僕僓昉丄僈儈儔偲崌棳偟丄儔僥傿僼傽傪幁偨偪傪恖娫偵栠偡偙偲傪忦審偵幫偟丄堦弿偵僇乕儉乕僗墹偺媨揳傑偱峴偭偨丅媨揳偱乽嶺岃偺巬乿偵嵞夛偡傞偲丄乽嬥崉墹巕乿偼傾僕僓昉丄僈儈儔丄儔僥傿僼傽丄乽嶺岃偺巬乿偺4恖傪惓嵢偲偟偨丅乽嬥崉墹巕乿偼僇乕儉乕僗墹偵墆尒偟乽徏焮偲巺悪偺娭學偼壗乿偺摎偊傪尵偄丄儌儂儔昉偺怮戜偺壓偺崟恖傪曔傑偊僇乕儉乕僗墹偵嵎偟弌偟偨丅墹偼崟恖傪巰孻偵偟丄儌儂儔昉傪捛曻偟偨丅乽嬥崉墹巕乿偼儌儂儔昉傪彣偲偟丄晝墹偺搒偵婣傝丄堦摨岾偣偵曢傜偟偨丅 +妸宮撢抭偺払恖偺偝傑偞傑側婏峴偲愴弍乮戞922栭 - 戞925栭乯 [曇廤] + +僇僀儘偺抧偵丄堦尒偍傠偐側僑僴偲偄偆抝偑偄偨丅搑曽傕側偄摴壔幰偩偭偨偑丄偠偮偼撪偵塻偄塨抭傪廻偟偰偄偨丅 +僑僴偺妸宮側撢抦榖偺悢乆丅 +壋彈乽怱偺寙嶌乿捁偺彈戙姱偺暔岅乮戞926栭 - 戞937栭乯 [曇廤] + +偁傞擔丄嫵墹乮僇儕乕僼傽乯僴乕儖乕儞丒傾儖丒儔僔乕僪偑丄戝恇僕儍傾僼傽儖丒傾儖丒僶儖儅僉乕丄屼樜搧帩偪儅僗儖乕儖丄壧庤偺儌乕僗儖偺僀僗僴乕僋丒傾儖丒僫僨傿儉丄僕儍傾僼傽儖偺孼傾儖丒僼傽僘儖丄朄妛幰儐乕僰乕僗偲暯柉偵曄憰偟偰僶僌僟乕僪峹奜偺奨摴傪曕偄偰偄傞偲丄僀僗僴乕僋偑椙偔抦偭偰偄傞搝楆彜恖偺挿榁偲弌夛偭偨丅彜恖偼僀僗僴乕僋偵垾嶢偟丄壒妝偺嵥擻偺偁傞旤偟偄彈搝楆偑擖偭偨偺偱丄尒偵棃偰梸偟偄偲尵偭偨偺偱丄彜恖偺娰偵峴偔偲丄乽怱偺寙嶌乿乮僩乕僼傽丒傾儖丒僋乕儖乕僽乯偲偄偆旤偟偄彈搝楆偑偄偰丄尒帠偵旡攊傪抏偒丄壧偭偨偺偱丄僀僗僴乕僋偼3枩僨傿僫乕儖偱攦庢傝丄帺暘偺娰偱壒妝傪嫵偊丄嫵墹偵專忋偡傞偙偲偵偟偨丅 +壗擔偐偟偰丄乽怱偺寙嶌乿偑堦恖偱壧偆偺傪暦偄偨僀僗僴乕僋偼丄乽怱偺寙嶌乿偺壧偑帺暘傛傝桪傟偰偄傞偙偲傪擣傔丄抪偠擖傝丄乽怱偺寙嶌乿偵嵟崅偺暈傪拝偣偰嫵墹偵專忋偟偨丅嫵墹偺屼慜偱乽怱偺寙嶌乿偑儀乕儖傪庢傞偲丄旤偟偄婄偵嫵墹偼姶摦偟偨偑丄旡攊傪抏偔偲壧惡偵柍忋偵姶摦偟偨丅嫵墹偼僀僗僴乕僋偵朖旤偲偟偰10枩僨傿僫乕儖偲梍傟偺暈10拝傪梌偊丄偦偺擔埲崀丄枅栭乽怱偺寙嶌乿偲栭傪嫟偵偟偨丅 +偁傞擔丄嫵墹偑庪偵弌偰棷庣偺帪丄嫵墹偺惓岪僝僶僀僟偑乽怱偺寙嶌乿偺晹壆偵棃偰丄嫵墹偵寧偺偆偪堦斢偼僝僶僀僟偲夁偛偡傛偆偵偲尵偆傛偆偵乽怱偺寙嶌乿偵棅傫偩丅偦偺斢傕乽怱偺寙嶌乿偺偲偙傠偵嫵墹偑棃偨偑丄暈傪扙偄偩偲偒偵乽怱偺寙嶌乿偼僝僶僀僟偺強傊峴偔傛偆偵偲嫵墹偵尵偭偨偺偱丄帠偑嵪傫偩屻丄嫵墹偼僝僶僀僟偺怮強偵峴偭偨丅 +堦恖晹壆偵巆偭偨乽怱偺寙嶌乿偑旡攊傪抏偄偰偄傞偲丄偳偙偐傜偲傕側偔榁恖偑尰傟梮傝偩偟偨偑丄偦傟偼榁恖偺巔傪偟偨杺墹僀僽儕乕僗偱偁偭偨丅僀僽儕乕僗偼乽怱偺寙嶌乿偵丄杺恄(僕儞)偺崙偵棃偰旡攊傪抏偔傛偆偵棅傒丄乽怱偺寙嶌乿偼墳戻偟偨偺偱丄僀僽儕乕僗偼乽怱偺寙嶌乿傪楢傟偰曋強偺寠偐傜杺恄偺崙偵峴偒丄偦偙偐傜嬻傪旘傫偱媨揳偵峴偭偨丅 +媨揳偱偼戝墐夛偑峴傢傟偰偍傝丄旤偟偄杺恄偺彈墹僇儅乕儕儎昉偲3恖偺枀僈儉儔丄僔儍儔乕儔丄儚僸乕儅傪巒傔懡偔偺杺恄偑恖娫偺宍偵壔偗偰懸偭偰偄偨丅偟偐偟傾儖丒僔僗僶乕儞偲屼樜搧帩偪儅僀儉乕儞偼丄婄偺拞墰偵廲偵楐偗偨堦偮栚偲丄夊偺惗偊偨岥偲偄偆杺恄杮棃偺巔傪偟偰偄偨丅乽怱偺寙嶌乿偑堦嬋壧偆偲丄杺恄偨偪偼桳捀揤偵側傝丄嫲偄婄傪偟偨2恖偺杺恄傕婌傫偱梮傝偩偟偨丅乽怱偺寙嶌乿偼懕偗偰丄乽旝晽偺壧乿乽錕錘偺壧乿乽僕儍僗儈儞偺壧乿乽悈愬偺壧乿乽僗儈儗偺壧乿乽悋楡偺壧乿乽僯僆僀傾儔僙僀僩僂偺壧乿乽儊儃僉憪偺壧乿乽僇儈僣儗偺壧乿乽儔儀儞僟乕偺壧乿乽傾僱儌僱偺壧乿乽墠偺壧乿乽瀱偺壧乿乽戦偺壧乿乽敀捁偺壧乿乽枿朓偺壧乿乽挶偺壧乿乽殡偺壧乿乽懻彑偺壧乿傪壧偭偨丅杺恄偨偪偼戝偄偵婌傫偩丅 +杺墹僀僽儕乕僗偼丄壧庤僀僗僴乕僋偵傕壒妝傪嫵偊偨偙偲偑偁傞偲尵偭偰丄乽怱偺寙嶌乿偵怴偟偄旡攊偺抏偒曽傪嫵偊偨偑丄偦傟偼崱傑偱偵側偄旤偟偄憈朄偱偁偭偨丅乽怱偺寙嶌乿偼堦搙偱怴偟偄抏偒曽傪妎偊傞偲丄杺墹僀僽儕乕僗偼乽怱偺寙嶌乿偵丄偳偺傛偆側捁傛傝傕旤偟偔壧偆壧庤偺徧崋乽捁偺彈戙姱乿傪憽傝丄巻偵彂偄偰彁柤偟偨丅偝傜偵戝検偺曮暔傪梡堄偟丄杺恄偨偪偵塣偽偣偰丄乽怱偺寙嶌乿傪僶僋僟乕僪偺媨揳傑偱憲傝曉偟偨丅 +僶僌僟乕僪偱偼嫵墹偑乽怱偺寙嶌乿偑偄側偔側偭偨偙偲傪怱攝偟偰偄偨偑丄婣偭偰偒偨偙偲傪抦傞偲戝偄偵婌傃丄奆岾偣偵曢傜偟偨丅 +僶僀僶儖僗墹偲寈嶡戉挿偨偪偺暔岅乮戞937栭 - 戞954栭乯 [曇廤] + +愄丄僄僕僾僩偺僇僀儘偵傾儖丒儅儕僋丒傾儖丒僓僸儖丒儘僋儞丒傾儖丒僨傿乕儞丒僶僀僶儖僗丒傾儖丒僽儞僪僁僋僟乕儕偲偄偆掗墹(僗儖僞儞)偑偄偨偑丄柉廜偺曢傜偟傇傝傪抦傞偨傔丄僇僀儘偺寈嶡戉挿偨偪傪廤傔偰丄偦傟偧傟榖傪偝偣偨丅 +戞堦偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞堦偺寈嶡戉挿偼柤傪儌僀儞丒傾儖丒僨傿乕儞偲偄偄丄傾儔儉丒傾儖丒僨傿乕儞丒僒儞僕儍儖偑寈嶡偺挿傪偟偰偄偨帪偵戉挿偵側偭偨幰偩偭偨偑丄師偺傛偆偵岅偭偨丅 +偁傞擔丄儌僀儞偑曭峴(儚乕儕乕)偺壆晘偺拞掚偵嵗偭偰偄傞偲丄100僪儔僋儉偺擖偭偨嵿晍偑棊偪偰偒偨丅師偺擔傕摨偠応強偵嵗偭偰偄傞偲丄100僪儔僋儉偺擖偭偨嵿晍偑棊偪偰偒偨偑丄扤偑搳偘偨傕偺偐偼暘偐傜側偐偭偨丅偦偺師偺擔丄摨偠応強偵偄傞偲丄旤偟偄彈偑尰傟丄棅傒傪暦偄偰梸偟偄偲尵偭偰棃偨丅儌僀儞偑彸戻偡傞偲丄彈偼師偺傛偆偵榖偟偨丅 +偦偺彈偼丄朄姱(僇乕僨傿乕)偺庒偄柡偲楒拠偱偁偭偨偑丄朄姱偑婥晅偒丄摨惈偺楒垽傪嫋偝側偐偭偨偺偱丄夛偊側偔側偭偰偭偟傑偭偨丅偦偙偱柧擔偺梉曽丄儀乕儖偱婄傪塀偟朄姱偺壠偺嬤偔偵偄傞偺偱丄乽栭摴傪彈堦恖婣傞偺偼婋尟偩乿偲曐岇偟丄朄姱偺壠偵堦斢梐偗偰梸偟偄丅 +儌僀儞戉挿偼彈偵尵傢傟偨捠傝偵偟丄彈傪朄姱偺壠偵楢傟偰峴偒丄堦斢攽傔傞傛偆棅傫偩丅朄姱偼丄儀乕儖偺偨傔彈偑扤偱偁傞偐偵婥晅偐偢丄彈傪攽傔偨偑丄梻挬丄彈偼6愮僨傿僫乕儖傪搻傫偱朄姱偺壠偐傜徚偊偰偄偨丅朄姱偼儌僀儞戉挿傪屇傃偮偗丄3擔埲撪偵彈傪曔傑偊6愮僨傿僫乕儖傪曎彏偡傞傛偆尵偭偨丅儌僀儞偼彈偑扤側偺偐傪抦傜側偐偭偨偨傔丄扵偡偺傪掹傔丄3擔栚偺挬偵妎屽偟偰朄姱偺壠偵岦偐偭偨偑丄搑拞偱椺偺彈傪尒偮偗偨丅彈偼丄儌僀儞偵戝検偺曮暔傪尒偣丄棅傒傪暦偄偰偔傟傟偽曮傪搉偡偲尵偄丄師偺傛偆偵棅傫偩丅 +朄姱偺壠偵峴偭偨傜丄彈偼偙偺壠傪弌偰偄側偄壜擻惈偑偁傞偲尵偭偰朄姱偺壠傪扵偟丄嵟屻偵戜強偺桘偺戝酨偺傆偨傪奐偗側偝偄丅偡傞偲丄偦偙偵偼寣偺晅偄偨偦偺彈偺暈偑擖偭偰偄傞偺偱丄偦傟傪朄姱偑彈傪嶦偟偨徹嫆偲偟側偝偄丅偡傞偲朄姱偼戝嬥傪暐偄岥巭傔傪偡傞偺偱丄庴偗庢偭偰朄姱偺壠傪弌側偝偄丅 +儌僀儞戉挿偼尵傢傟偨捠傝偵偡傞偲丄寁夋捠傝帠偑塣傫偩丅偦偺屻悢擔偟偰丄朄姱偼搟傝偲斶偟傒偺偁傑傝巰傫偱偟傑偭偨丅撲偺彈偲丄朄姱偺柡偼丄僫僀儖壨偺僞儞僞乕偺抧偵堏傝丄岾偣偵曢傜偟偨丅 +戞擇偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞擇偺寈嶡戉挿偼丄寢崶偡傞嵺丄嵢偺媮傔偱乽僴僔乕僔儏傪巊傢側偄丅惣塟傪怘傋側偄丅堉巕偵嵗傜側偄丅乿偲惥偄丄偦偺忦審偱寢崶偟偨丅偟偐偟丄寈嶡戉挿偼偦偺棟桼偑抦傝偨偔偰丄偁偊偰惥偄傪3偮偲傕攋偭偰偟傑偭偨丅嵢偼搟傝丄朄姱(僇乕僨傿乕)偺強偵峴偒丄棧崶傪怽偟棫偰偨丅 +朄姱偼棧崶偺尃棙傪擣傔偮偮傕丄晇傪幫偡偙偲傪姪傔偨偺偱丄嵢偼乽弶傔偼崪偱丄師偼嬝丄師偼擏偵側傞傕偺偼壗偐乿偲栤偄丄梻擔傑偱偵摎偊傜傟偨傜晇傪幫偡偲尵偭偨丅朄姱偼摎偊偑暘偐傜偢崲偭偰偄傞偲丄朄姱偺14嵨敿偺柡偑乽偦傟偼抝惈偺堦暔偱丄15嵨偐傜35嵨傑偱偼崪偺傛偆偵峝偔丄35嵨偐傜60嵨傑偱偼嬝偺傛偆偱偁傝丄60嵨傪夁偓傞偲擏偺傛偆偵栶偵棫偨側偄丅乿偲嫵偊偰偔傟偨丅 +梻擔偺朄掛偱朄姱偑側偧側偧偺摎偊傪尵偆偲丄寈嶡戉挿偺嵢偼乽摎偊傪尒偮偗偨偺偼朄姱偺柡側偺偱偟傚偆偗偳丄庒偄偺偵偦偪傜偺曽柺偵徻偟偄偺偹丅乿偲徫偄丄朄姱偵抪傪偐偐偣偨丅 +戞嶰偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞嶰偺寈嶡戉挿僄僘丒傾儖丒僨傿乕儞偼丄師偺傛偆側榖傪偟偨丅 +愄丄偁傞崙偺嫏巘偑昦婥偵側偭偨偺偱丄晛抜偼壠偐傜弌側偄嵢偑摴嬶傪帩偭偰嫏巘偲堦弿偵嫑傪妉傝偵峴偭偨偑丄挌搙丄媨揳偵偄偨掗墹(僗儖僞儞)偵尒傜傟偰偟傑偄丄掗墹偼旤偟偄嫏巘偺嵢傪帺暘偺暔偵偟傛偆偲峫偊偨丅 +掗墹偼嫏巘傪彚偟弌偟丄戝峀娫傪晘偒媗傔傜傟傞戝偒側鉕焴傪專忋偡傞傛偆柦椷偟丄專忋偱偒側偗傟偽嶦偡偲尵偭偨丅嫏巘偑崲偭偰偄傞偲丄嵢偑岞墍偺堜屗偵廧傓彈杺恄偐傜朼悗傪庁傝偰偔傞傛偆偵尵偄丄嫏巘偑偦偺朼悗傪帩偭偰媨揳偵峴偔偲丄朼悗偑戝峀娫傪晘偒媗傔傜傟傞鉕焴傪嶌傝弌偟偨丅 +掗墹偼丄嵞傃嫏巘傪彚偟弌偟丄崱搙偼惗傑傟偰堦廡娫偺愒巕偱丄弶傔偐傜廔傢傝傑偱塕偺榖傪偱偒傞幰傪楢傟偰偔傞傛偆偵柦椷偟偨丅嫏巘偑崲偭偰偄傞偲丄嵢偑岞墍偺堜屗偵廧傓彈杺恄偐傜嶐擔惗傑傟偨愒巕傪庁傝偰偔傞傛偆偵尵偄丄嫏巘偑偦偺愒巕傪楢傟偰媨揳偵峴偔偲丄愒巕偼乽惣塟偺拞偺挰偺僫僣儊儎僔偺栘偺忋偺擾墍偺昐惄偨偪偑妱偭偨棏偐傜惗傑傟偨悧偲丄偦偺僫僣儊儎僔偺巬偺忋偺閱攏偑塣傫偱偄偨層杻壻巕乿偺榖傪偟偨丅掗墹偼乽惣塟偺拞偺挰側偳暦偄偨偙偲偑側偄乿偲尵偭偰偟傑偄丄塕偺榖偱偁傞偙偲傪擣傔偨丅 +掗墹偼丄彈杺恄偑嫏巘偵枴曽偟偰偄傞偙偲傪抦傝丄嫏巘偺嵢傪掹傔偨丅 +戞巐偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞巐偺寈嶡戉挿儌僸僀丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +戞嶰偺寈嶡戉挿偺岅偭偨嫏巘偲嵢偵偼乽棙岥幰儉僴儞儅僪乿偲偄偆旤偟偄巕偑偄偨丅儉僴儞儅僪偑妛峑偵峴偔擭偵側傞偲丄妛峑偵偄偨掗墹僗儖僞儞偺巕偑愭惗偵柦偠偰儉僴儞儅僪傪曏懪偭偨偺偱丄妛峑傪帿傔偰嫏巘偵側偭偨丅嫏巘偵側偭偰弶傔偰栐傪懪偮偲丄彫偝側榈?偑庢傟偨偑丄偦偺榈?偼恖偺尵梩偱柦岊偄傪偟偨偺偱丄摝偑偟偰偁偘偨丅 +掗墹偼儉僴儞儅僪偵嫏巘偺嵢偺堦審偺暅廞傪偟傛偆偲巚偄丄梱偐斵曽偺崙乽椢偺抧乿偺掗墹偺昉孨傪偮傟偰偔傞傛偆偵柦偠偨丅儉僴儞儅僪偑崲偭偰偄傞偲丄榈?偑尰傟乽墹偵墿嬥偺壆宍慏傪嶌傜偣丄偦傟偱峴偗偽椙偄乿偲尵偄丄儉僴儞儅僪偼墿嬥偺壆宍慏偱弌峲偟偨丅 +儉僴儞儅僪偑乽椢偺抧乿偵拝偔偲丄墿嬥偺壆宍慏偺捒偟偝偵懡偔偺恖偑尒偵拝偨偑丄掗墹偺昉孨傕尒偵棃偨丅儉僴儞儅僪偼昉孨偑慏撪傪尒偰偄傞偡偒偵慏傪弌峲偝偣偨丅儉僴儞儅僪偼挰偵婣傝丄昉傪掗墹偵墆尒偝偣偨丅掗墹偼昉偵寢崶傪怽偟崬傓偑丄昉偼乽棃傞搑拞偱奀偵棊偲偟偨巜椫偑尒偮偐傜側偗傟偽寢崶偟側偄乿偲尵偭偨偨傔丄掗墹偼巜椫偺扵嶕傪儉僴儞儅僪偵柦偠偨偑丄巜椫偼榈?偑尒偮偗偰偄偨丅 +昉偼乽壩偺拞傪曕偒恎傪惔傔偨幰偲偟偐寢崶偟側偄乿偲尵偭偨偨傔丄掗墹偼儉僴儞儅僪偵壩偺拞傪曕偐偣偨偑丄儉僴儞儅僪偼榈?偵嫵偊偰傕傜偭偨庺暥偺偨傔柍彎偱偁偭偨丅偦傟傪尒偨掗墹偲掗墹偺懅巕偲戝恇偼摨偠傛偆偵壩偺拞傪曕偄偨偑丄庺暥傪尵傢側偐偭偨偺偱從偗巰傫偩丅儉僴儞儅僪偼昉孨偲乽椢偺抧乿偵峴偒寢崶偟丄乽椢偺抧乿偺掗墹偲側傝丄椉恊傪屇傃婑偣岾偣偵曢傜偟偨丅 +戞屲偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞屲偺寈嶡戉挿僰乕儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞崙偺掗墹(僗儖僞儞)偑戝恇偵柦偠偰丄乽梋偺婡寵偑椙偗傟偽搟傜偢丄搟偭偰偍傟偽婌偽偸報復乿傪挙傞傛偆偵尵偭偨偑丄戝恇傕搒偺報復怑恖偨偪傕丄偳偆偡傟偽椙偄偐暘偐傜側偐偭偨丅戝恇偑崲傝峹奜傪曕偄偰偄傞偲丄擾晇偲弌夛偄丄擾晇偺柡儎僗儈乕儞偑乽嬯偵偣傛妝偵偣傛丄偁傜備傞忣偼傾僢儔乕傛傝変傜偵棃傞乿偲報復偺暥傪嫵偊偰偔傟偨丅墹偼婌傃丄儎僗儈乕儞傪偍斳偵偟偨丅 +偟偐偟丄墹媨偵擖偭偨儎僗儈乕儞偼懱挷傪曵偟丄堛巘偺尒棫偰偱丄揷幧偐傜搒偵娐嫬偑曄傢偭偨偙偲偑尨場偲偺偙偲偱丄奀娸偵屼揳傪寶偰偰廧傓偙偲偵側偭偨丅懱挷偑夞暅偟偨儎僗儈乕儞偑憢偺奜偵嫏巘傪尒偮偗丄栐傪懪偮傛偆偵柦偠傞偲摵偺時偑庢傟偨偺偱嬥壿偱攦偄庢傠偆偲偡傞偲丄嫏巘偼嬥壿傛傝僉僗傪媮傔偨偑丄偦偙偵捠傝妡偐偭偨掗墹偑憗崌揰偟嫏巘傪嶦偟丄儎僗儈乕儞傪搒偐傜捛曻偟偨丅 +儎僗儈乕儞偼偁傞挰偱峴偒搢傟傞偑丄捠傝偑偐偭偨彜恖偵彆偗傜傟偨丅偟偐偟丄彜恖偺嵢偑幑搃偟丄儎僗儈乕儞傪壆忋偺捁彫壆偵娔嬛偟偰偟傑偭偨丅儎僗儈乕儞偑嫏巘偺庢偭偨摵偺時偺傆偨傪奐偗傞偲丄悈嵎偟偲怘帠偲10恖偺彈偺敀恖搝楆偑弌偰偒偰丄梮傝傪梮傝丄墿嬥偺媗傑偭偨嵿晍傪1恖10屄偢偮抲偄偰時偺拞偵栠偭偰峴偭偨丅時傪奐偗傞偨傃偵摨偠偙偲偑婲偒偨偺偱丄捁彫壆偼嬥偺嵿晍偱偁傆傟偦偆偵側偭偨丅彜恖偼儎僗儈乕儞偑捁彫壆偵娔嬛偝傟偰偄傞偙偲傪抦傝丄儎僗儈乕儞偵幱嵾偟夝曻偟丄嵢傪敱偟偨丅 +儎僗儈乕儞偼嬥偱崑壺側忛傪寶偰丄抝憰偟偰忛偺庡偲偟偰怳傞晳偭偨丅掗墹偼崑壺側忛偺弌尰偵嬃偒丄奨偵棃偰忛偺庡偲夛尒偟偨偑丄儎僗儈乕儞偲偼婥偯偐側偐偭偨丅儎僗儈乕儞偼掗墹偺慜偱時偺傆偨傪奐偗丄時偺杺朄傪尒偣偰傗傝丄偙偺時偑梸偟偗傟偽恎傪攧傞傛偆偵偲尵偆偲丄掗墹偼彸抦偟棁偵側偭偨丅儎僗儈乕儞偼惓懱傪柧偐偟丄乽偙偺時偺偨傔偵偛帺恎偼偦偙傑偱偡傞偺偵丄嫏巘偑僉僗傪媮傔偨偔傜偄偱嶦偡偲偼乿偲尵偄偭偨丅掗墹偲儎僗儈乕儞偼拠捈傝偟丄岾偣偵曢傜偟偨丅 +戞榋偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞榋偺寈嶡戉挿僈儅儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄偁傞掗墹(僗儖僞儞)偵僟儔儖偲偄偆梒偄墹彈偑偄偨丅偁傞擔僟儔儖偼錶(僔儔儈)傪堦旵戜強偺桘偺戝酨偵擖傟偰奧傪偟偨丅壗擭傕宱偭偰僟儔儖偑15嵨偺旤偟偄昉偵側偭偨偲偒丄錶偼悈媿傎偳偺戝偒偝偵側傝丄酨傪妱偭偰弌偰偒偨丅墹偼錶傪嶦偟丄旂傪攳偄偱丄栧偺奜偵妡偗丄偙偺旂偑壗偱偁傞偐傪摉偰偨幰偼僟儔儖偲寢崶偱偒傞偑丄奜傟偨幰偼巰孻偵偡傞偲愰尵偟偨丅壗恖傕偺抝偑挧愴偟偨偑丄奆奜傟偰巰孻偵側偭偨丅 +偁傞擔丄旤偟偄庒幰偑尰傟丄錶偺旂偱偁傞偙偲傪尵偄摉偰丄僟儔儖偲寢崶偟丄偟偽傜偔堦弿偵曢傜偟偨偑丄僟儔儖傪楢傟偰崙傊婣傞偲尵偄嫀偭偰峴偭偨丅幚偼庒幰偼怘恖婼(僌乕儖)偱丄恖棦棧傟偨壠偵僟儔儖傪楢傟偰峴偒丄枅擔恖傪嶦偟偰偦偺擏傪怘傋丄僟儔儖偵偼梤偺擏傪梌偊偰偄偨丅怘恖婼偼僟儔儖傪帋偡偨傔丄僟儔儖偺曣恊偺巔偵側傝壠偵棃偰丄僟儔儖偵乽偍慜偺晇偼杮摉偼怘恖婼偱偼側偄偺偐乿偲暦偄偨偑丄僟儔儖偼乽怘恖婼偱偼側偔旤偟偄墹巕偱偡乿偲摎偊偨丅怘恖婼偼峏偵僟儔僗傪帋偡偨傔丄僟儔儖偺廸曣偺巔偵側傝摨偠偙偲傪偟偨丅嶰搙栚偵丄怘恖婼偑傕偆堦恖偺廸曣偺巔偱棃偨偲偒乽儉僴儞儅僪偵寽偗偰尵偊傞偐乿偲暦偐傟偨偺偱丄僟儔儖偼杮摉偺偙偲傪尵偭偰偟傑偄丄怘恖婼偼巔傪尰偟丄僟儔儖傪怘偍偆偲偟偨丅僟儔儖偼怘傢傟傞慜偵梺応(僴儞儅乕儉)偵峴偒偨偄偲尵偄丄怘恖婼傕偦偺曽偑巪偔側傞偲巚偄丄僟儔儖傪梺応偵楢傟偰峴偒丄彈搾偺慜偱懸偭偰偄偨丅僟儔儖偼彈搾偵偄偨摛攧傝偺榁攌偲暈傪庢傝姺偊丄摛攧傝偺巔偱丄婥偯偐偸怘恖婼偺慜傪捠傝夁偓摝偘偰峴偭偨丅 +摝偘偰棃偨僟儔儖偑偁傞墹偺屼揳偺慜偱媥傫偱偄傞偲丄僟儔儖偺旤偟偝偺偨傔墹斳偑彽偒擖傟傛偆偲偟丄屇傃偵棃偨墹巕偲僟儔儖偼屳偄偵堦栚傏傟偟偰偟傑偄丄2恖偼寢崶偟偨丅偟偐偟丄寢崶幃偺擔偵怘恖婼偼恑暔偺梤偺巔偱屼揳偵擖傝崬傒丄栭偵側傞偲僟儔儖傪偝傜偭偨丅僟儔儖偼曋強偵峴偒偨偄偲尵偄丄曋強偱梐尵幰偺柡僓僀僫僽偵婩傞偲丄巊偄偺彈婼恄(僕儞僯乕儎乕)偑尰傟丄怘恖婼傪嶦偟丄彆偗偰偔傟偨丅 +彈婼恄偼僟儔儖偵乽懅巕偺昦婥傪帯偡偨傔丄僄儊儔儖僪偺奀偺悈傪堦攖偡偔偭偰傎偟偄丅乿偲棅傒丄僟儔儖偑彸抦偡傞偲丄嬻傪旘傃僄儊儔儖僪偺奀偵峴偒丄僟儔儖偵悈傪堦攖偡偔傢偣偨丅偲偙傠偑丄僟儔儖偺庤偺悈偵擥傟偨強偼椢怓偵側偭偰偟傑偭偨丅彈婼恄偼僟儔儖傪屼揳偵婣偟丄悈傪傕傜偆偲嫀偭偰峴偭偨丅堦曽僄儊儔儖僪偺奀偺斣恖偼丄悈偑尭偭偨偙偲偵婥偯偒丄斊恖傪憑偡偨傔丄榬椫彜恖偺巔傪偟偰椃偵弌偰丄挰乆偱榬椫傪帋偝偣庤偑椢怓偺恖偑偄側偄偐尒偰曕偄偨丅偁傞擔丄斣恖偼僟儔儖偺廧傓挰偵棃偰丄僟儔儖偺庤傪尒偰僟儔儖傪曔傑偊丄嬻傪旘傃丄僄儊儔儖僪偺奀偺墹偺偲偙傠偵僟儔儖傪楢傟偰峴偭偨丅僄儊儔儖僪偺奀偺墹偼僟儔儖偺旤偟偝偵枺椆偝傟偰偟傑偄丄寢崶偡傟偽悈傪搻傫偩偙偲傪嫋偡偲尵偭偨偑丄僟儔儖偼婛偵寢崶偟偰偄傞偺偱丄戙傢傝偵僟儔儖偺10嵨偺柡偲寢崶偡傞偙偲偵偟丄傒側岾偣偵曢傜偟偨丅 +戞幍偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞幍偺寈嶡戉挿僼傽僴儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞擾壠偵揇朹偑擖偭偨偲暦偄偰僼傽僴儖偑曔傑偊偵峴偔偲丄揇朹偼偳偙偐偵塀傟偰尒偮偗傜傟側偐偭偨丅偲偙傠偑丄戝偒側洓偺壒偑暦偙偊丄尒傞偲揇朹偑尒偮偐偭偨丅揇朹偼丄乽洓偑栶偵棫偭偨丅乿偲尵偭偨偺偱丄僼傽傾儖偼乽恖偺栶偵棫偮洓側偳偁傞偐丅乿偲尵偭偨偑丄揇朹偑乽偁側偨偑揇朹傪尒偮偗傞偺偵栶棫偭偨偱偟傚偆丅乿偲尵偭偨偺偱丄僼傽僴儖偼姶怱偟偰揇朹傪嫋偟偰傗偭偨丅 +戞敧偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞敧偺寈嶡戉挿僯僓儉丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞揓悂偒抝偺嵢偑抝偺巕傪弌嶻偟偨偑丄揓悂偒抝偵偼嬥偑側偐偭偨偺偱奜傪曕偄偰偄傞偲丄帗寋傪尒偮偗偨丅帗寋偑棏傪嶻傫偩偺偱巗応偱攧傞偲丄偁傞儐僟儎恖偑棏1屄傪20僨傿僫乕儖傕偺戝嬥偱攦偭偰偔傟偨丅揓悂偒抝偼偦偺嬥偱嶻攌傊偺巟暐偄傪偟丄嵢偵塰梴偺偁傞怘傋暔傪攦偄梌偊偨丅偦偺儐僟儎恖偼枅擔棏傪1屄20僨傿僫乕儖偱攦偄懕偗偨偺偱揓悂偒偼戝嬥帩偪偵側偭偨丅壗擭偐偟偰丄巕偑戝偒偔側偭偨偁傞擔丄揓悂偒抝偼堦恖儊僢僇傊弰楃偺椃偵弌偐偗偨偑丄偦偺棷庣偵儐僟儎恖偑帗寋傪攧偭偰偔傟偲揓悂偒抝偺嵢偵尵偭偰偒偨丅嵢偼姄堦攖偺嬥壿偲堷偒姺偊偵帗寋傪攧傝丄儐僟儎恖偵尵傢傟偨傛偆偵偦偺帗寋傪椏棟偟偨偑丄巕偑擏傪堦愗傟怘傋偰偟傑偭偨丅儐僟儎恖偼搟傝丄巕傪嶦偦偆偲偟偨偺偱丄巕偼摝偘傞偨傔椃偵弌偨丅巕偼儐僟儎恖偵捛偄偮偐傟傞偑丄帗寋偺擏偺杺椡偱夦椡偵側偭偰偍傝丄儐僟儎恖傪曉傝摙偪偵偟偰嶦偟偨丅 +巕偼椃傪懕偗丄偁傞墹媨偵拝偄偨丅偦偺墹媨偱偼丄昉偲儗僗儕儞僌傪偟偰彑偰偽昉偲寢崶偱偒傞偑丄晧偗傟偽巰孻偵側傞偲偄偆偙偲偱偁偭偨丅巕偼昉偵挧愴偡傞偑丄昉傕夦椡偱彑晧偼偮偐偢丄梻擔嵞帋崌偲側偭偨丅屼揟堛偨偪偼巕傪杻悓偱柊傜偣偰懱偺旈枾傪挷傋丄堓傪愗傝奐偒堓偺拞偐傜帗寋偺擏曅傪庢傝弌偟丄愗傝岥傪尦偵栠偟偨丅巕偼夦椡傪幐偄丄嵞帋崌傪偣偢偵墹媨傪摝偘弌偟偨丅 +偡傞偲偁傞偲偙傠偱丄3恖偺彮擭偑鉕焴傪庢傝崌偭偰偄偨丅偦傟偼杺朄偺鉕焴偱丄拞墰傪朹偱扏偔偲嬻傪旘傃丄偳偙偱傕峴偗傞偲偄偆傕偺偱偁偭偨丅巕偼彮擭偨偪傪拠嵸偟丄巕偑搳偘傞愇傪嵟弶偵廍偭偰偒偨幰偑鉕焴傪庢傞偲偟偰憟偄傪傗傔偝偣丄愇傪搳偘偨偑丄彮擭偨偪偑愇傪廍偄偵峴偭偰偄傞娫偵鉕焴偵忔偭偰旘傃嫀傝丄昉偺墹媨偵栠偭偨丅巕偼嵞傃昉偵儗僗儕儞僌傪挧傒丄鉕焴偺忋偱帋崌傪巒傔丄昉偑鉕焴偺忋偵忔傞偲丄鉕焴傪旘偽偟丄梱偐棧傟偨僇乕僼嶳偺嶳捀偱鉕焴傪壓偟偨丅昉偼墹媨傪棧傟偨偙偲傪斶偟傒丄巕偵晧偗傪擣傔傞偑丄巕偺偡偒傪尒偰鉕焴偐傜巕傪偼偠偒弌偟丄鉕焴傪旘偽偟偰堦恖墹媨偵婣偭偨丅 +嶳捀偵堦恖抲偒嫀傝偵偝傟偨巕偼丄側傫偲偐嶳傪壓傝傞偲丄僫僣儊儎僔偺栘傪尒偮偗偨丅墿怓偄幚傪怘傋傞偲摢偐傜枲偑怢傃丄栘偵棈傒偮偒摦偗側偔側偭偰偟傑偭偨丅愒偄幚傪怘傋傞偲枲偼庢傟偨丅巕偼幚傪廤傔偰丄昉偺墹媨傑偱椃傪偟丄僫僣儊儎僔攧傝偵曄憰偟偰丄昉偺屼揳偺嬤偔偱攧傝岥忋傪弎傋偨丅昉偼帢彈偵僫僣儊儎僔偺幚傪攦偄偵峴偐偣丄巕偼墿怓偄幚傪攧偭偨丅昉偑幚傪怘傋傞偲丄摢偐傜枲偑怢傃昉偑摦偗側偔側偭偰偟傑偭偨丅墹條偼丄昉傪彆偗偨幰偼昉偲寢崶偱偒傞偲偟丄巕偼愒偄幚傪怘傋偝偣昉傪彆偗丄昉偲寢崶偟丄岾偣偵曢傜偟偨丅 +戞嬨偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞嬨偺寈嶡戉挿僕儏儔儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞庒偄晇晈偑偄偨偑丄巕偑庼偐傜側偐偭偨偺偱乽偨偲偊垷杻偺擋偄偱巰偸傛偆側巕偱傕椙偄偐傜巕偑梸偟偄乿偲婩偭偨偲偙傠丄彈偺巕偑惗傑傟丄僔僢僩僁僇乕儞偲柤晅偗偨丅 +僔僢僩僁僇乕儞偑10嵨偺偲偒丄墹巕偑僔僢僩僁僇乕儞偵堦栚傏傟偟丄偁傞榁攌偵庤堷偒傪棅傫偩丅榁攌偼僔僢僩僁僇乕儞偵垷杻偺朼偓曽傪廗偆傛偆偵愢摼偟丄僔僢僩僁僇乕儞偼廬偭偨偑丄垷杻偺愗傟抂偑巜偵巋偝偭偰僔僢僩僁僇乕儞偼巰傫偱偟傑偭偨丅榁攌偼椉恊偵掄傪寶偰偰僔僢僩僁僇乕儞傪埨抲偡傞傛偆偵愢摼偟偨丅幚偼僔僢僩僁僇乕儞偼巰傫偱偍傜偢丄墹巕偑巋偝偭偨垷杻傪敳偔偲懅傪悂偒曉偟丄偦偺屻丄擇恖偼枅擔掄偱埀堷偟偨丅偟偐偟丄戝恇偑墹巕傪娦傔偨偺偱丄墹巕偼夛偄偵棃側偔側偭偰偟傑偭偨丅 +僔僢僩僁僇乕儞偼斶偟傒丄偝傑傛偭偰偄傞偲僗儔僀儅乕儞偺巜椫傪尒偮偗偨丅巜椫傪嶤傝丄戝偒側媨揳偲丄傕偭偲旤偟偄婄偵曄傢傞偙偲傪婅偆偲丄偦傟偼尰幚偵側偭偨丅墹巕偼媨揳偺弌尰偵嬃偒丄偦偙偵廧傓暿偺婄偵側偭偨僔僢僩僁僇乕儞偵堦栚傏傟偟偰偟傑偭偨丅墹巕偼憽傝暔傪偟偰婥傪堷偙偆偲偡傞偑憡庤偵偝傟偢丄僔僢僩僁僇乕儞偐傜乽寢崶偟偨偄偺側傜丄巰傫偩偲婾偭偰帺暘偺憭媀傪偟丄椺偺掄偵埨抲偝傟傞傛偆偵乿偲尵傢傟偨丅墹巕偼廬偄丄巰傫偩傕偺偲偟偰掄偵埨抲偝傟丄偦偙偱僔僢僩僁僇乕儞偲偲傕偵幾杺偝傟偢偵岾偣偵曢傜偟偨丅 +戞廫偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞廫偺寈嶡戉挿僿儔儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞崙偵儉僴儞儅僪偲偄偆墹巕偑偄偨偑丄擭崰偵側傝丄寢崶憡庤傪扵偡偨傔偵椃偵弌偨丅墹巕偼擝傪嶌偭偰偄傞擾壠偺柡偲弌夛偄丄婥偵擖傝丄寢崶傪怽偟崬傓偑丄柡偼乽庤偵怑偺側偄抝偲偼寢崶偟側偄乿偲尵偭偰寢崶傪彸戻偟側偐偭偨丅偦傟傪暦偄偨晝墹偼丄搒偺怑恖傪廤傔丄嵟傕抁帪娫偱庤偵怑傪偮偗傜傟傞怑嬈傪暦偄偨偲偙傠丄婡怐傝偺怑恖偺挿偑乽堦帪娫偱堦恖慜偵偱偒傞乿偲尵偭偨偺偱丄墹巕傪擟偣偨丅婡怐傝偺怑恖偺挿偼丄墹巕偵婡怐傝傪嫵偊丄墹巕偼堦帪娫偱棫攈側婡怐傝偵側偭偨丅墹巕偑嵞搙擝嶌傝偺柡偵媮崶偡傞偲丄柡偼彸戻偟丄傒側岾偣偵曢傜偟偨丅 +戞廫堦偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞廫堦偺寈嶡戉挿僒儔乕丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄爞閽閴(僗儖僞儞)偺嵢偑墹巕傪嶻傫偩帪偵丄墹媨偺塜偺柲攏偑巈攏傪嶻傫偩偺偱丄掗墹偼偦偺攏傪墹巕偺暔偲偟偨丅壗擭偐偟偰丄墹巕偺曣恊偑朣偔側傝丄掗墹偼屻嵢傪沇偭偨偑丄偦偺屻嵢偵偼儐僟儎恖堛巘偺忣晇偑偄偨丅屻嵢偼墹巕傪慳傑偟偔巚偄丄怘帠偵撆傪擖傟傞偑丄墹巕偺攏偑尵梩傪偟傖傋傝丄墹巕偵撆偺偙偲傪嫵偊偨偺偱丄墹巕偼擄傪摝傟偨丅屻嵢偼崱搙偼攏傪嶦偦偆偲丄昦婥偺傆傝傪偟丄儐僟儎恖堛巘偑墹條偵乽屻嵢偺昦婥傪帯偡偵偼墹巕偺攏偺怱憻偐傜嶌傞栻偑昁梫乿偲怽偟忋偘偨偑丄墹巕偼攏偵忔偭偰摝偘偰峴偭偨丅 +墹巕偼偁傞崙偺悈幵彫壆偱摥偔偑丄偦偺崙偺枛偺墹彈偺栚偵棷傑偭偨丅偦偺崙偺7恖偺墹彈偨偪偼丄柟慖傃傪偡傞偙偲偵側傝丄崙拞偺庒偄抝偨偪偑媨揳偺憢偺壓傪捠傝丄墹彈偨偪偼晇傪慖傫偱峴偒丄枛偺柡偼悈幵彫壆偱摥偔墹巕傪慖傫偩丅偟偐偟丄偦偺崙偺墹偼丄枛偺墹彈偺憡庤偺傒偡傏傜偟偝偵棊抇偟丄昦婥偵側偭偰偟傑偭偨丅屼揟堛偼乽張彈偺孎偺旂偺戃偵擖傟偨孎偺擕傪堸傔偽帯傞乿偲尵偄丄墹彈偺晇偨偪偼扵偡偑丄尒偮偗傞偙偲偑偱偒偢丄偨偩枛偺墹彈偺憡庤偱偁傞墹巕偩偗偑攏偺彆偗傪庁傝偰尒偮偗丄墹偺昦婥偼帯傝丄墹偼墹巕傪尒捈偟偨丅偦偺屻丄墹巕偼墹偺孯傪庁傝丄帺暘偺崙偵婣傞偲丄晝墹偼婛偵朣偔丄屻嵢偲儐僟儎恖堛巘偺帯悽偲側偭偰偄偨偑丄偙傟傪峌傔柵傏偟丄崙傪夞暅偟丄傒側岾偣偵曢傜偟偨丅 +戞廫擇偺寈嶡戉挿偺岅偭偨暔岅 [曇廤] +戞廫擇偺寈嶡戉挿僫僗儖丒傾儖丒僨傿乕儞偼師偺傛偆偵岅偭偨丅 +愄丄偁傞墹偼巕偑側偄偺傪擸傫偱偄偨偑丄偁傞擔儅僌儕僽恖偑尰傟丄巕偑惗傑傟傞杺朄偺埞傪弌偟丄惗傑傟偰偔傞挿抝傪搉偡偲栺懇偡傞側傜埞傪搉偡偲尵偆偲丄墹偼彸戻偟丄墹偑椢丄墹斳偑愒偺埞傪鋜傔傞偲丄傎偳側偔巕偑惗傑傟丄挿抝偼儉僴儞儅僪丄擇抝偼傾儕丄嶰抝偼儅僴儉乕僪偲柤晅偗傜傟偨丅挿抝偺儉僴儞儅僪偼憦柧側巕偱偁偭偨偑丄傾儕偲儅僴儉乕僪偼埫嬸偱偁偭偨丅 +10擭屻丄偦偺儅僌儕僽恖偑挿抝傪傕傜偄偵棃偨偑丄墹偼憦柧側儉僴儞儅僪偱偼側偔丄埫嬸側傾儕傪搉偟偨丅儅僌儕僽恖偼傾儕傪楢傟偰敿擔曕偒丄傾儕偵嬻暊偐偲暦偔偲丄乽敿擔偁傞偄偰嬻暊偱側偄偼偢偑側偄偩傠偆乿偲摎偊偨偺偱丄儅僌儕僽恖偼傾儕傪憦柧偱側偄偲巚偄丄墹偺尦偵楢傟偰婣傝丄杮摉偺挿抝傪梫媮偟丄墹偼儉僴儞儅僪傪搉偟偨丅儅僌儕僽恖偼儉僴儞儅僪傪楢傟偰敿擔曕偒丄嬻暊偐偲暦偔偲丄乽偁側偨偑嬻暊側傜巹傕嬻暊偱偡丅乿偲摎偊偨偺偱丄儅僌儕僽恖偼枮懌偟丄椃傪懕偗壆晘偵婣偭偨丅 +儅僌儕僽恖偼幚偼攓壩嫵搆偱丄儉僴儞儅僪偵1嶜偺杺朄彂傪搉偟30擔偱埫婰偡傞傛偆偵尵偭偨偑丄儉僴儞儅僪偼偦偺尵岅偑暘偐傜偢撉傓偙偲偡傜偱偒側偐偭偨丅29擔栚偵崲偭偰壆晘偺掚偵偄傞偲丄栘偵帺暘偺敮偱捿傝壓偘傜傟偰偄傞彮彈傪尒偮偗偨丅偦傟偼儅僌儕僽恖偵曔偊傜傟偨偁傞崙偺墹彈偱丄儉僴儞儅僪偼墹彈偺敮傪夝偒彆偗偨丅墹彈偼杺朄彂偺撉傒曽傪儉僴儞儅僪偵嫵偊偨偑丄乽儅僌儕僽恖偵偼埫婰偱偒側偐偭偨偲摎偊傞傛偆偵乿偲尵偄丄嵞傃敮偱栘偵捿傝壓偘傞傛偆尵偭偨丅30擔栚儉僴儞儅僪偑埫婰偱偒側偐偭偨偲尵偆偲儅僌儕僽恖偼搟傝丄儉僴儞儅僪偺塃庤傪愗傝棊偲偟丄傕偆30擔偱埫婰偡傞傛偆尵偭偨丅儉僴儞儅僪偼嵞傃墹彈偲夛偆偲丄墹彈偼杺朄偱塃庤傪捈偟丄杺朄偱儔僋僟傪2摢弌偟偰丄乽崙偵婣偭偨傜丄媮崶偟偵朘偹偰偔傞傛偆偵乿偲尵偭偰丄偦傟偧傟儔僋僟偵忔偭偰偦傟偧傟偺崙偵婣偭偨丅 +儉僴儞儅僪偼崙偵婣傝丄墹偲嵞夛偟偨丅儉僴儞儅僪偼丄泚姱偵儔僋僟偺庤峧偼攧傜側偄傛偆偵尵偭偨偑丄泚姱偼儔僋僟偲偲傕偵庤峧傪攧傝丄攦偭偨彜恖偺尦偐傜杺朄偺儔僋僟偼徚偊偨偑庤峧偼巆偭偨丅彜恖偼嬃偄偨偑丄偦偙偵椺偺儅僌儕僽恖偑棃偰丄庤峧傪崅妟偱攦偄庢偭偨丅儅僌儕僽恖偑杺朄偺庤峧傪巊偆偲丄儉僴儞儅僪偼儔僋僟偵側傝丄庤峧偵偮側偑傟偰偟傑偭偨丅儅僌儕僽恖偼儉僴儞儅僪偺儔僋僟偵忔傝丄墹彈偺崙傑偱椃傪偟偨偑丄墹彈偺崙偵拝偔偲丄儉僴儞儅僪偼庤峧傪怘偄偪偓傝摝偘弌偟丄墹媨偺捬炛偺栘偺幚偵曄恎偟偨丅儅僌儕僽恖偼儉僴儞儅僪傪曔傑偊傞偨傔丄偦偺崙偺墹偵夛偄捬炛傪媮傔傞偑丄捬炛傪庢傠偆偲偟偨弖娫丄曄恎傪夝偄偨儉僴儞儅僪偵巋嶦偝傟偨丅儉僴儞儅僪偼墹彈偲寢崶偟丄岾偣偵曢傜偟偨丅 +奀偺錕錘偲僔僫偺壋彈偺暔岅乮戞954栭 - 戞959栭乯 [曇廤] + +僔儍儖僉僗僞乕儞偺偁傞崙偺墹僓僀儞丒僄儖丒儉乕儖乕僋偼嶰恖偺墹巕傪傕偆偗偨偑丄 枛偺墹巕僰乕儖僕僴乕儞偺塣惃傪愯偆偨傔偵屇傫偩愯偄巘偨偪偺梊尵偼乽僰乕儖僕僴乕儞墹巕偺塣惃偼戝媑偩偑丄 惉恖偟偨墹巕傪堦弖偱傕栚偵偡傞偲墹偼幐柧偡傞乿偲偄偆傕偺偩偭偨丅 墹偼僰乕儖僕僴乕儞墹巕偲偦偺曣傪墦偔偺媨揳偵墦偞偗丄寛偟偰帺傜偑栚偵偡傞偙偲側偔堢偰傞傛偆偵柦偠偨丅 曣恊偺怽偟暘側偔峴偒撏偄偨梴堢偵傛傝丄僰乕儖僕僴乕儞墹巕偼棫攈側婻巑偵惉挿偡傞丅 +偁傞擔丄峀戝側怷偱幁庪傝傪偟偰偄偨僰乕儖僕僴乕儞墹巕偼丄 傑偭偨偔嬼慠偵摨偠怷偱庪傝傪偟偰偄偨墹偺帇奅偵擖偭偰偟傑偄丄 墹偼偨偪偳偙傠偵幐柧偟偰偟傑偆丅 墹偺帯椕偺偨傔偵廤傑偭偨妛幰偨偪偐傜丄幐柧傪帯偡偨傔偵偼僔僫偺墹崙偺搒偺掚墍偵惗偊偰偄傞乽奀偺錕錘乿偑昁梫偩偲暦偄偨嶰恖偺墹巕偼乽奀偺錕錘乿傪庤偵擖傟傞扵嶕偺椃偵弌傞偑丄 忋偺擇恖偺墹巕偺扵嶕峴偼晄庱旜偵廔傢傞丅 +枛偺墹巕偺僰乕儖僕僴乕儞偼椃偺搑拞偺怷偱弌夛偭偨怷偺庣岇幰偺杺恄偲桭媌傪寢傃丄 斵偺彆椡傪摼偰嬻偺杺恄偨偪偑庣岇偡傞掚墍偵擡傃崬傓偙偲偵惉岟偡傞丅 掚墍偺愹悈偺傎偲傝偵惗偊偰偄傞乽奀偺錕錘乿傪庤偵擖傟偨屻丄 傆偲偟偨岲婏怱偐傜愹悈偺朤傜偺壠偵棫偪婑偭偰傒偨僰乕儖僕僴乕儞墹巕偼丄 怮戜偱柊偭偰偄傞壋彈乽昐崌偺婄乮偐傫偽偣乯乿偺旤偟偝偵堦栚偱楒偵棊偪偰偟傑偆丅 壋彈偺巜椫傪敳偒庢偭偰帺暘偺傕偺偲岎姺偟偨僰乕儖僕僴乕儞墹巕偼丄 乽奀偺錕錘乿傪庤偵晝墹偺懸偮屘嫿傊偲婣娨偡傞丅 +僰乕儖僕僴乕儞墹巕偑墹偺娽慜偵乽奀偺錕錘乿傪嵎偟弌偟偨偲偙傠丄墹偺幐柧偼偨偪偳偙傠偵夞暅偟丄 婌傃偺尷傝偵婌傫偩墹偼1擭娫偵傢偨偭偰廽嵳傪幏傝峴偆傛偆偵柦偠傞丅 扵嶕偵幐攕偟偨擇恖偺墹巕偼僰乕儖僕僴乕儞墹巕傪搃傒丄 幐柧偺夣桙偼乽奀偺錕錘乿偵傛傞傕偺偱偼側偄側偳偲妲慽偟偨偨傔丄 錕錘偺壴偵幐柧傪桙偡椡傪庼偗偨傕偆偨傾僢儔乕偺慡擻偵懳偡傞晄怣偺欓偱捛曻偝傟偰偟傑偆丅 +堦曽乽昐崌偺婄乿偼丄栚妎傔偰傒傞偲乽奀偺錕錘乿偑敳偒庢傜傟丄 巜偵浧傔偰偄偨巜椫偑暿恖偺傕偺偵側偭偰偄傞偙偲偵嬃湵偟丄 晄懟側怤擖幰傪曔傜偊偰乽奀偺錕錘乿傪庢傝栠偡偨傔偵椃偵弌傞丅 +挿椃偺枛丄崙傪嫇偘偰偺偍嵳傝憶偓偺偨偩拞偵偁傞僓僀儞丒僄儖丒儉乕儖乕僋墹偺崙偵擖偭偨乽昐崌偺婄乿偼捠傝偡偑傝偺恖偵帠忣傪暦偒丄 僰乕儖僕僴乕儞墹巕偑僔僫偺崙偐傜傕偨傜偟偨乽奀偺錕錘乿偵傛偭偰墹偑幐柧偐傜夞暅偟偨偍廽偄偱偁傞偙偲傪抦傞丅 乽昐崌偺婄乿偼乽奀偺錕錘乿偑怉偊傜傟偨掚墍偵偨偳傝拝偒丄愞搻斊傪扵偡偨傔偵暔堿偵塀傟偰偄偨偑丄 掚墍偵傗偭偰偒偨僰乕儖僕僴乕儞墹巕傪堦栚尒傞側傝楒偵棊偪偰偟傑偆丅 +乽昐崌偺婄乿偼僰乕儖僕僴乕儞墹巕偵埗偰偰憐偄傪捲偭偨庤巻傪彂偒丄 擇恖偼恖栚傪擡傫偱垽偟崌偆傛偆偵側傝丄偮偄偵偼寢崶偟偰枛塱偔岾暉偵曢傜偟偨丅 +朓枿擖傝偺棎傟敮壻巕偲孋捈偟偺壭傪傑偒偪傜偡彈朳偲偺暔岅乮戞959栭 - 戞971栭乯 [曇廤] + +僶乕僩儞斉乽孋捈偟偺儅傾儖僼偲偦偺彈朳僼傽僥傿儅乕(戞989栭乚戞1001栭)乿 +搶梞暥屔斉乽孋捈偟偺儅傾儖乕僼偲偦偺嵢僼傽乕僥傿儅偺暔岅(戞989栭乚戞1001栭)乿 +僇僀儘偺孋捈偟怑恖儅傾儖僼偺掙堄抧偺埆偄彈朳僼傽僥傿儅乕偼偄偮傕晇傪偺偺偟偭偰偄偨偑丄偁傞擔丄崅壙側朓枿擖傝偺棎傟敮壻巕(僋僫乕僼傽)傪攦偭偰棃傞傛偆儅傾儖僼偵柦椷偟偨丅偟偐偟丄儅傾儖僼偼偦偺擔傑偭偨偔廂擖偑側偔丄崲偭偰偄傞偲丄恊愗側壻巕壆偑嵒摐媜枿偺棎傟敮壻巕傪僣働偱攧偭偰偔傟偨丅偟偐偟僼傽僥傿儅乕偼朓枿偱偼側偄偙偲傪偝傫偞傫側偠偭偨偨傔丄偝偡偑偵媡忋偟偨儅傾儖僼偑偪傚偭偲庤傪忋偘傞偲丄僼傽僥傿儅乕偼乽晇偵朶椡傪怳傞傢傟偨乿偲憶偓棫偰丄嬤強偺恖傪屇傃丄晇偺帟傪愜傝丄旹傪焭偭偨丅偟偐偟丄嬤強偺恖偼僼傽僥傿儅乕偺惈埆偝傪抦偭偰偄傞偺偱丄偲傝側偟偰婣偭偰峴偭偨丅偟偐偟丄梻挬僼傽僥傿儅乕偼晇偺朶椡傪朄姱偵慽偊丄僼傽僥傿儅乕偑婾徹偺嵾偵栤傢傟傞偺傪嫲傟偨儅傾儖僼偑栙偭偰偄傞偲丄朄姱偨偪偼儅傾儖僼偑嵾傪擣傔偨偲巚偄丄懌偺棤偺朹懪偪孻偵偟偨丅傕偆壠偵婣傝偨偔側偐偭偨斵偼丄偨傑偨傑尒偐偗偨壆宍慏偵忔傝崬傒丄慏巕偲偟偰偁偰傕側偔椃棫偭偨丅 +慏偼捑杤偟丄儅傾儖僼偼僜僴僞乕儞崙僴僀僞乕儞偺挰傊懪偪忋偘傜傟偨丅儅傾儖僼傪彆偗偨桾暉側彜恖偼丄愄僇僀儘偱椬偵廧傫偱偄偨崄椏彜恖偺挿榁傾僼儅乕僪偺懅巕偱丄僐僾僩恖偲鎦偄傪偍偙偟偰弌杬偟偰偟傑偭偨斵偺恊桭傾儕偱偁偭偨丅傾儕偼儅傾儖僼傪戝彜恖偱偁傞偲摉崙偺巗応偵徯夘偟丄偦偺戦梘側懺搙偼崙墹偺帹偵撏偔傑偱偵側偭偨丅 +墹偼丄儅傾儖僼偑崑彜偱丄傕偆偡偖斵偺戝戉彜偑棃傞偲怣偠崬傒丄戝恇偺斀懳傪墴偟愗偭偰儅傾儖僼傪墹彈偺晇偲偟偨丅偩偑摉慠側偑傜丄戉彜偼偄偮傑偱偨偭偰傕摓拝偟側偐偭偨丅儅傾儖僼偺戝斦怳傞晳偄偵傛傝崙屔偑僇儔偵側偭偨偲偒丄墹偼戝恇偺媈媊傕偁偭偰墹彈偵帠忣傪妋偐傔偝偣偨偑丄墹彈偼儅傾儖僼傪岲偒偵側偭偰偍傝丄恀幚傪暦偒弌偟偨屻傕丄夝寛偺曽朄傪巚偄偮偔傑偱儅傾儖僼傪堦帪墹媨偐傜摝偑偟丄墹偲戝恇偵偼乽儅傾儖僼偼儀僪僂傿儞偵廝傢傟偨戉彜傪媬弌偵峴偭偨乿偲揔摉側塕傪偮偄偰帪傪壱偄偩丅 +墹媨偐傜摝偘丄偁傞懞偵偨偳傝拝偄偨儅傾儖僼偼丄昻偟偄擾晇偵弌夛偭偨丅擾晇偼儅傾儖僼傪娊懸偟傛偆偲尵偄丄偦偺弨旛偺偨傔弌偐偗偨偑丄怱嬯偟偔巚偭偨儅傾儖僼偼擾嶌嬈傪庤揱偍偆偲敤傪峩偡偲丄敤偺恀傫拞偵杽傕傟偨抧壓幒傪尒偮偗偨丅偦偙偵偼嫄枩偺嵿曮偲愒囿囗偺巜椫偑偁傝丄巜椫傪偙偡偭偰傒傞偲杺恄乽岾暉偺晝乿偑尰傟偨丅偦偺搚抧偼墌拰偺僀儔儉偺愝寁幰傾乕僪偺懅巕僔儍僢僟乕僪偺屆偄曮暔憼偱丄杺恄偼僔儍僢僟乕僪墹偺搝楆偱偁偭偨丅儅傾儖僼偼杺恄偵柦偠偰嵿曮傪塣傃弌偝偣丄杺朄偱戝戉彜偲偛抷憱傪弌偝偣偨丅偦偙偵擾晇偑婣偭偰棃偨丅儅傾儖僼偼擾晇偵姶幱偟丄擾晇偑梡堄偟偨怘暔偺傒傪岥偵偟丄杺朄偱弌偟偨偛抷憱偲懡偔偺嵿曮傪搉偟偰丄戉彜偲嫟偵棫偪嫀偭偨丅 +偙偆偟偰儅傾儖僼偼挿偄挿偄戉彜傪棪偄偰墹媨偵奙慁偟丄嵿曮傪崙墹偲恖乆偵暘偗梌偊偨丅戝恇偼偙偺撲傪夝偒柧偐偦偆偲丄儅傾儖僼傪庰偵悓傢偣杮摉偺榖傪慡偰暦偒弌偟偨丅偦偟偰寗傪尒偰巜椫傪扗偆偲丄杺恄傪屇傃弌偟偰儅傾儖僼偲墹傪嵒敊偵曻拃偝偣丄墹埵偲墹彈傪変偑暔偵偟傛偆偲偟偨丅墹彈偼尵偄婑傞戝恇偵丄巜椫偺惛偑尒偰偄傞偲暈偑扙偘側偄偲尵偄丄戝恇偵巜椫傪偼偢偝偣傞偲偦傟傪扗偄曉偟丄杺恄偺椡偵傛偭偰戝恇傪楽偵擖傟丄墹偲儅傾儖僼傪屇傃栠偝偣偨丅戝恇偼孁巋偟孻偵張偝傟丄埲屻巜椫偼墹彈偑娗棟偡傞偙偲偵側偭偨丅 +偟偽傜偔埨懽側擔乆偑懕偄偨偑丄偁傞栭丄儅傾儖僼偺怮幒偵僼傽僥傿儅乕偑尰傟丄儅傾儖僼偼嫲晐偺偁傑傝婥傪幐偭偨丅墹彈偼丄偙傟偑偐偺埆嵢偱偁傞偲抦傝丄杺恄偵傛偭偰掚偺栘偵敍傝偮偗丄僼傽僥傿儅乕偼惈崻傪捈偡偐巰偸偐偺塣柦偲側偭偨丅偦傟埲崀丄儅傾儖僼偲墹彈偼岾偣側擔乆傪憲偭偨丅 +抭宐偲楌巎偺揤憢乮戞971栭 - 戞994栭乯 [曇廤] + +晝偺嵿嶻傪庴偗宲偄偩惵擭偼丄挿榁偺慐傔偵廬偭偰屆崱搶惣偺彂暔傪彂妕偲柤偯偗偨彂暔屔偵廂廤偟丄撉傒傆偗偭偨丅嬈側傞偲斵偼丄彂妕偵恖乆傪彽懸偟丄愢榖傪偼偠傔偨丅 +帊恖僪儔僀僪丄偦偺崅绨側惈奿偲崅柤偺彈棳帊恖僩僁儅乕僨傿儖丒僄儖丒僴儞僒乕傊偺楒 [曇廤] +帊恖偐偮崉桬偺巑偱偁偭偨僕儏僒乕儉晹懓偺僪儔僀僪偼丄揋懳偡傞儔價傾乕棪偄傞僼傿儔乕僗晹懓傪棯扗偵弌傞搑拞丄彈傪楢傟偨抝傪尒偮偗偨丅彈傪嵎偟偩偝偣傞傛偆梫媮偡傞巊幰傪弌偡偑丄偄偢傟偺巊幰傕抝偵撍偒搢偝傟婣偭偰偙側偄丅偦傟偑悢搙偵偍傛傃丄帺傜晪偄偨僪儔僀僪偼丄抝偑儔價傾乕偦偺恖偱偁傞偙偲傪抦傞丅偦偟偰丄捈慜偺巊幰傪搢偟偨偲偒偵憚傪攋懝偟丄娵崢偱偁傞偺傪尒偰庢傞偲丄帺暘偺憚傪搉偟偰棫偪嫀傜偣偨丅 +悢擭屻丄儔價傾乕偑愴巰偟丄暅廞偵擱偊傞僼傿儔乕僗晹懓偼僪儔僀僪傪曔椄偵偟偨丅柤偲恎暘傪塀偟偰偄偨僪儔僀僪偩偑丄彈偨偪偺堦恖偑斵偺巔傪擣傔偨丅埲慜儔價傾乕偵庣傜傟偰偄偨彈丄儔僀僞偩偭偨丅儔僀僞偼偐偮偰僪儔僀僪偑儔價傾乕偵懳偟崅绨側懺搙傪尒偣偨偙偲傪愢偒丄僪儔僀僪偺傕偺偱偁偭偨憚傪搉偟丄斵傪夝曻偟偨丅埲屻僪儔僀僪偼僼傿儔乕僗晹懓偲偼愴傢側偐偭偨丅 +擭榁偄偨僪儔僀僪偼丄彈棳帊恖僩僁儅乕僨傿儖丒僄儖丒僴儞僒乕偵楒傪偟寢崶傪怽偟崬傓丅僩僁儅乕僨傿儖偼彈搝楆偵柦偠偰僪儔僀僪偑彫梡傪懌偡偲偙傠傪擿偐偣丄抝偺婡擻傪敾抐偟偨忋偱抐傝傪擖傟傞丅僪儔僀僪偼偦傟偵懳偟晽巋帊傪偆偨偄丄悽娫偺昡敾傪偲偭偨丅懳偡傞僩僁儅乕僨傿儖傕丄掜偑愴巰偟偨偲偒偵尒帠側帊傪嬦偠丄偦偺嵥偼抝傪椊偖傕偺偲昡壙偝傟偨丅 +帊恖僼傿儞僪偲偦偺擇恖偺柡丄彈忎晇擔椫僆僼傽僀儔偲寧椫儂僛僀儔 [曇廤] +僕儉儅乕儞晹懓偺僼傿儞僪偼帊恖側偑傜崅柤側婻巑偱傕偁偭偨丅嫮椡側晹懓偲偺愴偄偱丄昐嵨偵側傞僼傿儞僪傕嬱傝弌偝傟丄幍廫偺孯惃傪棪偄偰嶲壛偟偨偑丄偦偺側偐偵斵偺柡丄擔椫僆僼傽僀儔偲寧椫儂僛僀儔傕娷傑傟偰偄偨丅乽敮愗傝偺擔乿偲屇偽傟傞柤崅偄愴偑偨偗側傢偲側偭偨偲偒丄巓枀偼娵棁偲側偭偰椉梼偵揥奐偟丄帊傪傕偭偰巑婥傪屰晳偟丄彑棙偵偮側偘偨丅 +墹彈僼傽乕僥傿儅偲帊恖儉儔僉乕僗偲偺楒偺朻尟 [曇廤] +僀儔僋抧曽偺僰乕儅乕儞墹偼丄墹彈僼傽乕僥傿儅偺憖傪庣傞偨傔丄媨揳偵桯暵偟斣暫傪棫偰偰庣傜偣偰偄偨丅偟偐偟墹彈偼傗偑偰帊恖儉儔僉乕僗偲楒拠偵側傝丄偙偭偦傝堷偒擖傟傞傛偆偵側偭偨丅偦偺曽朄偼丄帢彈偑攚偵儉儔僉乕僗傪攚晧偄丄懌愓偑偮偐偸傛偆偵偟偰塣傃擖傟傞偲偄偆傕偺偱偁偭偨丅 +偩偑偁傞偲偒丄儉儔僉乕僗偺桭恖偑丄攚奿岲偑帡偰偄傞偺傪岾偄偵丄擖傟懼傢傜偣偰偔傟偲棅傫偱偔傞丅暿恖偱偁傞偙偲偵婥偯偄偨墹彈偼抝傪扏偒弌偟丄儉儔僉乕僗偵暿傟偺帊傪憲偭偨丅 +僼僕儖墹偺暅廞 [曇廤] +嘀栆偝偱抦傜傟偨僼僕儖墹偼丄棷庣偵偟偰偄傞娫偵廻揋僕儎乕僪偺怤棯傪庴偗丄垽彣僸儞僪傪扗傢傟偨丅庢傝栠偡偨傔偵媫捛傪偐偗偨僼僕儖墹偑愃岓傪弌偡偲丄僸儞僪偼僕儎乕僪偲媽抦偺條巕偱丄僼僕儖墹偺埆岥傪尵偄側偑傜媃傟偁偭偰偄偨丅偙偺曬崘傪庴偗偨僼僕儖墹偼丄晄堄懪偪傪偐偗偰堦婥偵僕儎乕僪傪嶦偟丄僸儞僪傪攏楐偒偵張偟偨丅 +嵢偐傜偺晇偺昳掕傔 [曇廤] +儎儅乕儞偺彈偨偪偑晇偺昳掕傔傪偼偠傔丄偁傞傕偺偼岥墭偔攍傝丄偁傞傕偺偼懜宧傪岥偵偟偨丅嵟屻偵梐尵幰偺嵢傾乕僀僔儍偼丄彈惈偺偁傞傋偒巔偵娭偟偰偺晇偺尵梩傪揱偊偨丅 +椉抐幰僂儅儖 [曇廤] +岞惓偱巹怱側偔丄乽椉抐幰乿偲熡柤偝傟偰偄偨嫵墹僂儅儖偺彫堩榖廤丅 +壧昉嬻怓偺僒儔乕儅乕 [曇廤] +壒妝壠偺僋乕僼傽恖儉僴儞儅僪偺嫵偊巕偱丄傕偭偲傕梕怓傪屩偭偨偺偼乽嬻怓乿僒儔乕儅乕偩偭偨丅懡偔偺傕偺偑斵彈偵偐側傢偸楒傪偟偨偑丄拞偱傕僀僃僕僃乕僪丒儀儞丒傾儐乕僼偼丄楒偵弣偠傞偙偲偵側偭偨丅傆偨棻偺恀庫偲堷偒懼偊偵怬傪扗偭偨斵偼丄僒儔乕儅乕偺書偊庡偵偮偗慱傢傟丄曏懪偨傟偰巰傫偱偟傑偭偨偺偱偁傞丅 +墴偟偐偗媞 [曇廤] +僩僼傽僀儖偼偁傜備傞墐夛偵墴偟偐偗偰偄偔乽狲塒抝乿偺堎柤傪帩偭偰偄偨丅偁傞墐夛偱嫑傪徿枴偟偰偄偨堦摨偼丄戝偒側嫑傪塀偟偰僩僼傽僀儖偵彫嫑傪弌偡丅戝偒偄嫑偵婥偯偄偨僩僼傽僀儖偼丄彫嫑偺堦旵偑丄偁偦偙偵塀傟偰偄傞戝嫑偑奀偱巰傫偩偁側偨偺晝傪怘偭偨媤偱偡傛丄偲殤偄偨丄偲彫幣嫃傪偆偮丅堦摨偼徫偭偰戝嫑傪僩僼傽僀儖偵嵎偟弌偟偨丅 +敄柦偺挒昉 [曇廤] +嫵墹傾儖丒儅僴僨傿乕偼丄挿孼傾儖丒僴乕僨傿乕偺巰屻偼師巕僴乕儖乕儞丒傾儖丒儔僔乕僪偵愓傪宲偑偣傞傛偆偵堚尵偟偨丅懄埵偟偨傾儖丒僴乕僨傿乕偼傾儖丒儔僔乕僪偲曣傪搃傫偱偄偨偑丄偁傞偲偒丄偮偄偵儅僗儖乕儖傪屇傃弌偟丄傾儖丒儔僔乕僪偺庱傪巃傞傛偆偵柦偠傞丅憡択傪庴偗偨曣僴僀僘儔乕儞墹斳偑丄傾儖丒儔僔乕僪傪塀偟偰孼墹偵恀堄傪栤偆偲丄傾儖丒僴乕僨傿乕偑尒偨柌偱丄傾儖丒儔僔乕僪偑斵偵側傝偐傢偭偰垽彣僈乕僨儖偲媃傟偰偄偨偲偄偆偺偱偁傞丅 +墹斳偺愢摼偱婥傪偲傝側偍偟偨傾儖丒僴乕僨傿乕偼僈乕僨儖偲墐夛傪偼偠傔傞偑丄偦偺偆偪偵懌偵庮傟暔偑偱偒丄偦傟偑攋傟傞偲偲傕偵柦傪幐偭偰偟傑偭偨丅偦偺尨場偼丄墹斳偑傾儖丒僴乕僨傿乕偵堸傑偣偨僞儅儕儞僪擖傝偺僔儍乕儀僢僩偺拞偵偁偭偨丅 懄埵偟偨傾儖丒儔僔乕僪偼丄僈乕僨儖傜偲偲傕偵庰墐傪奐偔丅僈乕僨儖偼丄偙傟偼嶐擔孼墹偑尒偨岝宨偱偁傞偲巜揈偟丄帊嬪傪偆偨偆偲丄撍慠抧偵搢傟偰巰傫偱偟傑偭偨丅 +斶偟偒庱忺傝 [曇廤] +壧庤僴乕僔僃儉丒儀儞丒僗儔僀儅乕儞偼丄傾儖丒儔僔乕僪偐傜壓帓偝傟偨庱忺傝傪尒偰媰偒弌偟偨丅偦偺傢偗偼埲壓偺偲偍傝偱偁傞丅 +僴乕僔僃儉偑僔儕傾偵廧傫偱偄偨偙傠丄僂儅僀儎挬偺嫵墹傾儖丒儚儕乕僪擇悽偲傆偨傝偺壧昉偑忔偭偰偄傞慏偵彽偐傟偨丅偼偠傔偼僴乕僔僃儉傪壓慓偺傕偺偩偲巚偄偐傜偐偆偮傕傝偩偭偨堦峴偩偑丄斵偑壗幰偱偁傞偐偵婥偯偔偲丄壧昉偺傂偲傝偼忢乆懜宧偟偰偄傞偙偲傪柧偐偟丄嫵墹偐傜壓偝傟偰偄偨庱忺傝傪僴乕僔僃儉偵憽偭偨丅 +偩偑偦偺壧昉偼丄慏偐傜懌傪偡傋傜偣偰壨偵棊偪丄憑嶕偵傕偐偐傢傜偢丄偮偄偵偦偺巔傪尒偮偗傞偙偲偑偱偒側偐偭偨丅斶偟傫偩嫵墹偼丄僴乕僔僃儉偐傜庱忺傝傪忳傝庴偗丄偐傢傝偵嵿曮傪憽偭偨偺偱偁傞丅偦偺庱忺傝偑丄傾儖丒儔僔乕僪偑惇暈偟偨崙乆偺嵿曮偵傑偓傟丄夞傝夞偭偰僴乕僔僃儉偺庤偵栠偭偰偒偨偺偱偁傞丅 +儌乕僗儖偺僀僗僴乕僋偲怴嬋 [曇廤] +壧庤儌乕僗儖偺僀僗僴乕僋偼丄僿僕儍僘偺壒妝壠儅傾僶僪偺懛偲抦傝崌偄丄斵偺慶晝偑堚偟偨偡偽傜偟偄壒妝傪暦偐偣偰傕傜偭偨丅婣偭偨偺偪偵帹僐僺偟傛偆偲峫偊偰偄偨僀僗僴乕僋偩偑丄偳偆偟偰傕慁棩偑巚偄弌偣側偄丅傆偨偨傃僿僕儍僘傊偺椃傪寛怱偟偰偄傞偲丄傂偲傝偺壋彈偑偁傜傢傟丄偐偺儅傾僶僪偺壧傪偆偨偆丅僀僗僴乕僋偼斵彈偺嵥擻傪擣傔丄壠偵寎偊擖傟偰埲屻挿偔妝偟傫偩丅 +擇恖偺晳昉 [曇廤] +壒妝壠僀僽儞丒傾僽乕丒傾僥傿僋偼丄偦偺楺旓偺偨傔偵偄偮傕昻朢偟偰偄偨丅桭恖偱嫵墹偺帢廬傾僽僪僁僢儔乕偑丄斵偺崲媷傪傒偐偹偰嫵墹偵徯夘偡傞偑丄朷傓傕偺傪梌偊傞偲偄偆嫵墹偵懳偟丄僀僽儞丒傾僽乕丒傾僥傿僋偼偦偺応偵偄偨傆偨傝偺旤偟偄晳昉傪強朷偡傞丅柺栚傪偮傇偝傟偨傾僽僪僁僢儔乕偑僀僽儞丒傾僽乕丒傾僥傿僋傪朘偹傞偲丄斵偼晳昉偨偪傪椉旼偵偺偣偰忋婡寵偱偁偭偨丅 +偦傟埲屻傕僀僽儞丒傾僽乕丒傾僥傿僋偼丄嵶偐偄偙偲傪婥偵偣偢柧傞偔妝偟偔曢傜偟偨丅 +棊壴惗桘偺僋儕乕儉偲朄妛忋偺擄栤夝寛 [曇廤] +椶帡偺榖:栥拝夝寛 +嵟崅朄姱儎傾僋乕僽丒傾僽乕丒儐乕僗僼偼丄昻偟偄壠偵惗傑傟偨偨傔彮擭偺偙傠愼暔壆偵曭岞偵弌偝傟偨偑丄挿榁偺愢朄傪暦偔偨傔偵偨傃偨傃揦傪敳偗弌偟偰偄偨丅偦傟傪埬偠偨曣偑挿榁傪側偠傞偲丄挿榁偼偄偢傟偙偺巕偼偙偙偱妛傫偩偙偲偵傛傝棊壴惗桘偺僋儕乕儉傪怘傋傞恎暘偵側傞偩傠偆偲摎偊偨丅嵟崅朄姱偵側偭偨偁偲嫵墹傾儖丒儔僔乕僪偲怘帠傪偟偰偄傞偲丄偨傑偨傑棊壴惗桘偺僋儕乕儉壻巕偑嫙偝傟偨丅朄姱偼庒偒偙傠偺巘偺尵梩傪巚偄弌偟丄偦偺堩榖傪嫵墹偵岅偭偨丅 +傑偨丄偁傞栭丄朄姱偼撍慠嫵墹偵屇傃弌偝傟傞丅僀僢僒偑強桳偡傞彈搝楆傪忳偭偰偔傟偲棅傫偱偄傞偺偵丄婃偲偟偰彸抦偟側偄偲偄偆偺偩丅僀僢僒偼丄攚偄偨応崌偵偼偡傋偰偺搝楆傪夝曻偟慡嵿嶻傪婑晅偡傞栺懇偱丄偗偟偰彈搝楆傪庤曻偝側偄惥偄傪偨偰偰偄偨偺偱偁傞丅朄姱偼丄彈搝楆偺敿暘傪專忋偟丄敿暘傪攧傞偙偲偱丄偦偺擄戣傪夝寛偟偨丅傑偨丄抝偺強桳偩偭偨彈搝楆偑師偺抝偺強桳偵側傞偲偒堦掕婜娫傪懸偨側偗傟偽側傜側偄寛傑傝偵偮偄偰偼丄彈搝楆傪夝曻偟偰帺桼彈惈偲偟偰寢崶偡傞偙偲偱丄偦傟傪夞旔偟偨丅 +愹偺傾儔價傾柡 [曇廤] +傾儖丒儔僔乕僪偺巕丄傾儖丒儅傾儉乕儞偺壟慖傃偺曽朄偵偮偄偰丅 +偟偮偙偝偺曬偄 [曇廤] +傾儖丒儅傾儉乕儞偑懄埵偡傞偲偒丄堎曣孼墹僄儖丒傾儈乕儞偲偺憟偄偑婲偙偭偨偑丄愴偄偑廔寢偟偨偁偲傕偭偲傕摢傪擸傑偣偨偺偼丄孼偺曣僙僢僩丒僝僶僀僟偺埖偄偱偁偭偨丅寢嬊傾儖丒儅傾儉乕儞偼僝僶僀僟斳傪寎偊擖傟傞偑丄僝僶僀僟偼偄偮傑偱傕嫵墹偵懳偟崷傒偑傑偟偄栚傪岦偗偰偄偨丅偁傞偲偒僝僶僀僟偼嫵墹傪尒側偑傜壗傗傜傕偛傕偛尵偭偰偄偨偑丄偦傟傪尒欓傔偨傾儖丒儅傾儉乕儞偑栤偄媗傔傞偲丄僝僶僀僟偼師偺榖傪偟偨丅 +傓偐偟嫵墹偲彨婝偺彑晧傪偟偨偲偒丄晧偗偨敱偲偟偰棁偱憱傝夞傞偙偲傪嫮梫偝傟偨丅偦偺孅怞傪朰傟偢丄師偵帺暘偑彨婝偵彑偭偨偲偒丄堦斣廥偔墭偄彈搝楆偲怮傞敱傪嫵墹偵壽偟偨丅偦偺偲偒丄彈搝楆偲嫵墹偺偁偄偩偵偱偒偨巕偑傾儖丒儅傾儉乕儞偱偁傞丅偁偺偲偒偟偮偙偔暅廞偟傛偆偲偟偨曬偄偱丄帺暘偼偄傑変偑巕傪幐偭偰偄傞偺偩丅 +僕儍傾僼傽儖偲僶儖儅僋壠偺嵟屻乮戞994栭 - 戞998栭乯 [曇廤] + +嫵墹僴乕儖乕儞丒傾儖丒儔僔乕僪偼儊僢僇弰楃偺婣搑丄憁堾偱嬂墐傪奐偄偰偄偨丅 偟偐偟晛抜攩怘偡傞戝恇丒僕儍傾僼傽儖偼丄堛巘偺僕僽儔僀儖丒僶僼僥傿傾僗摍偲嫟偵庪偵弌偰偄偨偨傔偦偺応偵偄側偐偭偨丅 偦偺斢僕儍傾僼傽儖偑僥儞僩偱儅儞僪儔偺墘憈傪暦偄偰偄偨偲偙傠丄嫵墹偺屼樜搧帩偪儅僗儖乕儖偑偄偒側傝恥偹偰偔傞丅 嫻憶偓傪妎偊偨僕儍傾僼傽儖偑壗帠偐恥偹傞偲丄嫵墹偑僕儍傾僼傽儖偺庱媺傪梸偟偑偭偰偄傞偲崘敀偝傟偨丅 嬃偄偨僕儍傾僼傽儖偼儅僗儖乕儖偵丄張孻偺棟桼傪墹偵暦偄偰偔傞傛偆棅傫偩偑庴偗擖傟偰傕傜偊側偐偭偨丅 娤擮偟偨僕儍傾僼傽儖偼帺傜栚塀偟傪偟偰丄庱傪棊偲偝傟傞偙偲偲側傞丅 儅僗儖乕儖偑庱媺傪帩偪婣偭偨偲偙傠丄嫵墹偼偦傟偵醾傪揻偒妡偗偨偽偐傝偱側偔僕儍傾僼傽儖偺堚懱傪狩偵偡傞側偳偟偰僶儖儅僋堦栧偵抪怞傪梌偊偨丅傑偨堦愮柤偵抣偡傞僶儖儅僋壠偺堦懓偼搳崠偝傟丄僕儍傾僼傽儖偺晝丒儎僴儎乕偲孼偺僄儖丒僼傽僘儖偼崏栤偵張偝傟偨丅 +偙偺摦婡偵偮偄偰偼榖拞偱埲壓偺偙偲偑偁偘傜傟偰偄傞丅 +丒僶儖儅僋壠偵尃椡偑曃傝偡偓丄傑偨柉廜偺恖婥偑僕儍傾僼傽儖払偵孹偄偰偄傞偙偲傪嫵墹偑晄枮偵姶偠偨偨傔丅 丂偙偺偙偲偼堛巘偺僕僽儔僀儖丒僶僼僥傿傾僗偑捈愙嫵墹偺岥偐傜暦偄偨偲偝傟偰偄傞丅 +丒傾僢僶乕僗挬偺嫼埿偵側傞偐傕偟傟側偄偲敾抐偝傟丄埫嶦偺寁夋偑棫偰傜傟偰偄偨傾儕乕壠偺巕嫙傪丄垼傟偵巚偭偨僕儍傾僼傽儖偑摝偑偟偰偟傑偭偨偨傔丅 丂偙偺峴堊偵偮偄偰嫵墹偑栤偄偨偩偟偨偲偒丄慡偔斀徣偺條巕傪尒偣側偐偭偨僕儍傾僼傽儖偵搟傝傪書偄偨偲偝傟偰偄傞丅 +丒尦棃攓壩嫵偺堦栧偱偁傝側偑傜夞嫵偵夵廆偟偨僶儖儅僋壠偩偑丄幾嫵偲偝傟偨懠廆嫵偺尐傪帩偮偙偲偑懡偔丄怣嬄怱偑媈傢傟偨偐傜丅 +丒傑偨嫵墹偼帺暘偺枀傾僢僶乕僒傪怺偔垽偟偰偄偨偨傔丄偙傟傪僕儍傾僼傽儖偲寢崶偝偣偨丅 丂偟偐偟嫵墹偼擇恖偵懳偟丄嫵墹偺慜埲奜偱擇恖偺埀悾傪廳偹傞偙偲傪嬛巭偟宍幃偺傒偺寢崶傪嫮梫偟偨丅 丂僕儍傾僼傽儖偼棩媀偵偙傟傪庣傠偆偲偟偨偑丄偙傟偵晄枮傪書偄偨傾僢僶乕僒偼彈搝楆偵暞偟栭僕儍傾僼傽儖偺晹壆偵峴偔丅 丂彈搝楆偺惓懱偑傾僢僶乕僒偩偲婥偯偐側偐偭偨僕儍傾僼傽儖偼墹偲偺惥栺傪攋傝丄堦栭傪嫟偵偟偰偟傑偆丅 丂偙傟偱恎偛傕偭偰偟傑偭偨傾僢僶乕僒偲僕儍傾僼傽儖偼墹偺媡椮偵怗傟傞偙偲偲側偭偰偟傑偭偨偐傜丅 +僕儍傾僼傽儖偺張孻屻偺偁傞擔丄晽楥壆偵偰帊恖偺儉僴儞儅僪偑僄儖丒僼傽僘儖偺椷懅偺抋惗傪廽偆偨傔偵嶌傜傟偨帺嶌偺帉傪岥偢偝傫偱偄傞偲丄晽楥壆偺彮擭偑婥傪幐偭偰偟傑偄丄媰偒側偑傜摝偘弌偟偰偟傑偭偨丅 晽楥偐傜弌偨儉僴儞儅僪偑偦偺偙偲偵偮偄偰栤偄媗傔偨偲偙傠丄偦偺彮擭偼帺暘偑僄儖丒僼傽僘儖偺椷懅偩偭偨偲崘敀偡傞丅 棊偪傇傟偰偟傑偭偨彮擭偺恎傪埬偠偨儉僴儞儅僪偼梴巕傪偟偰偦偺巕傪堷偒庢傠偆偲偡傞偑丄屩傝崅偄彮擭偼偦傟傪抐偭偰偟傑偭偨丅 +嫵墹偺曽偼僶僌僟乕僪偵栠傠偆偲偼偣偢丄儔僢僇乕偺抧偵嫃傪掕傔偵偄偭偨丅 偟偐偟僕儍傾僼傽儖傪嶦偟偰偟傑偭偨嫵墹偼偦偺偙偲傪夨傗傒丄懠偺泚姱偑僶儖儅僋壠偺偙偲傪巚偄弌偝偣傞敪尵傪偡傞搙晄婡寵偵側偭偨丅 傑偨嫵墹偼僕儍傾僼傽儖傪嶦偟偨偙偲傗巕嫙払偵墹埵傪慱傢傟偰偄傞偙偲偱嬯偟傓拞丄儅僗儖乕儖傗僕僽儔僀儖摍傪傕晄怣偵姶偠傞傛偆偵側傞丅 +偦偟偰嫵墹偼儂儔乕僒乕儞偺墦惇搑拞偱柊偭偰偄偨偲偙傠丄摢偵庤偑怢傃偰偔傞偺傪尒偨丅 偦偺庤偼愒搚傪埇傝丄傑偨偁傞惡偑乽僩僁乕僗偺挰偵偰嫵墹偼巰偡乿偲偄偆巪偺偙偲傪尵偭偨丅 屻擔昦偺埆壔偱僩僁乕僗偺挰偵棫偪婑偭偨嫵墹偼寖偟偄晄埨傪姶偠丄儅僗儖乕儖偵挰偺搚傪庢偭偰偙偝偣傞丅偦偺搚偼愒偔丄嫵墹偼柌傪巚偄弌偟偰扱偄偨丅 偦偟偰嫵墹偼僩僁乕僗偺挰偱曵屼偟丄傾僢僶乕僗挬戞5戙偼枊傪暵偠偨丅 +僕儍僗儈儞墹巕偲傾乕儌儞僪昉偺桪偟偄暔岅乮戞998栭 - 戞1001栭乯 [曇廤] + +偁傞榁楊偺墹偵幍恖偺巕偑偍傝丄幍斣栚偺僕儍僗儈儞墹巕偼側偐偱傕嵟傕旤偟偐偭偨丅偁傞偲偒垽偺巊幰偩偲偄偆廋摴憁偑僕儍僗儈儞偺傕偲偵傗偭偰偒偰丄偲側傝偺崙偺旤偟偄傾乕儌儞僪昉偑丄側偵偐偵徟偑傟偰斶偟傒偵曢傟偰偄傞偲偄偆榖傪偟偰棫偪嫀傞丅偦傟傪暦偒丄傾乕儌儞僪昉傊偺楒偑傔偽偊偨僕儍僗儈儞偼丄傗傕偨偰傕偨傑傜偢丄偦偺傑傑弌杬偟偰偟傑偭偨丅 +堦曽丄傾乕儌儞僪昉偺斶偟傒偲偼丄柌偵尒偨旤偟偄庒幰傊偺楒偵傛傞傕偺偱偁偭偨丅帢彈偨偪偼婥烼偵擸傓昉偵婥惏傜偟傪偝偣傛偆偲奜偵楢傟弌偡偑丄偦偺偆偪偺堦恖偑丄悢擔慜偐傜僕儍僗儈儞偲偄偆旤偟偄揓悂偒偺庒幰偑忛壓偵棃偰偄傞偲偄偆榖傪偡傞丅帢彈偺榖偵傛傟偽丄偦偺巔偼柌偵尒偨庒幰偲偦偭偔傝偱偁傞丅傑偨丄墦偄偲偙傠偐傜偙偺抧傑偱傗偭偰偒偨棟桼偲偼垽偵懠側傜側偄偩傠偆偲桜偡偲丄昉偼斶偟傒側偳傆偭偲偽偟丄楒暥傪彂偒偼偠傔偨丅 +側傫偳偐暥傪岎傢偟偨偺偪丄憡庤偑偍屳偄偺媮傔偰偄傞恖暔偩偲抦偭偨僕儍僗儈儞偲傾乕儌儞僪偼丄偨偪傑偪楒拠偵側偭偨丅傾乕儌儞僪偼晝墹偵棅傒丄僕儍僗儈儞傪壠抺偺娔帇學偵嵦梡偝偣丄枾夛傪妝偟傓傛偆偵側傞丅 +偩偑傗偑偰丄偙偺偙偲偑晝墹偵抦傟傞偙偲偵側傞丅墹偼搟傝丄僕儍僗儈儞傪惉攕偡傞傛偆昉偺孼掜偨偪偵柦偢傞丅偪傚偆偳偦偺偲偒丄僕儍僗儈儞偼崙偺幰偳傕偑嫲傟傞撠幁偺廧傓怷偵偄偨丅壠抺傪慱偭偰廝偭偰偒偨撠幁傪丄揓傪庢傝弌偟偰偦偺壒偱偁傗偮傝丄桿摫偟偰烞偺拞偵曔傜偊偨僕儍僗儈儞偼丄偦偺岟愌偵傛偭偰嵾傪栤傢傟傞偙偲傪傑偸偑傟偨丅 +側偍傕孼掜偼傆偨傝偺楒傪朩奞偟傛偆偲丄傾乕儌儞僪傪斵彈偺廬孼掜偲寢崶偝偣傞偙偲偵偡傞丅崶楃偺惾偵愽傫偱偄偨僕儍僗儈儞偑昉偵栚偔偽偣偡傞偲丄傾乕儌儞僪偼寗傪傒偰偸偗偩偟丄庤偵庤傪偲偭偰嬱偗棊偪偟偰偟傑偭偨丅 +埲屻丄傆偨傝偺巔傪尒偨傕偺偼偄側偐偭偨丅 +戝抍墌 [曇廤] + +愮堦栭栚乽僕儍僗儈儞墹巕偲傾乕儌儞僪昉偺桪偟偄暔岅乿傪岅傝廔傢偭偨僔僃僴儔僓乕僪偼偙偭偦傝偲丄枀偺僪僯傾僓乕僪偵僔僃僴儔僓乕僪偺巕嫙払傪楢傟偰偔傞傛偆棅傫偩丅 墹偼楢傟偰偙傜傟偨巕嫙払偺懚嵼傪抦傜側偐偭偨偑丄僔僃僴儔僓乕僪偼偦偺巕嫙払偑墹偺巕嫙偱偁傞偙偲傪崘敀偡傞丅 婌傃偵恔偊傞僔僃僴儕儎乕儖墹偼丄僔僃僴儔僓乕僪傪嶦偝側偄偙偲丄傑偨斵彈傪惓嵢偵偡傞偙偲傪惥偭偨丅 +偦偟偰掜偺僔儍僴僓儅乕儞墹偵偦偺偙偲傪揱偊傞偲丄僔儍僴僓儅乕儞墹傕嵞搙偺寢崶傪寛堄偡傞丅 僔儍僴僓儅乕儞墹偼憡庤偲偟偰僪僯傾僓乕僪傪慖傇偑丄僔僃僴儔僓乕僪偼寢崶忦審偲偟偰孼掜晇晈偑摨嫃偡傞偙偲傪採帵偟偨丅 偙偺忦審傪撣傫偩僔儍僴僓儅乕儞墹偼僪僯傾僓乕僪傪岪偵寎偊丄僒儅儖僇儞僪偺墹埵傪曻婞偡傞偙偲傪寛堄偟偨丅 偦偟偰僒儅儖僇儞僪偺墹埵偼僔僃僴儔僓乕僪払偺晝偱偁傞戝恇偑庴偗宲偖偙偲偲側傝丄戝恇偼僒儅儖僇儞僪偵椃棫偭偨丅 +掜偺寢崶偺屻丄僔僃僴儕儎乕儖偼崙拞偱桪廏側擭戙婰曇幰偲彂婰傪廤傔丄帺暘偲僔僃僴儔僓乕僪偲偺娫偵婲偙偭偨偙偲傪彂偒婰偡偙偲傪柦偠偨丅 偦偟偰慡嶰廫姫偲側偭偨嬥帤偺尨杮傪墹幒偺暥屔偵帯傔丄幨杮傪慡椞搚偺嬿乆傑偱攝偭偨丅 +偦偆偟偨堦楢偺弌棃帠丄愮堦栭偵搉偭偰朼偑傟偨暔岅偑丄乽愮栭堦栭暔岅乿偱偁傞丅 +娭楢崁栚 [曇廤] + + 僂傿僉儊僨傿傾丒僐儌儞僘偵偼丄愮栭堦栭暔岅偺偁傜偡偠偵娭楢偡傞僇僥僑儕偑偁傝傑偡丅 + 傾儔價傾岅斉僂傿僉僜乕僗偵杮婰帠偵娭楢偟偨尨暥偑偁傝傑偡丅 +愮栭堦栭暔岅 + 僼儔儞僗岅斉僂傿僉僜乕僗偵杮婰帠偵娭楢偟偨尨暥偑偁傝傑偡丅 +愮栭堦栭暔岅偺傾儞僩儚乕僰丒僈儔儞偵傛傞僼儔儞僗岅栿 + 塸岅斉僂傿僉僜乕僗偵杮婰帠偵娭楢偟偨尨暥偑偁傝傑偡丅 +愮栭堦栭暔岅偺塸栿偱偁傞僶乕僩儞斉 +List of One Thousand and One Nights characters乮塸岅斉乯 +媟拲 [曇廤] + +^ Richard Francis Burton: The_Book_of_the_Thousand_Nights_and_a_Night/Volume_6 - 僂傿僉僜乕僗 +奜晹儕儞僋 [曇廤] + +僶乕僩儞斉愮栭堦栭暔岅偺夝愢 \ No newline at end of file diff --git a/test/testdata/wikipediaTw_Japan_GB2312.txt b/test/testdata/wikipediaTw_Japan_GB2312.txt new file mode 100644 index 0000000..88ede49 --- /dev/null +++ b/test/testdata/wikipediaTw_Japan_GB2312.txt @@ -0,0 +1,631 @@ +日本 +维基百科,自由的百科全书 +(重定向自Japan) +汉汉\u25bc▲ +日本国 +日本国/にほんこく、にっぽんこく(日语) +通称:日本 + +日本国旗 日本国徽 +国歌:《君之代》(君が代) + + + +自然地理(实际管辖区) +面积 +国土面积:37.78万平方公里(世界第60名) +水域率:0.8% +首都 东京 +中央政府 +所在地 东京 +最大城市 东京 +地理最高点 富士山 +最大湖泊 琵琶湖 +时区 UTC+9 +人民生活 +人口 +以下资讯是以2011年估计 +总人口:1.2792亿人(世界第10名) +人口密度:337.1/km2(世界第36名) +官方语言 日语 +官方文字 日文 +民族 大和族、琉球族、阿伊努族、朝鲜族、汉族 +主要宗教 神道、日本佛教 +历法 日本历 +道路通行方向 靠左驾驶 +家用电源 +电压:100 V +插座:A、B +政治文化 +国家宪法 《日本国宪法》 +国家结构形式 单一制 +政治体制 君主立宪制、议会民主制 +法律体系 英美法系 +国家领袖 +国家元首(天皇):明仁 +政府代表(内阁总理大臣):野田佳彦 +政府首脑(内阁总理大臣):野田佳彦 +国家主要领袖(三权分立) +行政(内阁总理大臣):野田佳彦 +立法(国会):尾\u8fbb秀久(代理)、横路孝弘 +司法(最高裁判所):竹崎博允 +经济实力 +国内生产总值(购买力平价) +以下资讯是以2011年估计 +总计:4.309万亿美元[1](第2名) +人均:33805美元[1](第24名) +国内生产总值(国际汇率) +以下资讯是以2011年估计 +总计:5.4732万亿美元[1](第2名) +人均:42,786美元[1](第22名) +人类发展指数 +以下资讯是以2011年估计 +0.901(第12位名)-极高 +中央银行 日本银行 +货币单位 日圆(¥,JPY) +其他资料 +立国历史 +立国日期:2月11日 +立国事件:建国纪念日(2月11日) +国家象徵 天皇、樱花、菊花、绿雉 +国家代码 JPN +国际域名缩写 .jp +国际电话区号 81 +现役军人数 239000(第21名) +人均工业机器人数量世界第一 +日本国(日本语:日本国/にほんこく、にっぽんこく Nihonkoku, Nipponkoku?)简称日本,是位于亚洲东部的一个岛国,领土由北海道、本州、四国、九州四个大岛和六千多个小岛组成。根据日本民间传说,日本於公元前660年2月11日[2]建国。「日本」这个词的意思是“朝阳升起的地方”(近日所出)。日语中「日本」一词有多种假名写法,最常用的是「にっぽん」(Nippon)和「にほん」(Nihon)[3]。由於日本地处中国东面的海洋上,故中文使用上又称其为「东瀛」或「东洋」。 +日本是世界第二大经济体,同时也是世界第三大出口国与第三大进口国。过去日本长期实施君主制,目前为君主立宪制国家。第二次世界大战后颁布的日本国宪法是日本的最高规\u7bc4,规定日本为一司法、行政、立法三权分立的法治国家。日本的国家理念为立宪主义、国民主权、基本人权的尊重、和平主义,以君主天皇作为日本国家与国民的象徵。日本的人口超过1.2亿,是世界人口数量第10大国。首都东京及周边的数县构成的首都圈居住了3千万以上的人口,是世界最大的都市圈。 +目录 [隐藏] +1 历史 +2 地理 +2.1 气候 +2.2 自然环境 +2.3 与邻国的领土纠纷 +3 行政区划 +3.1 主要城市 +4 人口 +4.1 语言 +4.2 宗教 +5 政治 +6 外交关系 +7 军事 +8 经济 +8.1 总体概况 +8.2 科技 +8.3 产业 +8.4 进出口 +8.5 交通运输 +9 文化 +9.1 文学 +9.2 艺术 +9.3 漫画 +9.4 音乐 +10 社会 +10.1 教育 +10.2 体育 +10.3 媒体 +11 生活 +11.1 饮食 +11.2 建筑 +12 灾难列表 +13 参考文献 +14 其他主题 +15 外部链接 +15.1 官方 +15.2 媒体 +15.3 观光 +15.4 其他 +[编辑]历史 + +主条目:日本历史 +在日本神话中,太阳神天照大神的后裔神武天皇于公元前660年建立日本国并即位为天皇。今日的考古学证据则表明,古代的日本是由众多的部落国家以及自东北亚迁徙来的游牧民族融合演变而成的。大约在公元前一万年开始,日本进入新石器时期,是为绳纹时代(公元前一万年至公元前3世纪)和弥生时代(公元前3世纪至公元3世纪)。 +在弥生时代时期,伴随着来自中国和朝鲜人的移入,出现了陶器、铁和铜器;还出现了成块的水田,日本成为了一个农业社会[4][5]。 +公元3世纪后半期到4世纪初,日本已经出现了统一政权\u2014大和王权。这段时期,日本透过朝鲜诸国及一直吸收来自於亚洲大陆的文化。587年,豪族苏我氏的头目苏我马子打倒了物部守屋,又在592年暗杀了崇峻天皇、立女皇推古天皇为帝,圣德太子摄政,日本进入飞鸟时代。圣\u5fb3太子制定了冠位十二阶,并颁布了宪法十七条,试图建立一个以天皇为中心的国家。圣\u5fb3太子过世后,苏我氏长期掌权。645年,中大兄皇子和中臣镰足暗杀了苏我入鹿,掌握了政权。中大兄皇子拥立孝德天皇即位,推动大化革新等改革,仿效中国唐朝的政治制度,试图建立一个律令制的国家。710年,元明天皇迁都平城京,日本进入了奈良时代,律令制国家也日益成熟。日本的版图在这时也逐渐扩张,征服了东北地方部分地区和南九州。 + + +修建于平安时代的平等院凤凰堂 +奈良时代后期,政局动荡,律令制松弛。794年,桓武天皇迁都平安京(现在的京都),此后到1192年成立\u938c仓幕府的这段期间是为平安时代。嵯峨天皇时期的『新撰姓氏录』,记录了居住在京都及畿内的1182个氏族,其中「汉」为163氏,「百济」为104氏,「高句丽」为41氏,「新罗」为9氏,「任那」为9氏,说明当时日本与大陆交流十分频繁。这一时期,随着地方庄园势力的不断增强和朝廷的内乱,军人阶层即所谓的日本武士逐渐上升到权力的中心。 +平安时代末期,出现了以东国为势力范围的源氏和以西国为势力\u7bc4围的平氏两个庞大的武士势力,1159年,发生平治之乱,源氏实力虽遭遇很大削弱,但在东国仍拥有强大实力,国家内战频仍。经过长期的源平合战,平氏被赶出京都,于1185年在坛之浦之战中彻底覆灭[6]。 +1192年,武士首领源赖朝被封为征夷大将军,建立镰仓幕府,开始了日本600多年的幕府时代,展开了军政统治。源赖朝过世后,赖朝妻子的娘家北条氏实力扩大。三代以后权利转归北条氏之手。承久之乱后,北条氏的合议制执权政治达於全盛。1232年(贞永元年),北条泰时制订法典《御成败式目》[7](《贞永式目》)。该法典最初仅适用於武家内部,后来适用於全国。1274年(文永十一年)与1281年(弘安四年),蒙元两次侵日都未能成功,而战后受货币经济影响,无法恩赏抗元官兵,导致御家人的贫困与御家人制度的解体。北条氏实行一族独裁,加深御家人和非御家人武士的反感。地方武士和农民的联合武装团体到处进行反幕活动。幕府由盛转衰。后醍醐天皇乘机发动正中之变与元弘之变。倒幕号召得到各地武士响应。1333年5月新田义贞攻陷\u938c仓,\u938c仓幕府灭亡。 +后醍醐天皇掌握大权以后,并没有满足武士阶层的期望。大军阀足利尊氏成为所有武士的代表,于1336年攻陷京都,扶持两统迭立中的持明院统光明天皇即位。大觉寺统的后醍醐天皇把持着日本皇室的三神器逃到吉野山中,坚持自己才是正统。于是出现了京都(北朝)和吉野(南朝)两个对立的朝廷。足利尊氏则在京都建立了室町幕府。南北朝的征战持续了将近60年,1392年才告结束,由室町幕府拥立的北朝天皇得到国家元首的地位[8]。 + + +江户时代的日本城堡(姬路城) +室町幕府末期发生了应仁之乱,日本进入了群雄割据的战国时代。1573年,大名织田信长,亦是当时最强悍的诸侯,攻下室町幕府所在地二条御所,将足利义昭流放到河内国,室町幕府灭亡。日本历史进入安土桃山时代。1582年,织田信长在本能寺之变中,因家臣明智光秀兵变而被害。信长重臣羽柴秀吉继承了其势力,继续进行统一日本的战争。1586年,秀吉受赐姓丰臣氏并就任太政大臣与关白的官职;1590年完全统一了日本,隔年秀吉将关白一职让与过继来的养子丰臣秀次,自称太阖,以世袭的方式宣示丰臣政权的稳定。秀吉控制大部分的大名诸侯,联兵在1592年发动侵朝战争。1598年7月,秀吉在伏见城过世,日军开始撤出朝鲜半岛。 +1600年,封地在关东地方的大名德川家康取得了关原之战的胜利[9],基本上获得军、政上的优势。1603年,家康被任命为征夷大将军,开创江户幕府。1615年,德川家康在大坂之役中完全消灭了丰臣氏的势力,实现了日本的统一,江户幕府也成为日本实际上的统治者。江户幕府实行日本独特的封建体制-幕藩制,将社会分为士农工商四个阶级及秽多、非人等贱民,基本上阶级间的流动受到限制,但随着后期经济文化的高度发展,阶层间的兴衰、流动与冲突也加剧。 + + +佩里的「黑船」敲开了日本的国门 +1543年,一艘葡萄牙船漂流到种子岛,这是日本第一次接触欧洲人。时日本正值战国纷扰,葡萄牙人将火枪带入日本,并快速普及。天主教也在这时进入日本。然而传教活动与发达的贸易逐渐威胁到江户幕府的统治。1641年幕府把荷兰商馆迁移到长崎的出岛,奉行锁国政策。锁国期间日本只与荷兰和中国进行贸易。锁国政策奉行了200多年,但同时兰学也在日本生根发芽,日本人通过与荷兰人经商学习西方的知识,直到1854年美国海军准将马休·佩里率领舰队驶抵江户附近的浦贺,才重新敲开了日本的国门[10]。与西方重新接触后的日本立即感受到自己在世界舞台长时间的缺席已造成相当程度上的落后。幕府末年暴动频繁,幕藩体制摇摇欲坠。在以西南四藩(萨摩、长州、土佐、肥前)为主的维新志士带领下,开启了一场全国性的倒幕尊皇运动。 +1867年末代德川幕府将军德川庆喜主动大政奉还,以明治天皇为首的新政府成立。1867年开始的明治维新对日本进行了大刀阔斧的多项改革,在地方政治上废藩置县,1889年颁布了《大日本帝国宪法》即是所谓的明治宪法,1890年举行了第一次帝国议会。整顿内政的同时日本也在进行对外扩张。1879年,日本兼并了琉球国;1895年与清朝爆发甲午战争并取胜,获得了台湾与巨额的银元赔款;1905年在日俄战争中获胜,取得了北纬50度以南的库页岛(桦太)。1910年与韩国签订了日韩合并条约,使朝鲜半岛成为了日本的一部分[11]。 +20世纪初,日本帝国主义逐渐形成。第一次世界大战增强了日本的经济实力,日本进入短暂的「大正民主」时期。1923年9月,日本发生关东大地震[12],死亡人数达13万人,日本经济遭遇重创;1927年4月由于日本政府对台湾银行的救济失败,引发全国性金融危机;1930年,世界经济陷入严重衰退,日本未能幸免。这期间滨口内阁失败的经济政策引发人民的严重不信任,右翼势力借此扩张。1931年,日本发动满州事变,在中国东北建立满洲国。1936年2月26日发生了二二六事件[13],广田弘毅组阁,军部对政治的干预进一步增强。1937年7月,大日本帝国与中华民国爆发中日战争,战争中日本不断进逼,占领中国多处领土,蒋中正率领的国民政府军队只能退守中国西南一带。12月13日,日军占领南京,展开南京大屠杀,受害之中国人民则估计至少达300000以上。 +1941年日军偷袭位於夏威夷的美军基地珍珠港,太平洋战争爆发,日本正式向美国、英国和荷兰宣战,同时开始进军东南亚及大洋洲。中途岛战役是太平洋战争的转捩点。战争后期,日本本土受到盟军的密集轰炸,造成数百万人丧生与工业设施的损毁。1945年8月6日和9日,美军分别在广岛市和长崎市投下两枚原子弹;8月8日,苏联对日本宣战;8月15日,裕仁天皇透过电台广播宣布投降,9月2日,日本政府调印降伏文书,第二次世界大战之交战正式结束[14]。 + + +广岛原爆圆顶 +从战败到1952年期间,日本实际被盟军军事占领,由盟军司令(GHQ)统治[15],美军实行财阀解体政策,对垄断资本进行大规模重组。1950年,伴随韩战而生的「特需繁荣」让日本经济进入高速发展期。 +1956年12月18日,日本加入联合国[16]。1964年,东京成功举办奥运会;同年日本加入了经济合作与发展组织,正式跻身于先进国家之列。1973年,由于能源危机,日本经济由高速成长转入安定成长阶段,但成长速度仍是西方先进国家中的前列。日本在国际上的影响力也与日俱增。战后的日本长期由自民党执政,是为所谓「55年体制」直到1993年才出现短暂换届。 +1990年代初期,日本泡沫经济崩溃,经济陷入长期不景气阶段。这一时期失业攀升,国债与赤字庞大,加上奥姆真理教发动的一系列恐怖攻击与阪神大地震社会陷入不安。进入21世纪初期日本经济透过往新兴市场出口出现小波段复苏的伊邪那美景气[17],但是后续发生全球金融海啸和福岛核灾经济陷入困境,新力和丰田指标性大企业纷纷爆出巨大亏损[18],自民党下台,广称「失落的20年」困境。 +[编辑]地理 + + + +日本卫星图 +主条目:日本地理 +日本是欧亚大陆以东,太平洋西部的岛国,由4个弧状群岛(日本列岛、千岛列岛、琉球群岛[19]、伊豆-小笠原群岛)组成。其中北海道、九州、本州及四国四大岛的面积就占了国土面积的99.37%。日本通常被归划於东亚或东北亚的\u7bc4畴,北与俄罗斯联邦、西与朝鲜民主主义人民共和国、大韩民国、亚洲大陆、中华人民共和国(中国大陆)、西南与中华民国(台湾地区)、南与菲律宾共和国隔海相望。日本由6852个岛屿组成,面积约37.8万平方公里。国土面积约70%为山地,因此森林覆盖率高,但却不适合农耕,耕地面积仅占日本国土的11.1%[20][21]。也因此日本的人口多集中在沿海地区,日本的人口密度在世界排名第30位[22]。日本国土狭长,南北总长3800公里,与澳洲、马达加斯加、美国相近。 + + +富士山 +日本列岛按照地质构造可分为西南日本与东北日本两大区域。其界线为本州中部的糸鱼川静冈构造线。日本列岛附近是欧亚板块、菲律宾海板块、太平洋板块和北美洲板块的交界地,同时日本列岛还处在环太平洋造山带、火山带、地震带之上。故日本为多地震、火山与温泉的国家。日本最高的山峰─海拔3,776米的富士山本身就是一座活火山。据统计,世界全部芮氏规模6级以上的地震中,超过二成都发生在日本[23];而日本一国发生的地震,释放的地震能量就占到全球地震释放能量的10%[24]。 +由于日本面积狭小多山,因此河流普遍长度不长但落差较大,虽不利航运但提供了良好的水力发电环境。日本最长的河川是发源于长野县,在新\u6f5f县注入日本海的信浓川[25],总长367公里;流域面积最大的河川是利根川,利根川也是日本第二长的河川。日本最大的湖泊是位于滋贺县的琵琶湖[26],面积670.33平方公里。 +[编辑]气候 + + +冲绳县属亚热带气候,四季温暖。图为九月水纳岛的海滩 +日本深受黑潮、亲潮等洋流影响,海洋性气候明显,一年四季温差很大。日本国土以温带季风气候为主,但由於日本的岛屿自西南向东北延伸得很长,南北跨越纬度约20度,因此全国各地的气候仍然有很大的不同,可分为六个气候区,分别是: +北海道气候:北海道不受梅雨的影响,降雨量较日本其他地方为少。夏季短暂且凉爽;冬季漫长而寒冷。 +日本海侧气候:\u7bc4围为本州岛西部海岸地区。冬季受西伯利亚高气压所控制,吹西北风。同时由于暖流对马海流在冬季通过日本海而带来大量水汽,因而常有豪雪。夏季降水较少,有时因焚风而会出现异常高温。 +中央高地气候:典型的内陆性气候。冬寒夏凉。冬季与夏季及昼夜之间温差很大。降雨量少。 +太平洋侧气候:包括了本州东海岸、南四国和九州大部分地区。夏季受东南季风影响,梅雨强\u98b1风多。冬季则降雪较少。 +濑户内海式气候:包括了山阳地方、北四国、近畿与九州局部地区。这里天气常是晴天,降雨量少,不时遭受旱灾之苦。 +南西诸岛气候:\u7bc4围为琉球群岛。这里属亚热带气候,夏季炎热冬季温暖。降雨量大。夏季常受\u98b1风吹袭。 +日本是世界上降水量较多的地区。主要原因包括了日本海侧地区冬季的降雪;6、7月(冲绳、奄美为5、6月)间连绵不断的梅雨;以及夏季到秋季登陆或接近日本的\u98b1风。日本有记载的最高温度纪录是40.9度,于2007年8月16日在\u57fc玉县熊谷市和岐阜县多治见市测得[27];有记载的最低温度纪录是-41度,于1902年1月25日在北海道旭川市测得[28]。 +[编辑]自然环境 + + +正在泡温泉的日本猕猴 +日本国土南北狭长,四季分明。因为日本是岛国,四面环海,所以来自外部新生物入侵的可能性也相对较低。离岛地区更形成了独自的生态系统。特别是小笠原群岛及琉球群岛自古就建立了比日本本土更加孤立的生态系统。小笠原群岛更有「东洋的加拉帕戈斯」之称。 +与德国等西欧先进国家相比,日本对环境保护的对策较晚。日本是世界上最早面临大规模公害(日本四大公害病)的国家,在公害的对策方面领先。但政府的对应并不完善,至今还有许多政策盲点。 +由于高度经济成长期以后餐桌上食物的变化及海外农产品的输入问题,近年来日本的农林水产业发生了很大变化。出现了农田与人工林的\u9592置,渔业资源减少等问题。自1970年代以来,相较于其他国家森林面积的持续萎缩,日本的森林覆盖率一直保持在三分之二上下,2002年,日本的森林面积达2,512万公顷[29]。 +在生态系统方面,伴随明治时代以后外来物种的进入,生态系统也在发生变化。朱\u9e6e及日本狼的灭绝代表日本的生物多样性出现下降。日本猕猴与野猪在市区的出没给人类的活动带来了影响。 +[编辑]与邻国的领土纠纷 +日本与一些周边邻国存在领海纠纷的问题,包括与中华人民共和国的东海油气田问题;与中华人民共和国及中华民国之间有钓鱼台列屿主权问题(日本称为尖阁诸岛),目前实际由日本控制;与俄罗斯之间有南千岛群岛主权问题(日本称为北方四岛),目前实际由俄罗斯控制;与南韩有独岛(日本称为竹岛)的主权争端,目前由南韩实际控制。 +[编辑]行政区划 + +主条目:日本行政区划 + + +日本行政区划图 +日本的一级行政区划单位为都道府县,全国划分为1都、1道、2府、43县。部份市因人口较多,在当地影响较大,而被指定为政令指定都市、中核市、特例市。都道府县下的行政区划为市町村,此外还有郡、支厅、区、特别区等行政单位。根据地理与人文、经济特徵,日本通常被分为八大区域,包括北海道地方、东北地方、关东地方、中部地方、近畿地方、中国地方、四国地方和九州及冲绳地方。 +日本近年来实行了市町村合并的政策,町村数目大量减少。现在为了缓和东京权力过於集中与增进地方分权,正在检讨废除都道府县,改实行道州制的必要性(日本道州制议论)。1968年,日本自治省导入了地方公共团体编号制度,目前全日本的都道府县与各市町村均有自己的编号。都道府县的编号与ISO 3166-2:JP吻合。全日本47个的都道府县名称见右图。 +[编辑]主要城市 + + +东京彩虹桥 +日本的首都是东京都,东京也是世上最大的都市圈。东京都23区人口至2011年底约有890万人,全部东京都的人口约有1320万人,以东京都为中心,包括神奈川县、\u57fc玉县、千叶县的首都\u570f人口约3670万人以上。日本的皇居、国会议事堂、内阁、最高裁判所、各省厅、各国驻日大使馆、大企业的本部、日本银行、证券公司、百货商店、报社及电视台都集中在东京。目前在东京特别区内和东京周边卫星郊县、已经形成了众多副都心,亦拥有全世界规模最大密度最多的郊区购物商圈。 +如果将东京23区视为一个都市的话,日本共有12个城市人口超过了一百万。其中除了川崎市之外,都是都道府县厅的所在地,详细如下表: + + +大阪市西梅田地区 + + +名古屋城 +城市 都道府县 区域 人口数 人口密度 +每平方公里 +1 东京都 东京都 关东地方 8,742,995 14061 +2 横滨市 神奈川县 关东地方 3,680,503 8414.8 +3 大阪市 大阪府 近畿地方 2,641,893 11902.5 +4 名古屋市 爱知县 中部地方 2,259,762 6922.2 +5 札幌市 北海道 北海道地方 1,906,129 1700.2 +6 神户市 兵库县 近畿地方 1,530,068 2768.2 +7 京都市 京都府 近畿地方 1,469,350 1770.0 +8 福冈市 福冈县 九州及冲绳地方 1,445,628 4244.3 +9 川崎市 神奈川县 关东地方 1,385,003 9710.0 +10 \u57fc玉市 \u57fc玉县 关东地方 1,183,762 5450.3 +11 广岛市 广岛县 中国地方 1,176,502 1230.0 +12 仙台市 宫城县 东北地方 1,028,196 1300.8 +[编辑]人口 + +主条目:日本人口 + + +涩谷街头的人潮 + + +日本人口密度 +根据总务省统计局公布的[30]的数据,截至2005年10月1日止,日本总人口为1亿2731万6815人,在全世界排行第十。日本几乎是单一民族\u2014大和民族组成的国家。然而由於19世纪末以来大日本帝国的领土扩张及移民,目前境内也有少数民族包括琉球人(约200万人)、阿伊努族(约3万人)、在日朝鲜人(约30万人)、日本华人(约10万人)等。除了日本人以外还有200万外国人合法居住在日本,包括60万朝鲜与韩国人,50万中国人等。 +日本的人口密度约为343人/平方公里,其中又以太平洋沿岸地区与南部地区最为密集。在日本,除了四国地方,各地方均有人口在100万以上的大都市。主要都市都集中在沿海地区的平原,10%的日本国土集中了90%的日本人。全国80%的人口居住於城市或大城镇,26%以上的人口居住在首都圈,49%以上的人口集中在东京都、大阪府及神奈川县,而东京都人口密度为5,748人/平方公里。现在东京城市群(即首都圈)的人口达到3千6百70万人以上,为世界最大的都会区之一,在都心地带也引发了地价昂贵等问题。而在农渔村,大量的青年离开本地前往都市,而使这些地区的过疏化和老龄化问题突出。 +日本人的人均寿命位於世界前列,2006年人均预期寿命达81.25岁[31]。日本的高龄化和少子化问题严重,人口已逐渐减少[32]。由于战后婴儿潮出生的人口开始退休,日本面临被扶养人口急剧增加、劳动力成本提高和福利体系负担加重的危机。在2004年,日本有大约19.5%的人口年龄超过65岁。同时,青年人的结婚年龄仍在延后或不想结婚,结婚后也有很多人不要孩子。日本的人口预计在2050年将下降到不足1亿人,2100年将下降到4800万人[33]。但日本拒绝大规模移民计划。 +[编辑]语言 +主条目:日本语 +日本语言受到邻近的中国及朝鲜影响。现在包括外国人在内的日本居民中,大部分人都通日语。此外,还有仅馀不足100人使用的爱努语及主要在琉球群岛地区使用的琉球语。现行的公用语言是以江户山手地区(今东京中心一带)的中流阶层的方言为基础的「共通语」。各个学校也都会教授英语,多认为日本人的英文水平并不高,但主要是在发音层面。 +[编辑]宗教 +主条目:日本宗教 +神道与日本佛教是日本的主要宗教。现在大多数日本人心理上并没有特定的宗教信仰,但是许多宗教仪式或活动已经与日本人的生活融为一体,如婚礼和葬礼。神道教是在日本本土所发展出来的宗教,祭神的场所是神社,神道教认为自然界万物皆为神。 +在《日本书纪》中,佛教于552年传入日本[34]。7世纪初,圣德太子兴建法隆寺,致力推广并普及佛教。此刻,大多数日本人仍自认是佛教信徒,无论是实际上或是名义上。 +1549年,天主教进入日本,至17世纪初,教徒大约有75万人。然而后来德川幕府实行禁教政策,直到19世纪后期,美军强制日本开放贸易与外交的黑船来航事件以后,传教活动才再次兴盛於日本。现在日本经过正式受洗的基督宗教教徒不超过总人口的1%。 +[编辑]政治 + +主条目:日本政治和日本行政机关 + + +今上天皇明仁 +日本为君主立宪国,宪法订明“主权在民”,而天皇则为“日本国及人民团结的象徵”[35]。如同世界上多数君主立宪制度一样,天皇於日本只有元首名义,并无政治实权。 + + +日本国会议事堂 +日本现行的日本国宪法是於1947年5月3日由当时占领日本的美国草拟后,经过日本国会的审议,再由天皇颁行的。日本国宪法最重要的三大原理是主权在民、基本人权的尊重和和平主义。日本政治以这三大原理及其中最基本的对个人(个人尊严)的尊重为基调运行。日本实行三权分立的政治体制,立法权归两院制国会;司法权归「裁判所」(即法院);行政权归内阁、地方公共团体及中央省厅。 +宪法规定国家最高权力机构为国会。日本实行两院制度,众议院有480席,参议院有242席。选民为20岁以上的国民[36]。众议院议员任期为四年,但事实上经常中途解散,鲜少有做满四年任期的情况。参议院议员任期为6年,每3年改选一半。从1955年起,原称保守合同的自由民主党(自民党)一直长期执政,只在1993年至1996年期间成为在野党,1996年后再度执政至2009年(在位首相麻生太郎提早众议院选举,结果自民党大败,民主党大胜)。目前日本执政联盟政党包括民主党和国民新党,内阁总理大臣是野田佳彦;主要在野党包括自民党、公明党、共产党、社民党等。 +[编辑]外交关系 + +主条目:日本外交 + + +2010年6月25日第36届八国集团首脑会议上,日本首相菅直人与俄罗斯总统梅德韦杰夫会晤 +国际关系上日本的最亲密盟友为美国[37],由於日本扼东北亚通往太平洋的门户,在冷战时期是美国抵御共产主义於亚洲扩张的前线岛链,美军在日本各地都有军事基地。日本是美国在亚洲的重要军事据点,在美国的东亚外交策略中有一定影响力。作为世界第二大经济体系,日本努力在世界舞台上争取与之相等的角色。日本自1956年来,累计担任了16年的安理会非常任理事国;日本曾联同德国、巴西及印度组成四国联盟向联合国提交改革安全理事会建议,其中包括加入安理会常任理事国。日本同时是八大工业国组织和APEC成员及东南亚国家联盟中东协十加三论坛的参与国。某些问题,例如捕鲸活动[38],偶尔令日本成为国际组织的批评对象,更加在近年令其与亲密盟友之一的澳洲发生小规模摩擦,[39]但日本与世界关系基本和谐。与此相对的是由於对二战历史、领土划界及军事威胁等的认知不尽相同,日本跟邻国,特别是中华人民共和国、北韩及南韩的关系则相对紧张。根据美国马里兰大学与英国广播公司对全世界四万人进行的民意调查,日本是给世界最佳印象的国家之一[40]。 +[编辑]军事 + +主条目:日本军事 + + +日本海上自卫队的日向型护卫舰(直升机航空母舰) +1945年日本战败后在美军总司令麦克阿瑟的主导下制订了日本国宪法,当中的第九条规定日本放弃发动战争及通过暴力手段解决国际争端,将维持和平和遏止武装冲突的责任交给联合国,被视为世界上最能落实和平主义的宪法[41]。1950年朝鲜战争开始后,为了对抗苏联阵营,日本在美国的指导下逐渐开始武装起来,由警察部队发展出一支二十多万人的军事武装日本自卫队[42]。2003年,日本自卫队被派遣到伊拉克参与维和行动,这是二战以来日本自卫队第一次被派驻海外[43]。2004年的防卫预算为4兆8,764亿日圆,占总预算的5.94%[44]。 +随着《防卫厅设置法》的修改,防卫厅在2007年1月9日升格为防卫省,成为日本中央一级单位。防卫厅升格为防卫省后,日本首相仍为自卫队的最高指挥官。然而,防卫大臣将从此负责日本全国的国防事务,未来不需要再经过内阁,即可自行向国会两院提出与国防相关的法案及预算案。另外,原本定义为「附属任务」的国际紧急救援协助事务、联合国维和事务以及根据《周边事态法》的后方支援等事宜,亦将视为「正常任务」,不用再以个案的方式经国会两院审议通过。[45]7月4日久间章生因发表“美国向日本投掷原子弹是无奈之举”的言论而辞职,由小池百合子接替其出任防卫大臣,成为日本历史上首名负责防卫事务的女性内阁成员。[46] +日本政府2009年3月首先向索马里海域派遣了“涟”和“五月雨”两艘驱逐舰打击海盗,7月又派出第二批接替舰队,驱逐舰“天雾”和“春雨”[47]。10月13日,派出以驱逐舰“高波”和“滨雾”组成的第三批舰队,接替第二批舰队。日本政府还分别于2009年5月和10月初向索马里海域派遣两批P-3C巡逻机部队,为打击海盗进行预警监视[48]。 +[编辑]经济 + +主条目:日本经济 +[编辑]总体概况 + + +东京银座街景 +日本经济高度发达,国民拥有很高的生活水准,2011年全国GDP总量为5,974,297百万美元, 仅次于美国(15,924,184百万美元 )和中国(7,426,090百万美元) ,居世界第3位。而人均国民生产总值(GDP per capita)约42786美元,居世界前列,是全球最富裕、经济最发达和生活水平最高的国家之一。从1968年开始至2010年,日本一直保持世界第2大经济体(仅次于美国),直到2011年才被中国超越 +日本经济自20世纪60年代开始了持续长达30年的高度增长,被誉为“日本战后经济奇迹”(en:Japanese post-war economic miracle)。1960年代池田勇人内阁提出「所得倍增计划」,经济出现平均10%的增长,目前日本拥有的绝大多数世界知名的跨国企业都诞生于这一时期;1970年代初期虽然遇到石油危机,平均仍有5%的增长;1980年代则为平均4%的增长[49]。而从1990年代开始,日本经济趋於不景气,主要是由于1980年代末的过度投资所造成的资产膨胀,以及证券及房地产市场的「泡沫化」,最终在逾放比过高与日圆不断升值下,泡沫经济瓦解。政府改革经济的努力也没有立竿见影的成效。2002年2月以来日本的景气一直扩大,创下了战后最长的景气复苏期纪录,不少企业创造了历史最好业绩。 +[编辑]科技 + + +本田技研工业制造的机器人ASIMO +日本的科学研发能力位居世界第二,特别是在应用科学、机械及医学领域。日本全国有近700000的科研人员,每年的科研经费达1300亿美元,高居全球第二[50],日本在电子、手机通讯、汽车、机械、工业机器人、光学、化学、半导体和金属领域都是世界领先。全世界有一半以上的工业机器人都是日本制造(742,500中有402,200个)[51]。 +[编辑]产业 +政府以资本扶持工业与企业、强大的劳动力、高科技的发展以及较低的军事预算比例(占GDP的1%),帮助日本经济高速发展,并成为当今仅次于美国的科技强国。日本的经济特点是生产商、供应商和经销商的紧密结合、强大的企业联盟、紧密的团队合作、年功序列制、终身雇用制等[52]。最近,日本的企业为了谋求更多的利润已经开始部分放弃这些制度[53]。 +日本的服务业,特别是银行业、金融业、航运业、保险业以及商业服务业占GDP占最大比重,而且处於世界领导地位,首都东京不仅是全国第一大城市和经济中心,更是世界数一数二的金融、航运和服务中心。东京证券交易所年交易量在全世界仅次于纽约证券交易所,2006年东京证券交易所总市值达549.7兆日元,居世界第二位[54]。 + + +东京证券交易所 +自二次大战后,日本的制造业得到迅速发展,尤其电子产业和汽车制造业。日本的电子产业和高科技着名制造商包括索尼、松下、佳能、夏普、东芝、日立等公司。世界最大游戏商Nintendo也是在日本创立,其游戏代表人物为玛利奥、产品为红白机(已停止维修)、NDS及Wii等,业务更扩展至美国、欧盟和中华人民共和国。汽车业方面,日本公司的汽车生产量超越美国和德国,是全球最大的汽车生产国。其中丰田、本田、日产和马自达等制造商,均有出产汽车行销全球。日本拥有世界资产最庞大的银行邮储银行,三菱UFJ金融集团、瑞穗金融集团和三井住友金融集团在世界金融界占有举足轻重的地位。 +日本只有15%的土地是可耕地,政府给予农业高度的补助与保护。除了稻米之外,日本有50%的农产品都仰赖进口。日本是海洋国家,渔业发达。捕鱼量占全球的15%,仅次于中国排名世界第二。日本的能源高度仰赖进口,几乎所有石油都是进口。 +[编辑]进出口 + + +以28种颜色分类描述此国的产品出口,每种颜色盒代表一类产品。 +日本主要的出口对象包括美国(22.8%)、韩国(14.3%)、中华人民共和国(7.8%)、中华民国(6.8%),香港(5.6%)(2006年)。主要的出口产品包括汽车、电子产品、电子机械及化工产品。日本天然资源非常有限,主要原材料都靠进口。 +主要进口伙伴对象包括美国(20.5%)、中国(12.0%)、澳大利亚(6.4%)、沙特阿拉伯(5.5%)、阿拉伯联合酋长国(4.8%)、韩国(4.7%)和印度尼西亚(4.2%)(2006年)。主要进口产品是机械、矿物燃料、食品(特别是牛肉)、化学制品、纺织品和原材料。 +日本最大的贸易伙伴是美国[55]。 +[编辑]交通运输 + + +使用在东海道新干线上的300系列车和700系列车 +日本以江户时代的五街道(东海道、中山道、奥州街道、日光街道、甲州街道)为基础,明治维新以后完成了密度非常高的现代化陆海空运输网。虽然日本国土狭小,但道路总长度却居世界第6位、铁路运输量为世界第3位、航空运输量世界第2位。2004年,日本公路长度达1,177,278公里,铁路长度23,577公里,还拥有173个机场[56]。日本国内有全日本空输和日本航空两大航空集团。日本铁路系统同样四通八达,新干线是全世界最早实用化的高速铁路系统,日本东京地下铁也为世界地铁流动量第一多,其次为莫斯科地铁、首尔地铁、上海地铁及北京地铁,而日本也是高速铁路系统的输出国之一。 +参见:日本铁路运输 +[编辑]文化 + +主条目:日本文化 +日本的文化一方面不断吸收外来文化,同时也产生了自己的特色。自公元4世纪到9世纪,就有渡来人带来欧亚大陆的文化。日本同时也派遣遣隋使和遣唐使积极吸收中国的文化。随后到10世纪左右,日本与东亚大陆的交流变少,开始发展具有独自特色的国风文化。16世纪中叶欧洲文化进入日本,给日本文化带来很大刺激,然而之后因为禁基督教和锁国而陷入停滞。17世纪以后的江户时代在封闭与锁国的稳定环境中再次发展自己的独特文化。 +明治维新后,日本快速西化,传统文化遭遇一定的抑制,日本快速吸收欧美文化,都市也迅速西化,给庶民的生活带来很大变化。大正时期因为经济景气,日本吸收了美国的大众文化如体育、电影等享乐文化。但1920年代以后,因陆军的政策,在第二次世界大战的战时体制下对欧美文化进行了严格的统制。日本战败后,美军在推动民主化的同时也推广了美国文化,这一时期也有否定日本传统文化的声音。在经济高速成长期,生活习惯发生大幅度变化,很多传统习惯流失。另一方面日本人日益自信,对本国文化也重新审视。近年来日本的文化迈向了国际,动漫[57]和电子游戏在海外拥有很大的影响力[58]。日本目前共有16项世界遗产,其中12项是文化遗产、4项是自然遗产[59]。 +[编辑]文学 +主条目:日本文学 + + +源氏物语 +日本最早的典籍,如古事记和日本书纪等都是采汉字书写。直到平安时代才出现了日本特有的文字──假名。紫式部的着作《源氏物语》被认为是世界上第一部小说。和歌是日本特有的以假名写作的一种诗歌,通常由5韵、31个假名组成;《万叶集》是最知名的和歌总汇书籍。俳句也是日本独特的一种文学体裁,知名的俳人松尾芭蕉有「俳圣」之称[60],他的《奥之细道》闻名于世。明治以后,日本文学受西方影响,出现了夏目漱石、森鸥外、芥川龙之介、谷崎润一郎、三岛由纪夫、川端康成、太宰治,以及有「双村上」之称的村上春树及村上龙等知名作家。 +日本有两位诺贝尔文学奖得主,分别是川端康成(1968年)和大江健三郎(1994年)[61]。 +[编辑]艺术 +主条目:日本艺术 +日本传统的表演艺术有歌舞伎、能剧、狂言、文乐、漫才、落语等。能是一种日本独有的古典歌舞剧,演员须带着面具(能面)表演。歌舞伎起源於战国时代末期,演员必须是男性,是比能更大众化的艺术。文乐又名人形净琉璃,是一种木偶戏。 + + +葛饰北斋的浮世绘作品「神奈川冲浪里」 +日本绘画有单色画和双色画之分。浮世绘是日本画中最广为人知的一种,其对西方的印象派艺术产生了不小的影响。 +日本漆器工艺在世界享负盛名,「japan」一字除了解作「日本」,亦为漆器之意[62]。日本漆器的特色是以金银作为装饰花纹,即所谓的「莳绘」,以金、银屑嵌贴於漆液中,干后推光处理,表现出极尽华贵的金银色泽,有时并以螺钿、银丝、沈金嵌出花纹花鸟草虫或吉祥图案,具有极高的艺术价值[63]。 +花道、茶道和香道都是伴随着佛教进入日本的,现在已在日本扎根,成为了日本艺术的重要组成部分。 +[编辑]漫画 +主条目:日本漫画和日本漫画家列表 + + +日本书店的漫画角。漫画大多按出版社和连载杂志划分。 +高度发展的日本漫画已经成为世界漫画当中具有独特风格以及庞大影响力的流派。 +日本的漫画读者包括了所有的年龄层[64],因此日本漫画的题材非常广泛。1950年代以后,漫画逐渐成为日本出版业的主要部分[65]。2006年漫画市值更达到4810亿日圆[66]。除了一小部分漫画是彩色的[67] 之外,大多数日本漫画采用黑白印刷[68]。 +在日本,漫画一般在漫画杂志上连载,\u6bce期漫画杂志可包含多个漫画系列,但\u6bce个系列只刊登一个章节留待下期继续[64][69]。如果某个漫画系列已连载一段时期并且受到读者欢迎,那个系列通常会以单行本的形式出版[64][69]。在单行本中可收集多个漫画章节(与漫画杂志不同,一本单行本仅限於一个漫画系列)。 + + +一幅日式漫画女角 +日本拥有大量的漫画读者。为了满足读者的需求,日本设有专门的漫画咖啡厅(漫画吃茶),在那里读者可以一边喝咖啡一边看漫画,许多人还在漫画咖啡厅过夜。 +日本漫画向海外输出始於1970年代末。近年来,日本漫画业向全球扩张;在世界范围内,日本漫画也越来越普及[70][71]。许多外国出版商在取得授权后翻译和发行外文版日本漫画。 +大多数日式漫画有一些共同的特征:漫画的人物身体和四肢比较接近真人,头和眼睛比较大,鼻子和嘴巴比真人小。日式漫画向来不刻意描绘人种特徵,有时连性别也难以分辨。年龄大多设定在青少年阶段,因此脸的轮廓和皱纹相对较少。另外,日式漫画里的人物通常具有异於常人的人格和情绪表情。 +[编辑]音乐 +主条目:日本音乐和日本流行音乐 +日本的传统音乐被称为邦乐,包括了雅乐、声明、神乐、演歌等。邦乐的演奏乐器种类繁多如三味线、尺八、能管(横笛)、筝、笙、和太鼓等,琵琶由中国传入日本后,也发展出不同的形式。十九世纪末期西方音乐进入日本,给日本音乐带来了很大的影响,昭和后期产生了融合西方元素与日本特色的J-POP[72]。卡拉OK则是日本人最重要的休闲方式之一。 +[编辑]社会 + +[编辑]教育 +主条目:日本教育 +日本实行小学校6年、中学校3年的义务教育。大部分学生在接受完义务教育后还会继续进入高等学校(相当於高中),高等学校就学率为95.3%,位列全球第一(2006年),大学就学率也高达45.5%(2006年)[73]。识字率几乎达到了100%。可说是一个教育相当普及的国家。 +[编辑]体育 +主条目:日本体育 + + +一场日本职棒比赛 +相扑是日本的传统运动,在《古事记》和《日本书纪》中就有记载了,有「国技」之称[74]。现在日本每年举行6次大相扑竞赛;相扑运动员被称为「力士」,其中等级最高者为「横纲」。此外柔道、空手道、剑道和弓道也是日本的传统体育项目,拥有很高的地位。 +明治维新后,西方体育运动透过教育系统进入日本并普及[75]。其中以棒球最为发达盛行。日本的职业棒球联赛开始于1936年,职棒水准位居世界前列,孕育了王贞治、长岛茂雄、铃木一朗等棒球巨星。除了职业棒球之外,全国高等学校野球选手权大会(所谓的甲子园)也颇负盛名。日本的职业足球联赛成立于1992年,现在也有不少观众[76]。2002年日本与南韩共同举办了韩日世界杯足球赛。日本国家足球队是亚洲实力最强的足球队之一,总计赢得了4次亚洲杯。此外,高尔夫球[77]、网球、滑雪等运动在日本也非常普及与流行。 +[编辑]媒体 + + +位于台场的富士电视台总部已是东京地标之一 +主条目:日本媒体 +日本是世界报纸大国,报纸在日常生活中拥有很高的地位,世界上仅有的两份日发行量超过1000万份的报纸《读卖新闻》与《朝日新闻》都是日本报纸[78]。现在日本共有五家全国性报纸,分别是《读卖新闻》、《朝日新闻》、《每日新闻》、《日本经济新闻》(经济专门报纸)和《产经新闻》。地方报也有相当实力,其中以《中日新闻》发行量最大。 +日本是公共媒体与商业媒体并存的体制。公共放送NHK对全国进行广播。由于法令的限制,日本没有全国性的民营电视台,但形成了以东京广播公司为核心的JNN;以日本电视台为核心的NNN·NNS;以富士电视台为核心的FNN·FNS;以朝日电视台为核心的ANN和以东京电视台为核心的TXN六家全国性电视网。在东京、大阪和名古屋三大都会区还有一些独立电视台。 +[编辑]生活 + +[编辑]饮食 +主条目:日本料理 + + +「一汁一菜」:饭、汤以及酱菜 +传统的日本料理主食是米饭,然后再配上其他菜肴\u2014\u2014鱼,肉,蔬菜,酱菜,以及汤。料理的名称则是用这些菜肴的数目来命名。最简单的日本餐是“单菜餐”(日本语:一汁一菜/いちじゅういっさい ichijū-issai*),内容是一碟酱菜(通常是腌黄萝卜),一碗饭,以及一碗汤;传统的日本早餐,通常是味噌汤,米饭,和一碟酱菜。而最常见的料理叫做“三菜餐”(日本语:一汁三菜/いちじゅうさんさい ichijū-sansai)\u2014\u2014汤,米饭,和三碟用不同煮法煮出来的菜。这三碟菜通常是一碟生鱼片,一碟烤菜,和一碟水煮菜,有的则是蒸菜,炸菜,醋菜,或是淋上酱料的菜。“三菜餐”往往会另外附上酱菜以及绿茶。一种很受欢迎的酱菜是梅干。 + + +日本拉面 +由于日本是海岛型国家,日本人相当喜好海产品--包含鱼,贝类,章鱼,虾蟹类,和海草。虽然和其它国家比较起来日本不算是食肉民族(日本在明治时代之前有很长的一段时间是不吃肉的),但是很少日本人会因此认为他们是吃素的。日本人现在也很常吃牛和鸡肉,这两种肉类也是日常料理中经常出现的食材。 +面条虽然是来自于中国,但是面类已经是日本料理很重要的一部份。两种传统的面,荞麦面和乌龙面,汤头通常是用鱼类煮成的高汤加入酱油调味以及不同种类的蔬菜。另一个很受欢迎的面类是在20世纪早期由中国传入的拉面。拉面使用的汤头有许多种,比如用鱼类和酱油煮成的高汤,或是猪肉和奶油煮成的高汤。 + + +日本料理的特色菜:寿司 +日本料理其中一项特色是生食,任何食物如:鲔鱼、鲑鱼、河豚、章鱼、牛肉、鸡、鸡蛋都可以生食入菜。 +日本饮食中比较有特色的为寿司、刺身、清酒、便当(盒饭)、纳豆、天妇罗、章鱼烧、竹轮、荞麦面、寿喜烧、牛\u4e3c等。 +日本人食具使用小碗和改造过的筷子。 +[编辑]建筑 +主条目:日本建筑 +[编辑]灾难列表 + +1923年9月1日上午11时58分(UTC+9)关东地区发生芮氏地震规模7.9地震关东大地震,震央位於东京相模湾,造成十四万人丧生,是日本有史以来死伤人数最多的地震灾害。 +1995年1月17日清晨5点46分(UTC+9)发生芮氏地震规模7.2地震阪神大地震,震央位於神户市西南方23公里的淡路岛。 +2011年3月11日下午1时48分(UTC+9)发生芮氏地震规模9.0地震东日本大地震,震央位於本州东北宫城县东方海面,地震深度10公里,属於浅层地震,破坏力如同11,000颗原子弹,并引发海啸侵袭宫城县、福岛县以及岩手县等地区,也造成福岛第一第二核子发电厂发生辐射外\u6d29的事件。 +2011年3月13日福岛第一核电厂1号机组受三陆冲大地震影响发生冷却系统故障,导致反应炉心温度无法控制,在日本时间下午3时36分4左右,冒出白烟后传出爆炸声响,有4人受伤,并造成辐射外\u6d29。 +[编辑]参考文献 + +^ 1.0 1.1 1.2 1.3 Japan. International Monetary Fund [2011-04-21]. +^ “美国中央情报局《世界概况》(2007年4月17日)”采用前660年建国的说法,但这完全属于神话上的故事,不是政府的官方立场。 +^ 小池清治. 日本の正式な\u8aadみは「ニッポン」?. 日本语は\u60aa魔の言语か? [2007-12-29]. +^ The Yayoi period (c.250 BC \u2013 c.AD 250). Encyclop\ue6dia Britannica. 2006 [2006-12-28]. +^ Pottery. MSN Encarta [2006-12-28]. +^ 源平合\u6226(坛ノ浦の\u6226い)\u30fc\u30fc平氏灭亡 [2008-01-12]. +^ 御成败式目の要点 [2008-01-12]. +^ 南北朝(期) [2008-01-12]. +^ \u95a2ヶ原の\u6226いとは [2008-01-12]. +^ \u9ed2船来航-幕府の混乱 [2008-01-12]. +^ Jesse Arnold. Japan: The Making of a World Superpower (Imperial Japan). vt.edu/users/jearnol2 [2007-03-27]. +^ \u95a2东大震灾の惨状 [2008-01-12]. +^ 226事件(1936) [2008-01-12]. +^ Japanese Instrument of Surrender. educationworld.net [2006-12-28]. +^ 连合国军最高司令官\u7dcf司令部 [2008-01-12]. +^ 日本の国际连合加盟50周年. 外务省 [2008-01-12]. +^ Japan scraps zero interest rates. BBC在线新闻. 2006-07-14 [2006-12-28]. +^ 新力爆出巨大亏损 +^ 实际上,琉球群岛中南部只是由日本托管,其主权不属於日本。(《波茨坦公告》第8条的补充规定,详细请参阅琉球群岛) +^ "Japan". Microsoft\uae Encarta\uae Online Encyclopedia. 2006 [2006-12-28]. +^ Japan Information\u2014Page 1. WorldInfoZone.com [2006-12-28]. +^ World Population Prospects. UN Department of Economic and Social Affairs [2007-03-27]. +^ 杨鹏,《日本 地震成就建筑》 +^ 思远,《世界进入强震周期?》 +^ 信浓川 [2008-01-12]. +^ 都道府\u770c 湖ランキング [2008-01-12]. +^ Gifu Prefecture sees highest temperature ever recorded in Japan - 40.9. Japan News Review Society. 2007-08-16 [2007-08-16]. +^ 1月25日 今日は何の日~\u6bce日が记念日~. 日本记念日学会 [2007-12-26]. +^ 日本の森林面积と森林率 [2007-12-29]. +^ 平成17年国势调查. 总务省统计局 [2007-12-29]. +^ The World Factbook. CIA [2007-12-29]. +^ 日本の人口と人口问题 [2008-1-1]. +^ 将来推计人口(平成19年--117年). \u7dcf务省统计局 [2008-06-10]. +^ 佛教传入 [2007-12-29]. +^ 日本国宪法. 参议院 [2008-01-01]. +^ World Factbook;Japan. CIA. 2007-03-15 [2007-03-27]. +^ Michael Green. Japan Is Back: Why Tokyo's New Assertiveness Is Good for Washington. Real Clear Politics [2007-03-28]. +^ BBC中文 推动解除商业捕鲸日本遭抵制. BBC [2007-12-29]. +^ http://www.sinchew.com.my/node/47827 澳洲·续发动外交抗议澳偕30国反日本捕鲸| 星洲日报 +^ BBC World public opinion. BBC [2007-12-29]. +^ 安倍晋三与日本和平宪法. 明报. 2006-12-7 [2009-10-24]. +^ 日本防卫白书(平成18年版) 资料编 资料55 自卫官の定员及び现员 [2007-12-29]. +^ Tokyo says it will bring troops home [2007-12-29]. +^ 防卫省·自卫队:予算等の概要. 防卫省 [2007-12-29]. +^ 吴谷丰,日本防卫厅正式升格为防卫省,新华网 +^ 小池百合子正式就任日本防卫大臣,新华网 +^ 日本向索马里海域派出打击海盗替换舰队 [2009-07-06]. +^ 日本向索马里海域派遣第三批舰队打击海盗 [2009-10-13]. +^ Japan: Patterns of Development. country-data.com. January 1994 [2006-12-28]. +^ McDonald, Joe. "China to spend $136 billion on R&D." 《商业周刊》,2006年12月4日 +^ The Boom in Robot Investment Continues\u2014900,000 Industrial Robots by 2003 [2007-12-29]. +^ Japan's Economy: Free at last. 经济学人. 2006-07-20 [2007-03-29]. +^ Why Germany's economy will outshine Japan. MoneyWeek. 2007-02-28 [2007-03-28]. +^ Market data. 纽约证券交易所 [2008-01-01]. +^ China Passes U.S. In Trade With Japan: 2004 Figures Show Asian Giant's Muscle. 华盛顿邮报. 2005-01-27 [2006-12-28]. +^ World Factbook;Japan\u2014Economy. CIA. 2006-12-19 [2006-12-28]. +^ A History of Manga. NMP International [2007-03-27]. +^ Leonard Herman, Jer Horwitz, Steve Kent, and Skyler Miller. The History of Video Games. Gamespot [2007-04-01]. +^ 日本にあるユネスコ世界遗\u7523 [2008-01-12]. +^ 俳圣「松尾芭蕉」のこと [2008-01-12]. +^ 日本で最初のノ\u30fcベル赏 [2007-12-28]. +^ Yahoo!辞书. プログレッシブ英和中辞典 [2007-12-30]. +^ 国立故宫博物院-清宫莳绘展. 国立故宫博物院 [2007-12-29]. +^ 64.0 64.1 64.2 Gravett, Paul. 2004. Manga: Sixty Years of Japanese Comics. NY: Harper Design. ISBN 1-85669-391-0. p. 8. +^ Schodt, Frederik L. 1996. Dreamland Japan: Writings on Modern Manga. Berkeley, CA: Stone Bridge Press. ISBN 978-1880656235. +^ "Japanese Manga Market Drops Below 500 Billion Yen." (2007-03-10) http://comipress.com/news/2007/03/10/1622 Accessed 2007-09-14. +^ Kishi, Torajiro. 1998. Colorful. Tokyo: Shueisha. ISBN 4-08-782556-6. +^ Katzenstein, Peter. J. & Takashi Shiraishi 1997. Network Power: Japan in Asia. Ithaca, NY: Cornell University Press. ISBN 978-0801483738. +^ 69.0 69.1 Schodt, Frederik L. 1986. Manga! Manga! The World of Japanese Comics. Tokyo: Kodansha. ISBN 978-0-87011-752-7. +^ Wong, Wendy Siuyi, Globalizing manga: From Japan to Hong Kong and beyond, Mechademia: An Academic Forum for Anime, Manga, and the Fan Arts. 2006, 1: 23-45 [2007-09-14] +^ Patten, Fred. 2004. Watching Anime, Reading Manga: 25 Years of Essays and Reviews. Berkeley, CA: Stone Bridge Press. ISBN 978-1-880656-92-1. +^ J-Pop History. 观察家报 [2007-04-01]. +^ 平成17年版 日本文部科学白皮书:“参考资料8 就学率·进学率(年次别) [2007-12-29]. +^ Sumo: East and West. PBS [2007-03-10]. +^ Culture and Daily Life. Embassy of Japan in the UK [2007-03-27]. +^ Soccer as a Popular Sport: Putting Down Roots in Japan (PDF). The Japan Forum [2007-04-01]. +^ Fred Varcoe. Japanese Golf Gets Friendly. Metropolis [2007-04-01]. +^ 崔保国,《走进日本大报》,第9页 +[编辑]其他主题 + + 日本主题首页 +历史 +地理 国名 | 行政区划 | 首都 +政治 外交 | 军事 | 行政机关 | 宪法 | 元首 | 法律 | 选举 | 死刑 | 军队 | 国会 | 皇室 +社会 人口 | 教育 | 宗教 | 语言 +文化 文学 | 艺术 | 体育 | 媒体 | 漫画 | 料理 | 动画 | 传统艺能 | 音乐 | 建筑 | 流行音乐 | 电影 | 神话 | 茶道 +经济 +交通 新干线 | 铁路运输 +[编辑]外部链接 + +[编辑]官方 +内阁府 +宫内厅 +总务省统计局 +外务省 +众议院 +国会图书馆 +[编辑]媒体 +NHK +共同社 +读卖新闻 +\u7523\u7d4c新闻 +The Japan Times +中日之窗 +[编辑]观光 +日本国家旅游组织 +日本旅游资讯-日本呦 +日本旅游 +日本旅游 +日本旅游攻略 +Wiki旅行上的日本旅游指南 +[编辑]其他 +从维基百科的姊妹计划了解更多有关 +“日本”的内容: + 维基词典上的字词解释 + 维基教科书上的教科书和手册 + 维基语录上的名言 + 维基文库上的原始文献 + 维基共享资源上的多媒体资源 + 维基新闻上的新闻 +美国中央情报局《世界概况》·「日本」(英文) +《大英百科全书》日本专题(英文) +Guardian Unlimited\u2014「特别专题:日本」 +维基媒体的日本地图集 +日本政府的作品 - 古腾堡计划,包括1889年和1946年宪法 +日本影片-储存日本当地的相关影片 + +相关的维基共享资源: +日本 + 日本海、 俄罗斯滨海边疆区 拉彼鲁兹海峡、 俄罗斯库页岛 +日本海、 朝鲜、 韩国 太平洋 + 日本 + +东海、 中华人民共和国华东地区、 中华民国 菲律宾海、 菲律宾、 关岛、 印尼巴布亚、 巴布亚新几内亚 +查 · 论 · 编 +日本行政区划(都道府县) +地理区划 +北海道 | 东北 | 关东 | 中部(北陆 | 甲信越 | 信越 | 东海) | 近畿 | 中国(山阴] | 山阳) | 四国 | 九州(琉球 | 北部九州) + +行政区划 +北海道地方 +北海道 +东北地方 +青森县 | 岩手县 | 宫城县 | 秋田县 | 山形县 | 福岛县 +关东地方 +茨城县 | \u6803木县 | 群马县 | \u57fc玉县 | 千叶县 | 东京都 | 神奈川县 +中部地方 +山梨县 | 长野县 | 新\u6f5f县 | 岐阜县 | 静冈县 | 爱知县 | 富山县 | 石川县 | 福井县 +近畿地方 +三重县 | 滋贺县 | 京都府 | 大阪府 | 兵库县 | 奈良县 | 和歌山县 +中国地方 +鸟取县 | 岛根县 | 冈山县 | 广岛县 | 山口县 +四国地方 +德岛县 | 香川县 | 爱媛县 | 高知县 +九州地方 +九州本岛:福冈县 | 佐贺县 | 长崎县 | 熊本县 | 大分县 | 宫崎县 | 鹿儿岛县 +琉球诸岛:冲绳县 + +亚洲 +东亚及北亚/东北亚 +中华人民共和国 · 中华民国1 · 日本 · 朝鲜 · 韩国 · 蒙古 · 俄罗斯2 +东南亚 +缅甸 · 文莱 · 柬埔寨 · 东帝汶3 · 印度尼西亚3 · 老挝 · 马来西亚 · 菲律宾 · 新加坡 · 泰国 · 越南 +南亚 +孟加拉国 · 不丹 · 印度 · 马尔代夫 · 尼泊尔 · 巴基斯坦 · 斯里兰卡 +中亚 +哈萨克斯坦2 · 吉尔吉斯斯坦 · 塔吉克斯坦 · 土库曼斯坦 · 乌兹别克斯坦 +西亚/西南亚 +阿富汗 · 亚美尼亚 · 阿塞拜疆2 - 纳戈尔诺-卡拉巴赫共和国2、5 · 巴林 · 塞浦路斯2 - 北塞浦路斯土耳其共和国2、5 · 格鲁吉亚2 - 阿布哈兹共和国2、6 - 南奥塞梯共和国2、6 · 伊朗 · 伊拉克 · 以色列 · 约旦 · 科威特 · 黎巴嫩 · 阿曼 · 巴勒斯坦国7 · 卡塔尔 · 沙特阿拉伯 · 叙利亚 · 土耳其2 · 阿拉伯联合酋长国 · 也门 · 埃及4 · 希腊2 +备注 +关于其他独立和未被国际普遍承认的国家和地区,请参阅境外领和未被国际普遍承认的国家列表。 +1 亦因地理位置或政治因素而被称为「台湾」或「中华台北」,未被联合国和大多数国家承认,但除与二十多国保有正式外交关系外, 并与许多重要非邦交国维持半官方关系, 请参阅台湾问题与台海现状。 +2 地跨亚、欧两洲或被认为是欧洲国家。 +3 地跨亚、大洋两洲或被认为是大洋洲国家。 +4 地跨亚、非两洲或被认为是非洲国家。 +5 未被联合国和绝大多数国家承认。 +6 未被联合国和除俄罗斯、尼加拉瓜以外国家承认。 +7 疆域未定且大部分领土被以色列占领,请参阅按巴勒斯坦问题。 +世界地理索引 - 非洲 - 美洲 - 南极洲 - 欧洲 - 大洋洲 - 各国首都列表 + +国际组织成员 +查 · 论 · 编 + 联合国安全理事会 +常任理事国 +(否决权) + +1945-1991 + 雅尔塔会议 → 联合国大会2758号决议(中国与联合国关系) → 苏联解体  四国联盟(联合国改革) +1945-1971 + 中华民国  法国  英国  苏联  美国 +1971-1991 + 中华人民共和国  法国  英国  苏联  美国 +1991- \u2003 + 中华人民共和国  法国  英国  俄罗斯  美国 +非常任理事国 + +1946-2010 +1946-1946 + 埃及  墨西哥  荷兰 +1946-1947 + 澳大利亚  巴西  波兰 +1947-1948 + 比利时  哥伦比亚  叙利亚 + …………… +2007-2008 + 比利时  意大利  南非  印尼  巴拿马 +2008-2009 +布基拉法索  哥斯达黎加  克罗地亚  利比亚  越南 +2009-2010 + 日本  土耳其  奥地利  墨西哥  乌干达 +2010-2011 + 黎巴嫩  尼日利亚  加蓬  巴西 波黑 +2011-2012 + 印度  南非  哥伦比亚  德国  葡萄牙 +2012-2013 + 阿塞拜疆  危地马拉  摩洛哥  巴基斯坦  多哥 +联合国安全理事会决议 +查 · 论 · 编 +亚洲太平洋经济合作组织(APEC) + 澳大利亚  文莱  加拿大  智利  中国  中国香港  印尼   + 日本  韩国  马来西亚  墨西哥  新西兰  巴布亚新几内亚  菲律宾  + 秘鲁  俄罗斯  新加坡  中华台北  泰国  美国  越南 + + +八大工业国组织(G8) + 加拿大  法国  德国  意大利  日本  俄罗斯  英国  美国 +查 · 论 · 编 +经济合作与发展组织(OECD) +成员国 +澳大利亚 · 奥地利 · 比利时 · 加拿大 · 智利 · 捷克 · 丹麦 · 爱沙尼亚 · 芬兰 · 法国 · 德国 · 希腊 · 匈牙利 · 冰岛 · 以色列 · 爱尔兰 · 意大利 · 日本 · 韩国 · 卢森堡 · 墨西哥 · 荷兰 · 新西兰 · 挪威 · 波兰 · 葡萄牙 · 斯洛伐克 · 斯洛维尼亚 · 西班牙 · 瑞典 · 瑞士 · 土耳其 · 英国 · 美国 + +入会候选成员 +俄罗斯联邦 +委员会观察员或参与者 +中国香港 · 新加坡 · 中华台北 · 等25个国家或地区,以及欧盟委员会 +强化合作夥伴 +巴西 · 中华人民共和国 · 印度 · 印度尼西亚 · 南非 +查 · 论 · 编 +环印度洋区域合作联盟(IOR-ARC) +会员国 +澳大利亚 · 印度 · 肯尼亚 · 毛里求斯 · 阿曼 · 新加坡 · 南非 · 印度尼西亚 · 马来西亚 · 马达加斯加 · 莫桑比克 · 斯里兰卡 · 坦桑尼亚 · 也门 · 孟加拉国 · 伊朗 · 泰国 · 阿拉伯联合酋长国 + +观察员国 +中国 · 埃及 · 法国 · 日本 · 英国 +国际组织观察员 +环印度洋旅游组织 diff --git a/test/testdata/wikipediaTw_One_Thousand_and_One_Nights_GB2312.txt b/test/testdata/wikipediaTw_One_Thousand_and_One_Nights_GB2312.txt new file mode 100644 index 0000000..c5fa5af --- /dev/null +++ b/test/testdata/wikipediaTw_One_Thousand_and_One_Nights_GB2312.txt @@ -0,0 +1,105 @@ +一千零一夜 +?基百科,自由的百科全? + 本文介?的是故事集《一千零一夜》。 +关於里姆斯基-科萨科夫所作的交响组曲《天方夜谭》,详见「天方夜? (?曲)」。 +关於亚当山德勒主演电影《天方夜谈》,详见「天方夜谈 (电影)」。 + + +成稿於14世纪的《一千零一夜》手稿,现藏巴黎国立图书馆 +《一千零一夜》(阿拉伯?:???? ??? ???? ??????,波斯语:???? ? ?? ???,又称《天方夜?》,「天方」是麦加旧译名),一部源於东方口头文学传统、於9世纪左右以阿拉伯文成书的故事集。 +《一千零一夜》成书后一直在阿拉伯地区流传,但只是普通的民间文学,不太受到重视,到18世纪初传到西方,却大受欢迎,?久不衰,影响了西方的文学创作,塑造了西方人心目中阿拉伯世界的形象。这部作品在20世纪初经西方传到中国,先后有两个直接从阿拉伯文翻译的大规模版本,以及无数转译、节译甚至自创的版本,《一千零一夜》在世界上翻译及发行量仅次於圣经。[1] +《一千零一夜》是阿拉伯民?故事集。相?古代印度与中国之?有一?桑国,国王山???生性残暴嫉?,因王后行?不端,将其?死,此后?日娶一少女,翌日晨即?掉,以示??。宰相的女儿山?佐德?拯救无辜的女子,自愿嫁?国王,用?述故事方法吸引国王,?夜?到最精彩?,天?好亮了,使国王?不忍?,允?下一夜???。?的故事一直?了一千零一夜,国王?于被感?,与?白首偕老。 +目? [?藏] +1 性描写 +2 手稿 +3 出版与翻译 +4 《一千零一夜》在中国 +5 部分故事 +6 参考书籍 +7 注 +8 外部连结 +[??]性描写 + +《一千零一夜》充斥各种各样的性描写,[2]在阿拉伯世界曾引起小小争议。埃及伊斯?道德法庭曾一度宣布《一千零一夜》为淫书,没收了开罗出版的3,000多套《一千零一夜》,并向出版商和书商罚款。判决引起埃及文化界的强烈回响,文化界人士认为,这样做等於亲手摧毁自身的文化遗?,纷纷撰文、上书抗议。着名作家?吉布·?哈富??:「不管是文学着作还是法律着作,纵使目的有别,却都包含我们所?的『性公开』。像其他文化遗?一样,这是不能更动的……宗教经典中也出现许多类似的性描写,难道我们就因此修改宗教经典??」在社会舆论的压力下,道德法庭只得撤回原判。[3] +[??]手稿 + +《一千零一夜》的书名和骨干,来自一部名为《赫扎尔─艾福萨那》(Hazar Afsaneh)或称《千个故事》的波斯故事集,这部书在早於10世纪已译成阿拉伯文,成为《一千零一夜》的雏型,马苏第在他的名着《?金草原》,书商伊本·纳迪姆(Ibn al-Nadim)在他的《索引书》(Kitab al-Fihrist)中已有提及。[4]现存的阿拉伯文手稿分为两批,一批在\u654d利亚?生,一批在埃及?生。最古老的《一千零一夜》手稿(不计残篇),是成稿於14世纪的\u654d利亚本,藏於巴黎国立图书馆(Bibliotheque nationale de France)。有学者认为两批手稿来自同一个已散失的母本,\u654d利亚手稿因为在?容与风格上的统一,实为「善本」,而埃及手稿的编者随意修改、增订原来的母本,虽然故事增多了(包括《辛巴?险记》),但引起了风格上了的?异,不足为训;[5]然而,也有学者认为两批手稿未必同源,埃及手稿可能来自更古老的手稿,不应贸然将\u654d利亚手稿推为善本。[6] +[??]出版与翻译 + + + +法国画家布朗热(Gustave Boulanger)的作品《一千零一夜》(1873) +第一个印刷版本的《一千零一夜》,并非阿拉伯原文,而是法国东方学家、古物学家加朗(Antoine Galland)於1704至1717年间出版的法文译本(Mille et une nuits)。加朗的版本依据的主要是\u654d利亚手稿,但他自由地删改原文,以配合当时的文学口味与道德尺度。加朗的版本一纸风行,欧洲各国的出版商纷纷据此转译、改写,推出各种语言的《一千零一夜》。 +?得注意的是,《阿拉丁与神灯》与《阿里巴巴与四十大盗》这两个有名的故事,首次出现在加朗的译本中,在\u654d利亚手稿或任何别的手稿中都没有这两个故事。据加朗?,这两个故事是由一个阿拉伯基督徒口授,再由他笔?的。加朗的版本问世后,两度有人声称发现《阿拉丁》的手稿,但经过检验,证实都是从加朗的法文「反译」回阿拉伯文的?品。[7] +首个阿拉伯文版本的《一千零一夜》,於1814、1818年在加尔各答发行,全两册,由当地的威廉堡学院(Fort William College)出版,编者是该学院一名阿拉伯文教授,他以\u654d利亚手稿为底本,并自行添加了一些新故事。 +1824年,第二个版本在布雷斯劳(Breslau),即现在波兰的弗罗茨瓦夫(Wroc?aw)发行,全12册,出版经年,直至1843年才出全,这个版本的文本来源是\u654d利亚手稿与一分近代的埃及手稿。该分埃及手稿包含大量近代材料,虽然凑足了一千零一夜,但风格参差不齐,跟最古的十四世纪\u654d利亚手稿相去甚远。 +正是根据这分「足本」手稿,1835年有人在埃及城市布拉克(Bulaq)出版了第三个版本的《一千零一夜》。1839至1842年,再有人根据该分埃及手稿的一个抄本,并参照之前的加尔各答本、布雷斯劳本,在加尔各答出版了第四个版本的《一千零一夜》,通常称为「第二加尔各答本」。 +由於「布拉克本」和「第二加尔各答本」所收的故事最多,百多年来各地的翻译者多以这两版本作为翻译的文本。19世纪较为名的西方译本,要数英国探险家、翻译家伯顿爵士(Sir Richard Francis Burton)的16册「全译本」(A Plain and Literal Translation of the Arabian Nights' Entertainments, Now Entituled The Book of The Thousand Nights and a Night),这个译本包括大量以至过量的情欲描写,跟同时代的保守版本大为不同。伯顿的译笔跨张,爱用古词兼自铸伟词,字里行间极力营造异国情调。评论家几乎?口一辞,将伯顿译本评为不忍卒读,唯阿根廷作家博尔赫士对伯顿本?眼相看,加以赞赏。[8] +在象?派诗歌鼻祖马拉美(Stephane Mallarme)的鼓励下,生於开罗的法国医生兼文人马尔迪鲁斯(Joseph Charles Mardrus)重译了《一千零一夜》,於1898至1904年间出版,这个版本收?的故事比加朗的多得多,而且保留了所有情欲的描写,以「足本」、「原味本」自居,得到同代文人如纪德的大力推崇。然而,后世论者指出,马尔迪鲁斯不只随意删改原文,而且他的阿拉伯文水准压根就不行,错译、死译的地方比比皆是。[9] +1984年,哈佛的阿拉伯文教授马哈迪(Muhsin Mahdi),将上述的14世纪\u654d利亚手稿校定出版(Alf Layla wa Layla, Leiden),为求尽忠於原稿,甚至不加标点与变音符号。1990年,巴格达出生的哈达维(Husain Haddawy)根据这个「古本」译出新的英文本;2001年,法国的?瓦姆(Rene R Khawam)根据藏在巴黎的\u654d利亚手稿,译出全新的四册本;2004年,德国的奥特(Claudia Ott)也根据马哈迪的版本译出了新的《一千零一夜》。 +[??]《一千零一夜》在中国 + +1900年,周桂笙在《新庵谐译》卷一中初次译介了《一千零一夜》,由故事的?起直至〈渔翁的故事〉。1904年,周作人以笔名「萍云女士」在《女子世界》上发表了《?女奴》,即〈阿里巴巴〉的故事,后来印成单行本。据他自己?:「《天方夜谭》里的《亚利巴巴与四十个强盗》是世界上有名的故事,我看了觉得很有趣味,陆续把他译了出来,──当然是用古文而且带着许多误译与删节。」[10]这是周作人翻译的第一篇外国文学作品,但此书之后未有重印,也未有收入他的自编文集。1906年,商务印书馆出版奚若的四卷译本,后被收入《万有文库》,跟周桂笙、周作人的版本一样,转译自英文,用的是文言文。 +首个从阿拉伯文将《一千零一夜》翻成汉语的,是回族学者纳训。1957年,人民文学出版社出版了纳训重新翻译的《一千零一夜》三卷本,1982年再推出六卷本。据纳训自己所?,他「有意从阿拉伯原文翻译《一千零一夜》,还是在抗日战争时期,当时共译了六个分册,由商务印书馆出版了五册,但所得稿酬还不?买一次公共汽车票。」[11]1998年,李唯中根据「布拉克本」推出了新译本,花山文?出版社出版,为目前含故事最多的中译本,其后在台湾推出了繁体字版。纳训与李唯中的译本经常成为盗版的对象。有关《一千零一夜》汉译的详细情况,可参?盖双(2000)。 +[??]部分故事 + +主条目:en:List of stories within One Thousand and One Nights +国王山努?和他的一千零一夜 +?翁、魔鬼和四色? +??克?尼和?城 +朱特和?个哥哥 +?背 +太子阿特士和公主哈?·?芙?之梦 +?身不笑者 +?商和匪徒 +哈·曼丁 +?木? +睡着的国王 +洗染匠和理?? +撒?者?浩? +?夫和雄人? +阿拉丁和神灯 +航海家辛巴? +瞎眼僧人 +智者盲老人 +蠢?、?子与?子 +女王祖白?和糖??子 +阿卜杜拉·法?里和?个哥哥 +麦?·沙?追求漂亮女人 +?鞋匠???夫 +巴士拉?匠哈桑 +海姑娘和?儿子 +阿里巴巴和四十大盗 +[??]参考书籍 + +中文 +盖双(2000)。《《天方夜谭》知多少?──写在《一千零一夜》汉译问世一百年之际〉,《阿拉伯世界研究》1、2期。 +纳训(1957-8)。《一千零一夜》(3卷本)。北京:人民文学出版社。 +_____(1982-4)。《一千零一夜》(6卷本)。北京:人民文学出版社。 +奚若[译],叶绍钧[注](1930)。《天方夜谭》(万有文库第1集第889种,全4册)。[出版地缺]:商务印书馆。 +?溥浩(1997)。《神话与现实:<一千零一夜>论》。北京:社会科学文献出版社。 +《中国大百科全书·外国文学II》(1982)。上海;北京:中国大百科全书出版社。 +周桂笙[译],?研人[编次],张纯[点校](1998)。《新庵谐译初编》,收於海风主编《??人全集》,哈尔滨:北方文艺,第9册299-370页。 +周作人(1986)。《学校生活的一页》,收於张菊香、张铁荣编《周作人?究资料》,天津:天津人民,第1册93-95页。 +外文 +Haddawy, Husain (1990). The Arabian Nights; Based on the Text of the Fourteenth-Century Syrian Manuscript. New York: Norton Company. +Irwin, Robert (1994). The Arabian Nights: a Companion. London: Allen Lane. +Khawam, Rene R (2001). Les Mille et une nuits. Paris: Phebus. +Ott, Claudia (2004). Tausendundeine Nacht. nach der altesten arabischen Handschrift in der Ausg. von Muhsin Mahdi erstmals ins Dt. ubertr. Munchen: Beck. +[??]注 + +^ 李唯中[译],<一千零一夜>,序文。 +^ ?溥浩 1997:187-213; Irwin 1994:159-177 +^ ?溥浩 1997:184-187 +^ ?溥浩 1997:5-6;Irwin 1994:49-50 +^ Haddawy 1990:VII-VIII +^ Irwin 1994:59 +^ Haddawy 1990:VIII +^ Irwin 1994:31-32 +^ Irwin 1994:38-39 +^ 周作人 1986:94 +^ 纳训 1957:3 +[??]外部连结 + +《一千零一夜》的两个中译本,名字翻译问题,及情色的描述差异 +德国后?代??《阿拉伯之夜》中文首演 diff --git a/test/testdata/zh/GB18030/wikitop_zh_GB18030.txt b/test/testdata/zh/GB18030/wikitop_zh_GB18030.txt new file mode 100644 index 0000000..18fefe6 --- /dev/null +++ b/test/testdata/zh/GB18030/wikitop_zh_GB18030.txt @@ -0,0 +1,251 @@ +基百科:首页 + + 维基百科,自由的百科全书 + 跳转到: 导航, 搜索 + + 联合供稿 淺藍色 - 深藍色 - 灰色 - 橙色 - 自訂首頁說明 + + + 海納百川,有容乃大 + 维基百科 + 人人可編輯的自由百科全書 + 已有381,540篇中文條目 + + * · 歡迎 + * · 內容 + * · 分類 + * · 主題 + + * · 特色內容 + * · 簡單版首頁 + * · 纯文本首頁 + * · 手機版維基百科 + + + +特色条目 + + Statue of Silent Witness.jpg + + 精英大師,是一匹香港純種賽馬,現在已經退役。精英大師出生於澳洲,在短途三冠洋紫荊短途錦標、百週年紀念短途盃、主席短途獎等等賽事奪冠,創下世界史 + 上設立分級制度後首匹連勝17場的馬匹,另有多項香港賽駒的香港紀錄。2004年,精英大師以競賽馬匹的身份入選美國《時代》雜誌年度全球最具影響力「 + 人」物之一。此馬由告東尼訓練,所有賽事均由騎師高雅志策騎。2007年2月角逐最後一場賽事後退役,在澳洲墨爾本近郊的一個牧場安享晚年。精英大師服 + 役期間,被香港賽馬會大力宣傳,馬會為牠建立專屬網站,亦為牠發行多項紀念品,並且製作《愛彼錶女皇盃及精英大師 - 不敗傳奇》DVD影碟。 + + 其他条目:台灣國中教育 - 夏朝 - 天津碱厂 - 漢考克號航空母艦 + + 候选 | 存档 | 所有特色条目... + + +新闻动态 + + 苏尔坦·本·阿卜杜勒-阿齐兹 + * 10月23日,土耳其凡城省发生里氏7.2级强烈地震,造成至少85人死亡、500多人受伤。 + * 10月22日,沙特阿拉伯王储苏尔坦·本·阿卜杜勒-阿齐兹(图)因癌症在美国纽约去世,享年83岁。 + * 10月21日,欧洲伽利略定位系统首批两颗卫星在法属圭亚那太空中心由俄罗斯联盟号运载火箭搭载升空。 + * 10月20日,西班牙巴斯克人分裂组织埃塔宣布该组织将永久放弃武装斗争。 + * 10月20日,前利比亚革命领导人穆阿迈尔·卡扎菲在苏尔特之战中被全国过渡委员会领导的国民解放军击毙。 + + 維基新聞 | 讣闻 | 更多新闻... + + +优良条目 + + Knez Mihailo, Republic Square.jpg + + 贝尔格莱德是塞尔维亚首都和最大的城市,位于塞尔维亚北部萨瓦河和多瑙河汇合处,此处也是潘诺尼亚平原和巴尔干半岛的相遇处。2002年,贝尔格莱德共 + 有人口1,576,124,是原南斯拉夫地区最大的城市,也是仅次于伊斯坦布尔、雅典和布加勒斯特的东南欧第四大城市。贝尔格莱德地区最早的人类居住出 + 现在公元前4800年温查文明时期。1284年,贝尔格莱德第一次成为塞尔维亚斯雷姆王国的首都。此后,它还先后成为塞尔维亚、南斯拉夫首都以及塞爾維 + 亞和黑山的行政、立法首都。贝尔格莱德是塞尔维亚唯一的直辖市,被分为17个自治市,每一个都拥有自己的地方委员会。贝尔格莱德是塞尔维亚的经济、文化 + 、教育和科技中心。 + + 候選 | 存档 | 所有優良條目... + + + +你知道吗? + + * 印度都有哪些旗帜?(圖) + * 哪種物質可溶解硝化纖維,俗稱二甲基溶纖劑? + * 哪座建筑在1936年建成时为天津市最高建筑? + * 马来西亚都有哪些旗帜? + * 哪位球员是中国足坛第一个拿到国内三个级别联赛冠军的人? + * 美国情景喜剧《好汉两个半》的第二季都有哪些剧集? + + 候选 | 存档 | 创建新条目 | 更多新条目... + + +历史上的今天 + + 10月24日:联合国日 + 沙特尔大教堂 + * 1260年,法国沙特尔大教堂(图)落成,法国国王路易九世亲临落成仪式。 + * 1648年,神圣罗马帝国和法国、瑞典等国代表在明斯特正式确认《威斯特伐利亚和约》,三十年战争结束。 + * 1860年,中国清朝代表奕訢与英国代表额尔金伯爵签订《北京条约》,將九龍半島割让给英国。 + * 1929年,美国纽约证券交易所股价暴跌,引发全球经济大萧条。 + * 1945年,《联合国宪章》在获得美国、英国、中国、苏联和法国等多数签字国的批准后生效,联合国成立。 + + 节日 | 存档 | 更多历史事件... + + + +每日图片 + + Teide qtl1.jpg + + 泰德峰是西班牙和大西洋岛屿的最高峰,并且是世界上第三大火山。这是一座活火山,位于加那利群岛的特内里费岛,也是加那利群岛最著名的地标。火山及其周 + 围组成了泰德国家公园,占地18900公顷,2007年6月29日被列为世界遗产。2008年,泰德国家公园是加那利群岛和西班牙游客最多的国家公园。 + 2004年,有350万游客,是游客人数仅次于日本富士山的火山。泰德峰海拔高度为3718米,是西班牙和大西洋中最高的山峰。图为泰德峰。 + + 每日图片 | 特色图片 + + + + 维基百科是一个内容自由、任何人都能参与、并有多种语言的百科全书协作计划。我们的目标是建立一个完整、准确和中立的百科全书。 + + 所有文字内容在CC-BY-SA-3.0协议下发布,任何人都可以在该协议条款的要求下自由使用这些内容。 + + 读者手册 | 走进维基百科 + + + 任何人都可以修改维基百科上的内容,但是请遵守我们的方针和指引。 + + 无论是创建新条目,还是编辑现有条目,或者为条目增加一幅插图,您都可以为维基百科作出贡献。 + + 编辑手册 | FAQ + + + 当前有1,076,572名注册用户,其中活跃用户有5,864名。所有这些志愿者通过互助客栈和讨论页进行合作与讨论。或者您也可以用IRC或邮件列 + 表进行沟通。 + + 社区主页 + + + 維基百科提醒你… + + 這個世界對我們的認識 + +是否對於世界各地怎去看維基百科感到好奇?若你看看我們的Wikipedia:新闻界的报导、新闻报导引用维基百科的内容、Wikipedia as + a press source +(英文維基),你會知道維基百科已經逐漸被新聞界注視,且維基百科的內容經常作為新聞界、出版界、學術界甚至是法庭的資訊來源。欲知道維基百科在網絡世 +界的競爭狀況,可以參考Alexa瀏覽量報告、Usenet公告板和Google的新聞及答案查詢服務。 + + 詳細另見: Wikipedia:维基百科与媒体 + + 上一個提示 - 下一個提示 + + 提示大全 - 下一個隨機提示 - 回提示最上方 + + + 维基百科由非营利组织维基媒体基金会运作。基金会旗下尚有其他數个多语言、自由内容的維基计划: + Meta Wiki + 元维基 + 协调各维基计划 + wiktionary + 维基词典 + 多语言字典和词典 + wikinews + 维基新闻 + 自由的新闻资源 + wikibooks + 维基教科书 + 教科书和手册 + wikiquote + 维基语录 + 名人名言的集锦 + Wikisource + 维基文库 + 自由的图书馆 + Wikispecies + 维基物种 + 自由的物种资料库 + wikiversity + 维基学院 + 自由的研习社群 + Commons + 维基共享资源 + 共享的多媒体资料库 + + 若您在維基百科受益良多,請考慮資助基金會添購設備。欲與中文版取得聯繫,請至新聞組或寄送電子郵件。 + If you do not write Chinese but need to contact zh-wikipedia, you can + leave your message here. + + 来自“http://zh.wikipedia.org/w/index.php?title=Wikipedia:%E9%A6%96%E9%A1% + B5&oldid=18000640” + +个人工具 + + * 登录/创建账户 + +名字空间 + + * 项目页面 + * 讨论 + +不转换 + +变换 + + * 不转换 + * 简体 + * 繁體 + * 大陆简体 + * 港澳繁體 + * 马新简体 + * 台灣正體 + +查看 + + * 阅读 + * 查看源代码 + * 查看历史 + +操作 + +搜索 + + ____________________ (Submit) 搜索 + +导航 + + * 首页 + * 分類索引 + * 特色内容 + * 新闻动态 + * 最近更改 + * 随机条目 + +帮助 + + * 帮助 + * 维基社群 + * 方针与指引 + * 互助客栈 + * 询问处 + * 字词转换 + * IRC即时聊天 + * 联系我们 + * 关于维基百科 + * 资助维基百科 + +工具 + + * 链入页面 + * 链出更改 + * 上传文件 + * 特殊页面 + * 打印页面 + * 永久链接 + +其他语言 + + * 本页面最后修订于2011年10月10日 (星期一) 16:03。 + * 本站的全部文字在知识共享 署名-相同方式共享 3.0协议之条款下提供,附加条款亦可能应用。(请参阅使用条款) + Wikipedia®和维基百科标志是维基媒体基金会的注册商标;维基™是维基媒体基金会的商标。 + 维基媒体基金会是在美国佛罗里达州登记的501(c)(3)免税、非营利、慈善机构。 + + * 隐私政策 + * 关于维基百科 + * 免责声明 + * 移动浏览 + diff --git a/test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt b/test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt new file mode 100644 index 0000000..8458876 --- /dev/null +++ b/test/testdata/zh/UTF-8/wikitop_zh_UTF-8.txt @@ -0,0 +1,251 @@ +鍩虹櫨绉:棣栭〉 + + 缁村熀鐧剧锛岃嚜鐢辩殑鐧剧鍏ㄤ功 + 璺宠浆鍒帮細 瀵艰埅, 鎼滅储 + + 鑱斿悎渚涚ǹ 娣鸿棈鑹 - 娣辫棈鑹 - 鐏拌壊 - 姗欒壊 - 鑷▊棣栭爜瑾槑 + + + 娴风磵鐧惧窛锛屾湁瀹逛箖澶 + 缁村熀鐧剧 + 浜轰汉鍙法杓殑鑷敱鐧剧鍏ㄦ浉 + 宸叉湁381,540绡囦腑鏂囨鐩 + + * 路 姝¤繋 + * 路 鍏у + * 路 鍒嗛 + * 路 涓婚 + + * 路 鐗硅壊鍏у + * 路 绨″柈鐗堥闋 + * 路 绾枃鏈闋 + * 路 鎵嬫鐗堢董鍩虹櫨绉 + + + +鐗硅壊鏉$洰 + + Statue of Silent Witness.jpg + + 绮捐嫳澶у斧锛屾槸涓鍖归娓磾绋辰棣紝鐝惧湪宸茬稉閫褰广傜簿鑻卞ぇ甯嚭鐢熸柤婢虫床锛屽湪鐭斾笁鍐犳磱绱崐鐭旈對妯欍佺櫨閫卞勾绱蹇电煭閫旂泝銆佷富甯煭閫旂崕绛夌瓑璩戒簨濂啝锛屽壍涓嬩笘鐣屽彶 + 涓婅ō绔嬪垎绱氬埗搴﹀緦棣栧尮閫e嫕17鍫寸殑棣尮锛屽彟鏈夊闋呴娓辰椐掔殑棣欐腐绱閷勩2004骞达紝绮捐嫳澶у斧浠ョ璩介Μ鍖圭殑韬唤鍏ラ伕缇庡湅銆婃檪浠c嬮洔瑾屽勾搴﹀叏鐞冩渶鍏峰奖闊垮姏銆 + 浜恒嶇墿涔嬩竴銆傛棣敱鍛婃澅灏艰〒绶达紝鎵鏈夎辰浜嬪潎鐢遍◣甯珮闆呭織绛栭◣銆2007骞2鏈堣閫愭渶寰屼竴鍫磋辰浜嬪緦閫褰癸紝鍦ㄦ境娲插ⅷ鐖炬湰杩戦儕鐨勪竴鍊嬬墽鍫村畨浜櫄骞淬傜簿鑻卞ぇ甯湇 + 褰规湡闁擄紝琚娓辰棣渻澶у姏瀹e偝锛岄Μ鏈冪偤鐗犲缓绔嬪皥灞恫绔欙紝浜︾偤鐗犵櫦琛屽闋呯磤蹇靛搧锛屼甫涓旇=浣溿婃剾褰奸尪濂崇殗鐩冨強绮捐嫳澶у斧 - 涓嶆晽鍌冲銆婦VD褰辩銆 + + 鍏朵粬鏉$洰锛氬彴鐏e湅涓暀鑲 - 澶忔湞 - 澶╂触纰卞巶 - 婕㈣冨厠铏熻埅绌烘瘝鑹 + + 鍊欓 | 瀛樻。 | 鎵鏈夌壒鑹叉潯鐩... + + +鏂伴椈鍔ㄦ + + 鑻忓皵鍧β锋湰路闃垮崪鏉滃嫆-闃块綈鍏 + * 10鏈23鏃ワ紝鍦熻冲叾鍑″煄鐪佸彂鐢熼噷姘7.2绾у己鐑堝湴闇囷紝閫犳垚鑷冲皯85浜烘浜°500澶氫汉鍙椾激銆 + * 10鏈22鏃ワ紝娌欑壒闃挎媺浼帇鍌ㄨ嫃灏斿潶路鏈烽樋鍗滄潨鍕-闃块綈鍏癸紙鍥撅級鍥犵檶鐥囧湪缇庡浗绾界害鍘讳笘锛屼韩骞83宀併 + * 10鏈21鏃ワ紝娆ф床浼藉埄鐣ュ畾浣嶇郴缁熼鎵逛袱棰楀崼鏄熷湪娉曞睘鍦簹閭eお绌轰腑蹇冪敱淇勭綏鏂仈鐩熷彿杩愯浇鐏鎼浇鍗囩┖銆 + * 10鏈20鏃ワ紝瑗跨彮鐗欏反鏂厠浜哄垎瑁傜粍缁囧焹濉斿甯冭缁勭粐灏嗘案涔呮斁寮冩瑁呮枟浜夈 + * 10鏈20鏃ワ紝鍓嶅埄姣斾簹闈╁懡棰嗗浜虹﹩闃胯繄灏斅峰崱鎵庤彶鍦ㄨ嫃灏旂壒涔嬫垬涓鍏ㄥ浗杩囨浮濮斿憳浼氶瀵肩殑鍥芥皯瑙f斁鍐涘嚮姣欍 + + 缍熀鏂拌仦 | 璁i椈 | 鏇村鏂伴椈... + + +浼樿壇鏉$洰 + + Knez Mihailo, Republic Square.jpg + + 璐濆皵鏍艰幈寰锋槸濉炲皵缁翠簹棣栭兘鍜屾渶澶х殑鍩庡競锛屼綅浜庡灏旂淮浜氬寳閮ㄨ惃鐡︽渤鍜屽鐟欐渤姹囧悎澶勶紝姝ゅ涔熸槸娼樿灏间簹骞冲師鍜屽反灏斿共鍗婂矝鐨勭浉閬囧銆2002骞达紝璐濆皵鏍艰幈寰峰叡 + 鏈変汉鍙1,576,124锛屾槸鍘熷崡鏂媺澶湴鍖烘渶澶х殑鍩庡競锛屼篃鏄粎娆′簬浼婃柉鍧﹀竷灏斻侀泤鍏稿拰甯冨姞鍕掓柉鐗圭殑涓滃崡娆х鍥涘ぇ鍩庡競銆傝礉灏旀牸鑾卞痉鍦板尯鏈鏃╃殑浜虹被灞呬綇鍑 + 鐜板湪鍏厓鍓4800骞存俯鏌ユ枃鏄庢椂鏈熴1284骞达紝璐濆皵鏍艰幈寰风涓娆℃垚涓哄灏旂淮浜氭柉闆峰鐜嬪浗鐨勯閮姐傛鍚庯紝瀹冭繕鍏堝悗鎴愪负濉炲皵缁翠簹銆佸崡鏂媺澶閮戒互鍙婂鐖剧董 + 浜炲拰榛戝北鐨勮鏀裤佺珛娉曢閮姐傝礉灏旀牸鑾卞痉鏄灏旂淮浜氬敮涓鐨勭洿杈栧競锛岃鍒嗕负17涓嚜娌诲競锛屾瘡涓涓兘鎷ユ湁鑷繁鐨勫湴鏂瑰鍛樹細銆傝礉灏旀牸鑾卞痉鏄灏旂淮浜氱殑缁忔祹銆佹枃鍖 + 銆佹暀鑲插拰绉戞妧涓績銆 + + 鍊欓伕 | 瀛樻。 | 鎵鏈夊劒鑹鐩... + + + +浣犵煡閬撳悧锛 + + * 鍗板害閮芥湁鍝簺鏃楀笢锛燂紙鍦栵級 + * 鍝ó鐗╄唱鍙憾瑙g鍖栫簴缍紝淇楃ū浜岀敳鍩烘憾绾栧姂? + * 鍝骇寤虹瓚鍦1936骞村缓鎴愭椂涓哄ぉ娲ュ競鏈楂樺缓绛戯紵 + * 椹潵瑗夸簹閮芥湁鍝簺鏃楀笢锛 + * 鍝綅鐞冨憳鏄腑鍥借冻鍧涚涓涓嬁鍒板浗鍐呬笁涓骇鍒仈璧涘啝鍐涚殑浜? + * 缇庡浗鎯呮櫙鍠滃墽銆婂ソ姹変袱涓崐銆嬬殑绗簩瀛i兘鏈夊摢浜涘墽闆嗭紵 + + 鍊欓 | 瀛樻。 | 鍒涘缓鏂版潯鐩 | 鏇村鏂版潯鐩... + + +鍘嗗彶涓婄殑浠婂ぉ + + 10鏈24鏃ワ細鑱斿悎鍥芥棩 + 娌欑壒灏斿ぇ鏁欏爞 + * 1260骞达紝娉曞浗娌欑壒灏斿ぇ鏁欏爞锛堝浘锛夎惤鎴愶紝娉曞浗鍥界帇璺槗涔濅笘浜蹭复钀芥垚浠紡銆 + * 1648骞达紝绁炲湥缃楅┈甯濆浗鍜屾硶鍥姐佺憺鍏哥瓑鍥戒唬琛ㄥ湪鏄庢柉鐗规寮忕‘璁ゃ婂▉鏂壒浼愬埄浜氬拰绾︺嬶紝涓夊崄骞存垬浜夌粨鏉熴 + * 1860骞达紝涓浗娓呮湞浠h〃濂曡á涓庤嫳鍥戒唬琛ㄩ灏旈噾浼埖绛捐銆婂寳浜潯绾︺嬶紝灏囦節榫嶅崐宄跺壊璁╃粰鑻卞浗銆 + * 1929骞达紝缇庡浗绾界害璇佸埜浜ゆ槗鎵鑲′环鏆磋穼锛屽紩鍙戝叏鐞冪粡娴庡ぇ钀ф潯銆 + * 1945骞达紝銆婅仈鍚堝浗瀹珷銆嬪湪鑾峰緱缇庡浗銆佽嫳鍥姐佷腑鍥姐佽嫃鑱斿拰娉曞浗绛夊鏁扮瀛楀浗鐨勬壒鍑嗗悗鐢熸晥锛岃仈鍚堝浗鎴愮珛銆 + + 鑺傛棩 | 瀛樻。 | 鏇村鍘嗗彶浜嬩欢... + + + +姣忔棩鍥剧墖 + + Teide qtl1.jpg + + 娉板痉宄版槸瑗跨彮鐗欏拰澶цタ娲嬪矝灞跨殑鏈楂樺嘲锛屽苟涓旀槸涓栫晫涓婄涓夊ぇ鐏北銆傝繖鏄竴搴ф椿鐏北锛屼綅浜庡姞閭e埄缇ゅ矝鐨勭壒鍐呴噷璐瑰矝锛屼篃鏄姞閭e埄缇ゅ矝鏈钁楀悕鐨勫湴鏍囥傜伀灞卞強鍏跺懆 + 鍥寸粍鎴愪簡娉板痉鍥藉鍏洯锛屽崰鍦18900鍏》锛2007骞6鏈29鏃ヨ鍒椾负涓栫晫閬椾骇銆2008骞达紝娉板痉鍥藉鍏洯鏄姞閭e埄缇ゅ矝鍜岃タ鐝墮娓稿鏈澶氱殑鍥藉鍏洯銆 + 2004骞达紝鏈350涓囨父瀹紝鏄父瀹汉鏁颁粎娆′簬鏃ユ湰瀵屽+灞辩殑鐏北銆傛嘲寰峰嘲娴锋嫈楂樺害涓3718绫筹紝鏄タ鐝墮鍜屽ぇ瑗挎磱涓渶楂樼殑灞卞嘲銆傚浘涓烘嘲寰峰嘲銆 + + 姣忔棩鍥剧墖 | 鐗硅壊鍥剧墖 + + + + 缁村熀鐧剧鏄竴涓唴瀹硅嚜鐢便佷换浣曚汉閮借兘鍙備笌銆佸苟鏈夊绉嶈瑷鐨勭櫨绉戝叏涔﹀崗浣滆鍒掋傛垜浠殑鐩爣鏄缓绔嬩竴涓畬鏁淬佸噯纭拰涓珛鐨勭櫨绉戝叏涔︺ + + 鎵鏈夋枃瀛楀唴瀹瑰湪CC-BY-SA-3.0鍗忚涓嬪彂甯冿紝浠讳綍浜洪兘鍙互鍦ㄨ鍗忚鏉℃鐨勮姹備笅鑷敱浣跨敤杩欎簺鍐呭銆 + + 璇昏呮墜鍐 | 璧拌繘缁村熀鐧剧 + + + 浠讳綍浜洪兘鍙互淇敼缁村熀鐧剧涓婄殑鍐呭锛屼絾鏄閬靛畧鎴戜滑鐨勬柟閽堝拰鎸囧紩銆 + + 鏃犺鏄垱寤烘柊鏉$洰锛岃繕鏄紪杈戠幇鏈夋潯鐩紝鎴栬呬负鏉$洰澧炲姞涓骞呮彃鍥撅紝鎮ㄩ兘鍙互涓虹淮鍩虹櫨绉戜綔鍑鸿础鐚 + + 缂栬緫鎵嬪唽 | FAQ + + + 褰撳墠鏈1,076,572鍚嶆敞鍐岀敤鎴凤紝鍏朵腑娲昏穬鐢ㄦ埛鏈5,864鍚嶃傛墍鏈夎繖浜涘織鎰胯呴氳繃浜掑姪瀹㈡爤鍜岃璁洪〉杩涜鍚堜綔涓庤璁恒傛垨鑰呮偍涔熷彲浠ョ敤IRC鎴栭偖浠跺垪 + 琛ㄨ繘琛屾矡閫氥 + + 绀惧尯涓婚〉 + + + 缍熀鐧剧鎻愰啋浣犫 + + 閫欏嬩笘鐣屽皪鎴戝戠殑瑾嶈瓨 + +鏄惁灏嶆柤涓栫晫鍚勫湴鎬庡幓鐪嬬董鍩虹櫨绉戞劅鍒板ソ濂囷紵鑻ヤ綘鐪嬬湅鎴戝戠殑Wikipedia:鏂伴椈鐣岀殑鎶ュ銆佹柊闂绘姤瀵煎紩鐢ㄧ淮鍩虹櫨绉戠殑鍐呭銆乄ikipedia as + a press source +(鑻辨枃缍熀)锛屼綘鏈冪煡閬撶董鍩虹櫨绉戝凡缍撻愭几琚柊鑱炵晫娉ㄨ锛屼笖缍熀鐧剧鐨勫収瀹圭稉甯镐綔鐐烘柊鑱炵晫銆佸嚭鐗堢晫銆佸琛撶晫鐢氳嚦鏄硶搴殑璩囪▕渚嗘簮銆傛鐭ラ亾缍熀鐧剧鍦ㄧ恫绲′笘 +鐣岀殑绔剁埈鐙娉侊紝鍙互鍙冭傾lexa鐎忚閲忓牨鍛娿乁senet鍏憡鏉垮拰Google鐨勬柊鑱炲強绛旀鏌ヨ鏈嶅嫏銆 + + 瑭崇窗鍙﹁: Wikipedia:缁村熀鐧剧涓庡獟浣 + + 涓婁竴鍊嬫彁绀 - 涓嬩竴鍊嬫彁绀 + + 鎻愮ず澶у叏 - 涓嬩竴鍊嬮毃姗熸彁绀 - 鍥炴彁绀烘渶涓婃柟 + + + 缁村熀鐧剧鐢遍潪钀ュ埄缁勭粐缁村熀濯掍綋鍩洪噾浼氳繍浣溿傚熀閲戜細鏃椾笅灏氭湁鍏朵粬鏁镐釜澶氳瑷銆佽嚜鐢卞唴瀹圭殑缍熀璁″垝锛 + Meta Wiki + 鍏冪淮鍩 + 鍗忚皟鍚勭淮鍩鸿鍒 + wiktionary + 缁村熀璇嶅吀 + 澶氳瑷瀛楀吀鍜岃瘝鍏 + wikinews + 缁村熀鏂伴椈 + 鑷敱鐨勬柊闂昏祫婧 + wikibooks + 缁村熀鏁欑涔 + 鏁欑涔﹀拰鎵嬪唽 + wikiquote + 缁村熀璇綍 + 鍚嶄汉鍚嶈█鐨勯泦閿 + Wikisource + 缁村熀鏂囧簱 + 鑷敱鐨勫浘涔﹂ + Wikispecies + 缁村熀鐗╃ + 鑷敱鐨勭墿绉嶈祫鏂欏簱 + wikiversity + 缁村熀瀛﹂櫌 + 鑷敱鐨勭爺涔犵ぞ缇 + Commons + 缁村熀鍏变韩璧勬簮 + 鍏变韩鐨勫濯掍綋璧勬枡搴 + + 鑻ユ偍鍦ㄧ董鍩虹櫨绉戝彈鐩婅壇澶氾紝璜嬭冩叜璩囧姪鍩洪噾鏈冩坊璩艰ō鍌欍傛鑸囦腑鏂囩増鍙栧緱鑱公锛岃珛鑷虫柊鑱炵祫鎴栧瘎閫侀浕瀛愰兊浠躲 + If you do not write Chinese but need to contact zh-wikipedia, you can + leave your message here. + + 鏉ヨ嚜鈥渉ttp://zh.wikipedia.org/w/index.php?title=Wikipedia:%E9%A6%96%E9%A1% + B5&oldid=18000640鈥 + +涓汉宸ュ叿 + + * 鐧诲綍/鍒涘缓璐︽埛 + +鍚嶅瓧绌洪棿 + + * 椤圭洰椤甸潰 + * 璁ㄨ + +涓嶈浆鎹 + +鍙樻崲 + + * 涓嶈浆鎹 + * 绠浣 + * 绻侀珨 + * 澶ч檰绠浣 + * 娓境绻侀珨 + * 椹柊绠浣 + * 鍙扮仯姝i珨 + +鏌ョ湅 + + * 闃呰 + * 鏌ョ湅婧愪唬鐮 + * 鏌ョ湅鍘嗗彶 + +鎿嶄綔 + +鎼滅储 + + ____________________ (Submit) 鎼滅储 + +瀵艰埅 + + * 棣栭〉 + * 鍒嗛绱㈠紩 + * 鐗硅壊鍐呭 + * 鏂伴椈鍔ㄦ + * 鏈杩戞洿鏀 + * 闅忔満鏉$洰 + +甯姪 + + * 甯姪 + * 缁村熀绀剧兢 + * 鏂归拡涓庢寚寮 + * 浜掑姪瀹㈡爤 + * 璇㈤棶澶 + * 瀛楄瘝杞崲 + * IRC鍗虫椂鑱婂ぉ + * 鑱旂郴鎴戜滑 + * 鍏充簬缁村熀鐧剧 + * 璧勫姪缁村熀鐧剧 + +宸ュ叿 + + * 閾惧叆椤甸潰 + * 閾惧嚭鏇存敼 + * 涓婁紶鏂囦欢 + * 鐗规畩椤甸潰 + * 鎵撳嵃椤甸潰 + * 姘镐箙閾炬帴 + +鍏朵粬璇█ + + * 鏈〉闈㈡渶鍚庝慨璁簬2011骞10鏈10鏃 (鏄熸湡涓) 16:03銆 + * 鏈珯鐨勫叏閮ㄦ枃瀛楀湪鐭ヨ瘑鍏变韩 缃插悕-鐩稿悓鏂瑰紡鍏变韩 3.0鍗忚涔嬫潯娆句笅鎻愪緵锛岄檮鍔犳潯娆句害鍙兘搴旂敤銆傦紙璇峰弬闃呬娇鐢ㄦ潯娆撅級 + Wikipedia庐鍜岀淮鍩虹櫨绉戞爣蹇楁槸缁村熀濯掍綋鍩洪噾浼氱殑娉ㄥ唽鍟嗘爣锛涚淮鍩衡劉鏄淮鍩哄獟浣撳熀閲戜細鐨勫晢鏍囥 + 缁村熀濯掍綋鍩洪噾浼氭槸鍦ㄧ編鍥戒經缃楅噷杈惧窞鐧昏鐨501(c)(3)鍏嶇◣銆侀潪钀ュ埄銆佹厛鍠勬満鏋勩 + + * 闅愮鏀跨瓥 + * 鍏充簬缁村熀鐧剧 + * 鍏嶈矗澹版槑 + * 绉诲姩娴忚 + diff --git a/test/tests.py b/test/tests.py new file mode 100644 index 0000000..82c916d --- /dev/null +++ b/test/tests.py @@ -0,0 +1,485 @@ +#!/usr/bin/env python +# coding: utf-8 + +# nosetests --nocapture tests.py +from nose.tools import eq_ + +# http://docs.python.org/library/codecs.html +# https://bitbucket.org/medoc/uchardet-enhanced/src/85fc77c3e058/libcharsetdetect/README.md + +# Support codecs +# Big5 +# EUC-JP +# EUC-KR +# GB18030 +# gb18030 +# HZ-GB-2312 +# IBM855 +# IBM866 +# ISO-2022-CN +# ISO-2022-JP +# ISO-2022-KR +# ISO-8859-2 +# ISO-8859-5 +# ISO-8859-7 +# ISO-8859-8 +# KOI8-R +# Shift_JIS +# TIS-620 +# UTF-8 +# UTF-16BE +# UTF-16LE +# UTF-32BE +# UTF-32LE +# windows-1250 +# windows-1251 +# windows-1252 +# windows-1253 +# windows-1255 +# x-euc-tw +# X-ISO-10646-UCS-4-2143 +# X-ISO-10646-UCS-4-3412 +# x-mac-cyrillic +import cchardet + +class TestCchardet(): + + def test_detect_bg_iso88595(self): + encoding = "ISO-8859-5" + path = r"testdata/bg/ISO-8859-5/wikitop_bg_ISO-8859-5.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_bg_utf8(self): + encoding = "UTF-8" + path = r"testdata/bg/UTF-8/wikitop_bg_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_bg_windows1251(self): + encoding = "WINDOWS-1251" + path = r"testdata/bg/WINDOWS-1251/wikitop_bg_WINDOWS-1251.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_cz_iso88592(self): + encoding = "ISO-8859-2" + path = r"testdata/cz/ISO-8859-2/wikitop_cz_ISO-8859-2.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_cz_utf8(self): + encoding = "UTF-8" + path = r"testdata/cz/UTF-8/wikitop_cz_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_de_utf8(self): + encoding = "UTF-8" + path = r"testdata/de/UTF-8/wikitop_de_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_de_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/de/WINDOWS-1252/wikitop_de_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_dk_utf8(self): + encoding = "UTF-8" + path = r"testdata/dk/UTF-8/wikitop_dk_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_dk_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/dk/WINDOWS-1252/wikitop_dk_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_el_iso88597(self): + encoding = "ISO-8859-7" + path = r"testdata/el/ISO-8859-7/wikitop_el_ISO-8859-7.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_el_utf8(self): + encoding = "UTF-8" + path = r"testdata/el/UTF-8/wikitop_el_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_en_utf8(self): + encoding = "UTF-8" + path = r"testdata/en/UTF-8/wikitop_en_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_en_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/en/WINDOWS-1252/wikitop_en_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_es_utf8(self): + encoding = "UTF-8" + path = r"testdata/es/UTF-8/wikitop_es_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_es_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/es/WINDOWS-1252/wikitop_es_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_fi_utf8(self): + encoding = "UTF-8" + path = r"testdata/fi/UTF-8/wikitop_fi_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_fi_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/fi/WINDOWS-1252/wikitop_fi_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_fr_utf8(self): + encoding = "UTF-8" + path = r"testdata/fr/UTF-8/wikitop_fr_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_fr_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/fr/WINDOWS-1252/wikitop_fr_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_he_utf8(self): + encoding = "UTF-8" + path = r"testdata/he/UTF-8/wikitop_he_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_he_windows1255(self): + encoding = "WINDOWS-1255" + path = r"testdata/he/WINDOWS-1255/wikitop_he_WINDOWS-1255.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_hu_utf8(self): + encoding = "UTF-8" + path = r"testdata/hu/UTF-8/wikitop_hu_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_hu_iso55892(self): + encoding = "ISO-8859-2" + path = r"testdata/hu/ISO-8859-2/wikitop_hu_ISO-8859-2.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_it_utf8(self): + encoding = "UTF-8" + path = r"testdata/it/UTF-8/wikitop_it_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_it_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/it/WINDOWS-1252/wikitop_it_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_nl_utf8(self): + encoding = "UTF-8" + path = r"testdata/nl/UTF-8/wikitop_nl_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_nl_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/nl/WINDOWS-1252/wikitop_nl_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_no_utf8(self): + encoding = "UTF-8" + path = r"testdata/no/UTF-8/wikitop_no_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_no_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/no/WINDOWS-1252/wikitop_no_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_pl_utf8(self): + encoding = "UTF-8" + path = r"testdata/pl/UTF-8/wikitop_pl_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_pl_iso88592(self): + encoding = "ISO-8859-2" + path = r"testdata/pl/ISO-8859-2/wikitop_pl_ISO-8859-2.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_pt_utf8(self): + encoding = "UTF-8" + path = r"testdata/pt/UTF-8/wikitop_pt_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_pt_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/pt/WINDOWS-1252/wikitop_pt_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_ru_utf8(self): + encoding = "UTF-8" + path = r"testdata/ru/UTF-8/wikitop_ru_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_ru_windows1251(self): + encoding = "WINDOWS-1251" + path = r"testdata/ru/WINDOWS-1251/wikitop_ru_WINDOWS-1251.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_ru_ibm855(self): + encoding = "IBM855" + path = r"testdata/ru/IBM855/wikitop_ru_IBM855.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_ru_koi8r(self): + encoding = "KOI8-R" + path = r"testdata/ru/KOI8-R/wikitop_ru_KOI8-R.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_se_utf8(self): + encoding = "UTF-8" + path = r"testdata/se/UTF-8/wikitop_se_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_se_windows1252(self): + encoding = "WINDOWS-1252" + path = r"testdata/se/WINDOWS-1252/wikitop_se_WINDOWS-1252.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_th_utf8(self): + encoding = "UTF-8" + path = r"testdata/th/UTF-8/wikitop_th_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_th_tis620_1(self): + encoding = "TIS-620" + path = r"testdata/th/TIS-620/utffool_th_TIS-620.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_th_tis620_2(self): + encoding = "TIS-620" + path = r"testdata/th/TIS-620/wikitop_th_TIS-620.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_tr_utf8(self): + encoding = "UTF-8" + path = r"testdata/tr/UTF-8/wikitop_tr_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_tr_iso88599(self): + encoding = "ISO-8859-9" + path = r"testdata/tr/ISO-8859-9/wikitop_tr_ISO-8859-9.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_zh_utf8(self): + encoding = "UTF-8" + path = r"testdata/zh/UTF-8/wikitop_zh_UTF-8.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + print(detected_encoding) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + + def test_detect_zh_gb18030(self): + encoding = "GB18030" + path = r"testdata/zh/GB18030/wikitop_zh_GB18030.txt" + with open(path, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) + eq_(encoding.lower(),detected_encoding['encoding'].lower()) + +class TestCchardetSpeed(): + def test_speed(self): + try: + import chardet + has_chardet = True + except ImportError: + has_chardet = False + import time + do_times = 5 + path = r"testdata/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt" + with open(path, 'rb') as f: + msg = f.read() + # Test chardet + if has_chardet: + result_chardet = 0 + for i in range(do_times): + start_chardet = time.time() + chardet.detect(msg) + result_chardet += (time.time() - start_chardet) + print('chardet:',1/(result_chardet/do_times), 'call(s)/s') + # Test cchardet + result_cchardet = 0 + for i in range(do_times): + start_cchardet = time.time() + cchardet.detect(msg) + result_cchardet += (time.time() - start_cchardet) + print('cchardet:',1/(result_cchardet/do_times), 'call(s)/s') \ No newline at end of file diff --git a/test/tests.pyc b/test/tests.pyc new file mode 100644 index 0000000..04e028f Binary files /dev/null and b/test/tests.pyc differ -- cgit v1.2.3