summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.exebin868352 -> 884736 bytes
-rw-r--r--demos/embedded/anomaly/src/BrowserView.cpp16
-rw-r--r--demos/embedded/anomaly/src/BrowserView.h3
-rw-r--r--demos/embedded/anomaly/src/Main.cpp5
-rw-r--r--demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp2
-rw-r--r--doc/src/classes.qdoc3
-rw-r--r--doc/src/index.qdoc1
-rw-r--r--doc/src/phonon-api.qdoc7
-rw-r--r--doc/src/platform-notes.qdoc7
-rw-r--r--doc/src/qmake-manual.qdoc19
-rw-r--r--doc/src/qsqldatatype-table.qdoc584
-rw-r--r--doc/src/qtsql.qdoc3
-rw-r--r--examples/graphicsview/padnavigator/panel.h2
-rw-r--r--examples/graphicsview/padnavigator/roundrectitem.h2
-rw-r--r--examples/network/fortuneclient/client.cpp14
-rw-r--r--examples/network/fortuneclient/client.h3
-rw-r--r--examples/network/fortuneclient/fortuneclient.pro7
-rw-r--r--examples/network/fortuneclient/main.cpp6
-rw-r--r--examples/network/fortuneserver/fortuneserver.pro8
-rw-r--r--examples/network/fortuneserver/main.cpp11
-rw-r--r--examples/network/fortuneserver/server.cpp9
-rw-r--r--examples/network/ftp/ftp.pro4
-rw-r--r--examples/network/ftp/sym_iap_util.h289
-rw-r--r--examples/painting/svggenerator/displaywidget.cpp2
-rw-r--r--examples/phonon/musicplayer/mainwindow.cpp2
-rw-r--r--mkspecs/features/symbian/armcc_warnings.prf10
-rw-r--r--mkspecs/features/win32/windows.prf4
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm22
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qt.xml5
-rw-r--r--qmake/generators/symbian/symmake.cpp80
-rw-r--r--qmake/generators/symbian/symmake.h5
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp64
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp72
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos.c2
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-impl.c4
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-stream.c2
-rw-r--r--src/activeqt/control/qaxserver.cpp4
-rw-r--r--src/corelib/global/qglobal.cpp2
-rw-r--r--src/corelib/global/qglobal.h6
-rw-r--r--src/corelib/io/qbuffer.cpp2
-rw-r--r--src/corelib/io/qresource.cpp4
-rw-r--r--src/corelib/io/qtemporaryfile.cpp3
-rw-r--r--src/corelib/kernel/qcoreevent.cpp1
-rw-r--r--src/corelib/kernel/qcoreevent.h2
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp3
-rw-r--r--src/corelib/kernel/qsharedmemory_symbian.cpp4
-rw-r--r--src/corelib/tools/qbytearray.cpp10
-rw-r--r--src/corelib/tools/qharfbuzz.cpp4
-rw-r--r--src/corelib/tools/qharfbuzz_p.h2
-rw-r--r--src/corelib/tools/qunicodetables.cpp13383
-rw-r--r--src/corelib/tools/qunicodetables_p.h4
-rw-r--r--src/dbus/qdbusconnection.cpp7
-rw-r--r--src/dbus/qdbusmessage.cpp19
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp2
-rw-r--r--src/gui/dialogs/qprogressdialog.cpp2
-rw-r--r--src/gui/dialogs/qwizard.cpp2
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp8
-rw-r--r--src/gui/itemviews/qheaderview.cpp6
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp2
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp2
-rw-r--r--src/gui/kernel/qaction.cpp4
-rw-r--r--src/gui/kernel/qapplication.cpp7
-rw-r--r--src/gui/kernel/qapplication_mac.mm12
-rw-r--r--src/gui/kernel/qapplication_s60.cpp45
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp4
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm133
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h4
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm7
-rw-r--r--src/gui/kernel/qdesktopwidget_s60.cpp4
-rw-r--r--src/gui/kernel/qkeymapper_s60.cpp4
-rw-r--r--src/gui/kernel/qsound_s60.cpp2
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm44
-rw-r--r--src/gui/kernel/qt_mac.cpp6
-rw-r--r--src/gui/kernel/qwidget.cpp6
-rw-r--r--src/gui/kernel/qwidget_mac.mm36
-rw-r--r--src/gui/kernel/qwidget_p.h3
-rw-r--r--src/gui/kernel/qwidget_s60.cpp42
-rw-r--r--src/gui/painting/qblendfunctions.cpp6
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp2
-rw-r--r--src/gui/painting/qpainter.cpp4
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp6
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp2
-rw-r--r--src/gui/styles/qgtkstyle.cpp3
-rw-r--r--src/gui/styles/qs60style.cpp43
-rw-r--r--src/gui/styles/qwindowsstyle.cpp7
-rw-r--r--src/gui/text/qfontengine.cpp3
-rw-r--r--src/gui/text/qfontengine_s60.cpp2
-rw-r--r--src/gui/widgets/qabstractspinbox_p.h2
-rw-r--r--src/gui/widgets/qcalendarwidget.cpp11
-rw-r--r--src/gui/widgets/qmainwindow.cpp7
-rw-r--r--src/gui/widgets/qmenubar.cpp5
-rw-r--r--src/gui/widgets/qplaintextedit.cpp14
-rw-r--r--src/gui/widgets/qtextedit.cpp5
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp10
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h3
-rw-r--r--src/network/access/qhttpnetworkreply.cpp2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp3
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp2
-rw-r--r--src/network/kernel/qnetworkproxy.cpp2
-rw-r--r--src/network/socket/qlocalserver_tcp.cpp2
-rw-r--r--src/plugins/codecs/jp/qeucjpcodec.cpp1
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp91
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp3
-rw-r--r--src/plugins/imageformats/jpeg/jpeg.pro4
-rw-r--r--src/plugins/imageformats/mng/mng.pro4
-rw-r--r--src/plugins/qpluginbase.pri1
-rw-r--r--src/qbase.pri3
-rw-r--r--src/s60main/qts60mainappui.cpp2
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp9
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp7
-rw-r--r--src/sql/drivers/psql/qsql_psql.cpp8
-rw-r--r--src/sql/drivers/sqlite/qsql_sqlite.cpp2
-rw-r--r--src/sql/kernel/qsqlcachedresult.cpp5
-rw-r--r--src/src.pro2
-rw-r--r--src/testlib/qtestcase.cpp6
-rw-r--r--src/testlib/qtestcase.h38
-rw-r--r--src/testlib/testlib.pro2
-rw-r--r--tests/auto/auto.pro1
-rw-r--r--tests/auto/exceptionsafety/tst_exceptionsafety.cpp7
-rw-r--r--tests/auto/linguist/lconvert/data/codec-cp1252.ts28
-rw-r--r--tests/auto/linguist/lconvert/data/codec-utf8.ts28
-rw-r--r--tests/auto/linguist/lconvert/data/dual-encoding.ts11
-rw-r--r--tests/auto/linguist/lconvert/data/endless-po-loop.ts16
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.sh43
-rw-r--r--tests/auto/linguist/lconvert/data/msgid.ts27
-rw-r--r--tests/auto/linguist/lconvert/data/plurals-cn.ts17
-rw-r--r--tests/auto/linguist/lconvert/data/plurals-de.ts18
-rw-r--r--tests/auto/linguist/lconvert/data/relative.ts74
-rw-r--r--tests/auto/linguist/lconvert/data/singular.po42
-rw-r--r--tests/auto/linguist/lconvert/data/test-broken-utf8.po9
-rw-r--r--tests/auto/linguist/lconvert/data/test-broken-utf8.po.out9
-rw-r--r--tests/auto/linguist/lconvert/data/test-developer-comment.po23
-rw-r--r--tests/auto/linguist/lconvert/data/test-empty-comment.po24
-rw-r--r--tests/auto/linguist/lconvert/data/test-escapes.po11
-rw-r--r--tests/auto/linguist/lconvert/data/test-escapes.po.out13
-rw-r--r--tests/auto/linguist/lconvert/data/test-kde-ctxt.po25
-rw-r--r--tests/auto/linguist/lconvert/data/test-kde-fuzzy.po31
-rw-r--r--tests/auto/linguist/lconvert/data/test-kde-multiline.po32
-rw-r--r--tests/auto/linguist/lconvert/data/test-kde-plurals.po27
-rw-r--r--tests/auto/linguist/lconvert/data/test-slurp.po19
-rw-r--r--tests/auto/linguist/lconvert/data/test-slurp.po.out19
-rw-r--r--tests/auto/linguist/lconvert/data/test-translator-comment.po41
-rw-r--r--tests/auto/linguist/lconvert/data/test1-cn.po67
-rw-r--r--tests/auto/linguist/lconvert/data/test1-de.po75
-rw-r--r--tests/auto/linguist/lconvert/data/test11.ts32
-rw-r--r--tests/auto/linguist/lconvert/data/test20.ts150
-rw-r--r--tests/auto/linguist/lconvert/data/variants.ts24
-rw-r--r--tests/auto/linguist/lconvert/data/wrapping.po58
-rw-r--r--tests/auto/linguist/lconvert/lconvert.pro8
-rw-r--r--tests/auto/linguist/lconvert/tst_lconvert.cpp341
-rw-r--r--tests/auto/linguist/linguist.pro2
-rw-r--r--tests/auto/linguist/lrelease/lrelease.pro5
-rw-r--r--tests/auto/linguist/lrelease/testdata/compressed.ts46
-rw-r--r--tests/auto/linguist/lrelease/testdata/dupes.errors4
-rw-r--r--tests/auto/linguist/lrelease/testdata/dupes.ts25
-rw-r--r--tests/auto/linguist/lrelease/testdata/mixedcodecs-ts11.ts18
-rw-r--r--tests/auto/linguist/lrelease/testdata/mixedcodecs-ts20.ts18
-rw-r--r--tests/auto/linguist/lrelease/testdata/translate.ts136
-rw-r--r--tests/auto/linguist/lrelease/tst_lrelease.cpp204
-rw-r--r--tests/auto/linguist/lupdate/lupdate.pro7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro19
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/src/main.cpp15
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp18
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr/main.cpp24
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro19
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro15
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result28
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result28
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp47
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.ts.result40
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/foo.cpp28
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.before74
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result82
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.before14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.result15
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ui44
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_whitespace/main.cpp23
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.before70
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.result71
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp/finddialog.cpp25
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.before48
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.result49
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/finddialog.cpp123
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.before31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.result27
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/finddialog.cpp146
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.before26
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.result31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before22
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result23
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ui47
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.before16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result22
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui26
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/finddialog.cpp7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result17
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp97
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result82
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parse_special_chars/main.cpp18
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.ts.result17
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecontexts/main.cpp229
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.ts.result192
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/finddialog.cpp156
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp158
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result271
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejava/main.java54
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejava/project.ts.result115
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.pro13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result17
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.ui44
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/prefix/main.cpp17
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/prefix/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result23
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/preprocess/main.cpp37
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/preprocess/project.ts.result35
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/main.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/main_mac.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/main_unix.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/main_win.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro40
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/project.ts.result64
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/vpaths/dependpath/main_dependpath.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/main1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/mainfile.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard99.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/a4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/a.cpp4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/b4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/b.cpp4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/e4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/f/g.cpp4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/files-cc.txt1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/project.ts.result62
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/spaces/z4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/variable_with_spaces4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/with4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/x/d4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsing2/x/variable4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/common.pri1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.pri5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/mac.pri5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/main_mac.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.ts.result37
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.pri3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub/sub.pri1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub2/sub2.pri2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/main_unix.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/unix.pri5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/main_win.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/win.pri5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.ts.result13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/main.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/main.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/main_mac.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.ts.result31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/main_unix.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/main_win.cpp10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro14
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.before16
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result22
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui26
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd5
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result12
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt2
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/bar.ts.result27
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/foo.ts.result115
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/main.cpp22
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/project.ui44
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.c++8
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cpp8
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cxx8
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp143
-rw-r--r--tests/auto/linguist/lupdate/testlupdate.cpp157
-rw-r--r--tests/auto/linguist/lupdate/testlupdate.h87
-rw-r--r--tests/auto/linguist/lupdate/tst_lupdate.cpp318
-rw-r--r--tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp20
-rw-r--r--tests/auto/qeventloop/tst_qeventloop.cpp25
-rw-r--r--tests/auto/qfile/tst_qfile.cpp14
-rw-r--r--tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp10
-rw-r--r--tests/auto/qlistwidget/tst_qlistwidget.cpp4
-rw-r--r--tests/auto/qmake/testcompiler.cpp2
-rw-r--r--tests/auto/qobjectrace/qobjectrace.pro2
-rw-r--r--tests/auto/qobjectrace/tst_qobjectrace.cpp30
-rw-r--r--tests/auto/qpixmap/qpixmap.pro2
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp21
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp10
-rw-r--r--tests/auto/qstyle/qstyle.pro9
-rw-r--r--tests/auto/qstyle/tst_qstyle.cpp8
-rw-r--r--tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp33
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp12
-rw-r--r--tests/auto/tests.xml6
-rw-r--r--tools/assistant/lib/qhelpsearchengine.cpp29
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene.cpp22
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene_p.h7
-rw-r--r--tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp4
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.cpp54
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.h8
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp29
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp37
-rw-r--r--tools/assistant/tools/assistant/mainwindow.h5
-rw-r--r--tools/configure/configureapp.cpp24
-rw-r--r--tools/linguist/linguist/messageeditor.cpp1
-rw-r--r--tools/linguist/phrasebooks/russian.qph52
-rw-r--r--tools/qtconfig/translations/translations.pro1
-rw-r--r--tools/qvfb/translations/translations.pro1
-rw-r--r--translations/assistant_adp_ru.ts289
-rw-r--r--translations/assistant_ru.ts80
-rw-r--r--translations/linguist_ru.ts28
-rw-r--r--translations/qt_help_ru.ts36
-rw-r--r--translations/qt_ru.ts200
-rw-r--r--translations/qtconfig_ru.ts906
-rw-r--r--translations/qvfb_ru.ts328
-rw-r--r--util/unicode/main.cpp98
355 files changed, 17030 insertions, 7656 deletions
diff --git a/configure.exe b/configure.exe
index c90e029..93d2749 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/embedded/anomaly/src/BrowserView.cpp b/demos/embedded/anomaly/src/BrowserView.cpp
index e81d834..4ef1920 100644
--- a/demos/embedded/anomaly/src/BrowserView.cpp
+++ b/demos/embedded/anomaly/src/BrowserView.cpp
@@ -32,6 +32,10 @@
#include "flickcharm.h"
#include "ZoomStrip.h"
+#if defined (Q_OS_SYMBIAN)
+#include "sym_iap_util.h"
+#endif
+
BrowserView::BrowserView(QWidget *parent)
: QWidget(parent)
, m_titleBar(0)
@@ -73,9 +77,12 @@ void BrowserView::initialize()
connect(m_webView, SIGNAL(loadFinished(bool)), SLOT(finish(bool)));
connect(m_webView, SIGNAL(urlChanged(QUrl)), SLOT(updateTitleBar()));
- m_webView->load(QUrl("http://news.bbc.co.uk/text_only.stm"));
+ m_webView->setHtml("Will try to load page soon!");
m_webView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
m_webView->setFocus();
+#ifdef Q_OS_SYMBIAN
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+#endif
}
void BrowserView::start()
@@ -146,6 +153,13 @@ void BrowserView::resizeEvent(QResizeEvent *event)
int zh = m_zoomStrip->sizeHint().height();
m_zoomStrip->move(width() - zw, (height() - zh) / 2);
}
+#ifdef Q_OS_SYMBIAN
+void BrowserView::setDefaultIap()
+{
+ qt_SetDefaultIap();
+ m_webView->load(QUrl("http://news.bbc.co.uk/text_only.stm"));
+}
+#endif
void BrowserView::navigate(const QUrl &url)
{
diff --git a/demos/embedded/anomaly/src/BrowserView.h b/demos/embedded/anomaly/src/BrowserView.h
index 36d3291..0dba14e 100644
--- a/demos/embedded/anomaly/src/BrowserView.h
+++ b/demos/embedded/anomaly/src/BrowserView.h
@@ -44,6 +44,9 @@ public slots:
void navigate(const QUrl &url);
void zoomIn();
void zoomOut();
+#ifdef Q_OS_SYMBIAN
+ void setDefaultIap();
+#endif
private slots:
void initialize();
diff --git a/demos/embedded/anomaly/src/Main.cpp b/demos/embedded/anomaly/src/Main.cpp
index 2be6143..d861857 100644
--- a/demos/embedded/anomaly/src/Main.cpp
+++ b/demos/embedded/anomaly/src/Main.cpp
@@ -27,10 +27,6 @@
#include "BrowserWindow.h"
-#if defined (Q_OS_SYMBIAN)
-#include "sym_iap_util.h"
-#endif
-
int main(int argc, char *argv[])
{
#if !defined(Q_WS_S60)
@@ -47,7 +43,6 @@ int main(int argc, char *argv[])
window.showFullScreen();
QWebSettings::globalSettings()->setObjectCacheCapacities(128*1024, 1024*1024, 1024*1024);
QWebSettings::globalSettings()->setMaximumPagesInCache(3);
- qt_SetDefaultIap();
#else
window.resize(360, 640);
window.show();
diff --git a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp
index 2393c4e..0359b13 100644
--- a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp
+++ b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp
@@ -143,7 +143,7 @@ void EmbeddedSvgViewer::updateImageScale()
}
-void EmbeddedSvgViewer::resizeEvent ( QResizeEvent * event )
+void EmbeddedSvgViewer::resizeEvent ( QResizeEvent * /* event */ )
{
qreal origZoom = m_zoomLevel;
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index 69ca716..dddc96f 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -47,9 +47,6 @@
This is a list of all Qt classes excluding the \l{Qt 3
compatibility classes}. For a shorter list that only includes the
most frequently used classes, see \l{Qt's Main Classes}.
- \omit This is old and dingy now.
- and the \l{http://doc.trolltech.com/extras/qt43-class-chart.pdf}{Qt 4.3 Class Chart (PDF)}.
- \endomit
\generatelist classes
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index acbaa87..47f12bf 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -152,7 +152,6 @@
<li><a href="qt-embedded.html">Qt for Embedded Platforms</a></li>
<li><a href="overviews.html">All Overviews and HOWTOs</a></li>
<li><a href="gallery.html">Qt Widget Gallery</a></li>
- <li><a href="http://doc.trolltech.com/extras/qt43-class-chart.pdf">Class Chart</a></li>
<li><a href="qtglobal.html">Qt Global Declarations</a></li>
</ul>
</td>
diff --git a/doc/src/phonon-api.qdoc b/doc/src/phonon-api.qdoc
index 0743bab..09274bf 100644
--- a/doc/src/phonon-api.qdoc
+++ b/doc/src/phonon-api.qdoc
@@ -1115,6 +1115,11 @@
\note Sequential devices can also be used, but MediaObject::isSeekable() will
return false as a result.
+ \warning On Windows, we only support \l{QIODevice}s containing the
+ \c avi, \c mp3, or \c mpg formats. Use the constructor that takes
+ a file name to open files (the Qt backend does not use a QFile
+ internally).
+
\sa setAutoDelete()
*/
@@ -1864,7 +1869,7 @@
\snippet doc/src/snippets/code/doc_src_phonon-api.qdoc 14
- \sa currentSource()
+ \sa currentSource(), MediaSource
*/
/*!
diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc
index db52aff..de1fb74 100644
--- a/doc/src/platform-notes.qdoc
+++ b/doc/src/platform-notes.qdoc
@@ -397,7 +397,7 @@
\row \o Apple Mac OS X (32-bit) \o gcc 4.0.1
\row \o Linux (32 and 64-bit) \o gcc 4.1, 4.2, 4.3
\row \o Microsoft Windows \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit), 2008,
- \l{Known Issues in %VERSION%}{Intel icc (see note)}
+ \l{Intel C++ Compiler}{Intel icc (see note)}
\endtable
Any platform-compiler combinations not listed here should be considered unsupported.
@@ -609,8 +609,9 @@
\section1 Intel C++ Compiler
- \warning Please see the \l{Known Issues in %VERSION%} page for information
- about an issue with this compiler.
+ Qt supports the Intel C++ compiler on both Windows and Linux.
+ However, there are a few issues on Linux (see the following
+ section).
\section2 Intel C++ Compiler for Linux
diff --git a/doc/src/qmake-manual.qdoc b/doc/src/qmake-manual.qdoc
index 430f67d..68f1976 100644
--- a/doc/src/qmake-manual.qdoc
+++ b/doc/src/qmake-manual.qdoc
@@ -1130,6 +1130,25 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 24
+ When linking a library, \c qmake relies on the underlying platform to know
+ what other libraries this library links against. However, if linking
+ statically, \c qmake will not get this information unless we use the following
+ \c CONFIG options:
+
+ \table 95%
+ \header \o Option \o Description
+ \row \o create_prl \o This option enables \c qmake to track these
+ dependencies. When this option is enabled, \c qmake will create a file
+ ending in \c .prl which will save meta-information about the library
+ (see \l{LibDepend}{Library Dependencies} for more info).
+ \row \o link_prl \o When this is enabled, \c qmake will process all
+ libraries linked to by the application and find their meta-information
+ (see \l{LibDepend}{Library Dependencies} for more info).
+ \endtable
+
+ Please note that \c create_prl is required when \i {building} a static library,
+ while \c link_prl is required when \i {using} a static library.
+
On Windows (or if Qt is configured with \c{-debug_and_release}, adding the
\c build_all option to the \c CONFIG variable makes this rule the default
when building the project, and installation targets will be created for
diff --git a/doc/src/qsqldatatype-table.qdoc b/doc/src/qsqldatatype-table.qdoc
new file mode 100644
index 0000000..5ab6413
--- /dev/null
+++ b/doc/src/qsqldatatype-table.qdoc
@@ -0,0 +1,584 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \module QtSql
+
+ \page qsqldatatype-table.html
+
+ \title QtSql Module - Recommended use of data types
+
+ \section1 Recommended use of types and widgets in Qt supported Databases
+
+ This table shows the recommended data types used when extracting data
+ from the databases supported in Qt. It is important to note that the
+ types used in Qt not necessary are valid as input to the specific
+ database. One example could be that a double would work perfect as
+ input for floating point records in a database, but not necessary
+ as output to the database since it would be stored with 64-bit in C++.
+
+ \tableofcontents
+
+ \section2 IBM DB2 data type
+
+ \table
+ \row
+ \header IBM DB2 data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type and Qt )
+ \row
+ \o SMALLINT
+ \o 16-bit signed integer
+ \o typedef qint16
+ \row
+ \o INTEGER
+ \o 32-bit signed integer
+ \o typedef qint32
+ \row
+ \o BIGINT
+ \o 64-bit signed integer
+ \o typedef qint64
+ \row
+ \o REAL
+ \o 32-bit Single-precision floating point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE PRECISION
+ \o 64-bit Double-precision floating point
+ \o By default mapping to QString
+ \row
+ \o FLOAT
+ \o 64-bit Double-precision floating point
+ \o By default mapping to QString
+ \row
+ \o CHAR
+ \o Fixed-length, null-terminated character string
+ \o Mapped to QString
+ \row
+ \o VARCHAR
+ \o Null-terminated varying length string
+ \o Mapped to QString
+ \row
+ \o LONG VARCHAR
+ \o Not null-terminated varying length character string
+ \o Mapped to QString
+ \row
+ \o BLOB
+ \o Not null-terminated varying binary string with 4-byte string
+ length indicator
+ \o Mapped to QByteArray
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o DATE
+ \o Null-terminated character string of the following format:
+ yyyy-mm-dd
+ \o Mapped to QDate
+ \row
+ \o TIME
+ \o Null-terminated character string of the following format: hh.mm.ss
+ \o Mapped to QTime
+ \row
+ \o TIMESTAMP
+ \o Null-terminated character string of the following format: yyyy-mm-dd-hh.mm.ss.nnnnnn
+ \o Mapped to QDateTime
+ \endtable
+
+ \section2 Borland InterBase data type
+
+ \table
+ \row
+ \header Borland InterBase data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o BOOLEAN
+ \o Boolean
+ \o bool
+ \row
+ \o TINYINT
+ \o 8 bit signed integer
+ \o typedef qint8
+ \row
+ \o SMALLINT
+ \o 16-bit signed integer
+ \o typedef qint16
+ \row
+ \o INTEGER
+ \o 32-bit signed integer
+ \o typedef qint32
+ \row
+ \o BIGINT LONG
+ \o 64-bit signed integer
+ \o typedef qint64
+ \row
+ \o REAL FLOAT
+ \o 32-bit floating point
+ \o By default mapping to QString
+ \row
+ \o FLOAT
+ \o 64-bit floating point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE
+ \o 64-bit floating point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE PRECISION
+ \o 64-bit Double-precision floating point
+ \o By default mapping to QString
+ \row
+ \o VARCHAR STRING
+ \o Character string, Unicode
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o DATE
+ \o Displays date. Format: 'yyyy-mm-dd'
+ \o Mapped to QDate
+ \row
+ \o TIME
+ \o Displays time. Format is 'hh:mm:ss' in 24-hour format
+ \o Mapped to QTime
+ \row
+ \o TIMESTAMP
+ \o Displays a timestamp. Format is 'yyyy-mm-dd hh:mm:ss'
+ \o Mapped to QDateTime
+ \endtable
+
+ \section2 MySQL data type
+
+ \table
+ \row
+ \header MySQL data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o TINYINT
+ \o 8 bit signed integer
+ \o typedef qint8
+ \row
+ \o TINYINT UNSIGNED
+ \o 8 bit unsigned integer
+ \o typedef quint8
+ \row
+ \o SMALLINT
+ \o 16-bit signed integer
+ \o typedef qint16
+ \row
+ \o SMALLINT UNSIGNED
+ \o 16-bit unsigned integer
+ \o typedef quint16
+ \row
+ \o INT
+ \o 32-bit signed integer
+ \o typedef qint32
+ \row
+ \o INT UNSIGNED
+ \o 32-bit unsigned integer
+ \o typedef quint32
+ \row
+ \o BIGINT
+ \o 64-bit signed integer
+ \o typedef qint64
+ \row
+ \o FLOAT
+ \o 32-bit Floating Point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE
+ \o 64-bit Floating Point
+ \o By default mapping to QString
+ \row
+ \o CHAR
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o VARCHAR
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o TINYTEXT
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o TEXT
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o MEDIUMTEXT
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o LONGTEXT
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o all BLOB types
+ \o BLOB
+ \o Mapped to QByteArray
+ \row
+ \o DATE
+ \o Date without Time
+ \o Mapped to QDate
+ \row
+ \o DATETIME
+ \o Date and Time
+ \o Mapped to QDateTime
+ \row
+ \o TIMESTAMP
+ \o Date and Time
+ \o Mapped to QDateTime
+ \row
+ \o TIME
+ \o Time
+ \o Mapped to QTime
+ \row
+ \o YEAR
+ \o Year (int)
+ \o Mapped to QDateTime
+ \row
+ \o ENUM
+ \o Enumeration of Value Set
+ \o Mapped to QString
+ \endtable
+
+ \section2 Oracle Call Interface data type
+
+ \table
+ \row
+ \header Oracle Call Interface data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o NUMBER
+ \o FLOAT, DOUBLE, PRECISIONc REAL
+ \o By default mapping to QString
+ \row
+ \o NUMBER(38)
+ \o INTEGER INT SMALLINT
+ \o typedef qint8/16/32/64
+ \row
+ \o NUMBER(p,s)
+ \o NUMERIC(p,s) DECIMAL(p,s)a
+ \o By default mapping to QString
+ \row
+ \o NVARCHAR2(n)
+ \o Character string (NATIONAL CHARACTER VARYING(n) NATIONAL
+ CHAR VARYING(n) NCHAR VARYING(n))
+ \o Mapped to QString
+ \row
+ \o NCHAR(n)
+ \o Character string (NATIONAL CHARACTER(n) NATIONAL CHAR(n)
+ NCHAR(n))
+ \o Mapped to QString
+ \row
+ \o CHAR(n)
+ \o Character string (CHARACTER(n) CHAR(n))
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o BLOB
+ \o A binary large object
+ \o Mapped to QByteArray
+ \row
+ \o TIMESTAMP
+ \o Year, month, and day values of date, as well as hour, minute,
+ and second values of time
+ \o Mapped to QDateTime
+ \endtable
+
+ \section2 ODBC data type
+
+ \table
+ \row
+ \header ODBC data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o BIT
+ \o Boolean
+ \o BOOL
+ \row
+ \o TINYINT
+ \o 8 bit integer
+ \o typedef qint8
+ \row
+ \o SMALLINT
+ \o 16-bit signed integer
+ \o typedef qint16
+ \row
+ \o INTEGER
+ \o 32-bit signed integer
+ \o typedef qint32
+ \row
+ \o BIGINT
+ \o 64-bit signed integer
+ \o typedef qint64
+ \row
+ \o REAL
+ \o 32-bit Single-precision floating point
+ \o By default mapping to QString
+ \row
+ \o FLOAT
+ \o 64-bit Double floating point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE
+ \o 64-bit Double floating point
+ \o By default mapping to QString
+ \row
+ \o CHAR
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o VARCHAR
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o LONGVARCHAR
+ \o Character string
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o DATE
+ \o Character string
+ \o Mapped to QDate
+ \row
+ \o TIME
+ \o Character Time, Character string
+ \o Mapped to QTime
+ \row
+ \o TIMESTAMP
+ \o Character Time, Character string
+ \o Mapped to QDateTime
+ \endtable
+
+ \section2 PostgreSQL data type
+
+ \table
+ \row
+ \header PostgreSQL data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o BOOLEAN
+ \o Boolean
+ \o bool
+ \row
+ \o SMALLINT
+ \o 16-bit signed integer
+ \o typedef qint16
+ \row
+ \o INTEGER
+ \o 32-bit signed integer
+ \o typedef qint32
+ \row
+ \o BIGINT
+ \o 64-bit signed integer
+ \o typedef qint64
+ \row
+ \o REAL
+ \o 32-bit variable-precision floating point
+ \o By default mapping to QString
+ \row
+ \o DOUBLE PRECISION
+ \o 64-bit variable-precision floating point
+ \o By default mapping to QString
+ \row
+ \o DECIMAL VARIABLE
+ \o user-specified precision, exact
+ \o Mapped to QString
+ \row
+ \o NUMERIC VARIABLE
+ \o user-specified precision, exact
+ \o Mapped to QString
+ \row
+ \o VARCHAR
+ \o variable-length character string
+ \o Mapped to QString
+ \row
+ \o CHARACTER
+ \o Character string of fixed-length
+ \o Mapped to QString
+ \row
+ \o TEXT
+ \o Character string of variable-length
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o TIMESTAMP
+ \o 8 bytes, both date and time
+ \o Mapped to QDateTime
+ \row
+ \o TIMESTAMP
+ \o 8 bytes, both date and time, with time zone
+ \o Mapped to QDateTime
+ \row
+ \o DATE
+ \o 4 bytes, dates only
+ \o Mapped to QDate
+ \row
+ \o TIME
+ \o 8 bytes, times of day only 00:00:00.00 - 23:59:59.99
+ \o Mapped to QTime
+ \row
+ \o TIME
+ \o 12 bytes times of day only, with time zone 00:00:00.00+12
+ \o Mapped to QDateTime
+ \endtable
+
+ \section2 QSQLITE SQLite version 3 data type
+
+ \table
+ \row
+ \header QSQLITE SQLite version 3 data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o NULL
+ \o NULL value.
+ \o NULL
+ \row
+ \o INTEGER
+ \o Signed integer, stored in 8, 16, 24, 32, 48, or 64-bits
+ depending on the magnitude of the value.
+ \o typedef qint8/16/32/64
+ \row
+ \o REAL
+ \o 64-bit floating point value.
+ \o By default mapping to QString
+ \row
+ \o TEXT
+ \o Character string (UTF-8, UTF-16BE or UTF-16-LE).
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o BLOB
+ \o The value is a BLOB of data, stored exactly as it was input.
+ \o Mapped to QByteArray
+ \endtable
+
+ \section2 Sybase Adaptive Server data type
+
+ \table
+ \row
+ \header Sybase Adaptive Server data type
+ \header SQL Type Description
+ \header Recommended input (C++ data type/Qt Widget)
+ \row
+ \o BINARY
+ \o Describes a fixed-length binary value up to 255 bytes in size.
+ \o Mapped to QByteArray
+ \row
+ \o CHAR
+ \o Character String
+ \o Mapped to QString
+ \row
+ \o DATETIME
+ \o Date and time. Range: 1753-01-01 00:00:00 through
+ 9999-12-31 23:59:59.
+ \o Mapped to QDateTime
+ \row
+ \o NCHAR
+ \o Character String of fixed length
+ \o Mapped to QString
+ \row
+ \o NVARACHAR
+ \o Character String of variable length
+ \o Mapped to QString
+ \row
+ \o VARCHAR
+ \o Character String of fixed length
+ \o Mapped to QString
+ \row
+ \o CLOB
+ \o Character large string object
+ \o Mapped to QString
+ \row
+ \o TIMESTAMP
+ \o A unique number within a database
+ \o Mapped to QString
+ \row
+ \o SMALLDATETIME
+ \o Date and time. Range: 1900-01-01 00:00 through 2079-12-31 23:59
+ \o Mapped to QDateTime
+ \row
+ \o UNICHAR
+ \o Character String of fixed length.(Unicode)
+ \o Mapped to QString
+ \row
+ \o UNIVARCHAR
+ \o Character String of variable length.(Unicode)
+ \o Mapped to QString
+ \row
+ \o VARBINARY
+ \o Describes a variable-length binary value up to 255 bytes in size
+ \o Mapped to QByteArray
+ \endtable
+
+ \section2 SQLite Version 2
+ SQLite V.2 is "typeless". This means that you can store any kind of
+ data you want in any column of any table, regardless of the declared
+ data type of that column. We recommend that you map the data to QString.
+
+*/
diff --git a/doc/src/qtsql.qdoc b/doc/src/qtsql.qdoc
index ff58c62..54ea86a 100644
--- a/doc/src/qtsql.qdoc
+++ b/doc/src/qtsql.qdoc
@@ -212,6 +212,9 @@
QVariant::toString() and QVariant::toInt() to convert
variants to QString and \c int.
+ For an overview of the recommended types used with Qt supported
+ Databases, please refer to \l {QtSql Module - Recommended use of data types}{this table}.
+
You can iterate back and forth using QSqlQuery::next(),
QSqlQuery::previous(), QSqlQuery::first(), QSqlQuery::last(), and
QSqlQuery::seek(). The current row index is returned by
diff --git a/examples/graphicsview/padnavigator/panel.h b/examples/graphicsview/padnavigator/panel.h
index 3d17b42..aebf7b0 100644
--- a/examples/graphicsview/padnavigator/panel.h
+++ b/examples/graphicsview/padnavigator/panel.h
@@ -44,7 +44,7 @@
QT_BEGIN_NAMESPACE
class QTimeLine;
class Ui_BackSide;
-QT_END_NAMESPACE;
+QT_END_NAMESPACE
class RoundRectItem;
diff --git a/examples/graphicsview/padnavigator/roundrectitem.h b/examples/graphicsview/padnavigator/roundrectitem.h
index 5ff437c..21b3ba4 100644
--- a/examples/graphicsview/padnavigator/roundrectitem.h
+++ b/examples/graphicsview/padnavigator/roundrectitem.h
@@ -46,7 +46,7 @@
QT_BEGIN_NAMESPACE
class QGraphicsProxyWidget;
-QT_END_NAMESPACE;
+QT_END_NAMESPACE
class RoundRectItem : public QObject, public QGraphicsRectItem
{
diff --git a/examples/network/fortuneclient/client.cpp b/examples/network/fortuneclient/client.cpp
index f3947e2..9828d86 100644
--- a/examples/network/fortuneclient/client.cpp
+++ b/examples/network/fortuneclient/client.cpp
@@ -44,6 +44,10 @@
#include "client.h"
+#ifdef Q_OS_SYMBIAN
+#include "sym_iap_util.h"
+#endif
+
//! [0]
Client::Client(QWidget *parent)
: QDialog(parent)
@@ -102,6 +106,10 @@ Client::Client(QWidget *parent)
setWindowTitle(tr("Fortune Client"));
portLineEdit->setFocus();
+
+#ifdef Q_OS_SYMBIAN
+ isDefaultIapSet = false;
+#endif
//! [5]
}
//! [5]
@@ -110,6 +118,12 @@ Client::Client(QWidget *parent)
void Client::requestNewFortune()
{
getFortuneButton->setEnabled(false);
+#ifdef Q_OS_SYMBIAN
+ if(!isDefaultIapSet) {
+ qt_SetDefaultIap();
+ isDefaultIapSet = true;
+ }
+#endif
blockSize = 0;
tcpSocket->abort();
//! [7]
diff --git a/examples/network/fortuneclient/client.h b/examples/network/fortuneclient/client.h
index c8b8b26..714d871 100644
--- a/examples/network/fortuneclient/client.h
+++ b/examples/network/fortuneclient/client.h
@@ -80,6 +80,9 @@ private:
QTcpSocket *tcpSocket;
QString currentFortune;
quint16 blockSize;
+#ifdef Q_OS_SYMBIAN
+ bool isDefaultIapSet;
+#endif
};
//! [0]
diff --git a/examples/network/fortuneclient/fortuneclient.pro b/examples/network/fortuneclient/fortuneclient.pro
index bb125e8..4765208 100644
--- a/examples/network/fortuneclient/fortuneclient.pro
+++ b/examples/network/fortuneclient/fortuneclient.pro
@@ -10,3 +10,10 @@ sources.path = $$[QT_INSTALL_EXAMPLES]/network/fortuneclient
INSTALLS += target sources
include($$QT_SOURCE_TREE/examples/examplebase.pri)
+
+symbian {
+ HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h
+ LIBS += -lesock
+ TARGET.CAPABILITY = "NetworkServices ReadUserData WriteUserData"
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/examples/network/fortuneclient/main.cpp b/examples/network/fortuneclient/main.cpp
index 0cc7378..4db555c 100644
--- a/examples/network/fortuneclient/main.cpp
+++ b/examples/network/fortuneclient/main.cpp
@@ -40,13 +40,17 @@
****************************************************************************/
#include <QApplication>
-
#include "client.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Client client;
+#ifdef Q_OS_SYMBIAN
+ // Make application better looking and more usable on small screen
+ client.showMaximized();
+#else
client.show();
+#endif
return client.exec();
}
diff --git a/examples/network/fortuneserver/fortuneserver.pro b/examples/network/fortuneserver/fortuneserver.pro
index 8cf52ee..ea37b58 100644
--- a/examples/network/fortuneserver/fortuneserver.pro
+++ b/examples/network/fortuneserver/fortuneserver.pro
@@ -10,3 +10,11 @@ sources.path = $$[QT_INSTALL_EXAMPLES]/network/fortuneserver
INSTALLS += target sources
include($$QT_SOURCE_TREE/examples/examplebase.pri)
+
+symbian {
+ HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h
+ LIBS += -lesock
+ TARGET.UID3 = 0xA000CF71
+ TARGET.CAPABILITY = "All -TCB"
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+} \ No newline at end of file
diff --git a/examples/network/fortuneserver/main.cpp b/examples/network/fortuneserver/main.cpp
index d742fb1..3394c1c 100644
--- a/examples/network/fortuneserver/main.cpp
+++ b/examples/network/fortuneserver/main.cpp
@@ -46,11 +46,22 @@
#include "server.h"
+#ifdef Q_OS_SYMBIAN
+#include "sym_iap_util.h"
+#endif
+
int main(int argc, char *argv[])
{
+#ifdef Q_OS_SYMBIAN
+ qt_SetDefaultIap();
+#endif
QApplication app(argc, argv);
Server server;
+#ifdef Q_OS_SYMBIAN
+ server.showMaximized();
+#else
server.show();
+#endif
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
return server.exec();
}
diff --git a/examples/network/fortuneserver/server.cpp b/examples/network/fortuneserver/server.cpp
index a102ef2..5da43ab 100644
--- a/examples/network/fortuneserver/server.cpp
+++ b/examples/network/fortuneserver/server.cpp
@@ -63,10 +63,15 @@ Server::Server(QWidget *parent)
return;
}
//! [0]
+ QList<QHostAddress> ipAddresseList = QNetworkInterface::allAddresses();
+ QString ipAddresses;
+ for (int i = 0; i < ipAddresseList.size(); ++i) {
+ ipAddresses.append(ipAddresseList.at(i).toString()).append("\n");
+ }
- statusLabel->setText(tr("The server is running on port %1.\n"
+ statusLabel->setText(tr("The server is running on \n IP: \n%1 PORT: \n%2\n"
"Run the Fortune Client example now.")
- .arg(tcpServer->serverPort()));
+ .arg(ipAddresses).arg(tcpServer->serverPort()));
//! [1]
//! [2]
diff --git a/examples/network/ftp/ftp.pro b/examples/network/ftp/ftp.pro
index c70b812..ac3d3e6 100644
--- a/examples/network/ftp/ftp.pro
+++ b/examples/network/ftp/ftp.pro
@@ -15,7 +15,7 @@ include($$QT_SOURCE_TREE/examples/examplebase.pri)
symbian {
HEADERS += sym_iap_util.h
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
- TARGET.CAPABILITY="NetworkServices"
+ TARGET.CAPABILITY="NetworkServices ReadUserData WriteUserData"
TARGET.UID3 = 0xA000A648
- LIBS+=-lesock -lconnmon # For IAP selection
+ LIBS+=-lesock -lcommdb # For IAP selection
} \ No newline at end of file
diff --git a/examples/network/ftp/sym_iap_util.h b/examples/network/ftp/sym_iap_util.h
index 14df5af..6d52b1d 100644
--- a/examples/network/ftp/sym_iap_util.h
+++ b/examples/network/ftp/sym_iap_util.h
@@ -41,10 +41,67 @@
#ifndef QSYM_IAP_UTIL_H
#define QSYM_IAP_UTIL_H
+// Symbian
#include <es_sock.h>
+#include <es_enum.h>
+#include <commdbconnpref.h>
+
+// OpenC
#include <sys/socket.h>
#include <net/if.h>
-#include <rconnmon.h>
+
+//Qt
+#include <QSettings>
+#include <QStringList>
+
+_LIT(KIapNameSetting, "IAP\\Name"); // text - mandatory
+_LIT(KIapDialogPref, "IAP\\DialogPref"); // TUnit32 - optional
+_LIT(KIapService, "IAP\\IAPService"); // TUnit32 - mandatory
+_LIT(KIapServiceType, "IAP\\IAPServiceType"); // text - mandatory
+_LIT(KIapBearer, "IAP\\IAPBearer"); // TUint32 - optional
+_LIT(KIapBearerType, "IAP\\IAPBearerType"); // text - optional
+_LIT(KIapNetwork, "IAP\\IAPNetwork"); // TUint32 - optional
+
+const QLatin1String qtOrganizationTag("Trolltech");
+const QLatin1String qtNetworkModuleTag("QtNetwork");
+const QLatin1String iapGroupTag("IAP");
+const QLatin1String iapNamesArrayTag("Names");
+const QLatin1String iapNameItemTag("Name");
+
+void clearIapNamesSettings(QSettings &settings) {
+ settings.beginGroup(qtNetworkModuleTag);
+ settings.beginGroup(iapGroupTag);
+ settings.remove(iapNamesArrayTag);
+ settings.endGroup();
+ settings.endGroup();
+}
+
+void writeIapNamesSettings(QSettings &settings, const QStringList& iapNames) {
+ clearIapNamesSettings(settings);
+ settings.beginGroup(qtNetworkModuleTag);
+ settings.beginGroup(iapGroupTag);
+ settings.beginWriteArray(iapNamesArrayTag);
+ for (int index = 0; index < iapNames.size(); ++index) {
+ settings.setArrayIndex(index);
+ settings.setValue(iapNameItemTag, iapNames.at(index));
+ }
+ settings.endArray();
+ settings.endGroup();
+ settings.endGroup();
+}
+
+void readIapNamesSettings(QSettings &settings, QStringList& iapNames) {
+ settings.beginGroup(qtNetworkModuleTag);
+ settings.beginGroup(iapGroupTag);
+ int last = settings.beginReadArray(iapNamesArrayTag);
+ for (int index = 0; index < last; ++index) {
+ settings.setArrayIndex(index);
+ iapNames.append(settings.value(iapNameItemTag).toString());
+ }
+ settings.endArray();
+ settings.endGroup();
+ settings.endGroup();
+}
QString qt_TDesC2QStringL(const TDesC& aDescriptor)
{
@@ -55,11 +112,95 @@ QString qt_TDesC2QStringL(const TDesC& aDescriptor)
#endif
}
-static void qt_SetDefaultIapL()
-{
+static bool qt_SetDefaultIapName(const QString &iapName, int &error) {
+ struct ifreq ifReq;
+ // clear structure
+ memset(&ifReq, 0, sizeof(struct ifreq));
+ // set IAP name value
+ // make sure it is in UTF8
+ strcpy(ifReq.ifr_name, iapName.toUtf8().data());
+
+ if(setdefaultif(&ifReq) == 0) {
+ // OK
+ error = 0;
+ return true;
+ } else {
+ error = errno;
+ return false;
+ }
+
+}
+static bool qt_SetDefaultSnapId(const int snapId, int &error) {
+ struct ifreq ifReq;
+ // clear structure
+ memset(&ifReq, 0, sizeof(struct ifreq));
+ // set SNAP ID value
+ ifReq.ifr_ifru.snap_id = snapId;
+
+ if(setdefaultif(&ifReq) == 0) {
+ // OK
+ error = 0;
+ return true;
+ } else {
+ error = errno;
+ return false;
+ }
+
+}
+
+static void qt_SaveIapName(QSettings& settings, QStringList& iapNames, QString& iapNameValue) {
+ if(iapNames.contains(iapNameValue) && iapNames.first() == iapNameValue) {
+ // no need to update
+ } else {
+ if(iapNameValue != QString("Easy WLAN")) {
+ // new selection alway on top
+ iapNames.removeAll(iapNameValue);
+ iapNames.prepend(iapNameValue);
+ writeIapNamesSettings(settings, iapNames);
+ } else {
+ // Unbeliveable ... if IAP dodn't exist before
+ // no matter what you choose from IAP selection list
+ // you will get "Easy WLAN" as IAP name value
+
+ // somehow commsdb is not in sync
+ }
+ }
+}
+
+static QString qt_OfferIapDialog() {
+ TBuf8<256> iapName;
+
+ RSocketServ socketServ;
+ CleanupClosePushL(socketServ);
+
+ RConnection connection;
+ CleanupClosePushL(connection);
+
+ socketServ.Connect();
+ connection.Open(socketServ);
+ connection.Start();
+
+ connection.GetDesSetting(TPtrC(KIapNameSetting), iapName);
+
+ //connection.Stop();
+
+ iapName.ZeroTerminate();
+ QString strIapName((char*)iapName.Ptr());
+
+ int error = 0;
+ if(!qt_SetDefaultIapName(strIapName, error)) {
+ //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error);
+ strIapName = QString("");
+ }
+
+ CleanupStack::PopAndDestroy(&connection);
+ CleanupStack::PopAndDestroy(&socketServ);
+
+ return strIapName;
+}
+
+static QString qt_CheckForActiveConnection() {
TUint count;
- TRequestStatus status;
- TUint ids[15];
RSocketServ serv;
CleanupClosePushL(serv);
@@ -67,59 +208,105 @@ static void qt_SetDefaultIapL()
RConnection conn;
CleanupClosePushL(conn);
- RConnectionMonitor monitor;
- CleanupClosePushL(monitor);
+ serv.Connect();
+ conn.Open(serv);
- monitor.ConnectL();
- monitor.GetConnectionCount(count, status);
- User::WaitForRequest(status);
- if(status.Int() != KErrNone) {
- User::Leave(status.Int());
- }
+ TConnectionInfoBuf connInfo;
- TUint numSubConnections;
+ TBuf8<256> iapName;
+ TBuf8<256> iapServiceType;
- if(count > 0) {
- for (TInt i = 1; i <= count; i++) {
- User::LeaveIfError(monitor.GetConnectionInfo(i, ids[i-1], numSubConnections));
- }
- /*
- * get IAP value for first active connection
- */
- TBuf< 50 > iapName;
- monitor.GetStringAttribute(ids[0], 0, KIAPName, iapName, status);
- User::WaitForRequest(status);
- if (status.Int() != KErrNone) {
- User::Leave(status.Int());
- } else {
- QString strIapName = qt_TDesC2QStringL(iapName);
- struct ifreq ifReq;
- strcpy(ifReq.ifr_name, strIapName.toLatin1().data());
- User::LeaveIfError(setdefaultif(&ifReq));
+ QString strIapName;
+
+ if (conn.EnumerateConnections(count) == KErrNone) {
+ if(count > 0) {
+ for (TUint i = 1; i <= count; i++) {
+ if (conn.GetConnectionInfo(i, connInfo) == KErrNone) {
+ RConnection tempConn;
+ CleanupClosePushL(tempConn);
+ tempConn.Open(serv);
+ if (tempConn.Attach(connInfo, RConnection::EAttachTypeNormal) == KErrNone) {
+ tempConn.GetDesSetting(TPtrC(KIapNameSetting), iapName);
+ tempConn.GetDesSetting(TPtrC(KIapServiceType), iapServiceType);
+ //tempConn.Stop();
+ iapName.ZeroTerminate();
+ iapServiceType.ZeroTerminate();
+
+// if(iapServiceType.Find(_L8("LANService")) != KErrNotFound) {
+// activeLanConnectionFound = ETrue;
+// break;
+// }
+ strIapName = QString((char*)iapName.Ptr());
+ int error = 0;
+ if(!qt_SetDefaultIapName(strIapName, error)) {
+ //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error);
+ strIapName = QString("");
+ }
+
+ CleanupStack::PopAndDestroy(&tempConn);
+ break;
+ }
+ }
+ }
}
- } else {
- /*
- * no active connections yet
- * use IAP dialog to select one
- */
- User::LeaveIfError(serv.Connect());
- User::LeaveIfError(conn.Open(serv));
- User::LeaveIfError(conn.Start());
-
- _LIT(KIapNameSetting, "IAP\\Name");
- TBuf8<50> iap8Name;
- User::LeaveIfError(conn.GetDesSetting(TPtrC(KIapNameSetting), iap8Name));
- iap8Name.ZeroTerminate();
-
- conn.Stop();
-
- struct ifreq ifReq;
- strcpy(ifReq.ifr_name, (char*)iap8Name.Ptr());
- User::LeaveIfError(setdefaultif(&ifReq));
}
- CleanupStack::PopAndDestroy(&monitor);
+
+ //conn.Stop();
+
CleanupStack::PopAndDestroy(&conn);
CleanupStack::PopAndDestroy(&serv);
+
+ return strIapName;
+}
+
+static QString qt_CheckSettingsForConnection(QStringList& iapNames) {
+ QString strIapName;
+ for(int index = 0; index < iapNames.size(); ++index) {
+ strIapName = iapNames.at(index);
+ int error = 0;
+ if(!qt_SetDefaultIapName(strIapName, error)) {
+ //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error);
+ strIapName = QString("");
+ } else {
+ return strIapName;
+ }
+ }
+ return strIapName;
+}
+
+static void qt_SetDefaultIapL()
+{
+ // settings @ /c/data/.config/Trolltech.com
+ QSettings settings(QSettings::UserScope, qtOrganizationTag);
+ // populate iap name list
+ QStringList iapNames;
+ readIapNamesSettings(settings, iapNames);
+
+ QString iapNameValue;
+
+ iapNameValue = qt_CheckForActiveConnection();
+
+ if(!iapNameValue.isEmpty()) {
+ qt_SaveIapName(settings, iapNames, iapNameValue);
+ return;
+ }
+
+ iapNameValue = qt_CheckSettingsForConnection(iapNames);
+
+ if(!iapNameValue.isEmpty()) {
+ qt_SaveIapName(settings, iapNames, iapNameValue);
+ return;
+ }
+
+ /*
+ * no active LAN connections yet
+ * no IAP in settings
+ * offer IAP dialog to user
+ */
+ iapNameValue = qt_OfferIapDialog();
+ qt_SaveIapName(settings, iapNames, iapNameValue);
+ return;
+
}
static int qt_SetDefaultIap()
diff --git a/examples/painting/svggenerator/displaywidget.cpp b/examples/painting/svggenerator/displaywidget.cpp
index 75ec02d..bad6d3a 100644
--- a/examples/painting/svggenerator/displaywidget.cpp
+++ b/examples/painting/svggenerator/displaywidget.cpp
@@ -63,7 +63,7 @@ DisplayWidget::DisplayWidget(QWidget *parent)
}
//! [paint event]
-void DisplayWidget::paintEvent(QPaintEvent *event)
+void DisplayWidget::paintEvent(QPaintEvent * /* event */)
{
QPainter painter;
painter.begin(this);
diff --git a/examples/phonon/musicplayer/mainwindow.cpp b/examples/phonon/musicplayer/mainwindow.cpp
index af2b637..ee97c7a 100644
--- a/examples/phonon/musicplayer/mainwindow.cpp
+++ b/examples/phonon/musicplayer/mainwindow.cpp
@@ -181,7 +181,7 @@ void MainWindow::metaStateChanged(Phonon::State newState, Phonon::State /* oldSt
QMessageBox::warning(this, tr("Error opening files"),
metaInformationResolver->errorString());
while (!sources.isEmpty() &&
- !(sources.takeLast() == metaInformationResolver->currentSource()));
+ !(sources.takeLast() == metaInformationResolver->currentSource())) {}
return;
}
diff --git a/mkspecs/features/symbian/armcc_warnings.prf b/mkspecs/features/symbian/armcc_warnings.prf
new file mode 100644
index 0000000..95b3bc0
--- /dev/null
+++ b/mkspecs/features/symbian/armcc_warnings.prf
@@ -0,0 +1,10 @@
+# 111: Statement is unreachable
+# 185: Dynamic initialization in unreachable code
+# 191: Type qualifier is meaningless on cast type
+# 368: class "<class>" defines no constructor to initialize the following: <member>
+# (Disabled because there are other ways of assigning besides constructors)
+# 1293: Assignment in condition
+# 1294: pre-ANSI C style functions declarations (used a lot in 3rd party code)
+# 2874: <variable> may be used before being set (this one sounds useful, but
+# it's output also for class instances, making it useless in practice)
+QMAKE_CFLAGS.ARMCC += --diag_suppress 111,185,191,368,1293,1294,2874
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
index f037c1a..cf81388 100644
--- a/mkspecs/features/win32/windows.prf
+++ b/mkspecs/features/win32/windows.prf
@@ -6,8 +6,8 @@ contains(TEMPLATE, ".*app"){
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
isEqual(entryLib, -lqtmain): {
- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d
- else: QMAKE_LIBS += $${entryLib}
+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
+ else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
} else {
QMAKE_LIBS += $${entryLib}
}
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
new file mode 100644
index 0000000..97fc6b3
--- /dev/null
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
@@ -0,0 +1,22 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# ** Contact: Qt Software Information (qt-info@nokia.com)
+# **
+# ** This file is part of symbian-sbsv2 mkspec.
+# **
+# ****************************************************************************/
+
+include $(FLMHOME)/metaflm.mk
+
+SINGLETON:=$(call sanitise,TEMP_DIRS_$(EXTENSION_ROOT))
+
+ifeq ($($(SINGLETON)),)
+$(SINGLETON):=1
+$(call makepath,$(DIRS))
+$(eval $(call GenerateStandardCleanTarget,'',$(DIRS)))
+endif
+
+
+
+
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qt.xml b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
index a5ed141..ff12761 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qt.xml
+++ b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
@@ -34,4 +34,9 @@
<param name='POST_LINK_CMD' />
<param name='LINK_TARGET' />
</interface>
+
+ <interface name="qt.qmake_generate_temp_dirs" extends="Symbian.UserFLM"
+ flm="qmake_generate_temp_dirs.flm">
+ <param name='DIRS' />
+ </interface>
</build>
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index f1e9165..374d058 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -581,8 +581,15 @@ bool SymbianMakefileGenerator::initMmpVariables() {
for(int j = 0; j < incpaths.size(); ++j) {
QString includepath = canonizePath(incpaths.at(j));
appendIfnotExist(sysincspaths, includepath);
+ // As a workaround for Symbian toolchain insistence to treat include
+ // statements as relative to source file rather than the file they appear in,
+ // we generate extra temporary include directories to make
+ // relative include paths used in various headers to work properly.
+ // Note that this is not a fix-all solution; it's just a stop-gap measure
+ // to make Qt itself build until toolchain can support relative includes in
+ // a way that Qt expects.
if (!includepath.contains(epocPath)) // No temp dirs for epoc includes
- appendIfnotExist(sysincspaths, includepath + QString("/tmp"));
+ appendIfnotExist(sysincspaths, includepath + QString("/" QT_EXTRA_INCLUDE_DIR));
}
// remove duplicate include path entries
@@ -687,7 +694,9 @@ bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb
}
t << endl;
- writeMmpFileLibraryPart(t);
+ if (!project->values("CONFIG").contains("static") && !project->values("CONFIG").contains("staticlib")) {
+ writeMmpFileLibraryPart(t);
+ }
writeMmpFileCapabilityPart(t);
@@ -1605,12 +1614,13 @@ QString SymbianMakefileGenerator::removeTrailingPathSeparators(QString &file)
return ret;
}
-bool SymbianMakefileGenerator::generateCleanCommands(QTextStream& t,
+void SymbianMakefileGenerator::generateCleanCommands(QTextStream& t,
const QStringList& toClean,
const QString& cmd,
const QString& cmdOptions,
const QString& itemPrefix,
- const QString& itemSuffix) {
+ const QString& itemSuffix)
+{
for (int i = 0; i < toClean.size(); ++i) {
QString item = toClean.at(i);
item.prepend(itemPrefix).append(itemSuffix);
@@ -1622,11 +1632,10 @@ bool SymbianMakefileGenerator::generateCleanCommands(QTextStream& t,
t << cmd << " " << cmdOptions << " " << QDir::toNativeSeparators(item) << "; fi" << endl;
#endif
}
-
- return true;
}
-QString SymbianMakefileGenerator::getWithoutSpecialCharacters(QString& str) {
+QString SymbianMakefileGenerator::getWithoutSpecialCharacters(QString& str)
+{
QString tmp = str;
tmp.replace(QString("/"), QString("_"));
@@ -1638,7 +1647,8 @@ QString SymbianMakefileGenerator::getWithoutSpecialCharacters(QString& str) {
return tmp;
}
-void SymbianMakefileGenerator::removeSpecialCharacters(QString& str) {
+void SymbianMakefileGenerator::removeSpecialCharacters(QString& str)
+{
str.replace(QString("/"), QString("_"));
str.replace(QString("\\"), QString("_"));
str.replace(QString("-"), QString("_"));
@@ -1646,3 +1656,57 @@ void SymbianMakefileGenerator::removeSpecialCharacters(QString& str) {
str.replace(QString("."), QString("_"));
str.replace(QString(" "), QString("_"));
}
+
+void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
+{
+ t << "dodistclean:" << endl;
+ foreach(QString item, project->values("SUBDIRS")) {
+ bool fromFile = false;
+ QString fixedItem;
+ if(!project->isEmpty(item + ".file")) {
+ fixedItem = project->first(item + ".file");
+ fromFile = true;
+ } else if(!project->isEmpty(item + ".subdir")) {
+ fixedItem = project->first(item + ".subdir");
+ fromFile = false;
+ } else {
+ fromFile = item.endsWith(Option::pro_ext);
+ fixedItem = item;
+ }
+ QFileInfo fi(fileInfo(fixedItem));
+ if (!fromFile) {
+ t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fi.absoluteFilePath() + "/Makefile") << "\" dodistclean" << endl;
+ } else {
+ QString itemName = fi.fileName();
+ int extIndex = itemName.lastIndexOf(Option::pro_ext);
+ if (extIndex)
+ fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0,extIndex);
+ t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fixedItem) << "\" dodistclean" << endl;
+ }
+
+ }
+
+ generatedFiles << Option::fixPathToTargetOS(fileInfo(Option::output.fileName()).absoluteFilePath()); // bld.inf
+ generatedFiles << project->values("QMAKE_INTERNAL_PRL_FILE"); // Add generated prl files for cleanup
+ generatedFiles << project->values("QMAKE_DISTCLEAN"); // Add any additional files marked for distclean
+ QStringList fixedFiles;
+ QStringList fixedDirs;
+ foreach(QString item, generatedFiles) {
+ QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath());
+ if (!fixedFiles.contains(fixedItem)) {
+ fixedFiles << fixedItem;
+ }
+ }
+ foreach(QString item, generatedDirs) {
+ QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath());
+ if (!fixedDirs.contains(fixedItem)) {
+ fixedDirs << fixedItem;
+ }
+ }
+ generateCleanCommands(t, fixedFiles, "$(DEL_FILE)", "", "", "");
+ generateCleanCommands(t, fixedDirs, "$(DEL_DIR)", "", "", "");
+ t << endl;
+
+ t << "distclean: clean dodistclean" << endl;
+ t << endl;
+} \ No newline at end of file
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index 037faff..52c3c4d 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -57,6 +57,8 @@ QT_BEGIN_NAMESPACE
#define BLD_INF_FILENAME "bld.inf"
#define MAKEFILE_DEPENDENCY_SEPARATOR " \\\n\t"
+#define QT_EXTRA_INCLUDE_DIR "tmp"
+
class SymbianMakefileGenerator : public MakefileGenerator {
protected:
@@ -127,13 +129,14 @@ protected:
QString removePathSeparators(QString &file);
QString removeTrailingPathSeparators(QString &file);
- bool generateCleanCommands(QTextStream& t,
+ void generateCleanCommands(QTextStream& t,
const QStringList& toClean,
const QString& cmd,
const QString& cmdOptions,
const QString& itemPrefix,
const QString& itemSuffix);
+ void generateDistcleanTargets(QTextStream& t);
bool writeCustomDefFile();
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 8501224..ccda9f2 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -293,11 +293,16 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << CREATE_TEMPS_TARGET ":" << endl;
// generate command lines like this ...
// -@ if NOT EXIST ".\somedir" mkdir ".\somedir"
+ QStringList dirsToClean;
for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
- t << "\t-@ if NOT EXIST \"" << QDir::toNativeSeparators(values.at(i)) << "\\tmp\" mkdir \""
- << QDir::toNativeSeparators(values.at(i)) << "\\tmp\"" << endl;
+ if (values.at(i).endsWith("/" QT_EXTRA_INCLUDE_DIR)) {
+ QString fixedValue(QDir::toNativeSeparators(values.at(i)));
+ dirsToClean << fixedValue;
+ t << "\t-@ if NOT EXIST \"" << fixedValue << "\" mkdir \""
+ << fixedValue << "\"" << endl;
+ }
}
}
t << endl;
@@ -305,10 +310,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// Note: EXTENSION_CLEAN will get called many times when doing reallyclean
// This is why the "2> NUL" gets appended to generated clean targets in makefile.cpp.
t << EXTENSION_CLEAN ": " COMPILER_CLEAN_TARGET << endl;
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
- QStringList dirsToClean = it.value();
- generateCleanCommands(t, dirsToClean, var("QMAKE_DEL_DIR"), " /S /Q ", "", "/tmp");
- }
+ generateCleanCommands(t, dirsToClean, var("QMAKE_DEL_DIR"), " /S /Q ", "", "");
t << endl;
t << PRE_TARGETDEPS_TARGET ":"
@@ -356,56 +358,8 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
writeDeploymentTargets(t);
- t << "dodistclean:" << endl;
- foreach(QString item, project->values("SUBDIRS")) {
- bool fromFile = false;
- QString fixedItem;
- if(!project->isEmpty(item + ".file")) {
- fixedItem = project->first(item + ".file");
- fromFile = true;
- } else if(!project->isEmpty(item + ".subdir")) {
- fixedItem = project->first(item + ".subdir");
- fromFile = false;
- } else {
- fromFile = item.endsWith(Option::pro_ext);
- fixedItem = item;
- }
- QFileInfo fi(fileInfo(fixedItem));
- if (!fromFile) {
- t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fi.canonicalFilePath()) << "\\Makefile\" dodistclean" << endl;
- } else {
- QString itemName = fi.fileName();
- int extIndex = itemName.lastIndexOf(Option::pro_ext);
- if (extIndex)
- fixedItem = fi.canonicalPath() + "/" + QString("Makefile.") + itemName.mid(0,extIndex);
- t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fixedItem) << "\" dodistclean" << endl;
- }
-
- }
+ generateDistcleanTargets(t);
- generatedFiles << Option::fixPathToTargetOS(fileInfo(Option::output.fileName()).canonicalFilePath()); // bld.inf
- generatedFiles << project->values("QMAKE_INTERNAL_PRL_FILE"); // Add generated prl files for cleanup
- generatedFiles << project->values("QMAKE_DISTCLEAN"); // Add any additional files marked for distclean
- QStringList fixedFiles;
- QStringList fixedDirs;
- foreach(QString item, generatedFiles) {
- QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).canonicalFilePath());
- if (!fixedFiles.contains(fixedItem)) {
- fixedFiles << fixedItem;
- }
- }
- foreach(QString item, generatedDirs) {
- QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).canonicalFilePath());
- if (!fixedDirs.contains(fixedItem)) {
- fixedDirs << fixedItem;
- }
- }
- generateCleanCommands(t, fixedFiles, "$(DEL_FILE)", "", "", "");
- generateCleanCommands(t, fixedDirs, "$(DEL_DIR)", "", "", "");
- t << endl;
-
- t << "distclean: clean dodistclean" << endl;
- t << endl;
t << "clean: $(ABLD)" << endl;
t << "\t-$(ABLD)" << testClause << " reallyclean" << endl;
t << "\t-bldmake clean" << endl;
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 7b739c7..0266bac 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -220,56 +220,8 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
qDeleteAll(subtargets);
}
- t << "dodistclean:" << endl;
- foreach(QString item, project->values("SUBDIRS")) {
- bool fromFile = false;
- QString fixedItem;
- if(!project->isEmpty(item + ".file")) {
- fixedItem = project->first(item + ".file");
- fromFile = true;
- } else if(!project->isEmpty(item + ".subdir")) {
- fixedItem = project->first(item + ".subdir");
- fromFile = false;
- } else {
- fromFile = item.endsWith(Option::pro_ext);
- fixedItem = item;
- }
- QFileInfo fi(fileInfo(fixedItem));
- if (!fromFile) {
- t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fi.absoluteFilePath() + "/Makefile") << "\" dodistclean" << endl;
- } else {
- QString itemName = fi.fileName();
- int extIndex = itemName.lastIndexOf(Option::pro_ext);
- if (extIndex)
- fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0,extIndex);
- t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fixedItem) << "\" dodistclean" << endl;
- }
-
- }
+ generateDistcleanTargets(t);
- generatedFiles << Option::fixPathToTargetOS(fileInfo(Option::output.fileName()).absoluteFilePath()); // bld.inf
- generatedFiles << project->values("QMAKE_INTERNAL_PRL_FILE"); // Add generated prl files for cleanup
- generatedFiles << project->values("QMAKE_DISTCLEAN"); // Add any additional files marked for distclean
- QStringList fixedFiles;
- QStringList fixedDirs;
- foreach(QString item, generatedFiles) {
- QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath());
- if (!fixedFiles.contains(fixedItem)) {
- fixedFiles << fixedItem;
- }
- }
- foreach(QString item, generatedDirs) {
- QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath());
- if (!fixedDirs.contains(fixedItem)) {
- fixedDirs << fixedItem;
- }
- }
- generateCleanCommands(t, fixedFiles, "$(DEL_FILE)", "", "", "");
- generateCleanCommands(t, fixedDirs, "$(DEL_DIR)", "", "", "");
- t << endl;
-
- t << "distclean: clean dodistclean" << endl;
- t << endl;
t << "clean: " << BLD_INF_FILENAME << endl;
t << "\t-$(SBS) reallyclean" << endl;
t << endl;
@@ -433,6 +385,28 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << "END" << endl;
}
+ // Generate temp dirs
+ QString tempDirs;
+ for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ QStringList values = it.value();
+ for (int i = 0; i < values.size(); ++i) {
+ QString value = values.at(i);
+ if (value.endsWith("/" QT_EXTRA_INCLUDE_DIR)) {
+ value = fileInfo(value).absoluteFilePath();
+ tempDirs.append(value);
+ tempDirs.append(" ");
+ }
+ }
+ }
+
+ if (tempDirs.size())
+ tempDirs.chop(1); // Remove final space
+
+ t << "START EXTENSION qt/qmake_generate_temp_dirs" << endl;
+ t << "OPTION DIRS " << tempDirs << endl;
+ t << "END" << endl;
+ t << endl;
+
t << endl;
return true;
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
index 1ac3779..c932ec2 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
@@ -2723,7 +2723,7 @@ static HB_Error Load_Mark2Array( HB_Mark2Array* m2a,
{
HB_Error error;
- HB_UShort k, m, n, count;
+ HB_UShort m, n, count;
HB_UInt cur_offset, new_offset, base_offset;
HB_Mark2Record *m2r;
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-impl.c b/src/3rdparty/harfbuzz/src/harfbuzz-impl.c
index 9056a55..ddbf36b 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-impl.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-impl.c
@@ -33,7 +33,7 @@ HB_INTERNAL HB_Pointer
_hb_alloc(size_t size,
HB_Error *perror )
{
- HB_Error error = 0;
+ HB_Error error = (HB_Error)0;
HB_Pointer block = NULL;
if ( size > 0 )
@@ -54,7 +54,7 @@ _hb_realloc(HB_Pointer block,
HB_Error *perror )
{
HB_Pointer block2 = NULL;
- HB_Error error = 0;
+ HB_Error error = (HB_Error)0;
block2 = realloc( block, new_size );
if ( block2 == NULL && new_size != 0 )
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-stream.c b/src/3rdparty/harfbuzz/src/harfbuzz-stream.c
index 3dcee82..2d9638f 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-stream.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-stream.c
@@ -70,7 +70,7 @@ HB_INTERNAL HB_Error
_hb_stream_seek( HB_Stream stream,
HB_UInt pos )
{
- HB_Error error = 0;
+ HB_Error error = (HB_Error)0;
stream->pos = pos;
if (pos > stream->size)
diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp
index 5f0a05b..a9b3271 100644
--- a/src/activeqt/control/qaxserver.cpp
+++ b/src/activeqt/control/qaxserver.cpp
@@ -351,6 +351,10 @@ HRESULT UpdateRegistry(BOOL bRegister)
qAxFactory()->registerClass(*key, &settings);
}
} else {
+ if (qAxOutProcServer) {
+ settings.remove(QLatin1String("/AppID/") + appId + QLatin1String("/."));
+ settings.remove(QLatin1String("/AppID/") + module + QLatin1String(".EXE"));
+ }
QStringList keys = qAxFactory()->featureList();
for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) {
QString className = *key;
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index c130fe2..351c556 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -2470,7 +2470,9 @@ typedef uint SeedStorageType;
# endif
typedef QThreadStorage<SeedStorageType *> SeedStorage;
+#if defined(Q_OS_UNIX) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN)
Q_GLOBAL_STATIC(SeedStorage, randTLS) // Thread Local Storage for seed value
+#endif
#endif
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index b57be50..9e5715a 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -110,7 +110,7 @@ namespace QT_NAMESPACE {}
This expands to a "using QT_NAMESPACE" also in _header files_.
It is the only way the feature can be used without too much
pain, but if people _really_ do not want it they can add
- DEFINES += QT_NO_USING_NAMESPACE to theur .pro files.
+ DEFINES += QT_NO_USING_NAMESPACE to their .pro files.
*/
QT_USE_NAMESPACE
# endif
@@ -1537,7 +1537,7 @@ inline QT3_SUPPORT int qWinVersion() { return QSysInfo::WindowsVersion; }
Avoid "unused parameter" warnings
*/
-#if defined(Q_CC_INTEL) && !defined(Q_OS_WIN)
+#if defined(Q_CC_INTEL) && !defined(Q_OS_WIN) || defined(Q_CC_RVCT)
template <typename T>
inline void qUnused(T &x) { (void)x; }
# define Q_UNUSED(x) qUnused(x);
@@ -1549,7 +1549,7 @@ inline void qUnused(T &x) { (void)x; }
Debugging and error handling
*/
-#if defined(Q_OS_SYMBIAN) && defined(NDEBUG)
+#if defined(Q_OS_SYMBIAN) && defined(NDEBUG) && !defined(QT_NO_DEBUG)
# define QT_NO_DEBUG
#endif
diff --git a/src/corelib/io/qbuffer.cpp b/src/corelib/io/qbuffer.cpp
index aed5b82..3883d30 100644
--- a/src/corelib/io/qbuffer.cpp
+++ b/src/corelib/io/qbuffer.cpp
@@ -452,7 +452,7 @@ qint64 QBuffer::writeData(const char *data, qint64 len)
*/
void QBuffer::connectNotify(const char *signal)
{
- if (strcmp(signal + 1, "readyRead()") == 0 || strcmp(signal + 1, "bytesWritten(qint64)"))
+ if (strcmp(signal + 1, "readyRead()") == 0 || strcmp(signal + 1, "bytesWritten(qint64)") == 0)
d_func()->signalConnectionCount++;
}
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index 1337d47..f59be7b 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -305,9 +305,8 @@ QResourcePrivate::ensureInitialized() const
if(path.startsWith(QLatin1Char(':')))
path = path.mid(1);
- bool found = false;
if(path.startsWith(QLatin1Char('/'))) {
- found = that->load(path);
+ that->load(path);
} else {
QMutexLocker lock(resourceMutex());
QStringList searchPaths = *resourceSearchPaths();
@@ -315,7 +314,6 @@ QResourcePrivate::ensureInitialized() const
for(int i = 0; i < searchPaths.size(); ++i) {
const QString searchPath(searchPaths.at(i) + QLatin1Char('/') + path);
if(that->load(searchPath)) {
- found = true;
that->absoluteFilePath = QLatin1Char(':') + searchPath;
break;
}
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 3829f8b..2d5bea6 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -341,6 +341,8 @@ bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode)
Q_D(QFSFileEngine);
Q_ASSERT(!isReallyOpen());
+ openMode |= QIODevice::ReadWrite;
+
if (!filePathIsTemplate)
return QFSFileEngine::open(openMode);
@@ -762,7 +764,6 @@ bool QTemporaryFile::open(OpenMode flags)
}
}
- flags |= QIODevice::ReadWrite;
if (QFile::open(flags)) {
d->fileName = d->fileEngine->fileName(QAbstractFileEngine::DefaultName);
return true;
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index 342be71..0ffd6f7 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -273,6 +273,7 @@ QT_BEGIN_NAMESPACE
\omitvalue CocoaRequestModal
\omitvalue Wrapped
\omitvalue Signal
+ \omitvalue SymbianDeferredFocusChanged
*/
/*!
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index 7f8041c..0d5257a 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -282,6 +282,8 @@ public:
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
+ SymbianDeferredFocusChanged = 194, // Internal for generating asynchronous focus events on Symbian
+
// 512 reserved for Qt Jambi's MetaCall event
// 513 reserved for Qt Jambi's DeleteOnMainThread event
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index 88e2a88..108c329 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -943,6 +943,9 @@ bool QEventDispatcherSymbian::unregisterTimer ( int timerId )
SymbianTimerInfoPtr timerInfo = m_timerList.take(timerId);
+ if (!QObjectPrivate::get(timerInfo->receiver)->inThreadChangeEvent)
+ QAbstractEventDispatcherPrivate::releaseTimerId(timerId);
+
return true;
}
diff --git a/src/corelib/kernel/qsharedmemory_symbian.cpp b/src/corelib/kernel/qsharedmemory_symbian.cpp
index d05f9f3..ffa363f 100644
--- a/src/corelib/kernel/qsharedmemory_symbian.cpp
+++ b/src/corelib/kernel/qsharedmemory_symbian.cpp
@@ -131,11 +131,9 @@ bool QSharedMemoryPrivate::create(int size)
return true;
}
-bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode)
+bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode /* mode */)
{
// Grab a pointer to the memory block
- TBool readOnly = (mode == QSharedMemory::ReadOnly ? true : false);
-
if (!chunk.Handle()) {
QString function = QLatin1String("QSharedMemory::handle");
QString safeKey = makePlatformSafeKey(key);
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index e447985..22cee0e 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -538,9 +538,13 @@ QByteArray qUncompress(const uchar* data, int nbytes)
QByteArray baunzip;
int res;
do {
- baunzip.resize(len);
- res = ::uncompress((uchar*)baunzip.data(), &len,
- (uchar*)data+4, nbytes-4);
+ QT_TRY {
+ baunzip.resize(len);
+ res = ::uncompress((uchar*)baunzip.data(), &len,
+ (uchar*)data+4, nbytes-4);
+ } QT_CATCH (const std::bad_alloc &) {
+ res = Z_MEM_ERROR;
+ }
switch (res) {
case Z_OK:
diff --git a/src/corelib/tools/qharfbuzz.cpp b/src/corelib/tools/qharfbuzz.cpp
index 9f90e39..3adc022 100644
--- a/src/corelib/tools/qharfbuzz.cpp
+++ b/src/corelib/tools/qharfbuzz.cpp
@@ -39,12 +39,12 @@
**
****************************************************************************/
-#include "qharfbuzz_p.h"
-
#include "qunicodetables_p.h"
#include "qlibrary.h"
#include "qtextcodec.h"
+#include "qharfbuzz_p.h"
+
QT_USE_NAMESPACE
extern "C" {
diff --git a/src/corelib/tools/qharfbuzz_p.h b/src/corelib/tools/qharfbuzz_p.h
index 3492d2e..4d7277a 100644
--- a/src/corelib/tools/qharfbuzz_p.h
+++ b/src/corelib/tools/qharfbuzz_p.h
@@ -53,8 +53,8 @@
#ifndef QHARFBUZZ_P_H
#define QHARFBUZZ_P_H
-#include <harfbuzz-shaper.h>
#include <QtCore/qglobal.h>
+#include <harfbuzz-shaper.h>
QT_BEGIN_NAMESPACE
diff --git a/src/corelib/tools/qunicodetables.cpp b/src/corelib/tools/qunicodetables.cpp
index 11ae801..c103016 100644
--- a/src/corelib/tools/qunicodetables.cpp
+++ b/src/corelib/tools/qunicodetables.cpp
@@ -46,3374 +46,3374 @@ QT_BEGIN_NAMESPACE
static const unsigned short uc_property_trie[] = {
// 0x11000
- 6256, 6288, 6320, 6352, 6384, 6416, 6448, 6480,
- 6512, 6544, 6576, 6608, 6640, 6672, 6704, 6736,
- 6768, 6800, 6832, 6864, 6896, 6928, 6960, 6992,
- 7024, 7056, 7088, 7120, 7152, 7184, 7216, 7248,
- 7280, 7312, 7344, 6512, 7376, 6512, 7408, 7440,
- 7472, 7504, 7536, 7568, 7600, 7632, 7664, 7696,
- 7728, 7760, 7792, 7824, 7856, 7888, 7920, 7952,
- 7984, 8016, 8048, 8080, 8112, 8144, 8176, 8208,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 8272, 8304, 8336, 8368, 8400, 8432, 8464, 8496,
- 8528, 8560, 8592, 8624, 8656, 8688, 8720, 8752,
- 8400, 8784, 8816, 8848, 8880, 8912, 8944, 8976,
- 9008, 9040, 9072, 9104, 9136, 9168, 9200, 9232,
- 9136, 9264, 9296, 9104, 9328, 9360, 9392, 9424,
- 9456, 9488, 9520, 9552, 9584, 9616, 9648, 9552,
- 9680, 9712, 9744, 9776, 9808, 9840, 9872, 9552,
-
- 9904, 9936, 9968, 9552, 9552, 10000, 10032, 10064,
- 10096, 10096, 10128, 10160, 10160, 10192, 10224, 10256,
- 10288, 10320, 10352, 10320, 10384, 10416, 10448, 10480,
- 10512, 10320, 10544, 10576, 10608, 10320, 10320, 10640,
- 10672, 10320, 10320, 10320, 10320, 10320, 10320, 10320,
- 10320, 10320, 10320, 10320, 10320, 10320, 10320, 10320,
- 10320, 10320, 10320, 10704, 10736, 10320, 10320, 10768,
- 10800, 10832, 10864, 10896, 9904, 10928, 10960, 10992,
- 11024, 10320, 11056, 11088, 10320, 11120, 9552, 9552,
- 11152, 11184, 11216, 11248, 11280, 11312, 11344, 11376,
- 11408, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 11440, 11472, 11504, 11536, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 11568, 11600, 11632, 11664, 11696, 11728, 11760, 11792,
- 6512, 6512, 6512, 6512, 11824, 6512, 6512, 11856,
- 11888, 11920, 11952, 11984, 12016, 12048, 12080, 12112,
-
- 12144, 12176, 12208, 12240, 12272, 12304, 12336, 12368,
- 12400, 12432, 12464, 12496, 12528, 12560, 12592, 12624,
- 12656, 12688, 12720, 12752, 12784, 12816, 12848, 12880,
- 12912, 12944, 12976, 13008, 13040, 13072, 13104, 13136,
- 13168, 13200, 13232, 13264, 13296, 13328, 13360, 13392,
- 13168, 13168, 13168, 13168, 13424, 13456, 13488, 13520,
- 13552, 13168, 13168, 13584, 13616, 13648, 9552, 9552,
- 13680, 13712, 13744, 13776, 13808, 13840, 13872, 13904,
- 13936, 13936, 13936, 13936, 13936, 13936, 13936, 13936,
- 13968, 13968, 13968, 13968, 14000, 14032, 14064, 14096,
- 13968, 14128, 13968, 14160, 14192, 14224, 14256, 14288,
- 14320, 14352, 9552, 9552, 9552, 9552, 9552, 9552,
- 14384, 14416, 14448, 14480, 14512, 14512, 14512, 14544,
- 14576, 14608, 14640, 14672, 14704, 14736, 14736, 9552,
- 14768, 9552, 9552, 9552, 14800, 14832, 14832, 14864,
- 14832, 14832, 14832, 14832, 14832, 14832, 14896, 14928,
-
- 14960, 14992, 15024, 15056, 15088, 15120, 15152, 15184,
- 15216, 15248, 15280, 15280, 15312, 15344, 15376, 15408,
- 15440, 15472, 15504, 15536, 15472, 15568, 15600, 15632,
- 15664, 15664, 15664, 15696, 15664, 15664, 15728, 15760,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
-
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
- 15792, 15792, 15792, 15792, 15792, 15824, 11376, 11376,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
-
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
-
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
-
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
-
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
-
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 15856, 15856, 15856, 15856, 15888, 9552, 9552,
-
- 15920, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
- 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
- 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
- 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
- 15952, 15952, 15952, 15952, 15984, 16016, 16048, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 16080, 16112, 9552, 9552, 9552, 9552, 9552, 9552,
- 16144, 16176, 16208, 16240, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
-
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
-
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
-
- 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
- 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
- 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
- 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
- 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
- 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
- 16304, 16336, 16368, 16400, 16432, 16496, 9552, 9552,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
- 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
-
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
-
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
- 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
- 15856, 16592, 16624, 16656, 16688, 16688, 16720, 9552,
- 16752, 16784, 16816, 16848, 16848, 16880, 16912, 16848,
- 16848, 16848, 16848, 16848, 16848, 16848, 16848, 16848,
- 16848, 16944, 16976, 16848, 17008, 16848, 17040, 17072,
- 17104, 17136, 17168, 17200, 16848, 16848, 16848, 17232,
- 17264, 17296, 17328, 17360, 17392, 17424, 17456, 17488,
-
- 17520, 17552, 17584, 9552, 17616, 17616, 17616, 17648,
- 17680, 17712, 17744, 17776, 17808, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 17840, 17872, 17904, 9552, 17936, 14640, 17968, 9552,
- 18000, 18032, 18064, 17616, 18096, 18128, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
- 18160, 18192, 8240, 8240, 8240, 8240, 8240, 8240,
- 18224, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 18256, 18288, 18320, 8240, 8240, 8240, 8240, 8240,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
- 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 6256, 6288, 6320, 6352, 6384, 6416, 6448, 6480,
+ 6512, 6544, 6576, 6608, 6640, 6672, 6704, 6736,
+ 6768, 6800, 6832, 6864, 6896, 6928, 6960, 6992,
+ 7024, 7056, 7088, 7120, 7152, 7184, 7216, 7248,
+ 7280, 7312, 7344, 6512, 7376, 6512, 7408, 7440,
+ 7472, 7504, 7536, 7568, 7600, 7632, 7664, 7696,
+ 7728, 7760, 7792, 7824, 7856, 7888, 7920, 7952,
+ 7984, 8016, 8048, 8080, 8112, 8144, 8176, 8208,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 8272, 8304, 8336, 8368, 8400, 8432, 8464, 8496,
+ 8528, 8560, 8592, 8624, 8656, 8688, 8720, 8752,
+ 8400, 8784, 8816, 8848, 8880, 8912, 8944, 8976,
+ 9008, 9040, 9072, 9104, 9136, 9168, 9200, 9232,
+ 9136, 9264, 9296, 9104, 9328, 9360, 9392, 9424,
+ 9456, 9488, 9520, 9552, 9584, 9616, 9648, 9552,
+ 9680, 9712, 9744, 9776, 9808, 9840, 9872, 9552,
+
+ 9904, 9936, 9968, 9552, 9552, 10000, 10032, 10064,
+ 10096, 10096, 10128, 10160, 10160, 10192, 10224, 10256,
+ 10288, 10320, 10352, 10320, 10384, 10416, 10448, 10480,
+ 10512, 10320, 10544, 10576, 10608, 10320, 10320, 10640,
+ 10672, 10320, 10320, 10320, 10320, 10320, 10320, 10320,
+ 10320, 10320, 10320, 10320, 10320, 10320, 10320, 10320,
+ 10320, 10320, 10320, 10704, 10736, 10320, 10320, 10768,
+ 10800, 10832, 10864, 10896, 9904, 10928, 10960, 10992,
+ 11024, 10320, 11056, 11088, 10320, 11120, 9552, 9552,
+ 11152, 11184, 11216, 11248, 11280, 11312, 11344, 11376,
+ 11408, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 11440, 11472, 11504, 11536, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 11568, 11600, 11632, 11664, 11696, 11728, 11760, 11792,
+ 6512, 6512, 6512, 6512, 11824, 6512, 6512, 11856,
+ 11888, 11920, 11952, 11984, 12016, 12048, 12080, 12112,
+
+ 12144, 12176, 12208, 12240, 12272, 12304, 12336, 12368,
+ 12400, 12432, 12464, 12496, 12528, 12560, 12592, 12624,
+ 12656, 12688, 12720, 12752, 12784, 12816, 12848, 12880,
+ 12912, 12944, 12976, 13008, 13040, 13072, 13104, 13136,
+ 13168, 13200, 13232, 13264, 13296, 13328, 13360, 13392,
+ 13168, 13168, 13168, 13168, 13424, 13456, 13488, 13520,
+ 13552, 13168, 13168, 13584, 13616, 13648, 9552, 9552,
+ 13680, 13712, 13744, 13776, 13808, 13840, 13872, 13904,
+ 13936, 13936, 13936, 13936, 13936, 13936, 13936, 13936,
+ 13968, 13968, 13968, 13968, 14000, 14032, 14064, 14096,
+ 13968, 14128, 13968, 14160, 14192, 14224, 14256, 14288,
+ 14320, 14352, 9552, 9552, 9552, 9552, 9552, 9552,
+ 14384, 14416, 14448, 14480, 14512, 14512, 14512, 14544,
+ 14576, 14608, 14640, 14672, 14704, 14736, 14736, 9552,
+ 14768, 9552, 9552, 9552, 14800, 14832, 14832, 14864,
+ 14832, 14832, 14832, 14832, 14832, 14832, 14896, 14928,
+
+ 14960, 14992, 15024, 15056, 15088, 15120, 15152, 15184,
+ 15216, 15248, 15280, 15280, 15312, 15344, 15376, 15408,
+ 15440, 15472, 15504, 15536, 15472, 15568, 15600, 15632,
+ 15664, 15664, 15664, 15696, 15664, 15664, 15728, 15760,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15792, 15792, 15792,
+ 15792, 15792, 15792, 15792, 15792, 15824, 11376, 11376,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 15856, 15856, 15856, 15856, 15888, 9552, 9552,
+
+ 15920, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
+ 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
+ 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
+ 15952, 15952, 15952, 15952, 15952, 15952, 15952, 15952,
+ 15952, 15952, 15952, 15952, 15984, 16016, 16048, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 16080, 16112, 9552, 9552, 9552, 9552, 9552, 9552,
+ 16144, 16176, 16208, 16240, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+
+ 16304, 16336, 16368, 16400, 16432, 16464, 16272, 16304,
+ 16336, 16368, 16400, 16432, 16464, 16272, 16304, 16336,
+ 16368, 16400, 16432, 16464, 16272, 16304, 16336, 16368,
+ 16400, 16432, 16464, 16272, 16304, 16336, 16368, 16400,
+ 16432, 16464, 16272, 16304, 16336, 16368, 16400, 16432,
+ 16464, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16272, 16304, 16336, 16368, 16400, 16432, 16464, 16272,
+ 16304, 16336, 16368, 16400, 16432, 16496, 9552, 9552,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+ 16528, 16528, 16528, 16528, 16528, 16528, 16528, 16528,
+
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 16560, 16560, 16560, 16560, 16560, 16560, 16560, 16560,
+ 15856, 15856, 15856, 15856, 15856, 15856, 15856, 15856,
+ 15856, 16592, 16624, 16656, 16688, 16688, 16720, 9552,
+ 16752, 16784, 16816, 16848, 16848, 16880, 16912, 16848,
+ 16848, 16848, 16848, 16848, 16848, 16848, 16848, 16848,
+ 16848, 16944, 16976, 16848, 17008, 16848, 17040, 17072,
+ 17104, 17136, 17168, 17200, 16848, 16848, 16848, 17232,
+ 17264, 17296, 17328, 17360, 17392, 17424, 17456, 17488,
+
+ 17520, 17552, 17584, 9552, 17616, 17616, 17616, 17648,
+ 17680, 17712, 17744, 17776, 17808, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 17840, 17872, 17904, 9552, 17936, 14640, 17968, 9552,
+ 18000, 18032, 18064, 17616, 18096, 18128, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 9552, 9552, 9552, 9552, 9552, 9552, 9552, 9552,
+ 18160, 18192, 8240, 8240, 8240, 8240, 8240, 8240,
+ 18224, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 18256, 18288, 18320, 8240, 8240, 8240, 8240, 8240,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
+ 8240, 8240, 8240, 8240, 8240, 8240, 8240, 8240,
// 0x11000 - 0x110000
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18608, 18608, 18608, 18864, 19120, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 19376, 19632, 19888, 20144, 20400, 20656, 20912, 21168,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
-
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
- 21680, 21680, 21680, 21680, 21680, 21680, 21936, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 21680, 21680, 22192, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 22448, 22704, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
-
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
- 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
-
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 23216,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
-
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
- 22960, 22960, 22960, 22960, 22960, 22960, 22960, 23216,
-
-
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4, 5, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 6, 7,
-
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 14, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 9,
-
- 14, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 39, 40, 41, 42, 43,
-
- 42, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 39, 45, 41, 36, 0,
-
- 0, 0, 0, 0, 0, 46, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
-
- 47, 14, 48, 12, 12, 12, 49, 49,
- 42, 49, 50, 51, 36, 52, 49, 42,
- 53, 54, 55, 56, 57, 58, 49, 59,
- 42, 60, 50, 61, 62, 62, 62, 14,
-
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 36,
- 38, 38, 38, 38, 38, 38, 38, 63,
-
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 36,
- 44, 44, 44, 44, 44, 44, 44, 64,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 67, 68, 65, 66, 65, 66, 65, 66,
- 50, 65, 66, 65, 66, 65, 66, 65,
-
- 66, 65, 66, 65, 66, 65, 66, 65,
- 66, 69, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 70, 65, 66, 65, 66, 65, 66, 71,
-
- 72, 73, 65, 66, 65, 66, 74, 65,
- 66, 75, 75, 65, 66, 50, 76, 77,
- 78, 65, 66, 75, 79, 80, 81, 82,
- 65, 66, 83, 50, 81, 84, 85, 86,
-
- 65, 66, 65, 66, 65, 66, 87, 65,
- 66, 87, 50, 50, 65, 66, 87, 65,
- 66, 88, 88, 65, 66, 65, 66, 89,
- 65, 66, 50, 90, 65, 66, 50, 91,
-
- 90, 90, 90, 90, 92, 93, 94, 92,
- 93, 94, 92, 93, 94, 65, 66, 65,
- 66, 65, 66, 65, 66, 65, 66, 65,
- 66, 65, 66, 65, 66, 95, 65, 66,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 96, 92, 93, 94, 65, 66, 97, 98,
- 99, 100, 65, 66, 65, 66, 65, 66,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 99, 100, 99, 100, 99, 100, 99, 100,
-
- 101, 102, 99, 100, 99, 100, 99, 100,
- 99, 100, 99, 100, 99, 100, 99, 100,
- 99, 100, 99, 100, 102, 102, 102, 103,
- 103, 103, 104, 105, 106, 107, 108, 103,
-
- 103, 105, 109, 110, 111, 112, 113, 109,
- 113, 109, 113, 109, 113, 109, 113, 109,
- 50, 50, 50, 114, 115, 50, 116, 116,
- 50, 117, 50, 118, 50, 50, 50, 50,
-
- 116, 50, 50, 119, 50, 50, 50, 50,
- 120, 121, 50, 122, 50, 50, 50, 121,
- 50, 50, 123, 50, 50, 124, 50, 50,
- 50, 50, 50, 50, 50, 125, 50, 50,
-
- 126, 50, 50, 126, 50, 50, 50, 50,
- 126, 127, 128, 128, 129, 50, 50, 50,
- 50, 50, 130, 50, 90, 50, 50, 50,
- 50, 50, 50, 50, 50, 50, 50, 50,
-
- 50, 50, 50, 50, 50, 50, 50, 50,
- 50, 131, 131, 131, 131, 131, 102, 102,
- 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 133, 133, 134, 134, 134, 134, 134,
-
- 132, 132, 42, 42, 42, 42, 133, 133,
- 135, 133, 133, 133, 135, 133, 133, 133,
- 134, 134, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 136,
-
- 132, 132, 132, 132, 132, 42, 42, 42,
- 42, 42, 136, 136, 136, 136, 137, 138,
- 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138,
-
- 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 140, 141, 141,
- 141, 141, 140, 142, 141, 141, 141, 141,
-
- 141, 143, 143, 141, 141, 141, 141, 143,
- 143, 141, 141, 141, 141, 141, 141, 141,
- 141, 141, 141, 141, 144, 144, 144, 144,
- 144, 141, 141, 141, 141, 139, 139, 139,
-
- 139, 139, 139, 139, 139, 145, 146, 147,
- 147, 147, 146, 146, 146, 147, 147, 148,
- 149, 149, 149, 150, 150, 150, 150, 149,
- 151, 152, 152, 153, 154, 155, 155, 156,
-
- 157, 157, 158, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159,
- 160, 160, 160, 160, 42, 42, 160, 160,
- 160, 160, 132, 161, 161, 161, 34, 160,
-
- 160, 160, 160, 160, 42, 42, 162, 14,
- 163, 163, 163, 160, 164, 160, 165, 165,
- 166, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
-
- 38, 38, 160, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 167, 168, 168, 168,
- 169, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
-
- 44, 44, 170, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 171, 172, 172, 160,
- 173, 174, 175, 175, 175, 176, 177, 131,
- 178, 179, 65, 100, 65, 100, 65, 100,
-
- 65, 100, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 180, 181, 182, 50, 183, 184, 185, 186,
- 187, 188, 186, 187, 103, 189, 189, 189,
-
- 190, 191, 191, 191, 191, 191, 191, 191,
- 191, 191, 191, 191, 191, 190, 191, 191,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
-
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
-
- 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44,
- 192, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 192, 181, 181,
-
- 65, 66, 193, 139, 139, 139, 139, 160,
- 194, 194, 178, 179, 99, 100, 99, 100,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
-
- 195, 65, 66, 65, 66, 178, 179, 65,
- 66, 178, 179, 65, 66, 178, 179, 196,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 99, 100, 65, 66,
- 65, 66, 65, 66, 65, 66, 105, 106,
- 65, 66, 113, 109, 113, 109, 113, 109,
-
- 178, 179, 178, 179, 178, 179, 178, 179,
- 178, 179, 178, 179, 178, 179, 178, 179,
- 113, 109, 113, 109, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
-
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 160,
- 160, 134, 198, 198, 199, 198, 199, 198,
-
- 160, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200,
-
- 200, 200, 200, 200, 200, 200, 200, 201,
- 160, 202, 203, 160, 160, 160, 160, 160,
- 204, 205, 206, 206, 206, 206, 205, 206,
- 206, 206, 207, 205, 206, 206, 206, 206,
-
- 206, 206, 152, 205, 205, 205, 205, 205,
- 206, 206, 205, 206, 206, 207, 208, 206,
- 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224,
-
- 225, 226, 227, 225, 206, 152, 228, 229,
- 204, 204, 204, 204, 204, 204, 204, 204,
- 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230,
-
- 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 204, 204, 204, 204, 204,
- 230, 230, 230, 231, 232, 204, 204, 204,
- 204, 204, 204, 204, 204, 204, 204, 204,
-
- 233, 233, 233, 233, 234, 234, 234, 234,
- 234, 234, 234, 235, 236, 237, 238, 238,
- 149, 149, 149, 149, 149, 149, 234, 234,
- 234, 234, 234, 239, 234, 234, 240, 241,
-
- 234, 242, 243, 243, 243, 243, 244, 243,
- 244, 243, 244, 244, 244, 244, 244, 243,
- 243, 243, 243, 244, 244, 244, 244, 244,
- 244, 244, 244, 234, 234, 234, 234, 234,
-
- 245, 244, 244, 244, 244, 244, 244, 244,
- 243, 244, 244, 246, 247, 248, 249, 250,
- 251, 252, 253, 146, 146, 147, 150, 149,
- 149, 153, 153, 153, 152, 153, 153, 234,
-
- 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 265, 266, 267, 267,
- 268, 243, 243, 243, 242, 243, 243, 243,
- 244, 244, 244, 244, 244, 244, 244, 244,
-
- 244, 244, 244, 244, 244, 244, 244, 244,
- 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 244, 244, 244, 244, 244, 244,
-
- 244, 244, 244, 244, 244, 244, 244, 244,
- 244, 244, 244, 244, 244, 244, 244, 244,
- 244, 244, 244, 244, 244, 244, 244, 244,
- 269, 269, 244, 244, 244, 244, 244, 269,
-
- 243, 244, 244, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 244, 243, 244, 270,
- 244, 244, 243, 243, 241, 243, 139, 139,
- 139, 139, 139, 139, 139, 271, 272, 139,
-
- 139, 139, 139, 141, 139, 273, 273, 139,
- 139, 49, 141, 139, 139, 141, 274, 274,
- 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 269, 269, 269, 275, 275, 276,
-
- 277, 277, 277, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 234, 279,
- 270, 280, 269, 269, 269, 270, 270, 270,
- 270, 270, 269, 269, 269, 269, 270, 269,
-
- 269, 269, 269, 269, 269, 269, 269, 269,
- 270, 269, 270, 269, 270, 276, 276, 274,
- 146, 147, 146, 146, 147, 146, 146, 147,
- 147, 147, 146, 147, 147, 146, 147, 146,
-
- 146, 146, 147, 146, 147, 146, 147, 146,
- 147, 146, 146, 234, 234, 274, 276, 276,
- 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 282, 282, 282, 281, 281, 281, 281,
-
- 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 282, 282, 281, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
-
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
-
- 283, 283, 283, 283, 283, 283, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 285, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
-
- 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296,
-
- 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 297, 297, 297, 297, 297,
- 297, 297, 298, 297, 299, 299, 300, 301,
- 302, 303, 304, 204, 204, 204, 204, 204,
-
- 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 204, 204, 204, 204, 204, 204,
-
- 160, 305, 305, 306, 307, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 160, 160, 308, 90, 306, 306,
-
- 306, 305, 305, 305, 305, 305, 305, 305,
- 305, 306, 306, 306, 306, 309, 160, 160,
- 90, 139, 141, 139, 139, 160, 160, 160,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 305, 305, 310, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 198, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 321, 321, 322, 321, 321,
-
- 160, 305, 306, 306, 160, 90, 90, 90,
- 90, 90, 90, 90, 90, 160, 160, 90,
- 90, 160, 160, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 160, 160, 160, 90, 90,
- 90, 90, 160, 160, 308, 307, 323, 306,
-
- 306, 305, 305, 305, 305, 160, 160, 306,
- 306, 160, 160, 306, 306, 309, 322, 160,
- 160, 160, 160, 160, 160, 160, 160, 323,
- 160, 160, 160, 160, 90, 90, 160, 90,
-
- 90, 90, 305, 305, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 90, 90, 12, 12, 324, 324, 324, 324,
- 324, 324, 193, 160, 160, 160, 160, 160,
-
- 160, 325, 305, 326, 160, 90, 90, 90,
- 90, 90, 90, 160, 160, 160, 160, 90,
- 90, 160, 160, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 160, 90, 90, 160,
- 90, 90, 160, 160, 308, 160, 306, 306,
-
- 306, 305, 305, 160, 160, 160, 160, 305,
- 305, 160, 160, 305, 305, 309, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 90, 90, 90, 90, 160, 90, 160,
-
- 160, 160, 160, 160, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 305, 305, 90, 90, 90, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 305, 305, 306, 160, 90, 90, 90,
- 90, 90, 90, 90, 307, 90, 160, 90,
- 90, 90, 160, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 160, 90, 90, 90,
- 90, 90, 160, 160, 308, 90, 306, 306,
-
- 306, 305, 305, 305, 305, 305, 160, 305,
- 305, 306, 160, 306, 306, 309, 160, 160,
- 90, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 90, 307, 325, 325, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 160, 327, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 160, 307, 90, 90,
- 90, 90, 160, 160, 308, 90, 323, 305,
-
- 306, 305, 305, 305, 160, 160, 160, 306,
- 306, 160, 160, 306, 306, 309, 160, 160,
- 160, 160, 160, 160, 160, 160, 305, 323,
- 160, 160, 160, 160, 90, 90, 160, 90,
-
- 90, 90, 160, 160, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 193, 307, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 305, 90, 160, 90, 90, 90,
- 90, 90, 90, 160, 160, 160, 90, 90,
- 90, 160, 90, 90, 90, 90, 160, 160,
- 160, 90, 90, 160, 90, 160, 90, 90,
-
- 160, 160, 160, 90, 90, 160, 160, 160,
- 90, 90, 90, 160, 160, 160, 90, 90,
- 90, 90, 90, 90, 90, 90, 322, 90,
- 90, 90, 160, 160, 160, 160, 323, 306,
-
- 305, 306, 306, 160, 160, 160, 306, 306,
- 306, 160, 306, 306, 306, 309, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 323,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 328, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 324, 324, 324, 238, 238, 238, 238, 238,
- 238, 327, 238, 160, 160, 160, 160, 160,
-
- 160, 306, 306, 306, 160, 90, 90, 90,
- 90, 90, 90, 90, 90, 160, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 160, 90, 90, 90,
- 90, 90, 160, 160, 160, 160, 305, 305,
-
- 305, 306, 306, 306, 306, 160, 305, 305,
- 305, 160, 305, 305, 305, 309, 160, 160,
- 160, 160, 160, 160, 160, 329, 330, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 90, 90, 160, 160, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 306, 306, 160, 90, 90, 90,
- 90, 90, 90, 90, 90, 160, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 160, 90, 90, 90,
- 90, 90, 160, 160, 331, 307, 306, 332,
-
- 306, 306, 323, 306, 306, 160, 332, 306,
- 306, 160, 306, 306, 305, 309, 160, 160,
- 160, 160, 160, 160, 160, 323, 323, 160,
- 160, 160, 160, 160, 160, 160, 90, 160,
-
- 90, 90, 333, 333, 160, 160, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320,
- 160, 300, 300, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 160, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 160, 160, 160, 160, 323, 306,
-
- 306, 305, 305, 305, 160, 160, 306, 306,
- 306, 160, 306, 306, 306, 309, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 323,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 334, 334, 160, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 160,
- 160, 160, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 160, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 160, 335, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 160,
- 160, 160, 336, 160, 160, 160, 160, 337,
- 334, 334, 284, 284, 284, 160, 284, 160,
- 334, 334, 334, 334, 334, 334, 334, 337,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 334, 334, 338, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339,
-
- 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 340, 339, 339, 340, 340, 340, 340,
- 341, 341, 342, 160, 160, 160, 160, 12,
-
- 339, 339, 339, 339, 339, 339, 343, 340,
- 344, 344, 344, 344, 340, 340, 340, 198,
- 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 345, 345, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 339, 339, 160, 339, 160, 160, 339,
- 339, 160, 339, 160, 160, 339, 160, 160,
- 160, 160, 160, 160, 339, 339, 339, 339,
- 160, 339, 339, 339, 339, 339, 339, 339,
-
- 160, 339, 339, 339, 160, 339, 160, 339,
- 160, 160, 339, 339, 160, 339, 339, 339,
- 339, 340, 339, 339, 340, 340, 340, 340,
- 346, 346, 160, 340, 340, 339, 160, 160,
-
- 339, 339, 339, 339, 339, 160, 343, 160,
- 347, 347, 347, 347, 340, 340, 160, 160,
- 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 160, 160, 339, 339, 160, 160,
-
- 348, 349, 349, 349, 350, 351, 350, 350,
- 352, 350, 350, 353, 352, 354, 354, 354,
- 354, 354, 352, 355, 356, 355, 355, 355,
- 205, 205, 355, 355, 355, 355, 355, 355,
-
- 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 368, 205, 355, 205,
- 355, 369, 370, 371, 370, 371, 372, 372,
-
- 348, 348, 348, 348, 348, 348, 348, 348,
- 160, 348, 348, 348, 348, 348, 348, 348,
- 348, 348, 348, 348, 348, 348, 348, 348,
- 348, 348, 348, 348, 348, 348, 348, 348,
-
- 348, 348, 348, 348, 348, 348, 348, 348,
- 348, 348, 335, 160, 160, 160, 160, 160,
- 160, 373, 374, 375, 376, 375, 375, 375,
- 375, 375, 374, 374, 374, 374, 375, 377,
-
- 374, 375, 206, 206, 378, 353, 206, 206,
- 348, 348, 348, 348, 160, 160, 160, 160,
- 375, 375, 375, 375, 375, 375, 284, 375,
- 160, 375, 375, 375, 375, 375, 375, 375,
-
- 375, 375, 375, 375, 375, 375, 375, 375,
- 375, 375, 375, 375, 375, 375, 284, 284,
- 284, 375, 375, 375, 375, 375, 375, 375,
- 284, 375, 284, 284, 284, 160, 379, 379,
-
- 380, 380, 380, 380, 380, 380, 147, 380,
- 380, 380, 380, 380, 380, 160, 160, 380,
- 381, 381, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 382, 382, 382, 382, 382, 382, 382, 382,
- 382, 382, 382, 382, 382, 382, 382, 382,
- 382, 382, 382, 382, 382, 382, 382, 382,
- 382, 382, 382, 382, 382, 382, 382, 382,
-
- 382, 382, 160, 382, 382, 382, 382, 382,
- 160, 382, 382, 160, 383, 384, 384, 384,
- 384, 383, 384, 160, 160, 160, 384, 385,
- 383, 386, 160, 160, 160, 160, 160, 160,
-
- 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 397, 338, 338, 338, 338,
- 382, 382, 382, 382, 382, 382, 383, 383,
- 384, 384, 160, 160, 160, 160, 160, 160,
-
- 398, 398, 398, 398, 398, 398, 398, 398,
- 398, 398, 398, 398, 398, 398, 398, 398,
- 398, 398, 398, 398, 398, 398, 398, 398,
- 398, 398, 398, 398, 398, 398, 398, 398,
-
- 398, 398, 398, 398, 398, 398, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 399,
- 399, 322, 322, 198, 400, 160, 160, 160,
-
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401,
-
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 160, 160, 160, 160, 160, 401,
-
- 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 402, 402, 402, 402, 402, 402, 402,
-
- 402, 402, 402, 160, 160, 160, 160, 160,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
-
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
-
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 160, 160, 160, 160, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 160, 335, 335, 335, 335, 160, 160,
- 335, 335, 335, 335, 335, 335, 335, 160,
- 335, 160, 335, 335, 335, 335, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 160, 335, 335, 335, 335, 160, 160,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 160, 335, 335, 335, 335, 160, 160,
- 335, 335, 335, 335, 335, 335, 335, 160,
-
- 335, 160, 335, 335, 335, 335, 160, 160,
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 335, 335, 335, 335, 335, 335, 160,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 160, 335, 335, 335, 335, 160, 160,
- 335, 335, 335, 335, 335, 335, 335, 322,
-
- 335, 335, 335, 335, 335, 335, 335, 322,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 160, 160, 160, 160, 153,
-
- 404, 405, 406, 338, 338, 338, 338, 406,
- 406, 407, 408, 409, 410, 411, 412, 413,
- 414, 415, 416, 416, 416, 416, 416, 416,
- 416, 416, 416, 416, 416, 160, 160, 160,
-
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 160, 160, 160, 160, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 338, 406, 335,
- 335, 335, 335, 335, 335, 335, 335, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 418, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 419, 420, 160, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 405, 405, 405, 421, 421,
- 421, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 160, 399, 399,
- 399, 399, 422, 422, 423, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 422, 422, 423, 424, 424, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 422, 422, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 160, 399, 399,
- 399, 160, 422, 422, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 382, 382, 382, 382, 382, 382, 382, 382,
- 382, 382, 382, 382, 382, 382, 382, 382,
- 382, 382, 382, 382, 425, 425, 383, 384,
- 384, 384, 384, 384, 384, 384, 383, 383,
-
- 383, 383, 383, 383, 383, 383, 384, 383,
- 383, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 386, 384, 405, 405, 426, 427,
- 405, 338, 405, 428, 382, 429, 160, 160,
-
- 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 160, 160, 160, 160, 160, 160,
- 430, 430, 430, 430, 430, 430, 430, 430,
- 430, 430, 160, 160, 160, 160, 160, 160,
-
- 431, 431, 432, 433, 432, 432, 434, 431,
- 432, 433, 431, 284, 284, 284, 435, 160,
- 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 160, 160, 160, 160, 160, 160,
-
- 335, 335, 335, 137, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 436, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 160, 160, 160,
-
- 325, 325, 325, 326, 326, 326, 326, 325,
- 325, 437, 437, 437, 160, 160, 160, 160,
- 326, 326, 325, 326, 326, 326, 326, 326,
- 326, 438, 149, 150, 160, 160, 160, 160,
-
- 238, 160, 160, 160, 439, 439, 440, 441,
- 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 450, 450, 450, 450, 450, 450, 450,
- 450, 450, 450, 450, 450, 450, 450, 450,
-
- 450, 450, 450, 450, 450, 450, 450, 450,
- 450, 450, 450, 450, 450, 450, 160, 160,
- 450, 450, 450, 450, 450, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 451, 451, 451, 451, 451, 451,
-
- 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 160, 160, 160, 160, 160, 160,
- 452, 452, 452, 452, 452, 452, 452, 452,
- 452, 452, 452, 452, 452, 452, 452, 452,
-
- 452, 451, 451, 451, 451, 451, 451, 451,
- 452, 452, 160, 160, 160, 160, 160, 160,
- 328, 453, 454, 455, 456, 457, 458, 459,
- 460, 461, 160, 160, 160, 160, 462, 462,
-
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
-
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 153,
- 152, 463, 463, 463, 160, 160, 464, 465,
-
- 333, 333, 333, 333, 466, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
-
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 467, 466, 333, 333,
- 333, 333, 333, 466, 333, 466, 466, 466,
-
- 466, 466, 333, 466, 468, 321, 321, 321,
- 321, 321, 321, 321, 160, 160, 160, 160,
- 469, 470, 471, 472, 473, 474, 475, 476,
- 477, 478, 479, 479, 480, 480, 479, 479,
-
- 480, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 297, 298, 297, 297, 297,
- 297, 297, 297, 297, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 160, 160, 160,
-
- 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 102, 102, 102,
-
- 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482,
-
- 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482,
-
- 482, 482, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103,
- 483, 103, 103, 103, 103, 484, 103, 103,
-
- 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 483, 483, 483, 483, 483,
-
- 483, 483, 483, 483, 483, 483, 483, 483,
- 483, 483, 483, 483, 483, 483, 483, 483,
- 483, 483, 483, 483, 483, 483, 483, 483,
- 483, 483, 483, 483, 483, 483, 483, 483,
-
- 153, 153, 152, 153, 297, 297, 297, 297,
- 297, 297, 298, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 297, 298,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 485, 486,
- 487, 488, 489, 490, 160, 160, 160, 160,
-
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 65, 66, 65, 66, 65, 66,
- 65, 66, 160, 160, 160, 160, 160, 160,
-
- 491, 491, 491, 491, 491, 491, 491, 491,
- 492, 492, 492, 492, 492, 492, 492, 492,
- 491, 491, 491, 491, 491, 491, 160, 160,
- 492, 492, 492, 492, 492, 492, 160, 160,
-
- 491, 491, 491, 491, 491, 491, 491, 491,
- 492, 492, 492, 492, 492, 492, 492, 492,
- 491, 491, 491, 491, 491, 491, 491, 491,
- 492, 492, 492, 492, 492, 492, 492, 492,
-
- 491, 491, 491, 491, 491, 491, 160, 160,
- 492, 492, 492, 492, 492, 492, 160, 160,
- 493, 491, 494, 491, 495, 491, 496, 491,
- 160, 492, 160, 492, 160, 492, 160, 492,
-
- 491, 491, 491, 491, 491, 491, 491, 491,
- 492, 492, 492, 492, 492, 492, 492, 492,
- 497, 497, 498, 498, 498, 498, 499, 499,
- 500, 500, 501, 501, 502, 502, 160, 160,
-
- 503, 504, 505, 506, 507, 508, 509, 510,
- 511, 512, 513, 514, 515, 516, 517, 518,
- 519, 520, 521, 522, 523, 524, 525, 526,
- 527, 528, 529, 530, 531, 532, 533, 534,
-
- 535, 536, 537, 538, 539, 540, 541, 542,
- 543, 544, 545, 546, 547, 548, 549, 550,
- 491, 491, 551, 552, 553, 160, 554, 555,
- 492, 492, 556, 556, 557, 42, 558, 42,
-
- 42, 42, 559, 560, 561, 160, 562, 563,
- 564, 564, 564, 564, 565, 42, 42, 42,
- 491, 491, 566, 567, 160, 160, 568, 569,
- 492, 492, 570, 570, 160, 42, 42, 42,
-
- 491, 491, 571, 572, 573, 182, 574, 575,
- 492, 492, 576, 576, 577, 42, 42, 42,
- 160, 160, 578, 579, 580, 160, 581, 582,
- 583, 583, 584, 584, 585, 42, 42, 160,
-
- 586, 586, 586, 586, 586, 586, 586, 587,
- 586, 586, 586, 588, 589, 590, 591, 592,
- 593, 594, 593, 593, 595, 596, 14, 14,
- 597, 598, 599, 600, 597, 601, 599, 600,
-
- 14, 14, 14, 14, 602, 602, 602, 603,
- 604, 605, 606, 607, 608, 609, 610, 611,
- 13, 13, 13, 13, 13, 612, 612, 612,
- 14, 597, 601, 14, 613, 613, 14, 43,
-
- 43, 14, 14, 14, 614, 16, 17, 615,
- 616, 616, 431, 431, 431, 431, 617, 617,
- 617, 617, 185, 618, 619, 620, 621, 617,
- 621, 621, 621, 621, 620, 621, 621, 622,
-
- 623, 624, 624, 624, 160, 160, 160, 160,
- 160, 160, 625, 625, 625, 625, 625, 625,
- 626, 627, 160, 160, 628, 629, 630, 631,
- 632, 633, 634, 634, 36, 16, 17, 50,
-
- 626, 60, 55, 56, 628, 629, 630, 631,
- 632, 633, 634, 634, 36, 16, 17, 160,
- 483, 483, 483, 483, 483, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 12, 12, 12, 12, 12, 12, 12, 48,
- 12, 12, 12, 635, 636, 428, 428, 428,
- 637, 637, 638, 638, 638, 638, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 139, 139, 144, 144, 139, 139, 139, 139,
- 144, 144, 144, 139, 139, 272, 272, 272,
-
- 272, 139, 194, 194, 639, 640, 640, 159,
- 641, 159, 640, 642, 298, 298, 298, 298,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 49, 49, 175, 643, 49, 49, 49, 175,
- 49, 643, 50, 175, 175, 175, 50, 50,
- 175, 175, 175, 50, 49, 175, 644, 49,
- 49, 175, 175, 175, 175, 175, 49, 49,
-
- 49, 49, 49, 49, 175, 49, 645, 49,
- 175, 49, 646, 647, 175, 175, 648, 50,
- 175, 175, 649, 175, 50, 90, 90, 90,
- 90, 131, 650, 238, 103, 627, 651, 651,
-
- 185, 185, 185, 185, 185, 651, 627, 627,
- 627, 627, 652, 185, 417, 300, 653, 160,
- 160, 160, 160, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62,
-
- 654, 654, 654, 654, 654, 654, 654, 654,
- 654, 654, 654, 654, 654, 654, 654, 654,
- 655, 655, 655, 655, 655, 655, 655, 655,
- 655, 655, 655, 655, 655, 655, 655, 655,
-
- 656, 656, 656, 99, 109, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 36, 36, 36, 36, 36, 49, 49, 49,
- 49, 49, 36, 36, 49, 49, 49, 49,
-
- 36, 49, 49, 36, 49, 49, 36, 49,
- 49, 49, 49, 49, 49, 49, 36, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 36, 36,
- 49, 49, 36, 49, 36, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 650, 650, 650, 650, 650,
- 650, 650, 650, 650, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
-
- 36, 36, 36, 36, 36, 36, 36, 36,
- 657, 657, 657, 658, 658, 658, 36, 36,
- 36, 36, 18, 54, 36, 659, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36,
-
- 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 660, 661, 36, 36,
-
- 36, 36, 36, 662, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 660, 661, 660, 661, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36,
-
- 36, 36, 36, 36, 660, 661, 660, 661,
- 660, 661, 660, 661, 36, 36, 660, 661,
- 660, 661, 660, 661, 660, 661, 660, 661,
- 660, 661, 660, 661, 660, 661, 660, 661,
-
- 660, 661, 660, 661, 660, 661, 660, 661,
- 660, 661, 660, 661, 36, 36, 36, 660,
- 661, 660, 661, 36, 36, 36, 36, 36,
- 663, 36, 36, 36, 36, 36, 36, 36,
-
- 36, 36, 660, 661, 36, 36, 664, 36,
- 665, 666, 36, 666, 36, 36, 36, 36,
- 660, 661, 660, 661, 660, 661, 660, 661,
- 36, 36, 36, 36, 36, 36, 36, 36,
-
- 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 660, 661, 660, 661, 667, 36, 36,
- 660, 661, 36, 36, 36, 36, 660, 661,
- 660, 661, 660, 661, 660, 661, 660, 661,
-
- 660, 661, 660, 661, 660, 661, 660, 661,
- 660, 661, 660, 661, 660, 661, 36, 36,
- 660, 661, 668, 668, 668, 185, 669, 669,
- 185, 185, 670, 670, 670, 671, 671, 185,
-
- 49, 650, 49, 49, 49, 49, 49, 49,
- 660, 661, 660, 661, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 36, 36, 49, 49, 49, 49, 49, 49,
- 49, 16, 17, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
-
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
-
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 650, 185, 650, 650, 650,
-
- 650, 650, 650, 650, 650, 650, 650, 650,
- 650, 650, 650, 650, 650, 650, 650, 650,
- 650, 650, 650, 650, 650, 380, 650, 650,
- 650, 650, 650, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 652, 652, 652, 652,
- 652, 652, 652, 652, 652, 652, 652, 652,
-
- 652, 652, 652, 652, 652, 652, 652, 652,
- 652, 652, 652, 652, 652, 652, 652, 238,
- 238, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 672, 672, 672, 672,
-
- 672, 672, 300, 300, 300, 300, 300, 300,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 650, 650, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 673, 674, 675, 676, 677, 678, 679, 680,
- 681, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 673, 674, 675, 676,
- 677, 678, 679, 680, 681, 62, 62, 62,
-
- 62, 62, 62, 62, 62, 62, 62, 62,
- 60, 55, 56, 628, 629, 630, 631, 632,
- 633, 682, 682, 682, 682, 682, 682, 682,
- 682, 682, 682, 682, 193, 193, 193, 193,
-
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 193, 683, 683,
- 683, 683, 683, 683, 683, 683, 683, 683,
-
- 683, 683, 683, 683, 683, 683, 683, 683,
- 683, 683, 683, 683, 683, 683, 683, 683,
- 684, 684, 684, 684, 684, 684, 684, 684,
- 684, 684, 684, 684, 684, 684, 684, 684,
-
- 684, 684, 684, 684, 684, 684, 684, 684,
- 684, 684, 685, 686, 686, 686, 686, 686,
- 686, 686, 686, 686, 686, 687, 688, 689,
- 690, 691, 692, 693, 694, 695, 686, 696,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 652, 652,
- 652, 652, 652, 652, 652, 652, 652, 652,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 36,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 36, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 650, 650, 650, 650, 650, 650, 650, 650,
- 185, 185, 185, 185, 185, 185, 185, 185,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 238, 238, 652, 652,
- 417, 650, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 36,
- 650, 650, 652, 652, 652, 652, 652, 652,
- 652, 652, 652, 652, 652, 652, 417, 417,
-
- 652, 652, 652, 652, 652, 652, 652, 652,
- 652, 652, 238, 238, 238, 238, 238, 238,
- 238, 238, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 160, 160, 160,
-
- 238, 238, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 404, 417, 417, 417,
- 417, 417, 300, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 49, 49, 49, 49, 160, 49, 49,
- 49, 49, 160, 160, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 160, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 160, 49, 160, 49,
- 49, 49, 49, 160, 160, 160, 49, 160,
- 49, 49, 49, 697, 697, 697, 697, 160,
-
- 160, 49, 698, 698, 49, 49, 49, 49,
- 699, 700, 699, 700, 699, 700, 699, 700,
- 699, 700, 699, 700, 699, 700, 673, 674,
- 675, 676, 677, 678, 679, 680, 681, 62,
-
- 673, 674, 675, 676, 677, 678, 679, 680,
- 681, 62, 673, 674, 675, 676, 677, 678,
- 679, 680, 681, 62, 49, 160, 160, 160,
- 49, 49, 49, 49, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49,
- 160, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 160,
-
- 701, 701, 701, 702, 703, 704, 705, 672,
- 672, 672, 672, 160, 160, 160, 160, 160,
- 185, 185, 185, 185, 185, 706, 707, 185,
- 185, 185, 185, 185, 185, 706, 707, 185,
-
- 185, 185, 706, 707, 706, 707, 699, 700,
- 699, 700, 699, 700, 160, 160, 160, 160,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
-
- 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380,
-
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 699, 700, 699, 700, 699,
- 700, 699, 700, 699, 700, 708, 709, 710,
- 711, 699, 700, 699, 700, 699, 700, 699,
- 700, 185, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 712, 185, 185, 185, 185, 185, 185, 185,
-
- 706, 707, 185, 185, 706, 707, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 706,
- 707, 706, 707, 185, 706, 707, 185, 185,
- 699, 700, 699, 700, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 713, 185, 185,
- 706, 707, 185, 185, 699, 700, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 706, 707, 706, 707, 185,
- 185, 185, 185, 185, 706, 707, 185, 185,
- 185, 185, 185, 185, 706, 707, 185, 185,
-
- 185, 185, 185, 185, 706, 707, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 706, 707, 185, 185, 706, 707, 706,
-
- 707, 706, 707, 706, 707, 185, 185, 185,
- 185, 185, 185, 706, 707, 185, 185, 185,
- 185, 706, 707, 706, 707, 706, 707, 706,
- 707, 706, 707, 706, 707, 185, 185, 185,
-
- 185, 706, 707, 185, 185, 185, 706, 707,
- 706, 707, 706, 707, 706, 707, 185, 706,
- 707, 185, 185, 706, 707, 185, 185, 185,
- 185, 185, 185, 706, 707, 706, 707, 706,
-
- 707, 706, 707, 706, 707, 706, 707, 185,
- 185, 185, 185, 185, 185, 706, 707, 706,
- 707, 706, 707, 706, 707, 706, 707, 185,
- 185, 185, 185, 185, 185, 185, 714, 185,
-
- 185, 185, 185, 715, 716, 715, 185, 185,
- 185, 185, 185, 185, 706, 707, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 706,
- 707, 706, 707, 185, 185, 185, 185, 185,
-
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 417, 417,
- 417, 417, 417, 417, 300, 300, 300, 300,
- 300, 300, 300, 160, 160, 160, 160, 160,
-
- 300, 300, 300, 300, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 717, 717, 717, 717, 717, 717, 717, 717,
- 717, 717, 717, 717, 717, 717, 717, 717,
- 717, 717, 717, 717, 717, 717, 717, 717,
- 717, 717, 717, 717, 717, 717, 717, 717,
-
- 717, 717, 717, 717, 717, 717, 717, 717,
- 717, 717, 717, 717, 717, 717, 717, 160,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
-
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 718, 718, 160,
-
- 113, 109, 719, 720, 721, 722, 723, 113,
- 109, 113, 109, 113, 109, 160, 160, 160,
- 160, 160, 160, 160, 724, 113, 109, 724,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 105, 106, 105, 106, 105, 106, 105, 106,
- 105, 106, 105, 106, 105, 106, 105, 106,
- 105, 106, 105, 106, 105, 106, 105, 106,
- 105, 106, 105, 106, 105, 106, 105, 106,
-
- 105, 106, 105, 106, 103, 417, 417, 417,
- 417, 417, 417, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 621, 621, 621, 621, 725, 621, 621,
-
- 726, 726, 726, 726, 726, 726, 726, 726,
- 726, 726, 726, 726, 726, 726, 726, 726,
- 726, 726, 726, 726, 726, 726, 726, 726,
- 726, 726, 726, 726, 726, 726, 726, 726,
-
- 726, 726, 726, 726, 726, 726, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
-
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
-
- 322, 322, 322, 322, 322, 322, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 400,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 322, 322, 322, 322, 322, 322, 322, 160,
- 322, 322, 322, 322, 322, 322, 322, 160,
- 322, 322, 322, 322, 322, 322, 322, 160,
- 322, 322, 322, 322, 322, 322, 322, 160,
-
- 727, 727, 728, 729, 728, 729, 727, 727,
- 727, 728, 729, 727, 728, 729, 621, 621,
- 621, 621, 621, 621, 621, 621, 620, 730,
- 160, 160, 160, 160, 728, 729, 160, 160,
-
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 160, 731, 731, 731, 731, 731,
-
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
-
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 160, 160, 160, 160,
-
- 732, 733, 734, 735, 736, 737, 738, 739,
- 16, 17, 16, 17, 16, 17, 16, 17,
- 16, 17, 736, 736, 16, 17, 16, 17,
- 16, 17, 16, 17, 740, 16, 17, 741,
-
- 736, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 742, 743, 140, 744, 745, 745,
- 746, 747, 747, 747, 747, 747, 736, 736,
- 748, 748, 748, 749, 750, 751, 731, 736,
-
- 160, 752, 738, 752, 738, 752, 738, 752,
- 738, 752, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
-
- 738, 738, 738, 752, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
-
- 738, 738, 738, 752, 738, 752, 738, 752,
- 738, 738, 738, 738, 738, 738, 752, 738,
- 738, 738, 738, 738, 738, 753, 753, 160,
- 160, 754, 754, 755, 755, 756, 756, 757,
-
- 758, 759, 760, 759, 760, 759, 760, 759,
- 760, 759, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
-
- 760, 760, 760, 759, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760,
-
- 760, 760, 760, 759, 760, 759, 760, 759,
- 760, 760, 760, 760, 760, 760, 759, 760,
- 760, 760, 760, 760, 760, 759, 759, 760,
- 760, 760, 760, 761, 762, 762, 762, 763,
-
- 160, 160, 160, 160, 160, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
-
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 160, 160, 160,
- 160, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
-
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764,
-
- 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 160,
- 765, 765, 766, 766, 766, 766, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 769, 769, 769, 769, 769, 769, 769, 769,
- 769, 769, 769, 769, 769, 769, 769, 769,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 770, 770, 160,
-
- 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 770, 771, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 771, 771, 771, 771, 771,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 770, 770, 768, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 771, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 771, 771, 771, 771, 771,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 770, 770, 770, 770,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 160,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 770,
- 770, 770, 770, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 770, 770,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 770,
-
- 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
-
- 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 772, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738,
-
- 738, 738, 738, 738, 738, 738, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 160, 160, 160, 160,
-
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 774, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
-
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767,
-
- 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 160, 160, 160,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
-
- 731, 731, 775, 775, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 775, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
-
- 731, 775, 731, 731, 731, 775, 731, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 777,
- 777, 777, 777, 160, 160, 160, 160, 160,
-
- 778, 778, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 322, 322, 779, 322, 322, 322, 780, 322,
- 322, 322, 322, 781, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 322, 322, 322, 322, 322, 322, 322, 322,
-
- 322, 322, 322, 463, 463, 781, 781, 463,
- 417, 417, 417, 417, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
-
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 782, 782, 303, 303,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 783, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 783, 784, 784, 784,
-
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 783, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 783, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 783, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 783, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 784, 784, 784, 784,
- 783, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 783, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
- 784, 784, 784, 784, 784, 784, 784, 784,
-
- 784, 784, 784, 784, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 785,
-
- 786, 786, 786, 786, 786, 786, 786, 786,
- 786, 786, 786, 786, 786, 786, 786, 786,
- 786, 786, 786, 786, 786, 786, 786, 786,
- 786, 786, 786, 786, 786, 786, 786, 786,
-
- 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 160, 160,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
-
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 787, 787, 787, 787, 787,
-
- 787, 787, 787, 787, 787, 787, 787, 787,
- 787, 787, 787, 160, 160, 160, 160, 160,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
-
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
-
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 160, 160, 160, 160, 160, 160,
-
- 788, 789, 790, 791, 792, 793, 794, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 795, 796, 797, 798, 799,
- 160, 160, 160, 160, 160, 800, 801, 230,
-
- 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 634, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 204,
- 230, 230, 230, 230, 230, 204, 230, 204,
-
- 230, 230, 204, 230, 230, 204, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
-
- 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 599, 741,
-
- 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 234, 234, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 234, 234, 234, 234, 234, 234, 234, 234,
- 802, 802, 802, 802, 802, 802, 802, 802,
- 802, 802, 802, 802, 802, 802, 802, 802,
-
- 802, 802, 802, 802, 802, 802, 802, 802,
- 802, 802, 802, 802, 802, 802, 802, 802,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 803, 238, 234, 234,
-
- 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 422, 422,
- 804, 805, 805, 804, 804, 806, 806, 807,
- 808, 809, 160, 160, 160, 160, 160, 160,
-
- 139, 139, 139, 139, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 735, 746, 746, 810, 810, 599, 741, 599,
- 741, 599, 741, 599, 741, 599, 741, 599,
-
- 741, 599, 741, 599, 741, 751, 751, 811,
- 812, 735, 735, 735, 735, 810, 810, 810,
- 813, 735, 814, 160, 761, 815, 9, 9,
- 746, 16, 17, 16, 17, 16, 17, 816,
-
- 735, 735, 817, 818, 819, 820, 821, 160,
- 735, 12, 13, 735, 160, 160, 160, 160,
- 242, 242, 242, 285, 242, 234, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 234, 234, 822,
-
- 160, 9, 735, 816, 12, 13, 735, 735,
- 16, 17, 735, 817, 813, 818, 814, 823,
- 824, 825, 826, 827, 828, 829, 830, 831,
- 832, 833, 815, 761, 834, 821, 835, 9,
-
- 735, 836, 836, 836, 836, 836, 836, 836,
- 836, 836, 836, 836, 836, 836, 836, 836,
- 836, 836, 836, 836, 836, 836, 836, 836,
- 836, 836, 836, 39, 735, 41, 837, 810,
-
- 837, 838, 838, 838, 838, 838, 838, 838,
- 838, 838, 838, 838, 838, 838, 838, 838,
- 838, 838, 838, 838, 838, 838, 838, 838,
- 838, 838, 838, 39, 821, 41, 821, 699,
-
- 700, 734, 16, 17, 733, 761, 839, 759,
- 759, 759, 759, 759, 759, 759, 759, 759,
- 762, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 839, 839,
-
- 839, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 839, 762, 762,
-
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 160,
-
- 160, 160, 90, 90, 90, 90, 90, 90,
- 160, 160, 90, 90, 90, 90, 90, 90,
- 160, 160, 90, 90, 90, 90, 90, 90,
- 160, 160, 90, 90, 90, 160, 160, 160,
-
- 48, 12, 821, 837, 736, 12, 12, 160,
- 49, 36, 36, 36, 36, 49, 49, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 840, 840, 840, 841, 49, 842, 842,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 160, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
-
- 307, 307, 307, 307, 307, 307, 307, 160,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 160, 307, 307, 160, 307,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 160, 160,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 160, 160,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 160, 160, 160, 160, 160,
-
- 843, 844, 845, 160, 160, 160, 160, 846,
- 846, 846, 846, 846, 846, 846, 846, 846,
- 846, 846, 846, 846, 846, 846, 846, 846,
- 846, 846, 846, 846, 846, 846, 846, 846,
-
- 846, 846, 846, 846, 846, 846, 846, 846,
- 846, 846, 846, 846, 846, 846, 846, 846,
- 846, 846, 846, 846, 160, 160, 160, 847,
- 847, 847, 847, 847, 847, 847, 847, 847,
-
- 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848,
-
- 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 725, 725, 725,
- 725, 417, 417, 417, 417, 417, 417, 417,
-
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 725, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 160,
-
- 850, 850, 850, 850, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 849, 849, 849,
-
- 849, 851, 849, 849, 849, 849, 849, 849,
- 849, 849, 851, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 160, 843,
-
- 322, 322, 322, 322, 160, 160, 160, 160,
- 322, 322, 322, 322, 322, 322, 322, 322,
- 464, 852, 852, 852, 852, 852, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853,
-
- 853, 853, 853, 853, 853, 853, 854, 854,
- 855, 855, 855, 855, 855, 855, 855, 855,
- 855, 855, 855, 855, 855, 855, 855, 855,
- 855, 855, 855, 855, 855, 855, 855, 855,
-
- 855, 855, 855, 855, 855, 855, 855, 855,
- 855, 855, 855, 855, 855, 855, 856, 856,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
-
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 160, 160,
-
- 440, 441, 442, 443, 444, 445, 446, 447,
- 448, 449, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 857, 857, 857, 857, 857, 857, 204, 204,
- 857, 204, 857, 857, 857, 857, 857, 857,
- 857, 857, 857, 857, 857, 857, 857, 857,
- 857, 857, 857, 857, 857, 857, 857, 857,
-
- 857, 857, 857, 857, 857, 857, 857, 857,
- 857, 857, 857, 857, 857, 857, 857, 857,
- 857, 857, 857, 857, 857, 857, 204, 857,
- 857, 204, 204, 204, 857, 204, 204, 857,
-
- 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 859, 859,
- 859, 859, 204, 204, 204, 204, 204, 860,
-
- 861, 781, 781, 781, 204, 781, 781, 204,
- 204, 204, 204, 204, 781, 152, 781, 153,
- 861, 861, 861, 861, 204, 861, 861, 861,
- 204, 861, 861, 861, 861, 861, 861, 861,
-
- 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 204, 204, 204, 204,
- 153, 642, 152, 204, 204, 204, 204, 780,
-
- 862, 863, 864, 865, 866, 866, 866, 866,
- 204, 204, 204, 204, 204, 204, 204, 204,
- 867, 867, 867, 867, 867, 867, 867, 867,
- 868, 204, 204, 204, 204, 204, 204, 204,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
-
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 869, 869, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 480, 480, 480, 480, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 160,
- 160, 160, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 871, 872, 873,
- 873, 873, 870, 870, 870, 874, 871, 871,
- 871, 871, 871, 875, 875, 875, 875, 875,
- 875, 875, 875, 876, 876, 876, 876, 876,
- 876, 876, 876, 870, 870, 877, 877, 877,
- 877, 877, 876, 876, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 877, 877, 877, 877, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 153, 153, 153, 417, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 878, 878, 878, 878, 878, 878, 878, 878,
- 878, 878, 878, 878, 878, 878, 878, 878,
- 878, 878, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 880,
- 880, 880, 880, 880, 880, 160, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 879, 160, 879, 879,
- 160, 160, 879, 160, 160, 879, 879, 160,
- 160, 879, 879, 879, 879, 160, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 880,
- 880, 880, 160, 880, 160, 880, 880, 880,
- 880, 102, 880, 880, 160, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
-
- 880, 880, 880, 880, 879, 879, 160, 879,
- 879, 879, 879, 160, 160, 879, 879, 879,
- 879, 879, 879, 879, 879, 160, 879, 879,
- 879, 879, 879, 879, 879, 160, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 160, 879, 879, 879, 879, 160,
- 879, 879, 879, 879, 879, 160, 879, 160,
- 160, 160, 879, 879, 879, 879, 879, 879,
- 879, 160, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
-
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 103, 103, 160, 160,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 881, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 881, 880, 880, 880, 880,
- 880, 880, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 881, 880, 880, 880, 880,
-
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 881, 880, 880,
- 880, 880, 880, 880, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 881, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 881,
- 880, 880, 880, 880, 880, 880, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 881,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 881, 880, 880, 880, 880, 880, 880,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879,
- 879, 881, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 881, 880, 880, 880, 880,
- 880, 880, 882, 724, 160, 160, 883, 884,
- 885, 886, 887, 888, 889, 890, 891, 892,
- 883, 884, 885, 886, 887, 888, 889, 890,
- 891, 892, 883, 884, 885, 886, 887, 888,
- 889, 890, 891, 892, 883, 884, 885, 886,
- 887, 888, 889, 890, 891, 892, 883, 884,
- 885, 886, 887, 888, 889, 890, 891, 892,
-
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 893, 893,
-
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
-
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 160, 875, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
-
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
-
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 893, 893,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18608, 18608, 18608, 18864, 19120, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 19376, 19632, 19888, 20144, 20400, 20656, 20912, 21168,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21680, 21680,
+ 21680, 21680, 21680, 21680, 21680, 21680, 21936, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 21680, 21680, 22192, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 22448, 22704, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 18352,
+ 18352, 18352, 18352, 18352, 18352, 18352, 18352, 21424,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 23216,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 22960,
+ 22960, 22960, 22960, 22960, 22960, 22960, 22960, 23216,
+
+
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4, 5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6, 7,
+
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 14, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 9,
+
+ 14, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 39, 40, 41, 42, 43,
+
+ 42, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 39, 45, 41, 36, 0,
+
+ 0, 0, 0, 0, 0, 46, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 47, 14, 48, 12, 12, 12, 49, 49,
+ 42, 49, 50, 51, 36, 52, 49, 42,
+ 53, 54, 55, 56, 57, 58, 49, 59,
+ 42, 60, 50, 61, 62, 62, 62, 14,
+
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 36,
+ 38, 38, 38, 38, 38, 38, 38, 63,
+
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 36,
+ 44, 44, 44, 44, 44, 44, 44, 64,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 67, 68, 65, 66, 65, 66, 65, 66,
+ 50, 65, 66, 65, 66, 65, 66, 65,
+
+ 66, 65, 66, 65, 66, 65, 66, 65,
+ 66, 69, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 70, 65, 66, 65, 66, 65, 66, 71,
+
+ 72, 73, 65, 66, 65, 66, 74, 65,
+ 66, 75, 75, 65, 66, 50, 76, 77,
+ 78, 65, 66, 75, 79, 80, 81, 82,
+ 65, 66, 83, 50, 81, 84, 85, 86,
+
+ 65, 66, 65, 66, 65, 66, 87, 65,
+ 66, 87, 50, 50, 65, 66, 87, 65,
+ 66, 88, 88, 65, 66, 65, 66, 89,
+ 65, 66, 50, 90, 65, 66, 50, 91,
+
+ 90, 90, 90, 90, 92, 93, 94, 92,
+ 93, 94, 92, 93, 94, 65, 66, 65,
+ 66, 65, 66, 65, 66, 65, 66, 65,
+ 66, 65, 66, 65, 66, 95, 65, 66,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 96, 92, 93, 94, 65, 66, 97, 98,
+ 99, 100, 65, 66, 65, 66, 65, 66,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 99, 100, 99, 100, 99, 100, 99, 100,
+
+ 101, 102, 99, 100, 99, 100, 99, 100,
+ 99, 100, 99, 100, 99, 100, 99, 100,
+ 99, 100, 99, 100, 102, 102, 102, 103,
+ 103, 103, 104, 105, 106, 107, 108, 103,
+
+ 103, 105, 109, 110, 111, 112, 113, 109,
+ 113, 109, 113, 109, 113, 109, 113, 109,
+ 50, 50, 50, 114, 115, 50, 116, 116,
+ 50, 117, 50, 118, 50, 50, 50, 50,
+
+ 116, 50, 50, 119, 50, 50, 50, 50,
+ 120, 121, 50, 122, 50, 50, 50, 121,
+ 50, 50, 123, 50, 50, 124, 50, 50,
+ 50, 50, 50, 50, 50, 125, 50, 50,
+
+ 126, 50, 50, 126, 50, 50, 50, 50,
+ 126, 127, 128, 128, 129, 50, 50, 50,
+ 50, 50, 130, 50, 90, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 131, 131, 131, 131, 131, 102, 102,
+ 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 133, 133, 134, 134, 134, 134, 134,
+
+ 132, 132, 42, 42, 42, 42, 133, 133,
+ 135, 133, 133, 133, 135, 133, 133, 133,
+ 134, 134, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 136,
+
+ 132, 132, 132, 132, 132, 42, 42, 42,
+ 42, 42, 136, 136, 136, 136, 137, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138,
+
+ 139, 139, 139, 139, 139, 139, 139, 139,
+ 139, 139, 139, 139, 139, 139, 139, 139,
+ 139, 139, 139, 139, 139, 140, 141, 141,
+ 141, 141, 140, 142, 141, 141, 141, 141,
+
+ 141, 143, 143, 141, 141, 141, 141, 143,
+ 143, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 144, 144, 144, 144,
+ 144, 141, 141, 141, 141, 139, 139, 139,
+
+ 139, 139, 139, 139, 139, 145, 146, 147,
+ 147, 147, 146, 146, 146, 147, 147, 148,
+ 149, 149, 149, 150, 150, 150, 150, 149,
+ 151, 152, 152, 153, 154, 155, 155, 156,
+
+ 157, 157, 158, 159, 159, 159, 159, 159,
+ 159, 159, 159, 159, 159, 159, 159, 159,
+ 160, 160, 160, 160, 42, 42, 160, 160,
+ 160, 160, 132, 161, 161, 161, 34, 160,
+
+ 160, 160, 160, 160, 42, 42, 162, 14,
+ 163, 163, 163, 160, 164, 160, 165, 165,
+ 166, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+
+ 38, 38, 160, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 167, 168, 168, 168,
+ 169, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+
+ 44, 44, 170, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 171, 172, 172, 160,
+ 173, 174, 175, 175, 175, 176, 177, 131,
+ 178, 179, 65, 100, 65, 100, 65, 100,
+
+ 65, 100, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 180, 181, 182, 50, 183, 184, 185, 186,
+ 187, 188, 186, 187, 103, 189, 189, 189,
+
+ 190, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 190, 191, 191,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44,
+ 192, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 192, 193, 193,
+
+ 65, 66, 194, 139, 139, 139, 139, 160,
+ 195, 195, 178, 179, 99, 100, 99, 100,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+
+ 196, 65, 66, 65, 66, 178, 179, 65,
+ 66, 178, 179, 65, 66, 178, 179, 197,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 99, 100, 65, 66,
+ 65, 66, 65, 66, 65, 66, 105, 106,
+ 65, 66, 113, 109, 113, 109, 113, 109,
+
+ 178, 179, 178, 179, 178, 179, 178, 179,
+ 178, 179, 178, 179, 178, 179, 178, 179,
+ 113, 109, 113, 109, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 160,
+ 160, 134, 199, 199, 200, 199, 200, 199,
+
+ 160, 201, 201, 201, 201, 201, 201, 201,
+ 201, 201, 201, 201, 201, 201, 201, 201,
+ 201, 201, 201, 201, 201, 201, 201, 201,
+ 201, 201, 201, 201, 201, 201, 201, 201,
+
+ 201, 201, 201, 201, 201, 201, 201, 202,
+ 160, 203, 204, 160, 160, 160, 160, 160,
+ 205, 206, 207, 207, 207, 207, 206, 207,
+ 207, 207, 208, 206, 207, 207, 207, 207,
+
+ 207, 207, 152, 206, 206, 206, 206, 206,
+ 207, 207, 206, 207, 207, 208, 209, 207,
+ 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225,
+
+ 226, 227, 228, 226, 207, 152, 229, 230,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+ 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231,
+
+ 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 205, 205, 205, 205, 205,
+ 231, 231, 231, 232, 233, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+
+ 234, 234, 234, 234, 235, 235, 235, 235,
+ 235, 235, 235, 236, 237, 238, 239, 239,
+ 149, 149, 149, 149, 149, 149, 235, 235,
+ 235, 235, 235, 240, 235, 235, 241, 242,
+
+ 235, 243, 244, 244, 244, 244, 245, 244,
+ 245, 244, 245, 245, 245, 245, 245, 244,
+ 244, 244, 244, 245, 245, 245, 245, 245,
+ 245, 245, 245, 235, 235, 235, 235, 235,
+
+ 246, 245, 245, 245, 245, 245, 245, 245,
+ 244, 245, 245, 247, 248, 249, 250, 251,
+ 252, 253, 254, 146, 146, 147, 150, 149,
+ 149, 153, 153, 153, 152, 153, 153, 235,
+
+ 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 266, 267, 268, 268,
+ 269, 244, 244, 244, 243, 244, 244, 244,
+ 245, 245, 245, 245, 245, 245, 245, 245,
+
+ 245, 245, 245, 245, 245, 245, 245, 245,
+ 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 245, 245, 245, 245, 245, 245,
+
+ 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245,
+ 270, 270, 245, 245, 245, 245, 245, 270,
+
+ 244, 245, 245, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 245, 244, 245, 271,
+ 245, 245, 244, 244, 242, 244, 139, 139,
+ 139, 139, 139, 139, 139, 272, 273, 139,
+
+ 139, 139, 139, 141, 139, 274, 274, 139,
+ 139, 49, 141, 139, 139, 141, 275, 275,
+ 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 270, 270, 270, 276, 276, 277,
+
+ 278, 278, 278, 279, 279, 279, 279, 279,
+ 279, 279, 279, 279, 279, 279, 235, 280,
+ 271, 281, 270, 270, 270, 271, 271, 271,
+ 271, 271, 270, 270, 270, 270, 271, 270,
+
+ 270, 270, 270, 270, 270, 270, 270, 270,
+ 271, 270, 271, 270, 271, 277, 277, 275,
+ 146, 147, 146, 146, 147, 146, 146, 147,
+ 147, 147, 146, 147, 147, 146, 147, 146,
+
+ 146, 146, 147, 146, 147, 146, 147, 146,
+ 147, 146, 146, 235, 235, 275, 277, 277,
+ 282, 282, 282, 282, 282, 282, 282, 282,
+ 282, 283, 283, 283, 282, 282, 282, 282,
+
+ 282, 282, 282, 282, 282, 282, 282, 282,
+ 282, 282, 282, 283, 283, 282, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+
+ 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 285, 285,
+ 285, 285, 285, 285, 285, 285, 285, 285,
+ 285, 286, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+
+ 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297,
+
+ 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 298, 298, 298, 298, 298,
+ 298, 298, 299, 298, 300, 300, 301, 302,
+ 303, 304, 305, 205, 205, 205, 205, 205,
+
+ 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+
+ 160, 306, 306, 307, 308, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 160, 160, 309, 90, 307, 307,
+
+ 307, 306, 306, 306, 306, 306, 306, 306,
+ 306, 307, 307, 307, 307, 310, 160, 160,
+ 90, 139, 141, 139, 139, 160, 160, 160,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 306, 306, 311, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 199, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 322, 322, 323, 322, 322,
+
+ 160, 306, 307, 307, 160, 90, 90, 90,
+ 90, 90, 90, 90, 90, 160, 160, 90,
+ 90, 160, 160, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 160, 160, 160, 90, 90,
+ 90, 90, 160, 160, 309, 308, 324, 307,
+
+ 307, 306, 306, 306, 306, 160, 160, 307,
+ 307, 160, 160, 307, 307, 310, 323, 160,
+ 160, 160, 160, 160, 160, 160, 160, 324,
+ 160, 160, 160, 160, 90, 90, 160, 90,
+
+ 90, 90, 306, 306, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 90, 90, 12, 12, 325, 325, 325, 325,
+ 325, 325, 194, 160, 160, 160, 160, 160,
+
+ 160, 326, 306, 327, 160, 90, 90, 90,
+ 90, 90, 90, 160, 160, 160, 160, 90,
+ 90, 160, 160, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 160, 90, 90, 160,
+ 90, 90, 160, 160, 309, 160, 307, 307,
+
+ 307, 306, 306, 160, 160, 160, 160, 306,
+ 306, 160, 160, 306, 306, 310, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 90, 90, 90, 90, 160, 90, 160,
+
+ 160, 160, 160, 160, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 306, 306, 90, 90, 90, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 306, 306, 307, 160, 90, 90, 90,
+ 90, 90, 90, 90, 308, 90, 160, 90,
+ 90, 90, 160, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 160, 90, 90, 90,
+ 90, 90, 160, 160, 309, 90, 307, 307,
+
+ 307, 306, 306, 306, 306, 306, 160, 306,
+ 306, 307, 160, 307, 307, 310, 160, 160,
+ 90, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 90, 308, 326, 326, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 160, 328, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 160, 308, 90, 90,
+ 90, 90, 160, 160, 309, 90, 324, 306,
+
+ 307, 306, 306, 306, 160, 160, 160, 307,
+ 307, 160, 160, 307, 307, 310, 160, 160,
+ 160, 160, 160, 160, 160, 160, 306, 324,
+ 160, 160, 160, 160, 90, 90, 160, 90,
+
+ 90, 90, 160, 160, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 194, 308, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 306, 90, 160, 90, 90, 90,
+ 90, 90, 90, 160, 160, 160, 90, 90,
+ 90, 160, 90, 90, 90, 90, 160, 160,
+ 160, 90, 90, 160, 90, 160, 90, 90,
+
+ 160, 160, 160, 90, 90, 160, 160, 160,
+ 90, 90, 90, 160, 160, 160, 90, 90,
+ 90, 90, 90, 90, 90, 90, 323, 90,
+ 90, 90, 160, 160, 160, 160, 324, 307,
+
+ 306, 307, 307, 160, 160, 160, 307, 307,
+ 307, 160, 307, 307, 307, 310, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 324,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 329, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 325, 325, 325, 239, 239, 239, 239, 239,
+ 239, 328, 239, 160, 160, 160, 160, 160,
+
+ 160, 307, 307, 307, 160, 90, 90, 90,
+ 90, 90, 90, 90, 90, 160, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 160, 90, 90, 90,
+ 90, 90, 160, 160, 160, 160, 306, 306,
+
+ 306, 307, 307, 307, 307, 160, 306, 306,
+ 306, 160, 306, 306, 306, 310, 160, 160,
+ 160, 160, 160, 160, 160, 330, 331, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 90, 90, 160, 160, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 307, 307, 160, 90, 90, 90,
+ 90, 90, 90, 90, 90, 160, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 160, 90, 90, 90,
+ 90, 90, 160, 160, 332, 308, 307, 333,
+
+ 307, 307, 324, 307, 307, 160, 333, 307,
+ 307, 160, 307, 307, 306, 310, 160, 160,
+ 160, 160, 160, 160, 160, 324, 324, 160,
+ 160, 160, 160, 160, 160, 160, 90, 160,
+
+ 90, 90, 334, 334, 160, 160, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321,
+ 160, 301, 301, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 160, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 160, 160, 160, 160, 324, 307,
+
+ 307, 306, 306, 306, 160, 160, 307, 307,
+ 307, 160, 307, 307, 307, 310, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 324,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 335, 335, 160, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 160,
+ 160, 160, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 160, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 160, 336, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 160,
+ 160, 160, 337, 160, 160, 160, 160, 338,
+ 335, 335, 285, 285, 285, 160, 285, 160,
+ 335, 335, 335, 335, 335, 335, 335, 338,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 335, 335, 339, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340,
+
+ 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 341, 340, 340, 341, 341, 341, 341,
+ 342, 342, 343, 160, 160, 160, 160, 12,
+
+ 340, 340, 340, 340, 340, 340, 344, 341,
+ 345, 345, 345, 345, 341, 341, 341, 199,
+ 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 346, 346, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 340, 340, 160, 340, 160, 160, 340,
+ 340, 160, 340, 160, 160, 340, 160, 160,
+ 160, 160, 160, 160, 340, 340, 340, 340,
+ 160, 340, 340, 340, 340, 340, 340, 340,
+
+ 160, 340, 340, 340, 160, 340, 160, 340,
+ 160, 160, 340, 340, 160, 340, 340, 340,
+ 340, 341, 340, 340, 341, 341, 341, 341,
+ 347, 347, 160, 341, 341, 340, 160, 160,
+
+ 340, 340, 340, 340, 340, 160, 344, 160,
+ 348, 348, 348, 348, 341, 341, 160, 160,
+ 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 160, 160, 340, 340, 160, 160,
+
+ 349, 350, 350, 350, 351, 352, 351, 351,
+ 353, 351, 351, 354, 353, 355, 355, 355,
+ 355, 355, 353, 356, 357, 356, 356, 356,
+ 206, 206, 356, 356, 356, 356, 356, 356,
+
+ 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 368, 368, 368, 368, 368,
+ 368, 368, 368, 368, 369, 206, 356, 206,
+ 356, 370, 371, 372, 371, 372, 373, 373,
+
+ 349, 349, 349, 349, 349, 349, 349, 349,
+ 160, 349, 349, 349, 349, 349, 349, 349,
+ 349, 349, 349, 349, 349, 349, 349, 349,
+ 349, 349, 349, 349, 349, 349, 349, 349,
+
+ 349, 349, 349, 349, 349, 349, 349, 349,
+ 349, 349, 336, 160, 160, 160, 160, 160,
+ 160, 374, 375, 376, 377, 376, 376, 376,
+ 376, 376, 375, 375, 375, 375, 376, 378,
+
+ 375, 376, 207, 207, 379, 354, 207, 207,
+ 349, 349, 349, 349, 160, 160, 160, 160,
+ 376, 376, 376, 376, 376, 376, 285, 376,
+ 160, 376, 376, 376, 376, 376, 376, 376,
+
+ 376, 376, 376, 376, 376, 376, 376, 376,
+ 376, 376, 376, 376, 376, 376, 285, 285,
+ 285, 376, 376, 376, 376, 376, 376, 376,
+ 285, 376, 285, 285, 285, 160, 380, 380,
+
+ 381, 381, 381, 381, 381, 381, 147, 381,
+ 381, 381, 381, 381, 381, 160, 160, 381,
+ 382, 382, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383,
+
+ 383, 383, 160, 383, 383, 383, 383, 383,
+ 160, 383, 383, 160, 384, 385, 385, 385,
+ 385, 384, 385, 160, 160, 160, 385, 386,
+ 384, 387, 160, 160, 160, 160, 160, 160,
+
+ 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, 398, 339, 339, 339, 339,
+ 383, 383, 383, 383, 383, 383, 384, 384,
+ 385, 385, 160, 160, 160, 160, 160, 160,
+
+ 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399,
+
+ 399, 399, 399, 399, 399, 399, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 400,
+ 400, 323, 323, 199, 401, 160, 160, 160,
+
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402,
+
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 402, 160, 160, 160, 160, 160, 402,
+
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+
+ 403, 403, 403, 160, 160, 160, 160, 160,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 404, 404, 404, 404, 404, 404,
+ 404, 404, 160, 160, 160, 160, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 160, 336, 336, 336, 336, 160, 160,
+ 336, 336, 336, 336, 336, 336, 336, 160,
+ 336, 160, 336, 336, 336, 336, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 160, 336, 336, 336, 336, 160, 160,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 160, 336, 336, 336, 336, 160, 160,
+ 336, 336, 336, 336, 336, 336, 336, 160,
+
+ 336, 160, 336, 336, 336, 336, 160, 160,
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 336, 336, 336, 336, 336, 336, 160,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 160, 336, 336, 336, 336, 160, 160,
+ 336, 336, 336, 336, 336, 336, 336, 323,
+
+ 336, 336, 336, 336, 336, 336, 336, 323,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 160, 160, 160, 160, 153,
+
+ 405, 406, 407, 339, 339, 339, 339, 407,
+ 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 417, 417, 417, 417, 417,
+ 417, 417, 417, 417, 417, 160, 160, 160,
+
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 160, 160, 160, 160, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 339, 407, 336,
+ 336, 336, 336, 336, 336, 336, 336, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 419, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 420, 421, 160, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 406, 406, 406, 422, 422,
+ 422, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 400, 160, 400, 400,
+ 400, 400, 423, 423, 424, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 423, 423, 424, 425, 425, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 423, 423, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 400, 160, 400, 400,
+ 400, 160, 423, 423, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 426, 426, 384, 385,
+ 385, 385, 385, 385, 385, 385, 384, 384,
+
+ 384, 384, 384, 384, 384, 384, 385, 384,
+ 384, 385, 385, 385, 385, 385, 385, 385,
+ 385, 385, 387, 385, 406, 406, 427, 428,
+ 406, 339, 406, 429, 383, 430, 160, 160,
+
+ 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 160, 160, 160, 160, 160, 160,
+ 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 160, 160, 160, 160, 160, 160,
+
+ 432, 432, 433, 434, 433, 433, 435, 432,
+ 433, 434, 432, 285, 285, 285, 436, 160,
+ 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 160, 160, 160, 160, 160, 160,
+
+ 336, 336, 336, 137, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 336, 336, 336, 336, 336, 336, 336, 336,
+ 336, 437, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 160, 160, 160,
+
+ 326, 326, 326, 327, 327, 327, 327, 326,
+ 326, 438, 438, 438, 160, 160, 160, 160,
+ 327, 327, 326, 327, 327, 327, 327, 327,
+ 327, 439, 149, 150, 160, 160, 160, 160,
+
+ 239, 160, 160, 160, 440, 440, 441, 442,
+ 443, 444, 445, 446, 447, 448, 449, 450,
+ 451, 451, 451, 451, 451, 451, 451, 451,
+ 451, 451, 451, 451, 451, 451, 451, 451,
+
+ 451, 451, 451, 451, 451, 451, 451, 451,
+ 451, 451, 451, 451, 451, 451, 160, 160,
+ 451, 451, 451, 451, 451, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 452, 452, 452, 452, 452, 452, 452, 452,
+ 452, 452, 452, 452, 452, 452, 452, 452,
+ 452, 452, 452, 452, 452, 452, 452, 452,
+ 452, 452, 452, 452, 452, 452, 452, 452,
+
+ 452, 452, 452, 452, 452, 452, 452, 452,
+ 452, 452, 160, 160, 160, 160, 160, 160,
+ 453, 453, 453, 453, 453, 453, 453, 453,
+ 453, 453, 453, 453, 453, 453, 453, 453,
+
+ 453, 452, 452, 452, 452, 452, 452, 452,
+ 453, 453, 160, 160, 160, 160, 160, 160,
+ 329, 454, 455, 456, 457, 458, 459, 460,
+ 461, 462, 160, 160, 160, 160, 463, 463,
+
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 153,
+ 152, 464, 464, 464, 160, 160, 465, 466,
+
+ 334, 334, 334, 334, 467, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 468, 467, 334, 334,
+ 334, 334, 334, 467, 334, 467, 467, 467,
+
+ 467, 467, 334, 467, 469, 322, 322, 322,
+ 322, 322, 322, 322, 160, 160, 160, 160,
+ 470, 471, 472, 473, 474, 475, 476, 477,
+ 478, 479, 480, 480, 481, 481, 480, 480,
+
+ 481, 482, 482, 482, 482, 482, 482, 482,
+ 482, 482, 482, 298, 299, 298, 298, 298,
+ 298, 298, 298, 298, 482, 482, 482, 482,
+ 482, 482, 482, 482, 482, 160, 160, 160,
+
+ 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102,
+
+ 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483,
+
+ 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 483, 483, 483, 483, 483, 483, 483,
+
+ 483, 483, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 484, 103, 103, 103, 103, 485, 103, 103,
+
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 484, 484, 484, 484, 484,
+
+ 484, 484, 484, 484, 484, 484, 484, 484,
+ 484, 484, 484, 484, 484, 484, 484, 484,
+ 484, 484, 484, 484, 484, 484, 484, 484,
+ 484, 484, 484, 484, 484, 484, 484, 484,
+
+ 153, 153, 152, 153, 298, 298, 298, 298,
+ 298, 298, 299, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 298, 299,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 486, 487,
+ 488, 489, 490, 491, 160, 160, 160, 160,
+
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 65, 66, 65, 66, 65, 66,
+ 65, 66, 160, 160, 160, 160, 160, 160,
+
+ 492, 492, 492, 492, 492, 492, 492, 492,
+ 493, 493, 493, 493, 493, 493, 493, 493,
+ 492, 492, 492, 492, 492, 492, 160, 160,
+ 493, 493, 493, 493, 493, 493, 160, 160,
+
+ 492, 492, 492, 492, 492, 492, 492, 492,
+ 493, 493, 493, 493, 493, 493, 493, 493,
+ 492, 492, 492, 492, 492, 492, 492, 492,
+ 493, 493, 493, 493, 493, 493, 493, 493,
+
+ 492, 492, 492, 492, 492, 492, 160, 160,
+ 493, 493, 493, 493, 493, 493, 160, 160,
+ 494, 492, 495, 492, 496, 492, 497, 492,
+ 160, 493, 160, 493, 160, 493, 160, 493,
+
+ 492, 492, 492, 492, 492, 492, 492, 492,
+ 493, 493, 493, 493, 493, 493, 493, 493,
+ 498, 498, 499, 499, 499, 499, 500, 500,
+ 501, 501, 502, 502, 503, 503, 160, 160,
+
+ 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 515, 516, 517, 518, 519,
+ 520, 521, 522, 523, 524, 525, 526, 527,
+ 528, 529, 530, 531, 532, 533, 534, 535,
+
+ 536, 537, 538, 539, 540, 541, 542, 543,
+ 544, 545, 546, 547, 548, 549, 550, 551,
+ 492, 492, 552, 553, 554, 160, 555, 556,
+ 493, 493, 557, 557, 558, 42, 559, 42,
+
+ 42, 42, 560, 561, 562, 160, 563, 564,
+ 565, 565, 565, 565, 566, 42, 42, 42,
+ 492, 492, 567, 568, 160, 160, 569, 570,
+ 493, 493, 571, 571, 160, 42, 42, 42,
+
+ 492, 492, 572, 573, 574, 182, 575, 576,
+ 493, 493, 577, 577, 578, 42, 42, 42,
+ 160, 160, 579, 580, 581, 160, 582, 583,
+ 584, 584, 585, 585, 586, 42, 42, 160,
+
+ 587, 587, 587, 587, 587, 587, 587, 588,
+ 587, 587, 587, 589, 590, 591, 592, 593,
+ 594, 595, 594, 594, 596, 597, 14, 14,
+ 598, 599, 600, 601, 598, 602, 600, 601,
+
+ 14, 14, 14, 14, 603, 603, 603, 604,
+ 605, 606, 607, 608, 609, 610, 611, 612,
+ 13, 13, 13, 13, 13, 613, 613, 613,
+ 14, 598, 602, 14, 614, 614, 14, 43,
+
+ 43, 14, 14, 14, 615, 16, 17, 616,
+ 617, 617, 432, 432, 432, 432, 618, 618,
+ 618, 618, 185, 619, 620, 621, 622, 618,
+ 622, 622, 622, 622, 621, 622, 622, 623,
+
+ 624, 625, 625, 625, 160, 160, 160, 160,
+ 160, 160, 626, 626, 626, 626, 626, 626,
+ 627, 628, 160, 160, 629, 630, 631, 632,
+ 633, 634, 635, 635, 36, 16, 17, 50,
+
+ 627, 60, 55, 56, 629, 630, 631, 632,
+ 633, 634, 635, 635, 36, 16, 17, 160,
+ 484, 484, 484, 484, 484, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 12, 12, 12, 12, 12, 12, 12, 48,
+ 12, 12, 12, 636, 637, 429, 429, 429,
+ 638, 638, 639, 639, 639, 639, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 139, 139, 144, 144, 139, 139, 139, 139,
+ 144, 144, 144, 139, 139, 273, 273, 273,
+
+ 273, 139, 195, 195, 640, 641, 641, 159,
+ 642, 159, 641, 643, 299, 299, 299, 299,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 49, 49, 175, 644, 49, 49, 49, 175,
+ 49, 644, 50, 175, 175, 175, 50, 50,
+ 175, 175, 175, 50, 49, 175, 645, 49,
+ 49, 175, 175, 175, 175, 175, 49, 49,
+
+ 49, 49, 49, 49, 175, 49, 646, 49,
+ 175, 49, 647, 648, 175, 175, 649, 50,
+ 175, 175, 650, 175, 50, 90, 90, 90,
+ 90, 131, 651, 239, 103, 628, 652, 652,
+
+ 185, 185, 185, 185, 185, 652, 628, 628,
+ 628, 628, 653, 185, 418, 301, 654, 160,
+ 160, 160, 160, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62,
+
+ 655, 655, 655, 655, 655, 655, 655, 655,
+ 655, 655, 655, 655, 655, 655, 655, 655,
+ 656, 656, 656, 656, 656, 656, 656, 656,
+ 656, 656, 656, 656, 656, 656, 656, 656,
+
+ 657, 657, 657, 99, 109, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 36, 36, 36, 36, 36, 49, 49, 49,
+ 49, 49, 36, 36, 49, 49, 49, 49,
+
+ 36, 49, 49, 36, 49, 49, 36, 49,
+ 49, 49, 49, 49, 49, 49, 36, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 36, 36,
+ 49, 49, 36, 49, 36, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 651, 651, 651, 651, 651,
+ 651, 651, 651, 651, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 658, 658, 658, 659, 659, 659, 36, 36,
+ 36, 36, 18, 54, 36, 660, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 661, 662, 36, 36,
+
+ 36, 36, 36, 663, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 661, 662, 661, 662, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+
+ 36, 36, 36, 36, 661, 662, 661, 662,
+ 661, 662, 661, 662, 36, 36, 661, 662,
+ 661, 662, 661, 662, 661, 662, 661, 662,
+ 661, 662, 661, 662, 661, 662, 661, 662,
+
+ 661, 662, 661, 662, 661, 662, 661, 662,
+ 661, 662, 661, 662, 36, 36, 36, 661,
+ 662, 661, 662, 36, 36, 36, 36, 36,
+ 664, 36, 36, 36, 36, 36, 36, 36,
+
+ 36, 36, 661, 662, 36, 36, 665, 36,
+ 666, 667, 36, 667, 36, 36, 36, 36,
+ 661, 662, 661, 662, 661, 662, 661, 662,
+ 36, 36, 36, 36, 36, 36, 36, 36,
+
+ 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 661, 662, 661, 662, 668, 36, 36,
+ 661, 662, 36, 36, 36, 36, 661, 662,
+ 661, 662, 661, 662, 661, 662, 661, 662,
+
+ 661, 662, 661, 662, 661, 662, 661, 662,
+ 661, 662, 661, 662, 661, 662, 36, 36,
+ 661, 662, 669, 669, 669, 185, 670, 670,
+ 185, 185, 671, 671, 671, 672, 672, 185,
+
+ 49, 651, 49, 49, 49, 49, 49, 49,
+ 661, 662, 661, 662, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 36, 36, 49, 49, 49, 49, 49, 49,
+ 49, 16, 17, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 651, 185, 651, 651, 651,
+
+ 651, 651, 651, 651, 651, 651, 651, 651,
+ 651, 651, 651, 651, 651, 651, 651, 651,
+ 651, 651, 651, 651, 651, 381, 651, 651,
+ 651, 651, 651, 185, 185, 185, 185, 185,
+
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 653, 653, 653, 653,
+ 653, 653, 653, 653, 653, 653, 653, 653,
+
+ 653, 653, 653, 653, 653, 653, 653, 653,
+ 653, 653, 653, 653, 653, 653, 653, 239,
+ 239, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 673, 673, 673, 673,
+
+ 673, 673, 301, 301, 301, 301, 301, 301,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 651, 651, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 674, 675, 676, 677, 678, 679, 680, 681,
+ 682, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 674, 675, 676, 677,
+ 678, 679, 680, 681, 682, 62, 62, 62,
+
+ 62, 62, 62, 62, 62, 62, 62, 62,
+ 60, 55, 56, 629, 630, 631, 632, 633,
+ 634, 683, 683, 683, 683, 683, 683, 683,
+ 683, 683, 683, 683, 194, 194, 194, 194,
+
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 194, 194, 684, 684,
+ 684, 684, 684, 684, 684, 684, 684, 684,
+
+ 684, 684, 684, 684, 684, 684, 684, 684,
+ 684, 684, 684, 684, 684, 684, 684, 684,
+ 685, 685, 685, 685, 685, 685, 685, 685,
+ 685, 685, 685, 685, 685, 685, 685, 685,
+
+ 685, 685, 685, 685, 685, 685, 685, 685,
+ 685, 685, 686, 687, 687, 687, 687, 687,
+ 687, 687, 687, 687, 687, 688, 689, 690,
+ 691, 692, 693, 694, 695, 696, 687, 697,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 653, 653,
+ 653, 653, 653, 653, 653, 653, 653, 653,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 36,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 36, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 651, 651, 651, 651, 651, 651, 651, 651,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 239, 239, 653, 653,
+ 418, 651, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 36,
+ 651, 651, 653, 653, 653, 653, 653, 653,
+ 653, 653, 653, 653, 653, 653, 418, 418,
+
+ 653, 653, 653, 653, 653, 653, 653, 653,
+ 653, 653, 239, 239, 239, 239, 239, 239,
+ 239, 239, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 160, 160, 160,
+
+ 239, 239, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 405, 418, 418, 418,
+ 418, 418, 301, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 49, 49, 49, 49, 160, 49, 49,
+ 49, 49, 160, 160, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 160, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 160, 49, 160, 49,
+ 49, 49, 49, 160, 160, 160, 49, 160,
+ 49, 49, 49, 698, 698, 698, 698, 160,
+
+ 160, 49, 699, 699, 49, 49, 49, 49,
+ 700, 701, 700, 701, 700, 701, 700, 701,
+ 700, 701, 700, 701, 700, 701, 674, 675,
+ 676, 677, 678, 679, 680, 681, 682, 62,
+
+ 674, 675, 676, 677, 678, 679, 680, 681,
+ 682, 62, 674, 675, 676, 677, 678, 679,
+ 680, 681, 682, 62, 49, 160, 160, 160,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49,
+ 160, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 160,
+
+ 702, 702, 702, 703, 704, 705, 706, 673,
+ 673, 673, 673, 160, 160, 160, 160, 160,
+ 185, 185, 185, 185, 185, 707, 708, 185,
+ 185, 185, 185, 185, 185, 707, 708, 185,
+
+ 185, 185, 707, 708, 707, 708, 700, 701,
+ 700, 701, 700, 701, 160, 160, 160, 160,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 381, 381, 381, 381, 381, 381, 381, 381,
+ 381, 381, 381, 381, 381, 381, 381, 381,
+ 381, 381, 381, 381, 381, 381, 381, 381,
+ 381, 381, 381, 381, 381, 381, 381, 381,
+
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 185, 185, 185, 700, 701, 700, 701, 700,
+ 701, 700, 701, 700, 701, 709, 710, 711,
+ 712, 700, 701, 700, 701, 700, 701, 700,
+ 701, 185, 185, 185, 185, 185, 185, 185,
+
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 713, 185, 185, 185, 185, 185, 185, 185,
+
+ 707, 708, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 707,
+ 708, 707, 708, 185, 707, 708, 185, 185,
+ 700, 701, 700, 701, 185, 185, 185, 185,
+
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 714, 185, 185,
+ 707, 708, 185, 185, 700, 701, 185, 185,
+
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 707, 708, 707, 708, 185,
+ 185, 185, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 185, 707, 708, 185, 185,
+
+ 185, 185, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 707, 708, 185, 185, 707, 708, 707,
+
+ 708, 707, 708, 707, 708, 185, 185, 185,
+ 185, 185, 185, 707, 708, 185, 185, 185,
+ 185, 707, 708, 707, 708, 707, 708, 707,
+ 708, 707, 708, 707, 708, 185, 185, 185,
+
+ 185, 707, 708, 185, 185, 185, 707, 708,
+ 707, 708, 707, 708, 707, 708, 185, 707,
+ 708, 185, 185, 707, 708, 185, 185, 185,
+ 185, 185, 185, 707, 708, 707, 708, 707,
+
+ 708, 707, 708, 707, 708, 707, 708, 185,
+ 185, 185, 185, 185, 185, 707, 708, 707,
+ 708, 707, 708, 707, 708, 707, 708, 185,
+ 185, 185, 185, 185, 185, 185, 715, 185,
+
+ 185, 185, 185, 716, 717, 716, 185, 185,
+ 185, 185, 185, 185, 707, 708, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 707,
+ 708, 707, 708, 185, 185, 185, 185, 185,
+
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 418, 418,
+ 418, 418, 418, 418, 301, 301, 301, 301,
+ 301, 301, 301, 160, 160, 160, 160, 160,
+
+ 301, 301, 301, 301, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 718, 718, 718, 718, 718, 718, 718, 718,
+ 718, 718, 718, 718, 718, 718, 718, 718,
+ 718, 718, 718, 718, 718, 718, 718, 718,
+ 718, 718, 718, 718, 718, 718, 718, 718,
+
+ 718, 718, 718, 718, 718, 718, 718, 718,
+ 718, 718, 718, 718, 718, 718, 718, 160,
+ 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719,
+
+ 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 160,
+
+ 113, 109, 720, 721, 722, 723, 724, 113,
+ 109, 113, 109, 113, 109, 160, 160, 160,
+ 160, 160, 160, 160, 725, 113, 109, 725,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 105, 106, 105, 106, 105, 106, 105, 106,
+ 105, 106, 105, 106, 105, 106, 105, 106,
+ 105, 106, 105, 106, 105, 106, 105, 106,
+ 105, 106, 105, 106, 105, 106, 105, 106,
+
+ 105, 106, 105, 106, 103, 418, 418, 418,
+ 418, 418, 418, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 622, 622, 622, 622, 726, 622, 622,
+
+ 727, 727, 727, 727, 727, 727, 727, 727,
+ 727, 727, 727, 727, 727, 727, 727, 727,
+ 727, 727, 727, 727, 727, 727, 727, 727,
+ 727, 727, 727, 727, 727, 727, 727, 727,
+
+ 727, 727, 727, 727, 727, 727, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+
+ 323, 323, 323, 323, 323, 323, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 401,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 323, 323, 323, 323, 323, 323, 323, 160,
+ 323, 323, 323, 323, 323, 323, 323, 160,
+ 323, 323, 323, 323, 323, 323, 323, 160,
+ 323, 323, 323, 323, 323, 323, 323, 160,
+
+ 728, 728, 729, 730, 729, 730, 728, 728,
+ 728, 729, 730, 728, 729, 730, 622, 622,
+ 622, 622, 622, 622, 622, 622, 621, 731,
+ 160, 160, 160, 160, 729, 730, 160, 160,
+
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 160, 732, 732, 732, 732, 732,
+
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 160, 160, 160, 160,
+
+ 733, 734, 735, 736, 737, 738, 739, 740,
+ 16, 17, 16, 17, 16, 17, 16, 17,
+ 16, 17, 737, 737, 16, 17, 16, 17,
+ 16, 17, 16, 17, 741, 16, 17, 742,
+
+ 737, 740, 740, 740, 740, 740, 740, 740,
+ 740, 740, 743, 744, 140, 745, 746, 746,
+ 747, 748, 748, 748, 748, 748, 737, 737,
+ 749, 749, 749, 750, 751, 752, 732, 737,
+
+ 160, 753, 739, 753, 739, 753, 739, 753,
+ 739, 753, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+
+ 739, 739, 739, 753, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+
+ 739, 739, 739, 753, 739, 753, 739, 753,
+ 739, 739, 739, 739, 739, 739, 753, 739,
+ 739, 739, 739, 739, 739, 754, 754, 160,
+ 160, 755, 755, 756, 756, 757, 757, 758,
+
+ 759, 760, 761, 760, 761, 760, 761, 760,
+ 761, 760, 761, 761, 761, 761, 761, 761,
+ 761, 761, 761, 761, 761, 761, 761, 761,
+ 761, 761, 761, 761, 761, 761, 761, 761,
+
+ 761, 761, 761, 760, 761, 761, 761, 761,
+ 761, 761, 761, 761, 761, 761, 761, 761,
+ 761, 761, 761, 761, 761, 761, 761, 761,
+ 761, 761, 761, 761, 761, 761, 761, 761,
+
+ 761, 761, 761, 760, 761, 760, 761, 760,
+ 761, 761, 761, 761, 761, 761, 760, 761,
+ 761, 761, 761, 761, 761, 760, 760, 761,
+ 761, 761, 761, 762, 763, 763, 763, 764,
+
+ 160, 160, 160, 160, 160, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 160, 160, 160,
+ 160, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 765,
+
+ 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 765, 160,
+ 766, 766, 767, 767, 767, 767, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 769, 769, 769, 769, 769, 769, 769, 769,
+ 769, 769, 769, 769, 769, 769, 769, 769,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 770, 770, 770, 770, 770, 770, 770, 770,
+ 770, 770, 770, 770, 770, 770, 770, 770,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 771, 771, 160,
+
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+
+ 766, 766, 766, 766, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 771, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 771, 771, 769, 766,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 771, 771, 771, 771,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 160,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 771,
+ 771, 771, 771, 766, 766, 766, 766, 766,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 771, 771,
+
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 771,
+
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773,
+
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+
+ 739, 739, 739, 739, 739, 739, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 160, 160, 160, 160,
+
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 775, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768,
+
+ 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 160, 160, 160,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+
+ 732, 732, 776, 776, 732, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+ 732, 732, 732, 732, 776, 732, 732, 732,
+ 732, 732, 732, 732, 732, 732, 732, 732,
+
+ 732, 776, 732, 732, 732, 776, 732, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 777, 777, 777, 777, 777, 778,
+ 778, 778, 778, 160, 160, 160, 160, 160,
+
+ 779, 779, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 323, 323, 780, 323, 323, 323, 781, 323,
+ 323, 323, 323, 782, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+
+ 323, 323, 323, 464, 464, 782, 782, 464,
+ 418, 418, 418, 418, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 783, 783, 304, 304,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 784, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 784, 785, 785, 785,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 784, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 784, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 784, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 784, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 784, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 784, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+ 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 785, 785, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 786, 786, 786, 786, 786, 786, 786, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786,
+
+ 787, 787, 787, 787, 787, 787, 787, 787,
+ 787, 787, 787, 787, 787, 787, 787, 787,
+ 787, 787, 787, 787, 787, 787, 787, 787,
+ 787, 787, 787, 787, 787, 787, 787, 787,
+
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 160, 160,
+ 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788,
+
+ 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788,
+
+ 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 160, 160, 160, 160, 160,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 160, 160, 160, 160, 160, 160,
+
+ 789, 790, 791, 792, 793, 794, 795, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 796, 797, 798, 799, 800,
+ 160, 160, 160, 160, 160, 801, 802, 231,
+
+ 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 635, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 205,
+ 231, 231, 231, 231, 231, 205, 231, 205,
+
+ 231, 231, 205, 231, 231, 205, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 600, 742,
+
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 235, 235, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 235, 235, 235, 235, 235, 235, 235, 235,
+ 803, 803, 803, 803, 803, 803, 803, 803,
+ 803, 803, 803, 803, 803, 803, 803, 803,
+
+ 803, 803, 803, 803, 803, 803, 803, 803,
+ 803, 803, 803, 803, 803, 803, 803, 803,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 804, 239, 235, 235,
+
+ 423, 423, 423, 423, 423, 423, 423, 423,
+ 423, 423, 423, 423, 423, 423, 423, 423,
+ 805, 806, 806, 805, 805, 807, 807, 808,
+ 809, 810, 160, 160, 160, 160, 160, 160,
+
+ 139, 139, 139, 139, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 736, 747, 747, 811, 811, 600, 742, 600,
+ 742, 600, 742, 600, 742, 600, 742, 600,
+
+ 742, 600, 742, 600, 742, 752, 752, 812,
+ 813, 736, 736, 736, 736, 811, 811, 811,
+ 814, 736, 815, 160, 762, 816, 9, 9,
+ 747, 16, 17, 16, 17, 16, 17, 817,
+
+ 736, 736, 818, 819, 820, 821, 822, 160,
+ 736, 12, 13, 736, 160, 160, 160, 160,
+ 243, 243, 243, 286, 243, 235, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 235, 235, 823,
+
+ 160, 9, 736, 817, 12, 13, 736, 736,
+ 16, 17, 736, 818, 814, 819, 815, 824,
+ 825, 826, 827, 828, 829, 830, 831, 832,
+ 833, 834, 816, 762, 835, 822, 836, 9,
+
+ 736, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 39, 736, 41, 838, 811,
+
+ 838, 839, 839, 839, 839, 839, 839, 839,
+ 839, 839, 839, 839, 839, 839, 839, 839,
+ 839, 839, 839, 839, 839, 839, 839, 839,
+ 839, 839, 839, 39, 822, 41, 822, 700,
+
+ 701, 735, 16, 17, 734, 762, 840, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760,
+ 763, 840, 840, 840, 840, 840, 840, 840,
+ 840, 840, 840, 840, 840, 840, 840, 840,
+
+ 840, 840, 840, 840, 840, 840, 840, 840,
+ 840, 840, 840, 840, 840, 840, 840, 840,
+ 840, 840, 840, 840, 840, 840, 840, 840,
+ 840, 840, 840, 840, 840, 840, 763, 763,
+
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 160,
+
+ 160, 160, 90, 90, 90, 90, 90, 90,
+ 160, 160, 90, 90, 90, 90, 90, 90,
+ 160, 160, 90, 90, 90, 90, 90, 90,
+ 160, 160, 90, 90, 90, 160, 160, 160,
+
+ 48, 12, 822, 838, 737, 12, 12, 160,
+ 49, 36, 36, 36, 36, 49, 49, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 841, 841, 841, 842, 49, 843, 843,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 160, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 160,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 160, 308, 308, 160, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 160, 160,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 160, 160,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 160, 160, 160, 160, 160,
+
+ 844, 845, 846, 160, 160, 160, 160, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 160, 160, 160, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848,
+
+ 849, 849, 849, 849, 849, 849, 849, 849,
+ 849, 849, 849, 849, 849, 849, 849, 849,
+ 849, 849, 849, 849, 849, 849, 849, 849,
+ 849, 849, 849, 849, 849, 849, 849, 849,
+
+ 849, 849, 849, 849, 849, 849, 849, 849,
+ 849, 849, 849, 849, 849, 849, 849, 849,
+ 849, 849, 849, 849, 849, 726, 726, 726,
+ 726, 418, 418, 418, 418, 418, 418, 418,
+
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 726, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 850, 850, 850, 850, 850, 850, 850, 850,
+ 850, 850, 850, 850, 850, 850, 850, 850,
+ 850, 850, 850, 850, 850, 850, 850, 850,
+ 850, 850, 850, 850, 850, 850, 850, 160,
+
+ 851, 851, 851, 851, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 850, 850, 850, 850, 850, 850, 850, 850,
+ 850, 850, 850, 850, 850, 850, 850, 850,
+
+ 850, 852, 850, 850, 850, 850, 850, 850,
+ 850, 850, 852, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 160, 844,
+
+ 323, 323, 323, 323, 160, 160, 160, 160,
+ 323, 323, 323, 323, 323, 323, 323, 323,
+ 465, 853, 853, 853, 853, 853, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 854, 854, 854, 854, 854, 854, 854, 854,
+ 854, 854, 854, 854, 854, 854, 854, 854,
+ 854, 854, 854, 854, 854, 854, 854, 854,
+ 854, 854, 854, 854, 854, 854, 854, 854,
+
+ 854, 854, 854, 854, 854, 854, 855, 855,
+ 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 856, 856,
+
+ 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 857, 857,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 160, 160,
+
+ 441, 442, 443, 444, 445, 446, 447, 448,
+ 449, 450, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 858, 858, 858, 858, 858, 858, 205, 205,
+ 858, 205, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858,
+
+ 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 205, 858,
+ 858, 205, 205, 205, 858, 205, 205, 858,
+
+ 859, 859, 859, 859, 859, 859, 859, 859,
+ 859, 859, 859, 859, 859, 859, 859, 859,
+ 859, 859, 859, 859, 859, 859, 860, 860,
+ 860, 860, 205, 205, 205, 205, 205, 861,
+
+ 862, 782, 782, 782, 205, 782, 782, 205,
+ 205, 205, 205, 205, 782, 152, 782, 153,
+ 862, 862, 862, 862, 205, 862, 862, 862,
+ 205, 862, 862, 862, 862, 862, 862, 862,
+
+ 862, 862, 862, 862, 862, 862, 862, 862,
+ 862, 862, 862, 862, 862, 862, 862, 862,
+ 862, 862, 862, 862, 205, 205, 205, 205,
+ 153, 643, 152, 205, 205, 205, 205, 781,
+
+ 863, 864, 865, 866, 867, 867, 867, 867,
+ 205, 205, 205, 205, 205, 205, 205, 205,
+ 868, 868, 868, 868, 868, 868, 868, 868,
+ 869, 205, 205, 205, 205, 205, 205, 205,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 322, 322, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 870, 870, 870, 870, 870,
+ 870, 870, 870, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 481, 481, 481, 481, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 160,
+ 160, 160, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 872, 873, 874,
+ 874, 874, 871, 871, 871, 875, 872, 872,
+ 872, 872, 872, 876, 876, 876, 876, 876,
+ 876, 876, 876, 877, 877, 877, 877, 877,
+ 877, 877, 877, 871, 871, 878, 878, 878,
+ 878, 878, 877, 877, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 878, 878, 878, 878, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871,
+ 871, 871, 871, 871, 871, 871, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 153, 153, 153, 418, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 879, 879, 879, 879, 879, 879, 879, 879,
+ 879, 879, 879, 879, 879, 879, 879, 879,
+ 879, 879, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 881, 881,
+ 881, 881, 881, 881, 881, 160, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 880, 160, 880, 880,
+ 160, 160, 880, 160, 160, 880, 880, 160,
+ 160, 880, 880, 880, 880, 160, 880, 880,
+ 880, 880, 880, 880, 880, 880, 881, 881,
+ 881, 881, 160, 881, 160, 881, 881, 881,
+ 881, 102, 881, 881, 160, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+
+ 881, 881, 881, 881, 880, 880, 160, 880,
+ 880, 880, 880, 160, 160, 880, 880, 880,
+ 880, 880, 880, 880, 880, 160, 880, 880,
+ 880, 880, 880, 880, 880, 160, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 160, 880, 880, 880, 880, 160,
+ 880, 880, 880, 880, 880, 160, 880, 160,
+ 160, 160, 880, 880, 880, 880, 880, 880,
+ 880, 160, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 103, 103, 160, 160,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 882, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 882, 881, 881, 881, 881,
+ 881, 881, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 882, 881, 881, 881, 881,
+
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 882, 881, 881,
+ 881, 881, 881, 881, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 882, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 882,
+ 881, 881, 881, 881, 881, 881, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 882,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 882, 881, 881, 881, 881, 881, 881,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 882, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 882, 881, 881, 881, 881,
+ 881, 881, 883, 725, 160, 160, 884, 885,
+ 886, 887, 888, 889, 890, 891, 892, 893,
+ 884, 885, 886, 887, 888, 889, 890, 891,
+ 892, 893, 884, 885, 886, 887, 888, 889,
+ 890, 891, 892, 893, 884, 885, 886, 887,
+ 888, 889, 890, 891, 892, 893, 884, 885,
+ 886, 887, 888, 889, 890, 891, 892, 893,
+
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 894, 894,
+
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 895, 895, 895, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 876, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 876, 876, 876, 876, 876, 876, 876, 876,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 894, 894,
};
#define GET_PROP_INDEX(ucs4) \
@@ -3618,6 +3618,7 @@ static const QUnicodeTables::Properties uc_properties [] = {
{ 15, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5},
{ 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 80, 0, 0, 80, 0, 3, 5},
{ 16, 11, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4},
+ { 16, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -80, -80, 0, 0, 3, 4},
{ 30, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 3, 19, 17, 0, 0, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0},
{ 15, 11, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 15, 0, 0, 15, 0, 3, 5},
@@ -4335,13 +4336,13 @@ static inline const QUnicodeTables::Properties *qGetProp(ushort ucs2)
return uc_properties + index;
}
-Q_CORE_EXPORT const QUnicodeTables::Properties* QT_FASTCALL QUnicodeTables::properties(uint ucs4)
+Q_CORE_EXPORT const QUnicodeTables::Properties * QT_FASTCALL QUnicodeTables::properties(uint ucs4)
{
int index = GET_PROP_INDEX(ucs4);
return uc_properties + index;
}
-Q_CORE_EXPORT const QUnicodeTables::Properties* QT_FASTCALL QUnicodeTables::properties(ushort ucs2)
+Q_CORE_EXPORT const QUnicodeTables::Properties * QT_FASTCALL QUnicodeTables::properties(ushort ucs2)
{
int index = GET_PROP_INDEX_UCS2(ucs2);
return uc_properties + index;
@@ -4382,1446 +4383,1446 @@ static const ushort specialCaseMap [] = {
static const unsigned short uc_decomposition_trie[] = {
// 0 - 0x3400
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1564, 1580, 1596, 1612, 1628, 1644,
- 1660, 1676, 1692, 1708, 1724, 1740, 1756, 1772,
- 1548, 1548, 1788, 1804, 1820, 1836, 1852, 1868,
- 1884, 1900, 1916, 1932, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1948, 1548, 1964, 1980, 1548,
- 1548, 1548, 1548, 1548, 1996, 1548, 1548, 2012,
- 2028, 2044, 2060, 2076, 2092, 2108, 1548, 2124,
- 2140, 2156, 1548, 2172, 1548, 2188, 1548, 2204,
- 1548, 1548, 1548, 1548, 2220, 2236, 2252, 2268,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 2284, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 2300, 1548, 1548, 1548, 1548, 2316,
- 1548, 1548, 1548, 1548, 2332, 2348, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 2364, 2380, 1548, 2396, 1548, 1548,
- 1548, 1548, 1548, 1548, 2412, 2428, 1548, 1548,
- 1548, 1548, 1548, 2444, 1548, 2460, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 2476, 2492, 1548, 1548,
- 1548, 2508, 1548, 1548, 2524, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 2540, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 2556, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 2572, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 2588, 1548, 1548,
- 1548, 1548, 1548, 2604, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 2620, 1548, 2636, 1548, 1548,
- 2652, 1548, 1548, 1548, 2668, 2684, 2700, 2716,
- 2732, 2748, 2764, 2780, 1548, 1548, 1548, 1548,
-
- 1548, 1548, 2796, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 2812,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 2828, 2844, 1548, 2860, 2876, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 2892, 2908, 2924, 2940, 2956, 2972,
- 1548, 2988, 3004, 3020, 1548, 1548, 1548, 1548,
- 3036, 3052, 3068, 3084, 3100, 3116, 3132, 3148,
- 3164, 3180, 3196, 3212, 3228, 3244, 3260, 3276,
- 3292, 3308, 3324, 3340, 3356, 3372, 3388, 3404,
- 3420, 3436, 3452, 3468, 3484, 3500, 3516, 3532,
-
- 3548, 3564, 3580, 3596, 3612, 3628, 1548, 3644,
- 3660, 3676, 3692, 1548, 1548, 1548, 1548, 1548,
- 3708, 3724, 3740, 3756, 3772, 3788, 3804, 3820,
- 1548, 3836, 3852, 1548, 3868, 1548, 1548, 1548,
- 3884, 1548, 3900, 3916, 3932, 1548, 3948, 3964,
- 3980, 1548, 3996, 1548, 1548, 1548, 4012, 1548,
- 1548, 1548, 4028, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 4044, 4060,
- 4076, 4092, 4108, 4124, 4140, 4156, 4172, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 4188, 1548, 1548, 1548, 1548, 1548, 1548, 4204,
- 1548, 1548, 1548, 1548, 1548, 4220, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 4236, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 4252, 1548, 1548, 1548, 1548, 1548, 4268,
- 4284, 4300, 4316, 4332, 4348, 4364, 4380, 4396,
- 4412, 4428, 4444, 4460, 4476, 4492, 1548, 1548,
-
- 4508, 1548, 1548, 4524, 4540, 4556, 4572, 4588,
- 1548, 4604, 4620, 4636, 4652, 4668, 1548, 4684,
- 1548, 1548, 1548, 4700, 4716, 4732, 4748, 4764,
- 4780, 4796, 1548, 1548, 1548, 1548, 1548, 1548,
- 4812, 4828, 4844, 4860, 4876, 4892, 4908, 4924,
- 4940, 4956, 4972, 4988, 5004, 5020, 5036, 5052,
- 5068, 5084, 5100, 5116, 5132, 5148, 5164, 5180,
- 5196, 5212, 5228, 5244, 5260, 5276, 5292, 5308,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1564, 1580, 1596, 1612, 1628, 1644,
+ 1660, 1676, 1692, 1708, 1724, 1740, 1756, 1772,
+ 1548, 1548, 1788, 1804, 1820, 1836, 1852, 1868,
+ 1884, 1900, 1916, 1932, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1948, 1548, 1964, 1980, 1548,
+ 1548, 1548, 1548, 1548, 1996, 1548, 1548, 2012,
+ 2028, 2044, 2060, 2076, 2092, 2108, 1548, 2124,
+ 2140, 2156, 1548, 2172, 1548, 2188, 1548, 2204,
+ 1548, 1548, 1548, 1548, 2220, 2236, 2252, 2268,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 2284, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 2300, 1548, 1548, 1548, 1548, 2316,
+ 1548, 1548, 1548, 1548, 2332, 2348, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 2364, 2380, 1548, 2396, 1548, 1548,
+ 1548, 1548, 1548, 1548, 2412, 2428, 1548, 1548,
+ 1548, 1548, 1548, 2444, 1548, 2460, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 2476, 2492, 1548, 1548,
+ 1548, 2508, 1548, 1548, 2524, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 2540, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 2556, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 2572, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 2588, 1548, 1548,
+ 1548, 1548, 1548, 2604, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 2620, 1548, 2636, 1548, 1548,
+ 2652, 1548, 1548, 1548, 2668, 2684, 2700, 2716,
+ 2732, 2748, 2764, 2780, 1548, 1548, 1548, 1548,
+
+ 1548, 1548, 2796, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 2812,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 2828, 2844, 1548, 2860, 2876, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 2892, 2908, 2924, 2940, 2956, 2972,
+ 1548, 2988, 3004, 3020, 1548, 1548, 1548, 1548,
+ 3036, 3052, 3068, 3084, 3100, 3116, 3132, 3148,
+ 3164, 3180, 3196, 3212, 3228, 3244, 3260, 3276,
+ 3292, 3308, 3324, 3340, 3356, 3372, 3388, 3404,
+ 3420, 3436, 3452, 3468, 3484, 3500, 3516, 3532,
+
+ 3548, 3564, 3580, 3596, 3612, 3628, 1548, 3644,
+ 3660, 3676, 3692, 1548, 1548, 1548, 1548, 1548,
+ 3708, 3724, 3740, 3756, 3772, 3788, 3804, 3820,
+ 1548, 3836, 3852, 1548, 3868, 1548, 1548, 1548,
+ 3884, 1548, 3900, 3916, 3932, 1548, 3948, 3964,
+ 3980, 1548, 3996, 1548, 1548, 1548, 4012, 1548,
+ 1548, 1548, 4028, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 4044, 4060,
+ 4076, 4092, 4108, 4124, 4140, 4156, 4172, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 4188, 1548, 1548, 1548, 1548, 1548, 1548, 4204,
+ 1548, 1548, 1548, 1548, 1548, 4220, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 4236, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
+ 1548, 4252, 1548, 1548, 1548, 1548, 1548, 4268,
+ 4284, 4300, 4316, 4332, 4348, 4364, 4380, 4396,
+ 4412, 4428, 4444, 4460, 4476, 4492, 1548, 1548,
+
+ 4508, 1548, 1548, 4524, 4540, 4556, 4572, 4588,
+ 1548, 4604, 4620, 4636, 4652, 4668, 1548, 4684,
+ 1548, 1548, 1548, 4700, 4716, 4732, 4748, 4764,
+ 4780, 4796, 1548, 1548, 1548, 1548, 1548, 1548,
+ 4812, 4828, 4844, 4860, 4876, 4892, 4908, 4924,
+ 4940, 4956, 4972, 4988, 5004, 5020, 5036, 5052,
+ 5068, 5084, 5100, 5116, 5132, 5148, 5164, 5180,
+ 5196, 5212, 5228, 5244, 5260, 5276, 5292, 5308,
// 0x3400 - 0x30000
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
-
- 5324, 5324, 5324, 5324, 5324, 5580, 5836, 6092,
- 6348, 6604, 6860, 7116, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 7372, 5324, 5324,
- 7628, 7884, 8140, 8396, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
-
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
- 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
-
- 5324, 5324, 5324, 5324, 8652, 8908, 9164, 5324,
- 5324, 5324, 5324, 5324,
-
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x2, 0xffff, 0x5, 0xffff, 0xffff, 0xffff, 0xffff, 0x7,
-
- 0xffff, 0xffff, 0xa, 0xc, 0xe, 0x11, 0xffff, 0xffff,
- 0x13, 0x16, 0x18, 0xffff, 0x1a, 0x1e, 0x22, 0xffff,
-
- 0x26, 0x29, 0x2c, 0x2f, 0x32, 0x35, 0xffff, 0x38,
- 0x3b, 0x3e, 0x41, 0x44, 0x47, 0x4a, 0x4d, 0x50,
-
- 0xffff, 0x53, 0x56, 0x59, 0x5c, 0x5f, 0x62, 0xffff,
- 0xffff, 0x65, 0x68, 0x6b, 0x6e, 0x71, 0xffff, 0xffff,
-
- 0x74, 0x77, 0x7a, 0x7d, 0x80, 0x83, 0xffff, 0x86,
- 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9b, 0x9e,
-
- 0xffff, 0xa1, 0xa4, 0xa7, 0xaa, 0xad, 0xb0, 0xffff,
- 0xffff, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xffff, 0xc2,
-
- 0xc5, 0xc8, 0xcb, 0xce, 0xd1, 0xd4, 0xd7, 0xda,
- 0xdd, 0xe0, 0xe3, 0xe6, 0xe9, 0xec, 0xef, 0xf2,
-
- 0xffff, 0xffff, 0xf5, 0xf8, 0xfb, 0xfe, 0x101, 0x104,
- 0x107, 0x10a, 0x10d, 0x110, 0x113, 0x116, 0x119, 0x11c,
-
- 0x11f, 0x122, 0x125, 0x128, 0x12b, 0x12e, 0xffff, 0xffff,
- 0x131, 0x134, 0x137, 0x13a, 0x13d, 0x140, 0x143, 0x146,
-
- 0x149, 0xffff, 0x14c, 0x14f, 0x152, 0x155, 0x158, 0x15b,
- 0xffff, 0x15e, 0x161, 0x164, 0x167, 0x16a, 0x16d, 0x170,
-
- 0x173, 0xffff, 0xffff, 0x176, 0x179, 0x17c, 0x17f, 0x182,
- 0x185, 0x188, 0xffff, 0xffff, 0x18b, 0x18e, 0x191, 0x194,
-
- 0x197, 0x19a, 0xffff, 0xffff, 0x19d, 0x1a0, 0x1a3, 0x1a6,
- 0x1a9, 0x1ac, 0x1af, 0x1b2, 0x1b5, 0x1b8, 0x1bb, 0x1be,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+
+ 5324, 5324, 5324, 5324, 5324, 5580, 5836, 6092,
+ 6348, 6604, 6860, 7116, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 7372, 5324, 5324,
+ 7628, 7884, 8140, 8396, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+ 5324, 5324, 5324, 5324, 5324, 5324, 5324, 5324,
+
+ 5324, 5324, 5324, 5324, 8652, 8908, 9164, 5324,
+ 5324, 5324, 5324, 5324,
+
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x2, 0xffff, 0x5, 0xffff, 0xffff, 0xffff, 0xffff, 0x7,
+
+ 0xffff, 0xffff, 0xa, 0xc, 0xe, 0x11, 0xffff, 0xffff,
+ 0x13, 0x16, 0x18, 0xffff, 0x1a, 0x1e, 0x22, 0xffff,
+
+ 0x26, 0x29, 0x2c, 0x2f, 0x32, 0x35, 0xffff, 0x38,
+ 0x3b, 0x3e, 0x41, 0x44, 0x47, 0x4a, 0x4d, 0x50,
+
+ 0xffff, 0x53, 0x56, 0x59, 0x5c, 0x5f, 0x62, 0xffff,
+ 0xffff, 0x65, 0x68, 0x6b, 0x6e, 0x71, 0xffff, 0xffff,
+
+ 0x74, 0x77, 0x7a, 0x7d, 0x80, 0x83, 0xffff, 0x86,
+ 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9b, 0x9e,
+
+ 0xffff, 0xa1, 0xa4, 0xa7, 0xaa, 0xad, 0xb0, 0xffff,
+ 0xffff, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xffff, 0xc2,
+
+ 0xc5, 0xc8, 0xcb, 0xce, 0xd1, 0xd4, 0xd7, 0xda,
+ 0xdd, 0xe0, 0xe3, 0xe6, 0xe9, 0xec, 0xef, 0xf2,
+
+ 0xffff, 0xffff, 0xf5, 0xf8, 0xfb, 0xfe, 0x101, 0x104,
+ 0x107, 0x10a, 0x10d, 0x110, 0x113, 0x116, 0x119, 0x11c,
+
+ 0x11f, 0x122, 0x125, 0x128, 0x12b, 0x12e, 0xffff, 0xffff,
+ 0x131, 0x134, 0x137, 0x13a, 0x13d, 0x140, 0x143, 0x146,
+
+ 0x149, 0xffff, 0x14c, 0x14f, 0x152, 0x155, 0x158, 0x15b,
+ 0xffff, 0x15e, 0x161, 0x164, 0x167, 0x16a, 0x16d, 0x170,
+
+ 0x173, 0xffff, 0xffff, 0x176, 0x179, 0x17c, 0x17f, 0x182,
+ 0x185, 0x188, 0xffff, 0xffff, 0x18b, 0x18e, 0x191, 0x194,
+
+ 0x197, 0x19a, 0xffff, 0xffff, 0x19d, 0x1a0, 0x1a3, 0x1a6,
+ 0x1a9, 0x1ac, 0x1af, 0x1b2, 0x1b5, 0x1b8, 0x1bb, 0x1be,
- 0x1c1, 0x1c4, 0x1c7, 0x1ca, 0x1cd, 0x1d0, 0xffff, 0xffff,
- 0x1d3, 0x1d6, 0x1d9, 0x1dc, 0x1df, 0x1e2, 0x1e5, 0x1e8,
+ 0x1c1, 0x1c4, 0x1c7, 0x1ca, 0x1cd, 0x1d0, 0xffff, 0xffff,
+ 0x1d3, 0x1d6, 0x1d9, 0x1dc, 0x1df, 0x1e2, 0x1e5, 0x1e8,
- 0x1eb, 0x1ee, 0x1f1, 0x1f4, 0x1f7, 0x1fa, 0x1fd, 0x200,
- 0x203, 0x206, 0x209, 0x20c, 0x20f, 0x212, 0x215, 0x218,
+ 0x1eb, 0x1ee, 0x1f1, 0x1f4, 0x1f7, 0x1fa, 0x1fd, 0x200,
+ 0x203, 0x206, 0x209, 0x20c, 0x20f, 0x212, 0x215, 0x218,
- 0x21a, 0x21d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x220,
+ 0x21a, 0x21d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x220,
- 0x223, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x223, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x226, 0x229, 0x22c, 0x22f,
- 0x232, 0x235, 0x238, 0x23b, 0x23e, 0x241, 0x244, 0x247,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x226, 0x229, 0x22c, 0x22f,
+ 0x232, 0x235, 0x238, 0x23b, 0x23e, 0x241, 0x244, 0x247,
- 0x24a, 0x24d, 0x250, 0x253, 0x256, 0x259, 0x25c, 0x25f,
- 0x262, 0x265, 0x268, 0x26b, 0x26e, 0xffff, 0x271, 0x274,
+ 0x24a, 0x24d, 0x250, 0x253, 0x256, 0x259, 0x25c, 0x25f,
+ 0x262, 0x265, 0x268, 0x26b, 0x26e, 0xffff, 0x271, 0x274,
- 0x277, 0x27a, 0x27d, 0x280, 0xffff, 0xffff, 0x283, 0x286,
- 0x289, 0x28c, 0x28f, 0x292, 0x295, 0x298, 0x29b, 0x29e,
+ 0x277, 0x27a, 0x27d, 0x280, 0xffff, 0xffff, 0x283, 0x286,
+ 0x289, 0x28c, 0x28f, 0x292, 0x295, 0x298, 0x29b, 0x29e,
- 0x2a1, 0x2a4, 0x2a7, 0x2aa, 0x2ad, 0x2b0, 0xffff, 0xffff,
- 0x2b3, 0x2b6, 0x2b9, 0x2bc, 0x2bf, 0x2c2, 0x2c5, 0x2c8,
+ 0x2a1, 0x2a4, 0x2a7, 0x2aa, 0x2ad, 0x2b0, 0xffff, 0xffff,
+ 0x2b3, 0x2b6, 0x2b9, 0x2bc, 0x2bf, 0x2c2, 0x2c5, 0x2c8,
- 0x2cb, 0x2ce, 0x2d1, 0x2d4, 0x2d7, 0x2da, 0x2dd, 0x2e0,
- 0x2e3, 0x2e6, 0x2e9, 0x2ec, 0x2ef, 0x2f2, 0x2f5, 0x2f8,
+ 0x2cb, 0x2ce, 0x2d1, 0x2d4, 0x2d7, 0x2da, 0x2dd, 0x2e0,
+ 0x2e3, 0x2e6, 0x2e9, 0x2ec, 0x2ef, 0x2f2, 0x2f5, 0x2f8,
- 0x2fb, 0x2fe, 0x301, 0x304, 0x307, 0x30a, 0x30d, 0x310,
- 0x313, 0x316, 0x319, 0x31c, 0xffff, 0xffff, 0x31f, 0x322,
+ 0x2fb, 0x2fe, 0x301, 0x304, 0x307, 0x30a, 0x30d, 0x310,
+ 0x313, 0x316, 0x319, 0x31c, 0xffff, 0xffff, 0x31f, 0x322,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x325, 0x328,
- 0x32b, 0x32e, 0x331, 0x334, 0x337, 0x33a, 0x33d, 0x340,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x325, 0x328,
+ 0x32b, 0x32e, 0x331, 0x334, 0x337, 0x33a, 0x33d, 0x340,
- 0x343, 0x346, 0x349, 0x34c, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x343, 0x346, 0x349, 0x34c, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x34f, 0x351, 0x353, 0x355, 0x357, 0x359, 0x35b, 0x35d,
- 0x35f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x34f, 0x351, 0x353, 0x355, 0x357, 0x359, 0x35b, 0x35d,
+ 0x35f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x361, 0x364, 0x367, 0x36a, 0x36d, 0x370, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x361, 0x364, 0x367, 0x36a, 0x36d, 0x370, 0xffff, 0xffff,
- 0x373, 0x375, 0x377, 0x379, 0x37b, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x373, 0x375, 0x377, 0x379, 0x37b, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x37d, 0x37f, 0xffff, 0x381, 0x383, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x37d, 0x37f, 0xffff, 0x381, 0x383, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x386, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x388, 0xffff, 0xffff, 0xffff, 0x38b, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x386, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x388, 0xffff, 0xffff, 0xffff, 0x38b, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x38d, 0x390, 0x393, 0x396,
- 0x398, 0x39b, 0x39e, 0xffff, 0x3a1, 0xffff, 0x3a4, 0x3a7,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x38d, 0x390, 0x393, 0x396,
+ 0x398, 0x39b, 0x39e, 0xffff, 0x3a1, 0xffff, 0x3a4, 0x3a7,
- 0x3aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x3aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x3ad, 0x3b0, 0x3b3, 0x3b6, 0x3b9, 0x3bc,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x3ad, 0x3b0, 0x3b3, 0x3b6, 0x3b9, 0x3bc,
- 0x3bf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x3bf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x3c2, 0x3c5, 0x3c8, 0x3cb, 0x3ce, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x3c2, 0x3c5, 0x3c8, 0x3cb, 0x3ce, 0xffff,
- 0x3d1, 0x3d3, 0x3d5, 0x3d7, 0x3da, 0x3dd, 0x3df, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x3d1, 0x3d3, 0x3d5, 0x3d7, 0x3da, 0x3dd, 0x3df, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x3e1, 0x3e3, 0x3e5, 0xffff, 0x3e7, 0x3e9, 0xffff, 0xffff,
- 0xffff, 0x3eb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x3e1, 0x3e3, 0x3e5, 0xffff, 0x3e7, 0x3e9, 0xffff, 0xffff,
+ 0xffff, 0x3eb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x3ed, 0x3f0, 0xffff, 0x3f3, 0xffff, 0xffff, 0xffff, 0x3f6,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x3f9, 0x3fc, 0x3ff, 0xffff,
+ 0x3ed, 0x3f0, 0xffff, 0x3f3, 0xffff, 0xffff, 0xffff, 0x3f6,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x3f9, 0x3fc, 0x3ff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x402, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x402, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x405, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x405, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x408, 0x40b, 0xffff, 0x40e, 0xffff, 0xffff, 0xffff, 0x411,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x414, 0x417, 0x41a, 0xffff,
+ 0x408, 0x40b, 0xffff, 0x40e, 0xffff, 0xffff, 0xffff, 0x411,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x414, 0x417, 0x41a, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41d, 0x420,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41d, 0x420,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x423, 0x426, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x423, 0x426, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x429, 0x42c, 0x42f, 0x432, 0xffff, 0xffff, 0x435, 0x438,
- 0xffff, 0xffff, 0x43b, 0x43e, 0x441, 0x444, 0x447, 0x44a,
+ 0x429, 0x42c, 0x42f, 0x432, 0xffff, 0xffff, 0x435, 0x438,
+ 0xffff, 0xffff, 0x43b, 0x43e, 0x441, 0x444, 0x447, 0x44a,
- 0xffff, 0xffff, 0x44d, 0x450, 0x453, 0x456, 0x459, 0x45c,
- 0xffff, 0xffff, 0x45f, 0x462, 0x465, 0x468, 0x46b, 0x46e,
+ 0xffff, 0xffff, 0x44d, 0x450, 0x453, 0x456, 0x459, 0x45c,
+ 0xffff, 0xffff, 0x45f, 0x462, 0x465, 0x468, 0x46b, 0x46e,
- 0x471, 0x474, 0x477, 0x47a, 0x47d, 0x480, 0xffff, 0xffff,
- 0x483, 0x486, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x471, 0x474, 0x477, 0x47a, 0x47d, 0x480, 0xffff, 0xffff,
+ 0x483, 0x486, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x489,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x489,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x48c, 0x48f, 0x492, 0x495, 0x498, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x48c, 0x48f, 0x492, 0x495, 0x498, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b, 0x49e, 0x4a1,
- 0x4a4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b, 0x49e, 0x4a1,
+ 0x4a4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x4a7, 0xffff, 0x4aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x4a7, 0xffff, 0x4aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x4ad, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x4ad, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x4b0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x4b0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x4b3, 0xffff, 0xffff, 0x4b6, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x4b3, 0xffff, 0xffff, 0x4b6, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x4b9, 0x4bc, 0x4bf, 0x4c2, 0x4c5, 0x4c8, 0x4cb, 0x4ce,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x4b9, 0x4bc, 0x4bf, 0x4c2, 0x4c5, 0x4c8, 0x4cb, 0x4ce,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x4d1, 0x4d4, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x4d1, 0x4d4, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x4d7, 0x4da, 0xffff, 0x4dd,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x4d7, 0x4da, 0xffff, 0x4dd,
- 0xffff, 0xffff, 0xffff, 0x4e0, 0xffff, 0xffff, 0x4e3, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x4e0, 0xffff, 0xffff, 0x4e3, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x4e6, 0x4e9, 0x4ec, 0xffff, 0xffff, 0x4ef, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x4e6, 0x4e9, 0x4ec, 0xffff, 0xffff, 0x4ef, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x4f2, 0xffff, 0xffff, 0x4f5, 0x4f8, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x4f2, 0xffff, 0xffff, 0x4f5, 0x4f8, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb, 0x4fe, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb, 0x4fe, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x501, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x501, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x504, 0x507, 0x50a, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x504, 0x507, 0x50a, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x50d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x50d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x510, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x513,
- 0x516, 0xffff, 0x519, 0x51c, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x510, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x513,
+ 0x516, 0xffff, 0x519, 0x51c, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x51f, 0x522, 0x525, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x51f, 0x522, 0x525, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x528, 0xffff, 0x52b, 0x52e, 0x531, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x528, 0xffff, 0x52b, 0x52e, 0x531, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x534, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x534, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x537, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x537, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x53a, 0x53d, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x53a, 0x53d, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x540, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x540, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x542, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x545, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x542, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x545, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x548, 0xffff, 0xffff, 0xffff, 0xffff, 0x54b,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x54e, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x548, 0xffff, 0xffff, 0xffff, 0xffff, 0x54b,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x54e, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x551, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x551, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x554, 0xffff, 0x557, 0x55a, 0x55d,
- 0x560, 0x563, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x554, 0xffff, 0x557, 0x55a, 0x55d,
+ 0x560, 0x563, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x566, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x566, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x569, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x56c, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x569, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x56c, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x56f, 0xffff, 0xffff, 0xffff, 0xffff, 0x572,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x575, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x56f, 0xffff, 0xffff, 0xffff, 0xffff, 0x572,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x575, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x578, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x578, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x57e, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x57e, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x580, 0xffff,
- 0x583, 0xffff, 0x586, 0xffff, 0x589, 0xffff, 0x58c, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x580, 0xffff,
+ 0x583, 0xffff, 0x586, 0xffff, 0x589, 0xffff, 0x58c, 0xffff,
- 0xffff, 0xffff, 0x58f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x58f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x592, 0xffff, 0x595, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x592, 0xffff, 0x595, 0xffff, 0xffff,
- 0x598, 0x59b, 0xffff, 0x59e, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x598, 0x59b, 0xffff, 0x59e, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x5a1, 0x5a3, 0x5a5, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x5a1, 0x5a3, 0x5a5, 0xffff,
- 0x5a7, 0x5a9, 0x5ab, 0x5ad, 0x5af, 0x5b1, 0x5b3, 0x5b5,
- 0x5b7, 0x5b9, 0x5bb, 0xffff, 0x5bd, 0x5bf, 0x5c1, 0x5c3,
+ 0x5a7, 0x5a9, 0x5ab, 0x5ad, 0x5af, 0x5b1, 0x5b3, 0x5b5,
+ 0x5b7, 0x5b9, 0x5bb, 0xffff, 0x5bd, 0x5bf, 0x5c1, 0x5c3,
- 0x5c5, 0x5c7, 0x5c9, 0x5cb, 0x5cd, 0x5cf, 0x5d1, 0x5d3,
- 0x5d5, 0x5d7, 0x5d9, 0x5db, 0x5dd, 0x5df, 0xffff, 0x5e1,
+ 0x5c5, 0x5c7, 0x5c9, 0x5cb, 0x5cd, 0x5cf, 0x5d1, 0x5d3,
+ 0x5d5, 0x5d7, 0x5d9, 0x5db, 0x5dd, 0x5df, 0xffff, 0x5e1,
- 0x5e3, 0x5e5, 0x5e7, 0x5e9, 0x5eb, 0x5ed, 0x5ef, 0x5f1,
- 0x5f3, 0x5f5, 0x5f7, 0x5f9, 0x5fb, 0x5fd, 0x5ff, 0x601,
+ 0x5e3, 0x5e5, 0x5e7, 0x5e9, 0x5eb, 0x5ed, 0x5ef, 0x5f1,
+ 0x5f3, 0x5f5, 0x5f7, 0x5f9, 0x5fb, 0x5fd, 0x5ff, 0x601,
- 0x603, 0x605, 0x607, 0x609, 0x60b, 0x60d, 0x60f, 0x611,
- 0x613, 0x615, 0x617, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x603, 0x605, 0x607, 0x609, 0x60b, 0x60d, 0x60f, 0x611,
+ 0x613, 0x615, 0x617, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x619, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x619, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x61b, 0x61d, 0x61f, 0x621, 0x623,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x61b, 0x61d, 0x61f, 0x621, 0x623,
- 0x625, 0x627, 0x629, 0x62b, 0x62d, 0x62f, 0x631, 0x633,
- 0x635, 0x637, 0x639, 0x63b, 0x63d, 0x63f, 0x641, 0x643,
+ 0x625, 0x627, 0x629, 0x62b, 0x62d, 0x62f, 0x631, 0x633,
+ 0x635, 0x637, 0x639, 0x63b, 0x63d, 0x63f, 0x641, 0x643,
- 0x645, 0x647, 0x649, 0x64b, 0x64d, 0x64f, 0x651, 0x653,
- 0x655, 0x657, 0x659, 0x65b, 0x65d, 0x65f, 0x661, 0x663,
+ 0x645, 0x647, 0x649, 0x64b, 0x64d, 0x64f, 0x651, 0x653,
+ 0x655, 0x657, 0x659, 0x65b, 0x65d, 0x65f, 0x661, 0x663,
- 0x665, 0x668, 0x66b, 0x66e, 0x671, 0x674, 0x677, 0x67a,
- 0x67d, 0x680, 0x683, 0x686, 0x689, 0x68c, 0x68f, 0x692,
+ 0x665, 0x668, 0x66b, 0x66e, 0x671, 0x674, 0x677, 0x67a,
+ 0x67d, 0x680, 0x683, 0x686, 0x689, 0x68c, 0x68f, 0x692,
- 0x695, 0x698, 0x69b, 0x69e, 0x6a1, 0x6a4, 0x6a7, 0x6aa,
- 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6bc, 0x6bf, 0x6c2,
+ 0x695, 0x698, 0x69b, 0x69e, 0x6a1, 0x6a4, 0x6a7, 0x6aa,
+ 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6bc, 0x6bf, 0x6c2,
- 0x6c5, 0x6c8, 0x6cb, 0x6ce, 0x6d1, 0x6d4, 0x6d7, 0x6da,
- 0x6dd, 0x6e0, 0x6e3, 0x6e6, 0x6e9, 0x6ec, 0x6ef, 0x6f2,
+ 0x6c5, 0x6c8, 0x6cb, 0x6ce, 0x6d1, 0x6d4, 0x6d7, 0x6da,
+ 0x6dd, 0x6e0, 0x6e3, 0x6e6, 0x6e9, 0x6ec, 0x6ef, 0x6f2,
- 0x6f5, 0x6f8, 0x6fb, 0x6fe, 0x701, 0x704, 0x707, 0x70a,
- 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71c, 0x71f, 0x722,
+ 0x6f5, 0x6f8, 0x6fb, 0x6fe, 0x701, 0x704, 0x707, 0x70a,
+ 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71c, 0x71f, 0x722,
- 0x725, 0x728, 0x72b, 0x72e, 0x731, 0x734, 0x737, 0x73a,
- 0x73d, 0x740, 0x743, 0x746, 0x749, 0x74c, 0x74f, 0x752,
+ 0x725, 0x728, 0x72b, 0x72e, 0x731, 0x734, 0x737, 0x73a,
+ 0x73d, 0x740, 0x743, 0x746, 0x749, 0x74c, 0x74f, 0x752,
- 0x755, 0x758, 0x75b, 0x75e, 0x761, 0x764, 0x767, 0x76a,
- 0x76d, 0x770, 0x773, 0x776, 0x779, 0x77c, 0x77f, 0x782,
+ 0x755, 0x758, 0x75b, 0x75e, 0x761, 0x764, 0x767, 0x76a,
+ 0x76d, 0x770, 0x773, 0x776, 0x779, 0x77c, 0x77f, 0x782,
- 0x785, 0x788, 0x78b, 0x78e, 0x791, 0x794, 0x797, 0x79a,
- 0x79d, 0x7a0, 0x7a3, 0x7a6, 0x7a9, 0x7ac, 0x7af, 0x7b2,
+ 0x785, 0x788, 0x78b, 0x78e, 0x791, 0x794, 0x797, 0x79a,
+ 0x79d, 0x7a0, 0x7a3, 0x7a6, 0x7a9, 0x7ac, 0x7af, 0x7b2,
- 0x7b5, 0x7b8, 0x7bb, 0x7be, 0x7c1, 0x7c4, 0x7c7, 0x7ca,
- 0x7cd, 0x7d0, 0x7d3, 0x7d6, 0x7d9, 0x7dc, 0x7df, 0x7e2,
+ 0x7b5, 0x7b8, 0x7bb, 0x7be, 0x7c1, 0x7c4, 0x7c7, 0x7ca,
+ 0x7cd, 0x7d0, 0x7d3, 0x7d6, 0x7d9, 0x7dc, 0x7df, 0x7e2,
- 0x7e5, 0x7e8, 0x7eb, 0x7ee, 0x7f1, 0x7f4, 0x7f7, 0x7fa,
- 0x7fd, 0x800, 0x803, 0x806, 0x809, 0x80c, 0x80f, 0x812,
+ 0x7e5, 0x7e8, 0x7eb, 0x7ee, 0x7f1, 0x7f4, 0x7f7, 0x7fa,
+ 0x7fd, 0x800, 0x803, 0x806, 0x809, 0x80c, 0x80f, 0x812,
- 0x815, 0x818, 0x81b, 0x81e, 0x821, 0x824, 0x827, 0x82a,
- 0x82d, 0x830, 0x833, 0x836, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x815, 0x818, 0x81b, 0x81e, 0x821, 0x824, 0x827, 0x82a,
+ 0x82d, 0x830, 0x833, 0x836, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x839, 0x83c, 0x83f, 0x842, 0x845, 0x848, 0x84b, 0x84e,
- 0x851, 0x854, 0x857, 0x85a, 0x85d, 0x860, 0x863, 0x866,
+ 0x839, 0x83c, 0x83f, 0x842, 0x845, 0x848, 0x84b, 0x84e,
+ 0x851, 0x854, 0x857, 0x85a, 0x85d, 0x860, 0x863, 0x866,
- 0x869, 0x86c, 0x86f, 0x872, 0x875, 0x878, 0x87b, 0x87e,
- 0x881, 0x884, 0x887, 0x88a, 0x88d, 0x890, 0x893, 0x896,
+ 0x869, 0x86c, 0x86f, 0x872, 0x875, 0x878, 0x87b, 0x87e,
+ 0x881, 0x884, 0x887, 0x88a, 0x88d, 0x890, 0x893, 0x896,
- 0x899, 0x89c, 0x89f, 0x8a2, 0x8a5, 0x8a8, 0x8ab, 0x8ae,
- 0x8b1, 0x8b4, 0x8b7, 0x8ba, 0x8bd, 0x8c0, 0x8c3, 0x8c6,
+ 0x899, 0x89c, 0x89f, 0x8a2, 0x8a5, 0x8a8, 0x8ab, 0x8ae,
+ 0x8b1, 0x8b4, 0x8b7, 0x8ba, 0x8bd, 0x8c0, 0x8c3, 0x8c6,
- 0x8c9, 0x8cc, 0x8cf, 0x8d2, 0x8d5, 0x8d8, 0x8db, 0x8de,
- 0x8e1, 0x8e4, 0x8e7, 0x8ea, 0x8ed, 0x8f0, 0x8f3, 0x8f6,
+ 0x8c9, 0x8cc, 0x8cf, 0x8d2, 0x8d5, 0x8d8, 0x8db, 0x8de,
+ 0x8e1, 0x8e4, 0x8e7, 0x8ea, 0x8ed, 0x8f0, 0x8f3, 0x8f6,
- 0x8f9, 0x8fc, 0x8ff, 0x902, 0x905, 0x908, 0x90b, 0x90e,
- 0x911, 0x914, 0x917, 0x91a, 0x91d, 0x920, 0x923, 0x926,
+ 0x8f9, 0x8fc, 0x8ff, 0x902, 0x905, 0x908, 0x90b, 0x90e,
+ 0x911, 0x914, 0x917, 0x91a, 0x91d, 0x920, 0x923, 0x926,
- 0x929, 0x92c, 0x92f, 0x932, 0x935, 0x938, 0x93b, 0x93e,
- 0x941, 0x944, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x929, 0x92c, 0x92f, 0x932, 0x935, 0x938, 0x93b, 0x93e,
+ 0x941, 0x944, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x947, 0x94a, 0x94d, 0x950, 0x953, 0x956, 0x959, 0x95c,
- 0x95f, 0x962, 0x965, 0x968, 0x96b, 0x96e, 0x971, 0x974,
+ 0x947, 0x94a, 0x94d, 0x950, 0x953, 0x956, 0x959, 0x95c,
+ 0x95f, 0x962, 0x965, 0x968, 0x96b, 0x96e, 0x971, 0x974,
- 0x977, 0x97a, 0x97d, 0x980, 0x983, 0x986, 0xffff, 0xffff,
- 0x989, 0x98c, 0x98f, 0x992, 0x995, 0x998, 0xffff, 0xffff,
+ 0x977, 0x97a, 0x97d, 0x980, 0x983, 0x986, 0xffff, 0xffff,
+ 0x989, 0x98c, 0x98f, 0x992, 0x995, 0x998, 0xffff, 0xffff,
- 0x99b, 0x99e, 0x9a1, 0x9a4, 0x9a7, 0x9aa, 0x9ad, 0x9b0,
- 0x9b3, 0x9b6, 0x9b9, 0x9bc, 0x9bf, 0x9c2, 0x9c5, 0x9c8,
+ 0x99b, 0x99e, 0x9a1, 0x9a4, 0x9a7, 0x9aa, 0x9ad, 0x9b0,
+ 0x9b3, 0x9b6, 0x9b9, 0x9bc, 0x9bf, 0x9c2, 0x9c5, 0x9c8,
- 0x9cb, 0x9ce, 0x9d1, 0x9d4, 0x9d7, 0x9da, 0x9dd, 0x9e0,
- 0x9e3, 0x9e6, 0x9e9, 0x9ec, 0x9ef, 0x9f2, 0x9f5, 0x9f8,
+ 0x9cb, 0x9ce, 0x9d1, 0x9d4, 0x9d7, 0x9da, 0x9dd, 0x9e0,
+ 0x9e3, 0x9e6, 0x9e9, 0x9ec, 0x9ef, 0x9f2, 0x9f5, 0x9f8,
- 0x9fb, 0x9fe, 0xa01, 0xa04, 0xa07, 0xa0a, 0xffff, 0xffff,
- 0xa0d, 0xa10, 0xa13, 0xa16, 0xa19, 0xa1c, 0xffff, 0xffff,
+ 0x9fb, 0x9fe, 0xa01, 0xa04, 0xa07, 0xa0a, 0xffff, 0xffff,
+ 0xa0d, 0xa10, 0xa13, 0xa16, 0xa19, 0xa1c, 0xffff, 0xffff,
- 0xa1f, 0xa22, 0xa25, 0xa28, 0xa2b, 0xa2e, 0xa31, 0xa34,
- 0xffff, 0xa37, 0xffff, 0xa3a, 0xffff, 0xa3d, 0xffff, 0xa40,
+ 0xa1f, 0xa22, 0xa25, 0xa28, 0xa2b, 0xa2e, 0xa31, 0xa34,
+ 0xffff, 0xa37, 0xffff, 0xa3a, 0xffff, 0xa3d, 0xffff, 0xa40,
- 0xa43, 0xa46, 0xa49, 0xa4c, 0xa4f, 0xa52, 0xa55, 0xa58,
- 0xa5b, 0xa5e, 0xa61, 0xa64, 0xa67, 0xa6a, 0xa6d, 0xa70,
+ 0xa43, 0xa46, 0xa49, 0xa4c, 0xa4f, 0xa52, 0xa55, 0xa58,
+ 0xa5b, 0xa5e, 0xa61, 0xa64, 0xa67, 0xa6a, 0xa6d, 0xa70,
- 0xa73, 0xa76, 0xa78, 0xa7b, 0xa7d, 0xa80, 0xa82, 0xa85,
- 0xa87, 0xa8a, 0xa8c, 0xa8f, 0xa91, 0xa94, 0xffff, 0xffff,
+ 0xa73, 0xa76, 0xa78, 0xa7b, 0xa7d, 0xa80, 0xa82, 0xa85,
+ 0xa87, 0xa8a, 0xa8c, 0xa8f, 0xa91, 0xa94, 0xffff, 0xffff,
- 0xa96, 0xa99, 0xa9c, 0xa9f, 0xaa2, 0xaa5, 0xaa8, 0xaab,
- 0xaae, 0xab1, 0xab4, 0xab7, 0xaba, 0xabd, 0xac0, 0xac3,
+ 0xa96, 0xa99, 0xa9c, 0xa9f, 0xaa2, 0xaa5, 0xaa8, 0xaab,
+ 0xaae, 0xab1, 0xab4, 0xab7, 0xaba, 0xabd, 0xac0, 0xac3,
- 0xac6, 0xac9, 0xacc, 0xacf, 0xad2, 0xad5, 0xad8, 0xadb,
- 0xade, 0xae1, 0xae4, 0xae7, 0xaea, 0xaed, 0xaf0, 0xaf3,
+ 0xac6, 0xac9, 0xacc, 0xacf, 0xad2, 0xad5, 0xad8, 0xadb,
+ 0xade, 0xae1, 0xae4, 0xae7, 0xaea, 0xaed, 0xaf0, 0xaf3,
- 0xaf6, 0xaf9, 0xafc, 0xaff, 0xb02, 0xb05, 0xb08, 0xb0b,
- 0xb0e, 0xb11, 0xb14, 0xb17, 0xb1a, 0xb1d, 0xb20, 0xb23,
+ 0xaf6, 0xaf9, 0xafc, 0xaff, 0xb02, 0xb05, 0xb08, 0xb0b,
+ 0xb0e, 0xb11, 0xb14, 0xb17, 0xb1a, 0xb1d, 0xb20, 0xb23,
- 0xb26, 0xb29, 0xb2c, 0xb2f, 0xb32, 0xffff, 0xb35, 0xb38,
- 0xb3b, 0xb3e, 0xb41, 0xb44, 0xb46, 0xb49, 0xb4c, 0xb4e,
+ 0xb26, 0xb29, 0xb2c, 0xb2f, 0xb32, 0xffff, 0xb35, 0xb38,
+ 0xb3b, 0xb3e, 0xb41, 0xb44, 0xb46, 0xb49, 0xb4c, 0xb4e,
- 0xb51, 0xb54, 0xb57, 0xb5a, 0xb5d, 0xffff, 0xb60, 0xb63,
- 0xb66, 0xb69, 0xb6b, 0xb6e, 0xb70, 0xb73, 0xb76, 0xb79,
+ 0xb51, 0xb54, 0xb57, 0xb5a, 0xb5d, 0xffff, 0xb60, 0xb63,
+ 0xb66, 0xb69, 0xb6b, 0xb6e, 0xb70, 0xb73, 0xb76, 0xb79,
- 0xb7c, 0xb7f, 0xb82, 0xb85, 0xffff, 0xffff, 0xb87, 0xb8a,
- 0xb8d, 0xb90, 0xb93, 0xb96, 0xffff, 0xb98, 0xb9b, 0xb9e,
+ 0xb7c, 0xb7f, 0xb82, 0xb85, 0xffff, 0xffff, 0xb87, 0xb8a,
+ 0xb8d, 0xb90, 0xb93, 0xb96, 0xffff, 0xb98, 0xb9b, 0xb9e,
- 0xba1, 0xba4, 0xba7, 0xbaa, 0xbac, 0xbaf, 0xbb2, 0xbb5,
- 0xbb8, 0xbbb, 0xbbe, 0xbc1, 0xbc3, 0xbc6, 0xbc9, 0xbcb,
+ 0xba1, 0xba4, 0xba7, 0xbaa, 0xbac, 0xbaf, 0xbb2, 0xbb5,
+ 0xbb8, 0xbbb, 0xbbe, 0xbc1, 0xbc3, 0xbc6, 0xbc9, 0xbcb,
- 0xffff, 0xffff, 0xbcd, 0xbd0, 0xbd3, 0xffff, 0xbd6, 0xbd9,
- 0xbdc, 0xbdf, 0xbe1, 0xbe4, 0xbe6, 0xbe9, 0xbeb, 0xffff,
+ 0xffff, 0xffff, 0xbcd, 0xbd0, 0xbd3, 0xffff, 0xbd6, 0xbd9,
+ 0xbdc, 0xbdf, 0xbe1, 0xbe4, 0xbe6, 0xbe9, 0xbeb, 0xffff,
- 0xbee, 0xbf0, 0xbf2, 0xbf4, 0xbf6, 0xbf8, 0xbfa, 0xbfc,
- 0xbfe, 0xc00, 0xc02, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xbee, 0xbf0, 0xbf2, 0xbf4, 0xbf6, 0xbf8, 0xbfa, 0xbfc,
+ 0xbfe, 0xc00, 0xc02, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xc04, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc06,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xc04, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc06,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xc09, 0xc0b, 0xc0e, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc12,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xc09, 0xc0b, 0xc0e, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc12,
- 0xffff, 0xffff, 0xffff, 0xc14, 0xc17, 0xffff, 0xc1b, 0xc1e,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xc22, 0xffff, 0xc25, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xc14, 0xc17, 0xffff, 0xc1b, 0xc1e,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xc22, 0xffff, 0xc25, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc28,
- 0xc2b, 0xc2e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc28,
+ 0xc2b, 0xc2e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc31,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc36,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc31,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc36,
- 0xc38, 0xc3a, 0xffff, 0xffff, 0xc3c, 0xc3e, 0xc40, 0xc42,
- 0xc44, 0xc46, 0xc48, 0xc4a, 0xc4c, 0xc4e, 0xc50, 0xc52,
+ 0xc38, 0xc3a, 0xffff, 0xffff, 0xc3c, 0xc3e, 0xc40, 0xc42,
+ 0xc44, 0xc46, 0xc48, 0xc4a, 0xc4c, 0xc4e, 0xc50, 0xc52,
- 0xc54, 0xc56, 0xc58, 0xc5a, 0xc5c, 0xc5e, 0xc60, 0xc62,
- 0xc64, 0xc66, 0xc68, 0xc6a, 0xc6c, 0xc6e, 0xc70, 0xffff,
+ 0xc54, 0xc56, 0xc58, 0xc5a, 0xc5c, 0xc5e, 0xc60, 0xc62,
+ 0xc64, 0xc66, 0xc68, 0xc6a, 0xc6c, 0xc6e, 0xc70, 0xffff,
- 0xc72, 0xc74, 0xc76, 0xc78, 0xc7a, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xc72, 0xc74, 0xc76, 0xc78, 0xc7a, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xc7c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xc7c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xc7f, 0xc83, 0xc87, 0xc89, 0xffff, 0xc8c, 0xc90, 0xc94,
- 0xffff, 0xc96, 0xc99, 0xc9b, 0xc9d, 0xc9f, 0xca1, 0xca3,
+ 0xc7f, 0xc83, 0xc87, 0xc89, 0xffff, 0xc8c, 0xc90, 0xc94,
+ 0xffff, 0xc96, 0xc99, 0xc9b, 0xc9d, 0xc9f, 0xca1, 0xca3,
- 0xca5, 0xca7, 0xca9, 0xcab, 0xffff, 0xcad, 0xcaf, 0xffff,
- 0xffff, 0xcb2, 0xcb4, 0xcb6, 0xcb8, 0xcba, 0xffff, 0xffff,
+ 0xca5, 0xca7, 0xca9, 0xcab, 0xffff, 0xcad, 0xcaf, 0xffff,
+ 0xffff, 0xcb2, 0xcb4, 0xcb6, 0xcb8, 0xcba, 0xffff, 0xffff,
- 0xcbc, 0xcbf, 0xcc3, 0xffff, 0xcc6, 0xffff, 0xcc8, 0xffff,
- 0xcca, 0xffff, 0xccc, 0xcce, 0xcd0, 0xcd2, 0xffff, 0xcd4,
+ 0xcbc, 0xcbf, 0xcc3, 0xffff, 0xcc6, 0xffff, 0xcc8, 0xffff,
+ 0xcca, 0xffff, 0xccc, 0xcce, 0xcd0, 0xcd2, 0xffff, 0xcd4,
- 0xcd6, 0xcd8, 0xffff, 0xcda, 0xcdc, 0xcde, 0xce0, 0xce2,
- 0xce4, 0xce6, 0xffff, 0xce8, 0xcec, 0xcee, 0xcf0, 0xcf2,
+ 0xcd6, 0xcd8, 0xffff, 0xcda, 0xcdc, 0xcde, 0xce0, 0xce2,
+ 0xce4, 0xce6, 0xffff, 0xce8, 0xcec, 0xcee, 0xcf0, 0xcf2,
- 0xcf4, 0xffff, 0xffff, 0xffff, 0xffff, 0xcf6, 0xcf8, 0xcfa,
- 0xcfc, 0xcfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xcf4, 0xffff, 0xffff, 0xffff, 0xffff, 0xcf6, 0xcf8, 0xcfa,
+ 0xcfc, 0xcfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xd00, 0xd04, 0xd08, 0xd0c, 0xd10,
- 0xd14, 0xd18, 0xd1c, 0xd20, 0xd24, 0xd28, 0xd2c, 0xd30,
+ 0xffff, 0xffff, 0xffff, 0xd00, 0xd04, 0xd08, 0xd0c, 0xd10,
+ 0xd14, 0xd18, 0xd1c, 0xd20, 0xd24, 0xd28, 0xd2c, 0xd30,
- 0xd33, 0xd35, 0xd38, 0xd3c, 0xd3f, 0xd41, 0xd44, 0xd48,
- 0xd4d, 0xd50, 0xd52, 0xd55, 0xd59, 0xd5b, 0xd5d, 0xd5f,
+ 0xd33, 0xd35, 0xd38, 0xd3c, 0xd3f, 0xd41, 0xd44, 0xd48,
+ 0xd4d, 0xd50, 0xd52, 0xd55, 0xd59, 0xd5b, 0xd5d, 0xd5f,
- 0xd61, 0xd63, 0xd66, 0xd6a, 0xd6d, 0xd6f, 0xd72, 0xd76,
- 0xd7b, 0xd7e, 0xd80, 0xd83, 0xd87, 0xd89, 0xd8b, 0xd8d,
+ 0xd61, 0xd63, 0xd66, 0xd6a, 0xd6d, 0xd6f, 0xd72, 0xd76,
+ 0xd7b, 0xd7e, 0xd80, 0xd83, 0xd87, 0xd89, 0xd8b, 0xd8d,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xd8f, 0xd92, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xd8f, 0xd92, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd95, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd95, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd98, 0xd9b, 0xd9e,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd98, 0xd9b, 0xd9e,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xda1, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xda4, 0xffff, 0xffff, 0xda7, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xda1, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xda4, 0xffff, 0xffff, 0xda7, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xdaa, 0xffff, 0xdad, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xdb0, 0xdb3, 0xffff, 0xdb7,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xdaa, 0xffff, 0xdad, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xdb0, 0xdb3, 0xffff, 0xdb7,
- 0xdba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xdba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xdbe, 0xffff, 0xffff, 0xdc1, 0xffff, 0xffff, 0xdc4,
- 0xffff, 0xdc7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xdbe, 0xffff, 0xffff, 0xdc1, 0xffff, 0xffff, 0xdc4,
+ 0xffff, 0xdc7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xdca, 0xffff, 0xdcd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdd0, 0xdd3, 0xdd6,
+ 0xdca, 0xffff, 0xdcd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdd0, 0xdd3, 0xdd6,
- 0xdd9, 0xddc, 0xffff, 0xffff, 0xddf, 0xde2, 0xffff, 0xffff,
- 0xde5, 0xde8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xdd9, 0xddc, 0xffff, 0xffff, 0xddf, 0xde2, 0xffff, 0xffff,
+ 0xde5, 0xde8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xdeb, 0xdee, 0xffff, 0xffff, 0xdf1, 0xdf4, 0xffff, 0xffff,
- 0xdf7, 0xdfa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xdeb, 0xdee, 0xffff, 0xffff, 0xdf1, 0xdf4, 0xffff, 0xffff,
+ 0xdf7, 0xdfa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xdfd, 0xe00, 0xe03, 0xe06,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xdfd, 0xe00, 0xe03, 0xe06,
- 0xe09, 0xe0c, 0xe0f, 0xe12, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xe15, 0xe18, 0xe1b, 0xe1e, 0xffff, 0xffff,
+ 0xe09, 0xe0c, 0xe0f, 0xe12, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xe15, 0xe18, 0xe1b, 0xe1e, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xe21, 0xe23, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xe21, 0xe23, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xe25, 0xe27, 0xe29, 0xe2b, 0xe2d, 0xe2f, 0xe31, 0xe33,
- 0xe35, 0xe37, 0xe3a, 0xe3d, 0xe40, 0xe43, 0xe46, 0xe49,
+ 0xe25, 0xe27, 0xe29, 0xe2b, 0xe2d, 0xe2f, 0xe31, 0xe33,
+ 0xe35, 0xe37, 0xe3a, 0xe3d, 0xe40, 0xe43, 0xe46, 0xe49,
- 0xe4c, 0xe4f, 0xe52, 0xe55, 0xe58, 0xe5c, 0xe60, 0xe64,
- 0xe68, 0xe6c, 0xe70, 0xe74, 0xe78, 0xe7c, 0xe81, 0xe86,
+ 0xe4c, 0xe4f, 0xe52, 0xe55, 0xe58, 0xe5c, 0xe60, 0xe64,
+ 0xe68, 0xe6c, 0xe70, 0xe74, 0xe78, 0xe7c, 0xe81, 0xe86,
- 0xe8b, 0xe90, 0xe95, 0xe9a, 0xe9f, 0xea4, 0xea9, 0xeae,
- 0xeb3, 0xeb6, 0xeb9, 0xebc, 0xebf, 0xec2, 0xec5, 0xec8,
+ 0xe8b, 0xe90, 0xe95, 0xe9a, 0xe9f, 0xea4, 0xea9, 0xeae,
+ 0xeb3, 0xeb6, 0xeb9, 0xebc, 0xebf, 0xec2, 0xec5, 0xec8,
- 0xecb, 0xece, 0xed2, 0xed6, 0xeda, 0xede, 0xee2, 0xee6,
- 0xeea, 0xeee, 0xef2, 0xef6, 0xefa, 0xefe, 0xf02, 0xf06,
+ 0xecb, 0xece, 0xed2, 0xed6, 0xeda, 0xede, 0xee2, 0xee6,
+ 0xeea, 0xeee, 0xef2, 0xef6, 0xefa, 0xefe, 0xf02, 0xf06,
- 0xf0a, 0xf0e, 0xf12, 0xf16, 0xf1a, 0xf1e, 0xf22, 0xf26,
- 0xf2a, 0xf2e, 0xf32, 0xf36, 0xf3a, 0xf3e, 0xf42, 0xf46,
+ 0xf0a, 0xf0e, 0xf12, 0xf16, 0xf1a, 0xf1e, 0xf22, 0xf26,
+ 0xf2a, 0xf2e, 0xf32, 0xf36, 0xf3a, 0xf3e, 0xf42, 0xf46,
- 0xf4a, 0xf4e, 0xf52, 0xf56, 0xf5a, 0xf5e, 0xf62, 0xf64,
- 0xf66, 0xf68, 0xf6a, 0xf6c, 0xf6e, 0xf70, 0xf72, 0xf74,
+ 0xf4a, 0xf4e, 0xf52, 0xf56, 0xf5a, 0xf5e, 0xf62, 0xf64,
+ 0xf66, 0xf68, 0xf6a, 0xf6c, 0xf6e, 0xf70, 0xf72, 0xf74,
- 0xf76, 0xf78, 0xf7a, 0xf7c, 0xf7e, 0xf80, 0xf82, 0xf84,
- 0xf86, 0xf88, 0xf8a, 0xf8c, 0xf8e, 0xf90, 0xf92, 0xf94,
+ 0xf76, 0xf78, 0xf7a, 0xf7c, 0xf7e, 0xf80, 0xf82, 0xf84,
+ 0xf86, 0xf88, 0xf8a, 0xf8c, 0xf8e, 0xf90, 0xf92, 0xf94,
- 0xf96, 0xf98, 0xf9a, 0xf9c, 0xf9e, 0xfa0, 0xfa2, 0xfa4,
- 0xfa6, 0xfa8, 0xfaa, 0xfac, 0xfae, 0xfb0, 0xfb2, 0xfb4,
+ 0xf96, 0xf98, 0xf9a, 0xf9c, 0xf9e, 0xfa0, 0xfa2, 0xfa4,
+ 0xfa6, 0xfa8, 0xfaa, 0xfac, 0xfae, 0xfb0, 0xfb2, 0xfb4,
- 0xfb6, 0xfb8, 0xfba, 0xfbc, 0xfbe, 0xfc0, 0xfc2, 0xfc4,
- 0xfc6, 0xfc8, 0xfca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xfb6, 0xfb8, 0xfba, 0xfbc, 0xfbe, 0xfc0, 0xfc2, 0xfc4,
+ 0xfc6, 0xfc8, 0xfca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xfcc, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xfcc, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xfd1, 0xfd5, 0xfd8, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xfd1, 0xfd5, 0xfd8, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xfdc, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xfdc, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdf,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdf,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfe1,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfe1,
- 0xffff, 0xffff, 0xffff, 0xfe3, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xfe3, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xfe5, 0xfe7, 0xfe9, 0xfeb, 0xfed, 0xfef, 0xff1, 0xff3,
- 0xff5, 0xff7, 0xff9, 0xffb, 0xffd, 0xfff, 0x1001, 0x1003,
+ 0xfe5, 0xfe7, 0xfe9, 0xfeb, 0xfed, 0xfef, 0xff1, 0xff3,
+ 0xff5, 0xff7, 0xff9, 0xffb, 0xffd, 0xfff, 0x1001, 0x1003,
- 0x1005, 0x1007, 0x1009, 0x100b, 0x100d, 0x100f, 0x1011, 0x1013,
- 0x1015, 0x1017, 0x1019, 0x101b, 0x101d, 0x101f, 0x1021, 0x1023,
+ 0x1005, 0x1007, 0x1009, 0x100b, 0x100d, 0x100f, 0x1011, 0x1013,
+ 0x1015, 0x1017, 0x1019, 0x101b, 0x101d, 0x101f, 0x1021, 0x1023,
- 0x1025, 0x1027, 0x1029, 0x102b, 0x102d, 0x102f, 0x1031, 0x1033,
- 0x1035, 0x1037, 0x1039, 0x103b, 0x103d, 0x103f, 0x1041, 0x1043,
+ 0x1025, 0x1027, 0x1029, 0x102b, 0x102d, 0x102f, 0x1031, 0x1033,
+ 0x1035, 0x1037, 0x1039, 0x103b, 0x103d, 0x103f, 0x1041, 0x1043,
- 0x1045, 0x1047, 0x1049, 0x104b, 0x104d, 0x104f, 0x1051, 0x1053,
- 0x1055, 0x1057, 0x1059, 0x105b, 0x105d, 0x105f, 0x1061, 0x1063,
+ 0x1045, 0x1047, 0x1049, 0x104b, 0x104d, 0x104f, 0x1051, 0x1053,
+ 0x1055, 0x1057, 0x1059, 0x105b, 0x105d, 0x105f, 0x1061, 0x1063,
- 0x1065, 0x1067, 0x1069, 0x106b, 0x106d, 0x106f, 0x1071, 0x1073,
- 0x1075, 0x1077, 0x1079, 0x107b, 0x107d, 0x107f, 0x1081, 0x1083,
+ 0x1065, 0x1067, 0x1069, 0x106b, 0x106d, 0x106f, 0x1071, 0x1073,
+ 0x1075, 0x1077, 0x1079, 0x107b, 0x107d, 0x107f, 0x1081, 0x1083,
- 0x1085, 0x1087, 0x1089, 0x108b, 0x108d, 0x108f, 0x1091, 0x1093,
- 0x1095, 0x1097, 0x1099, 0x109b, 0x109d, 0x109f, 0x10a1, 0x10a3,
+ 0x1085, 0x1087, 0x1089, 0x108b, 0x108d, 0x108f, 0x1091, 0x1093,
+ 0x1095, 0x1097, 0x1099, 0x109b, 0x109d, 0x109f, 0x10a1, 0x10a3,
- 0x10a5, 0x10a7, 0x10a9, 0x10ab, 0x10ad, 0x10af, 0x10b1, 0x10b3,
- 0x10b5, 0x10b7, 0x10b9, 0x10bb, 0x10bd, 0x10bf, 0x10c1, 0x10c3,
+ 0x10a5, 0x10a7, 0x10a9, 0x10ab, 0x10ad, 0x10af, 0x10b1, 0x10b3,
+ 0x10b5, 0x10b7, 0x10b9, 0x10bb, 0x10bd, 0x10bf, 0x10c1, 0x10c3,
- 0x10c5, 0x10c7, 0x10c9, 0x10cb, 0x10cd, 0x10cf, 0x10d1, 0x10d3,
- 0x10d5, 0x10d7, 0x10d9, 0x10db, 0x10dd, 0x10df, 0x10e1, 0x10e3,
+ 0x10c5, 0x10c7, 0x10c9, 0x10cb, 0x10cd, 0x10cf, 0x10d1, 0x10d3,
+ 0x10d5, 0x10d7, 0x10d9, 0x10db, 0x10dd, 0x10df, 0x10e1, 0x10e3,
- 0x10e5, 0x10e7, 0x10e9, 0x10eb, 0x10ed, 0x10ef, 0x10f1, 0x10f3,
- 0x10f5, 0x10f7, 0x10f9, 0x10fb, 0x10fd, 0x10ff, 0x1101, 0x1103,
+ 0x10e5, 0x10e7, 0x10e9, 0x10eb, 0x10ed, 0x10ef, 0x10f1, 0x10f3,
+ 0x10f5, 0x10f7, 0x10f9, 0x10fb, 0x10fd, 0x10ff, 0x1101, 0x1103,
- 0x1105, 0x1107, 0x1109, 0x110b, 0x110d, 0x110f, 0x1111, 0x1113,
- 0x1115, 0x1117, 0x1119, 0x111b, 0x111d, 0x111f, 0x1121, 0x1123,
+ 0x1105, 0x1107, 0x1109, 0x110b, 0x110d, 0x110f, 0x1111, 0x1113,
+ 0x1115, 0x1117, 0x1119, 0x111b, 0x111d, 0x111f, 0x1121, 0x1123,
- 0x1125, 0x1127, 0x1129, 0x112b, 0x112d, 0x112f, 0x1131, 0x1133,
- 0x1135, 0x1137, 0x1139, 0x113b, 0x113d, 0x113f, 0x1141, 0x1143,
+ 0x1125, 0x1127, 0x1129, 0x112b, 0x112d, 0x112f, 0x1131, 0x1133,
+ 0x1135, 0x1137, 0x1139, 0x113b, 0x113d, 0x113f, 0x1141, 0x1143,
- 0x1145, 0x1147, 0x1149, 0x114b, 0x114d, 0x114f, 0x1151, 0x1153,
- 0x1155, 0x1157, 0x1159, 0x115b, 0x115d, 0x115f, 0x1161, 0x1163,
+ 0x1145, 0x1147, 0x1149, 0x114b, 0x114d, 0x114f, 0x1151, 0x1153,
+ 0x1155, 0x1157, 0x1159, 0x115b, 0x115d, 0x115f, 0x1161, 0x1163,
- 0x1165, 0x1167, 0x1169, 0x116b, 0x116d, 0x116f, 0x1171, 0x1173,
- 0x1175, 0x1177, 0x1179, 0x117b, 0x117d, 0x117f, 0x1181, 0x1183,
+ 0x1165, 0x1167, 0x1169, 0x116b, 0x116d, 0x116f, 0x1171, 0x1173,
+ 0x1175, 0x1177, 0x1179, 0x117b, 0x117d, 0x117f, 0x1181, 0x1183,
- 0x1185, 0x1187, 0x1189, 0x118b, 0x118d, 0x118f, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x1185, 0x1187, 0x1189, 0x118b, 0x118d, 0x118f, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x1191, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x1191, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1193, 0xffff,
- 0x1195, 0x1197, 0x1199, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1193, 0xffff,
+ 0x1195, 0x1197, 0x1199, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x119b, 0xffff, 0x119e, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x119b, 0xffff, 0x119e, 0xffff,
- 0x11a1, 0xffff, 0x11a4, 0xffff, 0x11a7, 0xffff, 0x11aa, 0xffff,
- 0x11ad, 0xffff, 0x11b0, 0xffff, 0x11b3, 0xffff, 0x11b6, 0xffff,
+ 0x11a1, 0xffff, 0x11a4, 0xffff, 0x11a7, 0xffff, 0x11aa, 0xffff,
+ 0x11ad, 0xffff, 0x11b0, 0xffff, 0x11b3, 0xffff, 0x11b6, 0xffff,
- 0x11b9, 0xffff, 0x11bc, 0xffff, 0xffff, 0x11bf, 0xffff, 0x11c2,
- 0xffff, 0x11c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x11b9, 0xffff, 0x11bc, 0xffff, 0xffff, 0x11bf, 0xffff, 0x11c2,
+ 0xffff, 0x11c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x11c8, 0x11cb, 0xffff, 0x11ce, 0x11d1, 0xffff, 0x11d4, 0x11d7,
- 0xffff, 0x11da, 0x11dd, 0xffff, 0x11e0, 0x11e3, 0xffff, 0xffff,
+ 0x11c8, 0x11cb, 0xffff, 0x11ce, 0x11d1, 0xffff, 0x11d4, 0x11d7,
+ 0xffff, 0x11da, 0x11dd, 0xffff, 0x11e0, 0x11e3, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x11e6, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x11e9, 0x11ec, 0xffff, 0x11ef, 0x11f2,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x11e6, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x11e9, 0x11ec, 0xffff, 0x11ef, 0x11f2,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x11f5, 0xffff, 0x11f8, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x11f5, 0xffff, 0x11f8, 0xffff,
- 0x11fb, 0xffff, 0x11fe, 0xffff, 0x1201, 0xffff, 0x1204, 0xffff,
- 0x1207, 0xffff, 0x120a, 0xffff, 0x120d, 0xffff, 0x1210, 0xffff,
+ 0x11fb, 0xffff, 0x11fe, 0xffff, 0x1201, 0xffff, 0x1204, 0xffff,
+ 0x1207, 0xffff, 0x120a, 0xffff, 0x120d, 0xffff, 0x1210, 0xffff,
- 0x1213, 0xffff, 0x1216, 0xffff, 0xffff, 0x1219, 0xffff, 0x121c,
- 0xffff, 0x121f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x1213, 0xffff, 0x1216, 0xffff, 0xffff, 0x1219, 0xffff, 0x121c,
+ 0xffff, 0x121f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x1222, 0x1225, 0xffff, 0x1228, 0x122b, 0xffff, 0x122e, 0x1231,
- 0xffff, 0x1234, 0x1237, 0xffff, 0x123a, 0x123d, 0xffff, 0xffff,
+ 0x1222, 0x1225, 0xffff, 0x1228, 0x122b, 0xffff, 0x122e, 0x1231,
+ 0xffff, 0x1234, 0x1237, 0xffff, 0x123a, 0x123d, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x1240, 0xffff, 0xffff, 0x1243,
- 0x1246, 0x1249, 0x124c, 0xffff, 0xffff, 0xffff, 0x124f, 0x1252,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x1240, 0xffff, 0xffff, 0x1243,
+ 0x1246, 0x1249, 0x124c, 0xffff, 0xffff, 0xffff, 0x124f, 0x1252,
- 0xffff, 0x1255, 0x1257, 0x1259, 0x125b, 0x125d, 0x125f, 0x1261,
- 0x1263, 0x1265, 0x1267, 0x1269, 0x126b, 0x126d, 0x126f, 0x1271,
+ 0xffff, 0x1255, 0x1257, 0x1259, 0x125b, 0x125d, 0x125f, 0x1261,
+ 0x1263, 0x1265, 0x1267, 0x1269, 0x126b, 0x126d, 0x126f, 0x1271,
- 0x1273, 0x1275, 0x1277, 0x1279, 0x127b, 0x127d, 0x127f, 0x1281,
- 0x1283, 0x1285, 0x1287, 0x1289, 0x128b, 0x128d, 0x128f, 0x1291,
+ 0x1273, 0x1275, 0x1277, 0x1279, 0x127b, 0x127d, 0x127f, 0x1281,
+ 0x1283, 0x1285, 0x1287, 0x1289, 0x128b, 0x128d, 0x128f, 0x1291,
- 0x1293, 0x1295, 0x1297, 0x1299, 0x129b, 0x129d, 0x129f, 0x12a1,
- 0x12a3, 0x12a5, 0x12a7, 0x12a9, 0x12ab, 0x12ad, 0x12af, 0x12b1,
+ 0x1293, 0x1295, 0x1297, 0x1299, 0x129b, 0x129d, 0x129f, 0x12a1,
+ 0x12a3, 0x12a5, 0x12a7, 0x12a9, 0x12ab, 0x12ad, 0x12af, 0x12b1,
- 0x12b3, 0x12b5, 0x12b7, 0x12b9, 0x12bb, 0x12bd, 0x12bf, 0x12c1,
- 0x12c3, 0x12c5, 0x12c7, 0x12c9, 0x12cb, 0x12cd, 0x12cf, 0x12d1,
+ 0x12b3, 0x12b5, 0x12b7, 0x12b9, 0x12bb, 0x12bd, 0x12bf, 0x12c1,
+ 0x12c3, 0x12c5, 0x12c7, 0x12c9, 0x12cb, 0x12cd, 0x12cf, 0x12d1,
- 0x12d3, 0x12d5, 0x12d7, 0x12d9, 0x12db, 0x12dd, 0x12df, 0x12e1,
- 0x12e3, 0x12e5, 0x12e7, 0x12e9, 0x12eb, 0x12ed, 0x12ef, 0x12f1,
+ 0x12d3, 0x12d5, 0x12d7, 0x12d9, 0x12db, 0x12dd, 0x12df, 0x12e1,
+ 0x12e3, 0x12e5, 0x12e7, 0x12e9, 0x12eb, 0x12ed, 0x12ef, 0x12f1,
- 0x12f3, 0x12f5, 0x12f7, 0x12f9, 0x12fb, 0x12fd, 0x12ff, 0x1301,
- 0x1303, 0x1305, 0x1307, 0x1309, 0x130b, 0x130d, 0x130f, 0xffff,
+ 0x12f3, 0x12f5, 0x12f7, 0x12f9, 0x12fb, 0x12fd, 0x12ff, 0x1301,
+ 0x1303, 0x1305, 0x1307, 0x1309, 0x130b, 0x130d, 0x130f, 0xffff,
- 0xffff, 0xffff, 0x1311, 0x1313, 0x1315, 0x1317, 0x1319, 0x131b,
- 0x131d, 0x131f, 0x1321, 0x1323, 0x1325, 0x1327, 0x1329, 0x132b,
+ 0xffff, 0xffff, 0x1311, 0x1313, 0x1315, 0x1317, 0x1319, 0x131b,
+ 0x131d, 0x131f, 0x1321, 0x1323, 0x1325, 0x1327, 0x1329, 0x132b,
- 0x132d, 0x1331, 0x1335, 0x1339, 0x133d, 0x1341, 0x1345, 0x1349,
- 0x134d, 0x1351, 0x1355, 0x1359, 0x135d, 0x1361, 0x1365, 0x136a,
+ 0x132d, 0x1331, 0x1335, 0x1339, 0x133d, 0x1341, 0x1345, 0x1349,
+ 0x134d, 0x1351, 0x1355, 0x1359, 0x135d, 0x1361, 0x1365, 0x136a,
- 0x136f, 0x1374, 0x1379, 0x137e, 0x1383, 0x1388, 0x138d, 0x1392,
- 0x1397, 0x139c, 0x13a1, 0x13a6, 0x13ab, 0x13b0, 0x13b8, 0xffff,
+ 0x136f, 0x1374, 0x1379, 0x137e, 0x1383, 0x1388, 0x138d, 0x1392,
+ 0x1397, 0x139c, 0x13a1, 0x13a6, 0x13ab, 0x13b0, 0x13b8, 0xffff,
- 0x13bf, 0x13c3, 0x13c7, 0x13cb, 0x13cf, 0x13d3, 0x13d7, 0x13db,
- 0x13df, 0x13e3, 0x13e7, 0x13eb, 0x13ef, 0x13f3, 0x13f7, 0x13fb,
+ 0x13bf, 0x13c3, 0x13c7, 0x13cb, 0x13cf, 0x13d3, 0x13d7, 0x13db,
+ 0x13df, 0x13e3, 0x13e7, 0x13eb, 0x13ef, 0x13f3, 0x13f7, 0x13fb,
- 0x13ff, 0x1403, 0x1407, 0x140b, 0x140f, 0x1413, 0x1417, 0x141b,
- 0x141f, 0x1423, 0x1427, 0x142b, 0x142f, 0x1433, 0x1437, 0x143b,
+ 0x13ff, 0x1403, 0x1407, 0x140b, 0x140f, 0x1413, 0x1417, 0x141b,
+ 0x141f, 0x1423, 0x1427, 0x142b, 0x142f, 0x1433, 0x1437, 0x143b,
- 0x143f, 0x1443, 0x1447, 0x144b, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x143f, 0x1443, 0x1447, 0x144b, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x144f, 0x1453, 0x1456, 0x1459, 0x145c, 0x145f, 0x1462, 0x1465,
- 0x1468, 0x146b, 0x146e, 0x1471, 0x1474, 0x1477, 0x147a, 0x147d,
+ 0x144f, 0x1453, 0x1456, 0x1459, 0x145c, 0x145f, 0x1462, 0x1465,
+ 0x1468, 0x146b, 0x146e, 0x1471, 0x1474, 0x1477, 0x147a, 0x147d,
- 0x1480, 0x1482, 0x1484, 0x1486, 0x1488, 0x148a, 0x148c, 0x148e,
- 0x1490, 0x1492, 0x1494, 0x1496, 0x1498, 0x149a, 0x149c, 0x149f,
+ 0x1480, 0x1482, 0x1484, 0x1486, 0x1488, 0x148a, 0x148c, 0x148e,
+ 0x1490, 0x1492, 0x1494, 0x1496, 0x1498, 0x149a, 0x149c, 0x149f,
- 0x14a2, 0x14a5, 0x14a8, 0x14ab, 0x14ae, 0x14b1, 0x14b4, 0x14b7,
- 0x14ba, 0x14bd, 0x14c0, 0x14c3, 0x14c6, 0x14cc, 0x14d1, 0xffff,
+ 0x14a2, 0x14a5, 0x14a8, 0x14ab, 0x14ae, 0x14b1, 0x14b4, 0x14b7,
+ 0x14ba, 0x14bd, 0x14c0, 0x14c3, 0x14c6, 0x14cc, 0x14d1, 0xffff,
- 0x14d4, 0x14d6, 0x14d8, 0x14da, 0x14dc, 0x14de, 0x14e0, 0x14e2,
- 0x14e4, 0x14e6, 0x14e8, 0x14ea, 0x14ec, 0x14ee, 0x14f0, 0x14f2,
+ 0x14d4, 0x14d6, 0x14d8, 0x14da, 0x14dc, 0x14de, 0x14e0, 0x14e2,
+ 0x14e4, 0x14e6, 0x14e8, 0x14ea, 0x14ec, 0x14ee, 0x14f0, 0x14f2,
- 0x14f4, 0x14f6, 0x14f8, 0x14fa, 0x14fc, 0x14fe, 0x1500, 0x1502,
- 0x1504, 0x1506, 0x1508, 0x150a, 0x150c, 0x150e, 0x1510, 0x1512,
+ 0x14f4, 0x14f6, 0x14f8, 0x14fa, 0x14fc, 0x14fe, 0x1500, 0x1502,
+ 0x1504, 0x1506, 0x1508, 0x150a, 0x150c, 0x150e, 0x1510, 0x1512,
- 0x1514, 0x1516, 0x1518, 0x151a, 0x151c, 0x151e, 0x1520, 0x1522,
- 0x1524, 0x1526, 0x1528, 0x152a, 0x152c, 0x152e, 0x1530, 0x1532,
+ 0x1514, 0x1516, 0x1518, 0x151a, 0x151c, 0x151e, 0x1520, 0x1522,
+ 0x1524, 0x1526, 0x1528, 0x152a, 0x152c, 0x152e, 0x1530, 0x1532,
- 0x1534, 0x1536, 0x1539, 0x153c, 0x153f, 0x1542, 0x1545, 0x1548,
- 0x154b, 0x154e, 0x1551, 0x1554, 0x1557, 0x155a, 0x155d, 0x1560,
+ 0x1534, 0x1536, 0x1539, 0x153c, 0x153f, 0x1542, 0x1545, 0x1548,
+ 0x154b, 0x154e, 0x1551, 0x1554, 0x1557, 0x155a, 0x155d, 0x1560,
- 0x1563, 0x1566, 0x1569, 0x156c, 0x156f, 0x1572, 0x1575, 0x1578,
- 0x157b, 0x157e, 0x1582, 0x1586, 0x158a, 0x158d, 0x1591, 0x1594,
+ 0x1563, 0x1566, 0x1569, 0x156c, 0x156f, 0x1572, 0x1575, 0x1578,
+ 0x157b, 0x157e, 0x1582, 0x1586, 0x158a, 0x158d, 0x1591, 0x1594,
- 0x1598, 0x159a, 0x159c, 0x159e, 0x15a0, 0x15a2, 0x15a4, 0x15a6,
- 0x15a8, 0x15aa, 0x15ac, 0x15ae, 0x15b0, 0x15b2, 0x15b4, 0x15b6,
+ 0x1598, 0x159a, 0x159c, 0x159e, 0x15a0, 0x15a2, 0x15a4, 0x15a6,
+ 0x15a8, 0x15aa, 0x15ac, 0x15ae, 0x15b0, 0x15b2, 0x15b4, 0x15b6,
- 0x15b8, 0x15ba, 0x15bc, 0x15be, 0x15c0, 0x15c2, 0x15c4, 0x15c6,
- 0x15c8, 0x15ca, 0x15cc, 0x15ce, 0x15d0, 0x15d2, 0x15d4, 0x15d6,
+ 0x15b8, 0x15ba, 0x15bc, 0x15be, 0x15c0, 0x15c2, 0x15c4, 0x15c6,
+ 0x15c8, 0x15ca, 0x15cc, 0x15ce, 0x15d0, 0x15d2, 0x15d4, 0x15d6,
- 0x15d8, 0x15da, 0x15dc, 0x15de, 0x15e0, 0x15e2, 0x15e4, 0x15e6,
- 0x15e8, 0x15ea, 0x15ec, 0x15ee, 0x15f0, 0x15f2, 0x15f4, 0xffff,
+ 0x15d8, 0x15da, 0x15dc, 0x15de, 0x15e0, 0x15e2, 0x15e4, 0x15e6,
+ 0x15e8, 0x15ea, 0x15ec, 0x15ee, 0x15f0, 0x15f2, 0x15f4, 0xffff,
- 0x15f6, 0x15fb, 0x1600, 0x1605, 0x1609, 0x160e, 0x1612, 0x1616,
- 0x161c, 0x1621, 0x1625, 0x1629, 0x162d, 0x1632, 0x1637, 0x163b,
+ 0x15f6, 0x15fb, 0x1600, 0x1605, 0x1609, 0x160e, 0x1612, 0x1616,
+ 0x161c, 0x1621, 0x1625, 0x1629, 0x162d, 0x1632, 0x1637, 0x163b,
- 0x163f, 0x1642, 0x1646, 0x164b, 0x1650, 0x1653, 0x1659, 0x1660,
- 0x1666, 0x166a, 0x1670, 0x1676, 0x167b, 0x167f, 0x1683, 0x1687,
-
- 0x168c, 0x1692, 0x1697, 0x169b, 0x169f, 0x16a3, 0x16a6, 0x16a9,
- 0x16ac, 0x16af, 0x16b3, 0x16b7, 0x16bd, 0x16c1, 0x16c6, 0x16cc,
-
- 0x16d0, 0x16d3, 0x16d6, 0x16dc, 0x16e1, 0x16e7, 0x16eb, 0x16f1,
- 0x16f4, 0x16f8, 0x16fc, 0x1700, 0x1704, 0x1708, 0x170d, 0x1711,
-
- 0x1714, 0x1718, 0x171c, 0x1720, 0x1725, 0x1729, 0x172d, 0x1731,
- 0x1737, 0x173c, 0x173f, 0x1745, 0x1748, 0x174d, 0x1752, 0x1756,
-
- 0x175a, 0x175e, 0x1763, 0x1766, 0x176a, 0x176f, 0x1772, 0x1778,
- 0x177c, 0x177f, 0x1782, 0x1785, 0x1788, 0x178b, 0x178e, 0x1791,
-
- 0x1794, 0x1797, 0x179a, 0x179e, 0x17a2, 0x17a6, 0x17aa, 0x17ae,
- 0x17b2, 0x17b6, 0x17ba, 0x17be, 0x17c2, 0x17c6, 0x17ca, 0x17ce,
-
- 0x17d2, 0x17d6, 0x17da, 0x17dd, 0x17e0, 0x17e4, 0x17e7, 0x17ea,
- 0x17ed, 0x17f1, 0x17f5, 0x17f8, 0x17fb, 0x17fe, 0x1801, 0x1804,
-
- 0x1809, 0x180c, 0x180f, 0x1812, 0x1815, 0x1818, 0x181b, 0x181e,
- 0x1821, 0x1825, 0x182a, 0x182d, 0x1830, 0x1833, 0x1836, 0x1839,
-
- 0x183c, 0x183f, 0x1843, 0x1847, 0x184b, 0x184f, 0x1852, 0x1855,
- 0x1858, 0x185b, 0x185e, 0x1861, 0x1864, 0x1867, 0x186a, 0x186d,
-
- 0x1871, 0x1875, 0x1878, 0x187c, 0x1880, 0x1884, 0x1887, 0x188b,
- 0x188f, 0x1894, 0x1897, 0x189b, 0x189f, 0x18a3, 0x18a7, 0x18ad,
-
- 0x18b4, 0x18b7, 0x18ba, 0x18bd, 0x18c0, 0x18c3, 0x18c6, 0x18c9,
- 0x18cc, 0x18cf, 0x18d2, 0x18d5, 0x18d8, 0x18db, 0x18de, 0x18e1,
-
- 0x18e4, 0x18e7, 0x18ea, 0x18ef, 0x18f2, 0x18f5, 0x18f8, 0x18fd,
- 0x1901, 0x1904, 0x1907, 0x190a, 0x190d, 0x1910, 0x1913, 0x1916,
-
- 0x1919, 0x191c, 0x191f, 0x1923, 0x1926, 0x1929, 0x192d, 0x1931,
- 0x1934, 0x1939, 0x193d, 0x1940, 0x1943, 0x1946, 0x1949, 0x194d,
-
- 0x1951, 0x1954, 0x1957, 0x195a, 0x195d, 0x1960, 0x1963, 0x1966,
- 0x1969, 0x196c, 0x1970, 0x1974, 0x1978, 0x197c, 0x1980, 0x1984,
-
- 0x1988, 0x198c, 0x1990, 0x1994, 0x1998, 0x199c, 0x19a0, 0x19a4,
- 0x19a8, 0x19ac, 0x19b0, 0x19b4, 0x19b8, 0x19bc, 0x19c0, 0x19c4,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0x19c8, 0x19ca, 0x19cc, 0x19ce, 0x19d0, 0x19d2, 0x19d4, 0x19d6,
- 0x19d8, 0x19da, 0x19dc, 0x19de, 0x19e0, 0x19e2, 0x19e4, 0x19e6,
- 0x19e8, 0x19ea, 0x19ec, 0x19ee, 0x19f0, 0x19f2, 0x19f4, 0x19f6,
- 0x19f8, 0x19fa, 0x19fc, 0x19fe, 0x1a00, 0x1a02, 0x1a04, 0x1a06,
- 0x1a08, 0x1a0a, 0x1a0c, 0x1a0e, 0x1a10, 0x1a12, 0x1a14, 0x1a16,
- 0x1a18, 0x1a1a, 0x1a1c, 0x1a1e, 0x1a20, 0x1a22, 0x1a24, 0x1a26,
- 0x1a28, 0x1a2a, 0x1a2c, 0x1a2e, 0x1a30, 0x1a32, 0x1a34, 0x1a36,
- 0x1a38, 0x1a3a, 0x1a3c, 0x1a3e, 0x1a40, 0x1a42, 0x1a44, 0x1a46,
- 0x1a48, 0x1a4a, 0x1a4c, 0x1a4e, 0x1a50, 0x1a52, 0x1a54, 0x1a56,
- 0x1a58, 0x1a5a, 0x1a5c, 0x1a5e, 0x1a60, 0x1a62, 0x1a64, 0x1a66,
- 0x1a68, 0x1a6a, 0x1a6c, 0x1a6e, 0x1a70, 0x1a72, 0x1a74, 0x1a76,
- 0x1a78, 0x1a7a, 0x1a7c, 0x1a7e, 0x1a80, 0x1a82, 0x1a84, 0x1a86,
- 0x1a88, 0x1a8a, 0x1a8c, 0x1a8e, 0x1a90, 0x1a92, 0x1a94, 0x1a96,
- 0x1a98, 0x1a9a, 0x1a9c, 0x1a9e, 0x1aa0, 0x1aa2, 0x1aa4, 0x1aa6,
- 0x1aa8, 0x1aaa, 0x1aac, 0x1aae, 0x1ab0, 0x1ab2, 0x1ab4, 0x1ab6,
- 0x1ab8, 0x1aba, 0x1abc, 0x1abe, 0x1ac0, 0x1ac2, 0x1ac4, 0x1ac6,
- 0x1ac8, 0x1aca, 0x1acc, 0x1ace, 0x1ad0, 0x1ad2, 0x1ad4, 0x1ad6,
- 0x1ad8, 0x1ada, 0x1adc, 0x1ade, 0x1ae0, 0x1ae2, 0x1ae4, 0x1ae6,
- 0x1ae8, 0x1aea, 0x1aec, 0x1aee, 0x1af0, 0x1af2, 0x1af4, 0x1af6,
- 0x1af8, 0x1afa, 0x1afc, 0x1afe, 0x1b00, 0x1b02, 0x1b04, 0x1b06,
- 0x1b08, 0x1b0a, 0x1b0c, 0x1b0e, 0x1b10, 0x1b12, 0x1b14, 0x1b16,
- 0x1b18, 0x1b1a, 0x1b1c, 0x1b1e, 0x1b20, 0x1b22, 0x1b24, 0x1b26,
- 0x1b28, 0x1b2a, 0x1b2c, 0x1b2e, 0x1b30, 0x1b32, 0x1b34, 0x1b36,
- 0x1b38, 0x1b3a, 0x1b3c, 0x1b3e, 0x1b40, 0x1b42, 0x1b44, 0x1b46,
- 0x1b48, 0x1b4a, 0x1b4c, 0x1b4e, 0x1b50, 0x1b52, 0x1b54, 0x1b56,
- 0x1b58, 0x1b5a, 0x1b5c, 0x1b5e, 0x1b60, 0x1b62, 0x1b64, 0x1b66,
- 0x1b68, 0x1b6a, 0x1b6c, 0x1b6e, 0x1b70, 0x1b72, 0x1b74, 0x1b76,
- 0x1b78, 0x1b7a, 0x1b7c, 0x1b7e, 0x1b80, 0x1b82, 0x1b84, 0x1b86,
- 0x1b88, 0x1b8a, 0x1b8c, 0x1b8e, 0x1b90, 0x1b92, 0x1b94, 0x1b96,
- 0x1b98, 0x1b9a, 0x1b9c, 0x1b9e, 0x1ba0, 0x1ba2, 0x1ba4, 0x1ba6,
- 0x1ba8, 0x1baa, 0x1bac, 0x1bae, 0x1bb0, 0x1bb2, 0x1bb4, 0x1bb6,
- 0x1bb8, 0x1bba, 0x1bbc, 0x1bbe, 0x1bc0, 0x1bc2, 0x1bc4, 0x1bc6,
-
- 0x1bc8, 0x1bca, 0x1bcc, 0x1bce, 0x1bd0, 0x1bd2, 0x1bd4, 0x1bd6,
- 0x1bd8, 0x1bda, 0x1bdc, 0x1bde, 0x1be0, 0x1be2, 0xffff, 0xffff,
- 0x1be4, 0xffff, 0x1be6, 0xffff, 0xffff, 0x1be8, 0x1bea, 0x1bec,
- 0x1bee, 0x1bf0, 0x1bf2, 0x1bf4, 0x1bf6, 0x1bf8, 0x1bfa, 0xffff,
- 0x1bfc, 0xffff, 0x1bfe, 0xffff, 0xffff, 0x1c00, 0x1c02, 0xffff,
- 0xffff, 0xffff, 0x1c04, 0x1c06, 0x1c08, 0x1c0a, 0xffff, 0xffff,
- 0x1c0c, 0x1c0e, 0x1c10, 0x1c12, 0x1c14, 0x1c16, 0x1c18, 0x1c1a,
- 0x1c1c, 0x1c1e, 0x1c20, 0x1c22, 0x1c24, 0x1c26, 0x1c28, 0x1c2a,
- 0x1c2c, 0x1c2e, 0x1c30, 0x1c32, 0x1c34, 0x1c36, 0x1c38, 0x1c3a,
- 0x1c3c, 0x1c3e, 0x1c40, 0x1c42, 0x1c44, 0x1c46, 0x1c48, 0x1c4a,
- 0x1c4c, 0x1c4e, 0x1c50, 0x1c52, 0x1c54, 0x1c56, 0x1c58, 0x1c5a,
- 0x1c5c, 0x1c5e, 0x1c60, 0x1c62, 0x1c64, 0x1c66, 0x1c68, 0x1c6a,
- 0x1c6c, 0x1c6e, 0x1c70, 0x1c72, 0x1c74, 0x1c76, 0x1c78, 0x1c7a,
- 0x1c7c, 0x1c7e, 0x1c80, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x1c82, 0x1c84, 0x1c86, 0x1c88, 0x1c8a, 0x1c8c, 0x1c8e, 0x1c90,
- 0x1c92, 0x1c94, 0x1c96, 0x1c98, 0x1c9a, 0x1c9c, 0x1c9e, 0x1ca0,
- 0x1ca2, 0x1ca4, 0x1ca6, 0x1ca8, 0x1caa, 0x1cac, 0x1cae, 0x1cb0,
- 0x1cb2, 0x1cb4, 0x1cb6, 0x1cb8, 0x1cba, 0x1cbc, 0x1cbe, 0x1cc0,
- 0x1cc2, 0x1cc4, 0x1cc6, 0x1cc8, 0x1cca, 0x1ccc, 0x1cce, 0x1cd0,
- 0x1cd2, 0x1cd4, 0x1cd6, 0x1cd8, 0x1cda, 0x1cdc, 0x1cde, 0x1ce0,
- 0x1ce2, 0x1ce4, 0x1ce6, 0x1ce8, 0x1cea, 0x1cec, 0x1cee, 0x1cf0,
- 0x1cf2, 0x1cf4, 0x1cf6, 0x1cf8, 0x1cfa, 0x1cfc, 0x1cfe, 0x1d00,
- 0x1d02, 0x1d04, 0x1d06, 0x1d08, 0x1d0a, 0x1d0c, 0x1d0e, 0x1d10,
- 0x1d12, 0x1d14, 0x1d16, 0x1d18, 0x1d1a, 0x1d1c, 0x1d1e, 0x1d20,
- 0x1d22, 0x1d24, 0x1d26, 0x1d28, 0x1d2a, 0x1d2c, 0x1d2e, 0x1d30,
- 0x1d32, 0x1d34, 0x1d36, 0x1d38, 0x1d3a, 0x1d3c, 0x1d3e, 0x1d40,
- 0x1d43, 0x1d46, 0x1d49, 0x1d4b, 0x1d4d, 0x1d4f, 0x1d52, 0x1d55,
- 0x1d58, 0x1d5a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0x1d5c, 0x1d5f, 0x1d62, 0x1d65, 0x1d69, 0x1d6d, 0x1d70, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x1d73, 0x1d76, 0x1d79, 0x1d7c, 0x1d7f,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1d82, 0xffff, 0x1d85,
- 0x1d88, 0x1d8a, 0x1d8c, 0x1d8e, 0x1d90, 0x1d92, 0x1d94, 0x1d96,
- 0x1d98, 0x1d9a, 0x1d9c, 0x1d9f, 0x1da2, 0x1da5, 0x1da8, 0x1dab,
- 0x1dae, 0x1db1, 0x1db4, 0x1db7, 0x1dba, 0x1dbd, 0x1dc0, 0xffff,
- 0x1dc3, 0x1dc6, 0x1dc9, 0x1dcc, 0x1dcf, 0xffff, 0x1dd2, 0xffff,
- 0x1dd5, 0x1dd8, 0xffff, 0x1ddb, 0x1dde, 0xffff, 0x1de1, 0x1de4,
- 0x1de7, 0x1dea, 0x1ded, 0x1df0, 0x1df3, 0x1df6, 0x1df9, 0x1dfc,
- 0x1dff, 0x1e01, 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b, 0x1e0d,
- 0x1e0f, 0x1e11, 0x1e13, 0x1e15, 0x1e17, 0x1e19, 0x1e1b, 0x1e1d,
- 0x1e1f, 0x1e21, 0x1e23, 0x1e25, 0x1e27, 0x1e29, 0x1e2b, 0x1e2d,
- 0x1e2f, 0x1e31, 0x1e33, 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d,
- 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47, 0x1e49, 0x1e4b, 0x1e4d,
- 0x1e4f, 0x1e51, 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b, 0x1e5d,
- 0x1e5f, 0x1e61, 0x1e63, 0x1e65, 0x1e67, 0x1e69, 0x1e6b, 0x1e6d,
- 0x1e6f, 0x1e71, 0x1e73, 0x1e75, 0x1e77, 0x1e79, 0x1e7b, 0x1e7d,
- 0x1e7f, 0x1e81, 0x1e83, 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d,
- 0x1e8f, 0x1e91, 0x1e93, 0x1e95, 0x1e97, 0x1e99, 0x1e9b, 0x1e9d,
- 0x1e9f, 0x1ea1, 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead,
- 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd,
- 0x1ebf, 0x1ec1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9, 0x1ecb,
- 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb,
- 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7, 0x1ee9, 0x1eeb,
- 0x1eed, 0x1eef, 0x1ef1, 0x1ef4, 0x1ef7, 0x1efa, 0x1efd, 0x1f00,
- 0x1f03, 0x1f06, 0x1f09, 0x1f0c, 0x1f0f, 0x1f12, 0x1f15, 0x1f18,
- 0x1f1b, 0x1f1e, 0x1f21, 0x1f24, 0x1f27, 0x1f29, 0x1f2b, 0x1f2d,
-
- 0x1f2f, 0x1f32, 0x1f35, 0x1f38, 0x1f3b, 0x1f3e, 0x1f41, 0x1f44,
- 0x1f47, 0x1f4a, 0x1f4d, 0x1f50, 0x1f53, 0x1f56, 0x1f59, 0x1f5c,
- 0x1f5f, 0x1f62, 0x1f65, 0x1f68, 0x1f6b, 0x1f6e, 0x1f71, 0x1f74,
- 0x1f77, 0x1f7a, 0x1f7d, 0x1f80, 0x1f83, 0x1f86, 0x1f89, 0x1f8c,
- 0x1f8f, 0x1f92, 0x1f95, 0x1f98, 0x1f9b, 0x1f9e, 0x1fa1, 0x1fa4,
- 0x1fa7, 0x1faa, 0x1fad, 0x1fb0, 0x1fb3, 0x1fb6, 0x1fb9, 0x1fbc,
- 0x1fbf, 0x1fc2, 0x1fc5, 0x1fc8, 0x1fcb, 0x1fce, 0x1fd1, 0x1fd4,
- 0x1fd7, 0x1fda, 0x1fdd, 0x1fe0, 0x1fe3, 0x1fe6, 0x1fe9, 0x1fec,
- 0x1fef, 0x1ff2, 0x1ff5, 0x1ff8, 0x1ffb, 0x1ffe, 0x2001, 0x2004,
- 0x2007, 0x200a, 0x200d, 0x2010, 0x2013, 0x2016, 0x2019, 0x201c,
- 0x201f, 0x2022, 0x2025, 0x2028, 0x202b, 0x202e, 0x2031, 0x2034,
- 0x2037, 0x203a, 0x203d, 0x2040, 0x2043, 0x2046, 0x2049, 0x204d,
- 0x2051, 0x2055, 0x2059, 0x205d, 0x2061, 0x2064, 0x2067, 0x206a,
- 0x206d, 0x2070, 0x2073, 0x2076, 0x2079, 0x207c, 0x207f, 0x2082,
- 0x2085, 0x2088, 0x208b, 0x208e, 0x2091, 0x2094, 0x2097, 0x209a,
- 0x209d, 0x20a0, 0x20a3, 0x20a6, 0x20a9, 0x20ac, 0x20af, 0x20b2,
- 0x20b5, 0x20b8, 0x20bb, 0x20be, 0x20c1, 0x20c4, 0x20c7, 0x20ca,
- 0x20cd, 0x20d0, 0x20d3, 0x20d6, 0x20d9, 0x20dc, 0x20df, 0x20e2,
- 0x20e5, 0x20e8, 0x20eb, 0x20ee, 0x20f1, 0x20f4, 0x20f7, 0x20fa,
- 0x20fd, 0x2100, 0x2103, 0x2106, 0x2109, 0x210c, 0x210f, 0x2112,
- 0x2115, 0x2118, 0x211b, 0x211e, 0x2121, 0x2124, 0x2127, 0x212a,
- 0x212d, 0x2130, 0x2133, 0x2136, 0x2139, 0x213c, 0x213f, 0x2142,
- 0x2145, 0x2148, 0x214b, 0x214e, 0x2151, 0x2154, 0x2157, 0x215a,
- 0x215d, 0x2160, 0x2163, 0x2166, 0x2169, 0x216c, 0x216f, 0x2172,
- 0x2175, 0x2178, 0x217b, 0x217e, 0x2181, 0x2184, 0x2187, 0x218a,
- 0x218d, 0x2190, 0x2193, 0x2196, 0x2199, 0x219c, 0x219f, 0x21a2,
- 0x21a5, 0x21a8, 0x21ab, 0x21ae, 0x21b1, 0x21b4, 0x21b7, 0x21ba,
- 0x21bd, 0x21c0, 0x21c3, 0x21c6, 0x21c9, 0x21cc, 0x21cf, 0x21d2,
- 0x21d5, 0x21d8, 0x21db, 0x21de, 0x21e1, 0x21e4, 0x21e7, 0x21ea,
- 0x21ed, 0x21f0, 0x21f3, 0x21f6, 0x21f9, 0x21fc, 0x21ff, 0x2202,
- 0x2205, 0x2208, 0x220b, 0x220f, 0x2213, 0x2217, 0x221a, 0x221d,
- 0x2220, 0x2223, 0x2226, 0x2229, 0x222c, 0x222f, 0x2232, 0x2235,
-
- 0x2238, 0x223b, 0x223e, 0x2241, 0x2244, 0x2247, 0x224a, 0x224d,
- 0x2250, 0x2253, 0x2256, 0x2259, 0x225c, 0x225f, 0x2262, 0x2265,
- 0x2268, 0x226b, 0x226e, 0x2271, 0x2274, 0x2277, 0x227a, 0x227d,
- 0x2280, 0x2283, 0x2286, 0x2289, 0x228c, 0x228f, 0x2292, 0x2295,
- 0x2298, 0x229b, 0x229e, 0x22a1, 0x22a4, 0x22a7, 0x22aa, 0x22ad,
- 0x22b0, 0x22b3, 0x22b6, 0x22b9, 0x22bc, 0x22bf, 0x22c2, 0x22c5,
- 0x22c8, 0x22cb, 0x22ce, 0x22d1, 0x22d4, 0x22d7, 0x22da, 0x22dd,
- 0x22e0, 0x22e3, 0x22e6, 0x22e9, 0x22ec, 0x22ef, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x22f2, 0x22f6, 0x22fa, 0x22fe, 0x2302, 0x2306, 0x230a, 0x230e,
- 0x2312, 0x2316, 0x231a, 0x231e, 0x2322, 0x2326, 0x232a, 0x232e,
- 0x2332, 0x2336, 0x233a, 0x233e, 0x2342, 0x2346, 0x234a, 0x234e,
- 0x2352, 0x2356, 0x235a, 0x235e, 0x2362, 0x2366, 0x236a, 0x236e,
- 0x2372, 0x2376, 0x237a, 0x237e, 0x2382, 0x2386, 0x238a, 0x238e,
- 0x2392, 0x2396, 0x239a, 0x239e, 0x23a2, 0x23a6, 0x23aa, 0x23ae,
- 0x23b2, 0x23b6, 0x23ba, 0x23be, 0x23c2, 0x23c6, 0x23ca, 0x23ce,
- 0x23d2, 0x23d6, 0x23da, 0x23de, 0x23e2, 0x23e6, 0x23ea, 0x23ee,
- 0xffff, 0xffff, 0x23f2, 0x23f6, 0x23fa, 0x23fe, 0x2402, 0x2406,
- 0x240a, 0x240e, 0x2412, 0x2416, 0x241a, 0x241e, 0x2422, 0x2426,
- 0x242a, 0x242e, 0x2432, 0x2436, 0x243a, 0x243e, 0x2442, 0x2446,
- 0x244a, 0x244e, 0x2452, 0x2456, 0x245a, 0x245e, 0x2462, 0x2466,
- 0x246a, 0x246e, 0x2472, 0x2476, 0x247a, 0x247e, 0x2482, 0x2486,
- 0x248a, 0x248e, 0x2492, 0x2496, 0x249a, 0x249e, 0x24a2, 0x24a6,
- 0x24aa, 0x24ae, 0x24b2, 0x24b6, 0x24ba, 0x24be, 0x24c2, 0x24c6,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x24ca, 0x24ce, 0x24d2, 0x24d7, 0x24dc, 0x24e1, 0x24e6, 0x24eb,
- 0x24f0, 0x24f5, 0x24f9, 0x250c, 0x2515, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x251a, 0x251c, 0x251e, 0x2520, 0x2522, 0x2524, 0x2526, 0x2528,
- 0x252a, 0x252c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x252e, 0x2530, 0x2532, 0x2534, 0x2536, 0x2538, 0x253a, 0x253c,
- 0x253e, 0x2540, 0x2542, 0x2544, 0x2546, 0x2548, 0x254a, 0x254c,
- 0x254e, 0x2550, 0x2552, 0x2554, 0x2556, 0xffff, 0xffff, 0x2558,
- 0x255a, 0x255c, 0x255e, 0x2560, 0x2562, 0x2564, 0x2566, 0x2568,
- 0x256a, 0x256c, 0x256e, 0xffff, 0x2570, 0x2572, 0x2574, 0x2576,
- 0x2578, 0x257a, 0x257c, 0x257e, 0x2580, 0x2582, 0x2584, 0x2586,
- 0x2588, 0x258a, 0x258c, 0x258e, 0x2590, 0x2592, 0x2594, 0xffff,
- 0x2596, 0x2598, 0x259a, 0x259c, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x259e, 0x25a1, 0x25a4, 0xffff, 0x25a7, 0xffff, 0x25aa, 0x25ad,
- 0x25b0, 0x25b3, 0x25b6, 0x25b9, 0x25bc, 0x25bf, 0x25c2, 0x25c5,
- 0x25c8, 0x25ca, 0x25cc, 0x25ce, 0x25d0, 0x25d2, 0x25d4, 0x25d6,
- 0x25d8, 0x25da, 0x25dc, 0x25de, 0x25e0, 0x25e2, 0x25e4, 0x25e6,
- 0x25e8, 0x25ea, 0x25ec, 0x25ee, 0x25f0, 0x25f2, 0x25f4, 0x25f6,
- 0x25f8, 0x25fa, 0x25fc, 0x25fe, 0x2600, 0x2602, 0x2604, 0x2606,
- 0x2608, 0x260a, 0x260c, 0x260e, 0x2610, 0x2612, 0x2614, 0x2616,
- 0x2618, 0x261a, 0x261c, 0x261e, 0x2620, 0x2622, 0x2624, 0x2626,
- 0x2628, 0x262a, 0x262c, 0x262e, 0x2630, 0x2632, 0x2634, 0x2636,
- 0x2638, 0x263a, 0x263c, 0x263e, 0x2640, 0x2642, 0x2644, 0x2646,
- 0x2648, 0x264a, 0x264c, 0x264e, 0x2650, 0x2652, 0x2654, 0x2656,
- 0x2658, 0x265a, 0x265c, 0x265e, 0x2660, 0x2662, 0x2664, 0x2666,
- 0x2668, 0x266a, 0x266c, 0x266e, 0x2670, 0x2672, 0x2674, 0x2676,
- 0x2678, 0x267a, 0x267c, 0x267e, 0x2680, 0x2682, 0x2684, 0x2686,
- 0x2688, 0x268a, 0x268c, 0x268e, 0x2690, 0x2692, 0x2694, 0x2696,
- 0x2698, 0x269a, 0x269c, 0x269e, 0x26a0, 0x26a2, 0x26a4, 0x26a6,
- 0x26a8, 0x26aa, 0x26ac, 0x26ae, 0x26b0, 0x26b2, 0x26b5, 0x26b8,
- 0x26bb, 0x26be, 0x26c1, 0x26c4, 0x26c7, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0x26ca, 0x26cc, 0x26ce, 0x26d0, 0x26d2, 0x26d4, 0x26d6,
- 0x26d8, 0x26da, 0x26dc, 0x26de, 0x26e0, 0x26e2, 0x26e4, 0x26e6,
- 0x26e8, 0x26ea, 0x26ec, 0x26ee, 0x26f0, 0x26f2, 0x26f4, 0x26f6,
- 0x26f8, 0x26fa, 0x26fc, 0x26fe, 0x2700, 0x2702, 0x2704, 0x2706,
- 0x2708, 0x270a, 0x270c, 0x270e, 0x2710, 0x2712, 0x2714, 0x2716,
- 0x2718, 0x271a, 0x271c, 0x271e, 0x2720, 0x2722, 0x2724, 0x2726,
- 0x2728, 0x272a, 0x272c, 0x272e, 0x2730, 0x2732, 0x2734, 0x2736,
- 0x2738, 0x273a, 0x273c, 0x273e, 0x2740, 0x2742, 0x2744, 0x2746,
- 0x2748, 0x274a, 0x274c, 0x274e, 0x2750, 0x2752, 0x2754, 0x2756,
- 0x2758, 0x275a, 0x275c, 0x275e, 0x2760, 0x2762, 0x2764, 0x2766,
- 0x2768, 0x276a, 0x276c, 0x276e, 0x2770, 0x2772, 0x2774, 0x2776,
- 0x2778, 0x277a, 0x277c, 0x277e, 0x2780, 0x2782, 0x2784, 0x2786,
- 0x2788, 0x278a, 0x278c, 0x278e, 0x2790, 0x2792, 0x2794, 0x2796,
- 0x2798, 0x279a, 0x279c, 0x279e, 0x27a0, 0x27a2, 0x27a4, 0x27a6,
- 0x27a8, 0x27aa, 0x27ac, 0x27ae, 0x27b0, 0x27b2, 0x27b4, 0x27b6,
- 0x27b8, 0x27ba, 0x27bc, 0x27be, 0x27c0, 0x27c2, 0x27c4, 0x27c6,
- 0x27c8, 0x27ca, 0x27cc, 0x27ce, 0x27d0, 0x27d2, 0x27d4, 0x27d6,
- 0x27d8, 0x27da, 0x27dc, 0x27de, 0x27e0, 0x27e2, 0x27e4, 0x27e6,
- 0x27e8, 0x27ea, 0x27ec, 0x27ee, 0x27f0, 0x27f2, 0x27f4, 0x27f6,
- 0x27f8, 0x27fa, 0x27fc, 0x27fe, 0x2800, 0x2802, 0x2804, 0x2806,
- 0x2808, 0x280a, 0x280c, 0x280e, 0x2810, 0x2812, 0x2814, 0x2816,
- 0x2818, 0x281a, 0x281c, 0x281e, 0x2820, 0x2822, 0x2824, 0x2826,
- 0x2828, 0x282a, 0x282c, 0x282e, 0x2830, 0x2832, 0x2834, 0x2836,
- 0x2838, 0x283a, 0x283c, 0x283e, 0x2840, 0x2842, 0x2844, 0xffff,
- 0xffff, 0xffff, 0x2846, 0x2848, 0x284a, 0x284c, 0x284e, 0x2850,
- 0xffff, 0xffff, 0x2852, 0x2854, 0x2856, 0x2858, 0x285a, 0x285c,
- 0xffff, 0xffff, 0x285e, 0x2860, 0x2862, 0x2864, 0x2866, 0x2868,
- 0xffff, 0xffff, 0x286a, 0x286c, 0x286e, 0xffff, 0xffff, 0xffff,
- 0x2870, 0x2872, 0x2874, 0x2876, 0x2878, 0x287a, 0x287c, 0xffff,
- 0x287e, 0x2880, 0x2882, 0x2884, 0x2886, 0x2888, 0x288a, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x288c, 0x2891,
- 0x2896, 0x289b, 0x28a0, 0x28a5, 0x28aa, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x28af, 0x28b4, 0x28b9, 0x28be, 0x28c3,
- 0x28c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0x28cd, 0x28cf, 0x28d1, 0x28d3, 0x28d5, 0x28d7, 0x28d9, 0x28db,
- 0x28dd, 0x28df, 0x28e1, 0x28e3, 0x28e5, 0x28e7, 0x28e9, 0x28eb,
- 0x28ed, 0x28ef, 0x28f1, 0x28f3, 0x28f5, 0x28f7, 0x28f9, 0x28fb,
- 0x28fd, 0x28ff, 0x2901, 0x2903, 0x2905, 0x2907, 0x2909, 0x290b,
- 0x290d, 0x290f, 0x2911, 0x2913, 0x2915, 0x2917, 0x2919, 0x291b,
- 0x291d, 0x291f, 0x2921, 0x2923, 0x2925, 0x2927, 0x2929, 0x292b,
- 0x292d, 0x292f, 0x2931, 0x2933, 0x2935, 0x2937, 0x2939, 0x293b,
- 0x293d, 0x293f, 0x2941, 0x2943, 0x2945, 0x2947, 0x2949, 0x294b,
- 0x294d, 0x294f, 0x2951, 0x2953, 0x2955, 0x2957, 0x2959, 0x295b,
- 0x295d, 0x295f, 0x2961, 0x2963, 0x2965, 0x2967, 0x2969, 0x296b,
- 0x296d, 0x296f, 0x2971, 0x2973, 0x2975, 0xffff, 0x2977, 0x2979,
- 0x297b, 0x297d, 0x297f, 0x2981, 0x2983, 0x2985, 0x2987, 0x2989,
- 0x298b, 0x298d, 0x298f, 0x2991, 0x2993, 0x2995, 0x2997, 0x2999,
- 0x299b, 0x299d, 0x299f, 0x29a1, 0x29a3, 0x29a5, 0x29a7, 0x29a9,
- 0x29ab, 0x29ad, 0x29af, 0x29b1, 0x29b3, 0x29b5, 0x29b7, 0x29b9,
- 0x29bb, 0x29bd, 0x29bf, 0x29c1, 0x29c3, 0x29c5, 0x29c7, 0x29c9,
- 0x29cb, 0x29cd, 0x29cf, 0x29d1, 0x29d3, 0x29d5, 0x29d7, 0x29d9,
- 0x29db, 0x29dd, 0x29df, 0x29e1, 0x29e3, 0x29e5, 0x29e7, 0x29e9,
- 0x29eb, 0x29ed, 0x29ef, 0x29f1, 0x29f3, 0x29f5, 0x29f7, 0x29f9,
- 0x29fb, 0x29fd, 0x29ff, 0x2a01, 0x2a03, 0xffff, 0x2a05, 0x2a07,
- 0xffff, 0xffff, 0x2a09, 0xffff, 0xffff, 0x2a0b, 0x2a0d, 0xffff,
- 0xffff, 0x2a0f, 0x2a11, 0x2a13, 0x2a15, 0xffff, 0x2a17, 0x2a19,
- 0x2a1b, 0x2a1d, 0x2a1f, 0x2a21, 0x2a23, 0x2a25, 0x2a27, 0x2a29,
- 0x2a2b, 0x2a2d, 0xffff, 0x2a2f, 0xffff, 0x2a31, 0x2a33, 0x2a35,
- 0x2a37, 0x2a39, 0x2a3b, 0x2a3d, 0xffff, 0x2a3f, 0x2a41, 0x2a43,
- 0x2a45, 0x2a47, 0x2a49, 0x2a4b, 0x2a4d, 0x2a4f, 0x2a51, 0x2a53,
- 0x2a55, 0x2a57, 0x2a59, 0x2a5b, 0x2a5d, 0x2a5f, 0x2a61, 0x2a63,
- 0x2a65, 0x2a67, 0x2a69, 0x2a6b, 0x2a6d, 0x2a6f, 0x2a71, 0x2a73,
- 0x2a75, 0x2a77, 0x2a79, 0x2a7b, 0x2a7d, 0x2a7f, 0x2a81, 0x2a83,
- 0x2a85, 0x2a87, 0x2a89, 0x2a8b, 0x2a8d, 0x2a8f, 0x2a91, 0x2a93,
- 0x2a95, 0x2a97, 0x2a99, 0x2a9b, 0x2a9d, 0x2a9f, 0x2aa1, 0x2aa3,
- 0x2aa5, 0x2aa7, 0x2aa9, 0x2aab, 0x2aad, 0x2aaf, 0x2ab1, 0x2ab3,
-
- 0x2ab5, 0x2ab7, 0x2ab9, 0x2abb, 0x2abd, 0x2abf, 0xffff, 0x2ac1,
- 0x2ac3, 0x2ac5, 0x2ac7, 0xffff, 0xffff, 0x2ac9, 0x2acb, 0x2acd,
- 0x2acf, 0x2ad1, 0x2ad3, 0x2ad5, 0x2ad7, 0xffff, 0x2ad9, 0x2adb,
- 0x2add, 0x2adf, 0x2ae1, 0x2ae3, 0x2ae5, 0xffff, 0x2ae7, 0x2ae9,
- 0x2aeb, 0x2aed, 0x2aef, 0x2af1, 0x2af3, 0x2af5, 0x2af7, 0x2af9,
- 0x2afb, 0x2afd, 0x2aff, 0x2b01, 0x2b03, 0x2b05, 0x2b07, 0x2b09,
- 0x2b0b, 0x2b0d, 0x2b0f, 0x2b11, 0x2b13, 0x2b15, 0x2b17, 0x2b19,
- 0x2b1b, 0x2b1d, 0xffff, 0x2b1f, 0x2b21, 0x2b23, 0x2b25, 0xffff,
- 0x2b27, 0x2b29, 0x2b2b, 0x2b2d, 0x2b2f, 0xffff, 0x2b31, 0xffff,
- 0xffff, 0xffff, 0x2b33, 0x2b35, 0x2b37, 0x2b39, 0x2b3b, 0x2b3d,
- 0x2b3f, 0xffff, 0x2b41, 0x2b43, 0x2b45, 0x2b47, 0x2b49, 0x2b4b,
- 0x2b4d, 0x2b4f, 0x2b51, 0x2b53, 0x2b55, 0x2b57, 0x2b59, 0x2b5b,
- 0x2b5d, 0x2b5f, 0x2b61, 0x2b63, 0x2b65, 0x2b67, 0x2b69, 0x2b6b,
- 0x2b6d, 0x2b6f, 0x2b71, 0x2b73, 0x2b75, 0x2b77, 0x2b79, 0x2b7b,
- 0x2b7d, 0x2b7f, 0x2b81, 0x2b83, 0x2b85, 0x2b87, 0x2b89, 0x2b8b,
- 0x2b8d, 0x2b8f, 0x2b91, 0x2b93, 0x2b95, 0x2b97, 0x2b99, 0x2b9b,
- 0x2b9d, 0x2b9f, 0x2ba1, 0x2ba3, 0x2ba5, 0x2ba7, 0x2ba9, 0x2bab,
- 0x2bad, 0x2baf, 0x2bb1, 0x2bb3, 0x2bb5, 0x2bb7, 0x2bb9, 0x2bbb,
- 0x2bbd, 0x2bbf, 0x2bc1, 0x2bc3, 0x2bc5, 0x2bc7, 0x2bc9, 0x2bcb,
- 0x2bcd, 0x2bcf, 0x2bd1, 0x2bd3, 0x2bd5, 0x2bd7, 0x2bd9, 0x2bdb,
- 0x2bdd, 0x2bdf, 0x2be1, 0x2be3, 0x2be5, 0x2be7, 0x2be9, 0x2beb,
- 0x2bed, 0x2bef, 0x2bf1, 0x2bf3, 0x2bf5, 0x2bf7, 0x2bf9, 0x2bfb,
- 0x2bfd, 0x2bff, 0x2c01, 0x2c03, 0x2c05, 0x2c07, 0x2c09, 0x2c0b,
- 0x2c0d, 0x2c0f, 0x2c11, 0x2c13, 0x2c15, 0x2c17, 0x2c19, 0x2c1b,
- 0x2c1d, 0x2c1f, 0x2c21, 0x2c23, 0x2c25, 0x2c27, 0x2c29, 0x2c2b,
- 0x2c2d, 0x2c2f, 0x2c31, 0x2c33, 0x2c35, 0x2c37, 0x2c39, 0x2c3b,
- 0x2c3d, 0x2c3f, 0x2c41, 0x2c43, 0x2c45, 0x2c47, 0x2c49, 0x2c4b,
- 0x2c4d, 0x2c4f, 0x2c51, 0x2c53, 0x2c55, 0x2c57, 0x2c59, 0x2c5b,
- 0x2c5d, 0x2c5f, 0x2c61, 0x2c63, 0x2c65, 0x2c67, 0x2c69, 0x2c6b,
- 0x2c6d, 0x2c6f, 0x2c71, 0x2c73, 0x2c75, 0x2c77, 0x2c79, 0x2c7b,
- 0x2c7d, 0x2c7f, 0x2c81, 0x2c83, 0x2c85, 0x2c87, 0x2c89, 0x2c8b,
- 0x2c8d, 0x2c8f, 0x2c91, 0x2c93, 0x2c95, 0x2c97, 0x2c99, 0x2c9b,
-
- 0x2c9d, 0x2c9f, 0x2ca1, 0x2ca3, 0x2ca5, 0x2ca7, 0x2ca9, 0x2cab,
- 0x2cad, 0x2caf, 0x2cb1, 0x2cb3, 0x2cb5, 0x2cb7, 0x2cb9, 0x2cbb,
- 0x2cbd, 0x2cbf, 0x2cc1, 0x2cc3, 0x2cc5, 0x2cc7, 0x2cc9, 0x2ccb,
- 0x2ccd, 0x2ccf, 0x2cd1, 0x2cd3, 0x2cd5, 0x2cd7, 0x2cd9, 0x2cdb,
- 0x2cdd, 0x2cdf, 0x2ce1, 0x2ce3, 0x2ce5, 0x2ce7, 0x2ce9, 0x2ceb,
- 0x2ced, 0x2cef, 0x2cf1, 0x2cf3, 0x2cf5, 0x2cf7, 0x2cf9, 0x2cfb,
- 0x2cfd, 0x2cff, 0x2d01, 0x2d03, 0x2d05, 0x2d07, 0x2d09, 0x2d0b,
- 0x2d0d, 0x2d0f, 0x2d11, 0x2d13, 0x2d15, 0x2d17, 0x2d19, 0x2d1b,
- 0x2d1d, 0x2d1f, 0x2d21, 0x2d23, 0x2d25, 0x2d27, 0x2d29, 0x2d2b,
- 0x2d2d, 0x2d2f, 0x2d31, 0x2d33, 0x2d35, 0x2d37, 0x2d39, 0x2d3b,
- 0x2d3d, 0x2d3f, 0x2d41, 0x2d43, 0x2d45, 0x2d47, 0x2d49, 0x2d4b,
- 0x2d4d, 0x2d4f, 0x2d51, 0x2d53, 0x2d55, 0x2d57, 0x2d59, 0x2d5b,
- 0x2d5d, 0x2d5f, 0x2d61, 0x2d63, 0x2d65, 0x2d67, 0x2d69, 0x2d6b,
- 0x2d6d, 0x2d6f, 0x2d71, 0x2d73, 0x2d75, 0x2d77, 0x2d79, 0x2d7b,
- 0x2d7d, 0x2d7f, 0x2d81, 0x2d83, 0x2d85, 0x2d87, 0x2d89, 0x2d8b,
- 0x2d8d, 0x2d8f, 0x2d91, 0x2d93, 0x2d95, 0x2d97, 0x2d99, 0x2d9b,
- 0x2d9d, 0x2d9f, 0x2da1, 0x2da3, 0x2da5, 0x2da7, 0x2da9, 0x2dab,
- 0x2dad, 0x2daf, 0x2db1, 0x2db3, 0x2db5, 0x2db7, 0x2db9, 0x2dbb,
- 0x2dbd, 0x2dbf, 0x2dc1, 0x2dc3, 0x2dc5, 0x2dc7, 0x2dc9, 0x2dcb,
- 0x2dcd, 0x2dcf, 0x2dd1, 0x2dd3, 0x2dd5, 0x2dd7, 0x2dd9, 0x2ddb,
- 0x2ddd, 0x2ddf, 0x2de1, 0x2de3, 0x2de5, 0x2de7, 0xffff, 0xffff,
- 0x2de9, 0x2deb, 0x2ded, 0x2def, 0x2df1, 0x2df3, 0x2df5, 0x2df7,
- 0x2df9, 0x2dfb, 0x2dfd, 0x2dff, 0x2e01, 0x2e03, 0x2e05, 0x2e07,
- 0x2e09, 0x2e0b, 0x2e0d, 0x2e0f, 0x2e11, 0x2e13, 0x2e15, 0x2e17,
- 0x2e19, 0x2e1b, 0x2e1d, 0x2e1f, 0x2e21, 0x2e23, 0x2e25, 0x2e27,
- 0x2e29, 0x2e2b, 0x2e2d, 0x2e2f, 0x2e31, 0x2e33, 0x2e35, 0x2e37,
- 0x2e39, 0x2e3b, 0x2e3d, 0x2e3f, 0x2e41, 0x2e43, 0x2e45, 0x2e47,
- 0x2e49, 0x2e4b, 0x2e4d, 0x2e4f, 0x2e51, 0x2e53, 0x2e55, 0x2e57,
- 0x2e59, 0x2e5b, 0x2e5d, 0x2e5f, 0x2e61, 0x2e63, 0x2e65, 0x2e67,
- 0x2e69, 0x2e6b, 0x2e6d, 0x2e6f, 0x2e71, 0x2e73, 0x2e75, 0x2e77,
- 0x2e79, 0x2e7b, 0x2e7d, 0x2e7f, 0x2e81, 0x2e83, 0x2e85, 0x2e87,
- 0x2e89, 0x2e8b, 0x2e8d, 0x2e8f, 0x2e91, 0x2e93, 0x2e95, 0x2e97,
-
- 0x2e99, 0x2e9b, 0x2e9d, 0x2e9f, 0x2ea1, 0x2ea3, 0x2ea5, 0x2ea7,
- 0x2ea9, 0x2eab, 0x2ead, 0x2eaf, 0x2eb1, 0x2eb3, 0x2eb5, 0x2eb7,
- 0x2eb9, 0x2ebb, 0x2ebd, 0x2ebf, 0x2ec1, 0x2ec3, 0x2ec5, 0x2ec7,
- 0x2ec9, 0x2ecb, 0x2ecd, 0x2ecf, 0x2ed1, 0x2ed3, 0x2ed5, 0x2ed7,
- 0x2ed9, 0x2edb, 0x2edd, 0x2edf, 0x2ee1, 0x2ee3, 0x2ee5, 0x2ee7,
- 0x2ee9, 0x2eeb, 0x2eed, 0x2eef, 0x2ef1, 0x2ef3, 0x2ef5, 0x2ef7,
- 0x2ef9, 0x2efb, 0x2efd, 0x2eff, 0x2f01, 0x2f03, 0x2f05, 0x2f07,
- 0x2f09, 0x2f0b, 0x2f0d, 0x2f0f, 0x2f11, 0x2f13, 0x2f15, 0x2f17,
- 0x2f19, 0x2f1b, 0x2f1d, 0x2f1f, 0x2f21, 0x2f23, 0x2f25, 0x2f27,
- 0x2f29, 0x2f2b, 0x2f2d, 0x2f2f, 0x2f31, 0x2f33, 0x2f35, 0x2f37,
- 0x2f39, 0x2f3b, 0x2f3d, 0x2f3f, 0x2f41, 0x2f43, 0x2f45, 0x2f47,
- 0x2f49, 0x2f4b, 0x2f4d, 0x2f4f, 0x2f51, 0x2f53, 0x2f55, 0x2f57,
- 0x2f59, 0x2f5b, 0x2f5d, 0x2f5f, 0x2f61, 0x2f63, 0x2f65, 0x2f67,
- 0x2f69, 0x2f6b, 0x2f6d, 0x2f6f, 0x2f71, 0x2f73, 0x2f75, 0x2f77,
- 0x2f79, 0x2f7b, 0x2f7d, 0x2f7f, 0x2f81, 0x2f83, 0x2f85, 0x2f87,
- 0x2f89, 0x2f8b, 0x2f8d, 0x2f8f, 0x2f91, 0x2f93, 0x2f95, 0x2f97,
- 0x2f99, 0x2f9b, 0x2f9d, 0x2f9f, 0x2fa1, 0x2fa3, 0x2fa5, 0x2fa7,
- 0x2fa9, 0x2fab, 0x2fad, 0x2faf, 0x2fb1, 0x2fb3, 0x2fb5, 0x2fb7,
- 0x2fb9, 0x2fbb, 0x2fbd, 0x2fbf, 0x2fc1, 0x2fc3, 0x2fc5, 0x2fc7,
- 0x2fc9, 0x2fcb, 0x2fcd, 0x2fcf, 0x2fd1, 0x2fd3, 0x2fd5, 0x2fd7,
- 0x2fd9, 0x2fdb, 0x2fdd, 0x2fdf, 0x2fe1, 0x2fe3, 0x2fe5, 0x2fe7,
- 0x2fe9, 0x2feb, 0x2fed, 0x2fef, 0x2ff1, 0x2ff3, 0x2ff5, 0x2ff7,
- 0x2ff9, 0x2ffb, 0x2ffd, 0x2fff, 0x3001, 0x3003, 0x3005, 0x3007,
- 0x3009, 0x300b, 0x300d, 0x300f, 0x3011, 0x3013, 0x3015, 0x3017,
- 0x3019, 0x301b, 0x301d, 0x301f, 0x3021, 0x3023, 0x3025, 0x3027,
- 0x3029, 0x302b, 0x302d, 0x302f, 0xffff, 0xffff, 0x3031, 0x3033,
- 0x3035, 0x3037, 0x3039, 0x303b, 0x303d, 0x303f, 0x3041, 0x3043,
- 0x3045, 0x3047, 0x3049, 0x304b, 0x304d, 0x304f, 0x3051, 0x3053,
- 0x3055, 0x3057, 0x3059, 0x305b, 0x305d, 0x305f, 0x3061, 0x3063,
- 0x3065, 0x3067, 0x3069, 0x306b, 0x306d, 0x306f, 0x3071, 0x3073,
- 0x3075, 0x3077, 0x3079, 0x307b, 0x307d, 0x307f, 0x3081, 0x3083,
- 0x3085, 0x3087, 0x3089, 0x308b, 0x308d, 0x308f, 0x3091, 0x3093,
-
- 0x3095, 0x3097, 0x3099, 0x309b, 0x309e, 0x30a0, 0x30a2, 0x30a4,
- 0x30a6, 0x30a8, 0x30aa, 0x30ac, 0x30ae, 0x30b0, 0x30b3, 0x30b5,
- 0x30b7, 0x30b9, 0x30bb, 0x30be, 0x30c0, 0x30c2, 0x30c4, 0x30c7,
- 0x30c9, 0x30cb, 0x30cd, 0x30cf, 0x30d1, 0x30d4, 0x30d6, 0x30d8,
- 0x30da, 0x30dc, 0x30de, 0x30e0, 0x30e2, 0x30e4, 0x30e6, 0x30e8,
- 0x30ea, 0x30ec, 0x30ee, 0x30f0, 0x30f2, 0x30f4, 0x30f6, 0x30f8,
- 0x30fa, 0x30fc, 0x30fe, 0x3100, 0x3102, 0x3105, 0x3107, 0x3109,
- 0x310b, 0x310e, 0x3110, 0x3112, 0x3114, 0x3116, 0x3118, 0x311a,
- 0x311c, 0x311e, 0x3120, 0x3122, 0x3124, 0x3126, 0x3128, 0x312a,
- 0x312c, 0x312e, 0x3130, 0x3132, 0x3134, 0x3136, 0x3138, 0x313a,
- 0x313c, 0x313e, 0x3140, 0x3142, 0x3144, 0x3146, 0x3148, 0x314a,
- 0x314c, 0x314e, 0x3151, 0x3153, 0x3155, 0x3157, 0x3159, 0x315b,
- 0x315d, 0x3160, 0x3163, 0x3165, 0x3167, 0x3169, 0x316b, 0x316d,
- 0x316f, 0x3171, 0x3173, 0x3175, 0x3177, 0x317a, 0x317c, 0x317e,
- 0x3180, 0x3182, 0x3185, 0x3187, 0x3189, 0x318b, 0x318d, 0x318f,
- 0x3191, 0x3193, 0x3195, 0x3197, 0x319a, 0x319c, 0x319f, 0x31a1,
- 0x31a3, 0x31a5, 0x31a7, 0x31a9, 0x31ab, 0x31ad, 0x31af, 0x31b1,
- 0x31b3, 0x31b5, 0x31b8, 0x31ba, 0x31bc, 0x31be, 0x31c0, 0x31c2,
- 0x31c5, 0x31c7, 0x31ca, 0x31cd, 0x31cf, 0x31d1, 0x31d3, 0x31d5,
- 0x31d8, 0x31db, 0x31dd, 0x31df, 0x31e1, 0x31e3, 0x31e5, 0x31e7,
- 0x31e9, 0x31eb, 0x31ed, 0x31ef, 0x31f1, 0x31f4, 0x31f6, 0x31f8,
- 0x31fa, 0x31fc, 0x31fe, 0x3200, 0x3202, 0x3204, 0x3206, 0x3208,
- 0x320a, 0x320c, 0x320e, 0x3210, 0x3212, 0x3214, 0x3216, 0x3218,
- 0x321a, 0x321d, 0x321f, 0x3221, 0x3223, 0x3225, 0x3227, 0x322a,
- 0x322c, 0x322e, 0x3230, 0x3232, 0x3234, 0x3236, 0x3238, 0x323a,
- 0x323c, 0x323e, 0x3240, 0x3243, 0x3245, 0x3247, 0x3249, 0x324b,
- 0x324d, 0x324f, 0x3251, 0x3253, 0x3255, 0x3257, 0x3259, 0x325b,
- 0x325d, 0x325f, 0x3261, 0x3263, 0x3265, 0x3267, 0x326a, 0x326c,
- 0x326e, 0x3270, 0x3272, 0x3274, 0x3277, 0x3279, 0x327b, 0x327d,
- 0x327f, 0x3281, 0x3283, 0x3285, 0x3287, 0x328a, 0x328c, 0x328e,
- 0x3290, 0x3293, 0x3295, 0x3297, 0x3299, 0x329b, 0x329d, 0x329f,
- 0x32a2, 0x32a5, 0x32a8, 0x32aa, 0x32ad, 0x32af, 0x32b1, 0x32b3,
-
- 0x32b5, 0x32b7, 0x32b9, 0x32bb, 0x32bd, 0x32bf, 0x32c1, 0x32c4,
- 0x32c6, 0x32c8, 0x32ca, 0x32cc, 0x32ce, 0x32d0, 0x32d3, 0x32d5,
- 0x32d7, 0x32da, 0x32dd, 0x32df, 0x32e1, 0x32e3, 0x32e5, 0x32e7,
- 0x32e9, 0x32eb, 0x32ed, 0x32ef, 0x32f2, 0x32f4, 0x32f7, 0x32f9,
- 0x32fc, 0x32fe, 0x3300, 0x3302, 0x3305, 0x3307, 0x3309, 0x330c,
- 0x330f, 0x3311, 0x3313, 0x3315, 0x3317, 0x3319, 0x331b, 0x331d,
- 0x331f, 0x3321, 0x3323, 0x3325, 0x3327, 0x3329, 0x332c, 0x332e,
- 0x3331, 0x3333, 0x3336, 0x3338, 0x333b, 0x333e, 0x3341, 0x3343,
- 0x3345, 0x3347, 0x334a, 0x334d, 0x3350, 0x3353, 0x3355, 0x3357,
- 0x3359, 0x335b, 0x335d, 0x335f, 0x3361, 0x3363, 0x3366, 0x3368,
- 0x336a, 0x336c, 0x336e, 0x3371, 0x3373, 0x3376, 0x3379, 0x337b,
- 0x337d, 0x337f, 0x3381, 0x3383, 0x3385, 0x3388, 0x338b, 0x338e,
- 0x3390, 0x3392, 0x3395, 0x3397, 0x3399, 0x339b, 0x339e, 0x33a0,
- 0x33a2, 0x33a4, 0x33a6, 0x33a8, 0x33ab, 0x33ad, 0x33af, 0x33b1,
- 0x33b3, 0x33b5, 0x33b7, 0x33ba, 0x33bd, 0x33bf, 0x33c2, 0x33c4,
- 0x33c7, 0x33c9, 0x33cb, 0x33cd, 0x33d0, 0x33d3, 0x33d5, 0x33d8,
- 0x33da, 0x33dd, 0x33df, 0x33e1, 0x33e3, 0x33e5, 0x33e7, 0x33e9,
- 0x33ec, 0x33ef, 0x33f2, 0x33f5, 0x33f7, 0x33f9, 0x33fb, 0x33fd,
- 0x33ff, 0x3401, 0x3403, 0x3405, 0x3407, 0x3409, 0x340b, 0x340d,
- 0x3410, 0x3412, 0x3414, 0x3416, 0x3418, 0x341a, 0x341c, 0x341e,
- 0x3420, 0x3422, 0x3424, 0x3426, 0x3428, 0x342b, 0x342e, 0x3431,
- 0x3433, 0x3435, 0x3437, 0x3439, 0x343c, 0x343e, 0x3441, 0x3443,
- 0x3445, 0x3448, 0x344b, 0x344d, 0x344f, 0x3451, 0x3453, 0x3455,
- 0x3457, 0x3459, 0x345b, 0x345d, 0x345f, 0x3461, 0x3463, 0x3465,
- 0x3467, 0x3469, 0x346b, 0x346d, 0x346f, 0x3471, 0x3474, 0x3476,
- 0x3478, 0x347a, 0x347c, 0x347e, 0x3481, 0x3484, 0x3486, 0x3488,
- 0x348a, 0x348c, 0x348e, 0x3490, 0x3493, 0x3495, 0x3497, 0x3499,
- 0x349b, 0x349e, 0x34a1, 0x34a3, 0x34a5, 0x34a7, 0x34aa, 0x34ac,
- 0x34ae, 0x34b1, 0x34b4, 0x34b6, 0x34b8, 0x34ba, 0x34bd, 0x34bf,
- 0x34c1, 0x34c3, 0x34c5, 0x34c7, 0x34c9, 0x34cb, 0x34ce, 0x34d0,
- 0x34d2, 0x34d4, 0x34d7, 0x34d9, 0x34db, 0x34dd, 0x34df, 0x34e2,
- 0x34e5, 0x34e7, 0x34e9, 0x34eb, 0x34ee, 0x34f0, 0x34f3, 0x34f5,
-
- 0x34f7, 0x34f9, 0x34fc, 0x34fe, 0x3500, 0x3502, 0x3504, 0x3506,
- 0x3508, 0x350a, 0x350d, 0x350f, 0x3511, 0x3513, 0x3515, 0x3517,
- 0x3519, 0x351c, 0x351e, 0x3521, 0x3524, 0x3527, 0x3529, 0x352b,
- 0x352d, 0x352f, 0x3531, 0x3533, 0x3535, 0x3537, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x163f, 0x1642, 0x1646, 0x164b, 0x1650, 0x1653, 0x1659, 0x1660,
+ 0x1666, 0x166a, 0x1670, 0x1676, 0x167b, 0x167f, 0x1683, 0x1687,
+
+ 0x168c, 0x1692, 0x1697, 0x169b, 0x169f, 0x16a3, 0x16a6, 0x16a9,
+ 0x16ac, 0x16af, 0x16b3, 0x16b7, 0x16bd, 0x16c1, 0x16c6, 0x16cc,
+
+ 0x16d0, 0x16d3, 0x16d6, 0x16dc, 0x16e1, 0x16e7, 0x16eb, 0x16f1,
+ 0x16f4, 0x16f8, 0x16fc, 0x1700, 0x1704, 0x1708, 0x170d, 0x1711,
+
+ 0x1714, 0x1718, 0x171c, 0x1720, 0x1725, 0x1729, 0x172d, 0x1731,
+ 0x1737, 0x173c, 0x173f, 0x1745, 0x1748, 0x174d, 0x1752, 0x1756,
+
+ 0x175a, 0x175e, 0x1763, 0x1766, 0x176a, 0x176f, 0x1772, 0x1778,
+ 0x177c, 0x177f, 0x1782, 0x1785, 0x1788, 0x178b, 0x178e, 0x1791,
+
+ 0x1794, 0x1797, 0x179a, 0x179e, 0x17a2, 0x17a6, 0x17aa, 0x17ae,
+ 0x17b2, 0x17b6, 0x17ba, 0x17be, 0x17c2, 0x17c6, 0x17ca, 0x17ce,
+
+ 0x17d2, 0x17d6, 0x17da, 0x17dd, 0x17e0, 0x17e4, 0x17e7, 0x17ea,
+ 0x17ed, 0x17f1, 0x17f5, 0x17f8, 0x17fb, 0x17fe, 0x1801, 0x1804,
+
+ 0x1809, 0x180c, 0x180f, 0x1812, 0x1815, 0x1818, 0x181b, 0x181e,
+ 0x1821, 0x1825, 0x182a, 0x182d, 0x1830, 0x1833, 0x1836, 0x1839,
+
+ 0x183c, 0x183f, 0x1843, 0x1847, 0x184b, 0x184f, 0x1852, 0x1855,
+ 0x1858, 0x185b, 0x185e, 0x1861, 0x1864, 0x1867, 0x186a, 0x186d,
+
+ 0x1871, 0x1875, 0x1878, 0x187c, 0x1880, 0x1884, 0x1887, 0x188b,
+ 0x188f, 0x1894, 0x1897, 0x189b, 0x189f, 0x18a3, 0x18a7, 0x18ad,
+
+ 0x18b4, 0x18b7, 0x18ba, 0x18bd, 0x18c0, 0x18c3, 0x18c6, 0x18c9,
+ 0x18cc, 0x18cf, 0x18d2, 0x18d5, 0x18d8, 0x18db, 0x18de, 0x18e1,
+
+ 0x18e4, 0x18e7, 0x18ea, 0x18ef, 0x18f2, 0x18f5, 0x18f8, 0x18fd,
+ 0x1901, 0x1904, 0x1907, 0x190a, 0x190d, 0x1910, 0x1913, 0x1916,
+
+ 0x1919, 0x191c, 0x191f, 0x1923, 0x1926, 0x1929, 0x192d, 0x1931,
+ 0x1934, 0x1939, 0x193d, 0x1940, 0x1943, 0x1946, 0x1949, 0x194d,
+
+ 0x1951, 0x1954, 0x1957, 0x195a, 0x195d, 0x1960, 0x1963, 0x1966,
+ 0x1969, 0x196c, 0x1970, 0x1974, 0x1978, 0x197c, 0x1980, 0x1984,
+
+ 0x1988, 0x198c, 0x1990, 0x1994, 0x1998, 0x199c, 0x19a0, 0x19a4,
+ 0x19a8, 0x19ac, 0x19b0, 0x19b4, 0x19b8, 0x19bc, 0x19c0, 0x19c4,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0x19c8, 0x19ca, 0x19cc, 0x19ce, 0x19d0, 0x19d2, 0x19d4, 0x19d6,
+ 0x19d8, 0x19da, 0x19dc, 0x19de, 0x19e0, 0x19e2, 0x19e4, 0x19e6,
+ 0x19e8, 0x19ea, 0x19ec, 0x19ee, 0x19f0, 0x19f2, 0x19f4, 0x19f6,
+ 0x19f8, 0x19fa, 0x19fc, 0x19fe, 0x1a00, 0x1a02, 0x1a04, 0x1a06,
+ 0x1a08, 0x1a0a, 0x1a0c, 0x1a0e, 0x1a10, 0x1a12, 0x1a14, 0x1a16,
+ 0x1a18, 0x1a1a, 0x1a1c, 0x1a1e, 0x1a20, 0x1a22, 0x1a24, 0x1a26,
+ 0x1a28, 0x1a2a, 0x1a2c, 0x1a2e, 0x1a30, 0x1a32, 0x1a34, 0x1a36,
+ 0x1a38, 0x1a3a, 0x1a3c, 0x1a3e, 0x1a40, 0x1a42, 0x1a44, 0x1a46,
+ 0x1a48, 0x1a4a, 0x1a4c, 0x1a4e, 0x1a50, 0x1a52, 0x1a54, 0x1a56,
+ 0x1a58, 0x1a5a, 0x1a5c, 0x1a5e, 0x1a60, 0x1a62, 0x1a64, 0x1a66,
+ 0x1a68, 0x1a6a, 0x1a6c, 0x1a6e, 0x1a70, 0x1a72, 0x1a74, 0x1a76,
+ 0x1a78, 0x1a7a, 0x1a7c, 0x1a7e, 0x1a80, 0x1a82, 0x1a84, 0x1a86,
+ 0x1a88, 0x1a8a, 0x1a8c, 0x1a8e, 0x1a90, 0x1a92, 0x1a94, 0x1a96,
+ 0x1a98, 0x1a9a, 0x1a9c, 0x1a9e, 0x1aa0, 0x1aa2, 0x1aa4, 0x1aa6,
+ 0x1aa8, 0x1aaa, 0x1aac, 0x1aae, 0x1ab0, 0x1ab2, 0x1ab4, 0x1ab6,
+ 0x1ab8, 0x1aba, 0x1abc, 0x1abe, 0x1ac0, 0x1ac2, 0x1ac4, 0x1ac6,
+ 0x1ac8, 0x1aca, 0x1acc, 0x1ace, 0x1ad0, 0x1ad2, 0x1ad4, 0x1ad6,
+ 0x1ad8, 0x1ada, 0x1adc, 0x1ade, 0x1ae0, 0x1ae2, 0x1ae4, 0x1ae6,
+ 0x1ae8, 0x1aea, 0x1aec, 0x1aee, 0x1af0, 0x1af2, 0x1af4, 0x1af6,
+ 0x1af8, 0x1afa, 0x1afc, 0x1afe, 0x1b00, 0x1b02, 0x1b04, 0x1b06,
+ 0x1b08, 0x1b0a, 0x1b0c, 0x1b0e, 0x1b10, 0x1b12, 0x1b14, 0x1b16,
+ 0x1b18, 0x1b1a, 0x1b1c, 0x1b1e, 0x1b20, 0x1b22, 0x1b24, 0x1b26,
+ 0x1b28, 0x1b2a, 0x1b2c, 0x1b2e, 0x1b30, 0x1b32, 0x1b34, 0x1b36,
+ 0x1b38, 0x1b3a, 0x1b3c, 0x1b3e, 0x1b40, 0x1b42, 0x1b44, 0x1b46,
+ 0x1b48, 0x1b4a, 0x1b4c, 0x1b4e, 0x1b50, 0x1b52, 0x1b54, 0x1b56,
+ 0x1b58, 0x1b5a, 0x1b5c, 0x1b5e, 0x1b60, 0x1b62, 0x1b64, 0x1b66,
+ 0x1b68, 0x1b6a, 0x1b6c, 0x1b6e, 0x1b70, 0x1b72, 0x1b74, 0x1b76,
+ 0x1b78, 0x1b7a, 0x1b7c, 0x1b7e, 0x1b80, 0x1b82, 0x1b84, 0x1b86,
+ 0x1b88, 0x1b8a, 0x1b8c, 0x1b8e, 0x1b90, 0x1b92, 0x1b94, 0x1b96,
+ 0x1b98, 0x1b9a, 0x1b9c, 0x1b9e, 0x1ba0, 0x1ba2, 0x1ba4, 0x1ba6,
+ 0x1ba8, 0x1baa, 0x1bac, 0x1bae, 0x1bb0, 0x1bb2, 0x1bb4, 0x1bb6,
+ 0x1bb8, 0x1bba, 0x1bbc, 0x1bbe, 0x1bc0, 0x1bc2, 0x1bc4, 0x1bc6,
+
+ 0x1bc8, 0x1bca, 0x1bcc, 0x1bce, 0x1bd0, 0x1bd2, 0x1bd4, 0x1bd6,
+ 0x1bd8, 0x1bda, 0x1bdc, 0x1bde, 0x1be0, 0x1be2, 0xffff, 0xffff,
+ 0x1be4, 0xffff, 0x1be6, 0xffff, 0xffff, 0x1be8, 0x1bea, 0x1bec,
+ 0x1bee, 0x1bf0, 0x1bf2, 0x1bf4, 0x1bf6, 0x1bf8, 0x1bfa, 0xffff,
+ 0x1bfc, 0xffff, 0x1bfe, 0xffff, 0xffff, 0x1c00, 0x1c02, 0xffff,
+ 0xffff, 0xffff, 0x1c04, 0x1c06, 0x1c08, 0x1c0a, 0xffff, 0xffff,
+ 0x1c0c, 0x1c0e, 0x1c10, 0x1c12, 0x1c14, 0x1c16, 0x1c18, 0x1c1a,
+ 0x1c1c, 0x1c1e, 0x1c20, 0x1c22, 0x1c24, 0x1c26, 0x1c28, 0x1c2a,
+ 0x1c2c, 0x1c2e, 0x1c30, 0x1c32, 0x1c34, 0x1c36, 0x1c38, 0x1c3a,
+ 0x1c3c, 0x1c3e, 0x1c40, 0x1c42, 0x1c44, 0x1c46, 0x1c48, 0x1c4a,
+ 0x1c4c, 0x1c4e, 0x1c50, 0x1c52, 0x1c54, 0x1c56, 0x1c58, 0x1c5a,
+ 0x1c5c, 0x1c5e, 0x1c60, 0x1c62, 0x1c64, 0x1c66, 0x1c68, 0x1c6a,
+ 0x1c6c, 0x1c6e, 0x1c70, 0x1c72, 0x1c74, 0x1c76, 0x1c78, 0x1c7a,
+ 0x1c7c, 0x1c7e, 0x1c80, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x1c82, 0x1c84, 0x1c86, 0x1c88, 0x1c8a, 0x1c8c, 0x1c8e, 0x1c90,
+ 0x1c92, 0x1c94, 0x1c96, 0x1c98, 0x1c9a, 0x1c9c, 0x1c9e, 0x1ca0,
+ 0x1ca2, 0x1ca4, 0x1ca6, 0x1ca8, 0x1caa, 0x1cac, 0x1cae, 0x1cb0,
+ 0x1cb2, 0x1cb4, 0x1cb6, 0x1cb8, 0x1cba, 0x1cbc, 0x1cbe, 0x1cc0,
+ 0x1cc2, 0x1cc4, 0x1cc6, 0x1cc8, 0x1cca, 0x1ccc, 0x1cce, 0x1cd0,
+ 0x1cd2, 0x1cd4, 0x1cd6, 0x1cd8, 0x1cda, 0x1cdc, 0x1cde, 0x1ce0,
+ 0x1ce2, 0x1ce4, 0x1ce6, 0x1ce8, 0x1cea, 0x1cec, 0x1cee, 0x1cf0,
+ 0x1cf2, 0x1cf4, 0x1cf6, 0x1cf8, 0x1cfa, 0x1cfc, 0x1cfe, 0x1d00,
+ 0x1d02, 0x1d04, 0x1d06, 0x1d08, 0x1d0a, 0x1d0c, 0x1d0e, 0x1d10,
+ 0x1d12, 0x1d14, 0x1d16, 0x1d18, 0x1d1a, 0x1d1c, 0x1d1e, 0x1d20,
+ 0x1d22, 0x1d24, 0x1d26, 0x1d28, 0x1d2a, 0x1d2c, 0x1d2e, 0x1d30,
+ 0x1d32, 0x1d34, 0x1d36, 0x1d38, 0x1d3a, 0x1d3c, 0x1d3e, 0x1d40,
+ 0x1d43, 0x1d46, 0x1d49, 0x1d4b, 0x1d4d, 0x1d4f, 0x1d52, 0x1d55,
+ 0x1d58, 0x1d5a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0x1d5c, 0x1d5f, 0x1d62, 0x1d65, 0x1d69, 0x1d6d, 0x1d70, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x1d73, 0x1d76, 0x1d79, 0x1d7c, 0x1d7f,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1d82, 0xffff, 0x1d85,
+ 0x1d88, 0x1d8a, 0x1d8c, 0x1d8e, 0x1d90, 0x1d92, 0x1d94, 0x1d96,
+ 0x1d98, 0x1d9a, 0x1d9c, 0x1d9f, 0x1da2, 0x1da5, 0x1da8, 0x1dab,
+ 0x1dae, 0x1db1, 0x1db4, 0x1db7, 0x1dba, 0x1dbd, 0x1dc0, 0xffff,
+ 0x1dc3, 0x1dc6, 0x1dc9, 0x1dcc, 0x1dcf, 0xffff, 0x1dd2, 0xffff,
+ 0x1dd5, 0x1dd8, 0xffff, 0x1ddb, 0x1dde, 0xffff, 0x1de1, 0x1de4,
+ 0x1de7, 0x1dea, 0x1ded, 0x1df0, 0x1df3, 0x1df6, 0x1df9, 0x1dfc,
+ 0x1dff, 0x1e01, 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b, 0x1e0d,
+ 0x1e0f, 0x1e11, 0x1e13, 0x1e15, 0x1e17, 0x1e19, 0x1e1b, 0x1e1d,
+ 0x1e1f, 0x1e21, 0x1e23, 0x1e25, 0x1e27, 0x1e29, 0x1e2b, 0x1e2d,
+ 0x1e2f, 0x1e31, 0x1e33, 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d,
+ 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47, 0x1e49, 0x1e4b, 0x1e4d,
+ 0x1e4f, 0x1e51, 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b, 0x1e5d,
+ 0x1e5f, 0x1e61, 0x1e63, 0x1e65, 0x1e67, 0x1e69, 0x1e6b, 0x1e6d,
+ 0x1e6f, 0x1e71, 0x1e73, 0x1e75, 0x1e77, 0x1e79, 0x1e7b, 0x1e7d,
+ 0x1e7f, 0x1e81, 0x1e83, 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d,
+ 0x1e8f, 0x1e91, 0x1e93, 0x1e95, 0x1e97, 0x1e99, 0x1e9b, 0x1e9d,
+ 0x1e9f, 0x1ea1, 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab, 0x1ead,
+ 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd,
+ 0x1ebf, 0x1ec1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9, 0x1ecb,
+ 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb,
+ 0x1edd, 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7, 0x1ee9, 0x1eeb,
+ 0x1eed, 0x1eef, 0x1ef1, 0x1ef4, 0x1ef7, 0x1efa, 0x1efd, 0x1f00,
+ 0x1f03, 0x1f06, 0x1f09, 0x1f0c, 0x1f0f, 0x1f12, 0x1f15, 0x1f18,
+ 0x1f1b, 0x1f1e, 0x1f21, 0x1f24, 0x1f27, 0x1f29, 0x1f2b, 0x1f2d,
+
+ 0x1f2f, 0x1f32, 0x1f35, 0x1f38, 0x1f3b, 0x1f3e, 0x1f41, 0x1f44,
+ 0x1f47, 0x1f4a, 0x1f4d, 0x1f50, 0x1f53, 0x1f56, 0x1f59, 0x1f5c,
+ 0x1f5f, 0x1f62, 0x1f65, 0x1f68, 0x1f6b, 0x1f6e, 0x1f71, 0x1f74,
+ 0x1f77, 0x1f7a, 0x1f7d, 0x1f80, 0x1f83, 0x1f86, 0x1f89, 0x1f8c,
+ 0x1f8f, 0x1f92, 0x1f95, 0x1f98, 0x1f9b, 0x1f9e, 0x1fa1, 0x1fa4,
+ 0x1fa7, 0x1faa, 0x1fad, 0x1fb0, 0x1fb3, 0x1fb6, 0x1fb9, 0x1fbc,
+ 0x1fbf, 0x1fc2, 0x1fc5, 0x1fc8, 0x1fcb, 0x1fce, 0x1fd1, 0x1fd4,
+ 0x1fd7, 0x1fda, 0x1fdd, 0x1fe0, 0x1fe3, 0x1fe6, 0x1fe9, 0x1fec,
+ 0x1fef, 0x1ff2, 0x1ff5, 0x1ff8, 0x1ffb, 0x1ffe, 0x2001, 0x2004,
+ 0x2007, 0x200a, 0x200d, 0x2010, 0x2013, 0x2016, 0x2019, 0x201c,
+ 0x201f, 0x2022, 0x2025, 0x2028, 0x202b, 0x202e, 0x2031, 0x2034,
+ 0x2037, 0x203a, 0x203d, 0x2040, 0x2043, 0x2046, 0x2049, 0x204d,
+ 0x2051, 0x2055, 0x2059, 0x205d, 0x2061, 0x2064, 0x2067, 0x206a,
+ 0x206d, 0x2070, 0x2073, 0x2076, 0x2079, 0x207c, 0x207f, 0x2082,
+ 0x2085, 0x2088, 0x208b, 0x208e, 0x2091, 0x2094, 0x2097, 0x209a,
+ 0x209d, 0x20a0, 0x20a3, 0x20a6, 0x20a9, 0x20ac, 0x20af, 0x20b2,
+ 0x20b5, 0x20b8, 0x20bb, 0x20be, 0x20c1, 0x20c4, 0x20c7, 0x20ca,
+ 0x20cd, 0x20d0, 0x20d3, 0x20d6, 0x20d9, 0x20dc, 0x20df, 0x20e2,
+ 0x20e5, 0x20e8, 0x20eb, 0x20ee, 0x20f1, 0x20f4, 0x20f7, 0x20fa,
+ 0x20fd, 0x2100, 0x2103, 0x2106, 0x2109, 0x210c, 0x210f, 0x2112,
+ 0x2115, 0x2118, 0x211b, 0x211e, 0x2121, 0x2124, 0x2127, 0x212a,
+ 0x212d, 0x2130, 0x2133, 0x2136, 0x2139, 0x213c, 0x213f, 0x2142,
+ 0x2145, 0x2148, 0x214b, 0x214e, 0x2151, 0x2154, 0x2157, 0x215a,
+ 0x215d, 0x2160, 0x2163, 0x2166, 0x2169, 0x216c, 0x216f, 0x2172,
+ 0x2175, 0x2178, 0x217b, 0x217e, 0x2181, 0x2184, 0x2187, 0x218a,
+ 0x218d, 0x2190, 0x2193, 0x2196, 0x2199, 0x219c, 0x219f, 0x21a2,
+ 0x21a5, 0x21a8, 0x21ab, 0x21ae, 0x21b1, 0x21b4, 0x21b7, 0x21ba,
+ 0x21bd, 0x21c0, 0x21c3, 0x21c6, 0x21c9, 0x21cc, 0x21cf, 0x21d2,
+ 0x21d5, 0x21d8, 0x21db, 0x21de, 0x21e1, 0x21e4, 0x21e7, 0x21ea,
+ 0x21ed, 0x21f0, 0x21f3, 0x21f6, 0x21f9, 0x21fc, 0x21ff, 0x2202,
+ 0x2205, 0x2208, 0x220b, 0x220f, 0x2213, 0x2217, 0x221a, 0x221d,
+ 0x2220, 0x2223, 0x2226, 0x2229, 0x222c, 0x222f, 0x2232, 0x2235,
+
+ 0x2238, 0x223b, 0x223e, 0x2241, 0x2244, 0x2247, 0x224a, 0x224d,
+ 0x2250, 0x2253, 0x2256, 0x2259, 0x225c, 0x225f, 0x2262, 0x2265,
+ 0x2268, 0x226b, 0x226e, 0x2271, 0x2274, 0x2277, 0x227a, 0x227d,
+ 0x2280, 0x2283, 0x2286, 0x2289, 0x228c, 0x228f, 0x2292, 0x2295,
+ 0x2298, 0x229b, 0x229e, 0x22a1, 0x22a4, 0x22a7, 0x22aa, 0x22ad,
+ 0x22b0, 0x22b3, 0x22b6, 0x22b9, 0x22bc, 0x22bf, 0x22c2, 0x22c5,
+ 0x22c8, 0x22cb, 0x22ce, 0x22d1, 0x22d4, 0x22d7, 0x22da, 0x22dd,
+ 0x22e0, 0x22e3, 0x22e6, 0x22e9, 0x22ec, 0x22ef, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x22f2, 0x22f6, 0x22fa, 0x22fe, 0x2302, 0x2306, 0x230a, 0x230e,
+ 0x2312, 0x2316, 0x231a, 0x231e, 0x2322, 0x2326, 0x232a, 0x232e,
+ 0x2332, 0x2336, 0x233a, 0x233e, 0x2342, 0x2346, 0x234a, 0x234e,
+ 0x2352, 0x2356, 0x235a, 0x235e, 0x2362, 0x2366, 0x236a, 0x236e,
+ 0x2372, 0x2376, 0x237a, 0x237e, 0x2382, 0x2386, 0x238a, 0x238e,
+ 0x2392, 0x2396, 0x239a, 0x239e, 0x23a2, 0x23a6, 0x23aa, 0x23ae,
+ 0x23b2, 0x23b6, 0x23ba, 0x23be, 0x23c2, 0x23c6, 0x23ca, 0x23ce,
+ 0x23d2, 0x23d6, 0x23da, 0x23de, 0x23e2, 0x23e6, 0x23ea, 0x23ee,
+ 0xffff, 0xffff, 0x23f2, 0x23f6, 0x23fa, 0x23fe, 0x2402, 0x2406,
+ 0x240a, 0x240e, 0x2412, 0x2416, 0x241a, 0x241e, 0x2422, 0x2426,
+ 0x242a, 0x242e, 0x2432, 0x2436, 0x243a, 0x243e, 0x2442, 0x2446,
+ 0x244a, 0x244e, 0x2452, 0x2456, 0x245a, 0x245e, 0x2462, 0x2466,
+ 0x246a, 0x246e, 0x2472, 0x2476, 0x247a, 0x247e, 0x2482, 0x2486,
+ 0x248a, 0x248e, 0x2492, 0x2496, 0x249a, 0x249e, 0x24a2, 0x24a6,
+ 0x24aa, 0x24ae, 0x24b2, 0x24b6, 0x24ba, 0x24be, 0x24c2, 0x24c6,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x24ca, 0x24ce, 0x24d2, 0x24d7, 0x24dc, 0x24e1, 0x24e6, 0x24eb,
+ 0x24f0, 0x24f5, 0x24f9, 0x250c, 0x2515, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x251a, 0x251c, 0x251e, 0x2520, 0x2522, 0x2524, 0x2526, 0x2528,
+ 0x252a, 0x252c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x252e, 0x2530, 0x2532, 0x2534, 0x2536, 0x2538, 0x253a, 0x253c,
+ 0x253e, 0x2540, 0x2542, 0x2544, 0x2546, 0x2548, 0x254a, 0x254c,
+ 0x254e, 0x2550, 0x2552, 0x2554, 0x2556, 0xffff, 0xffff, 0x2558,
+ 0x255a, 0x255c, 0x255e, 0x2560, 0x2562, 0x2564, 0x2566, 0x2568,
+ 0x256a, 0x256c, 0x256e, 0xffff, 0x2570, 0x2572, 0x2574, 0x2576,
+ 0x2578, 0x257a, 0x257c, 0x257e, 0x2580, 0x2582, 0x2584, 0x2586,
+ 0x2588, 0x258a, 0x258c, 0x258e, 0x2590, 0x2592, 0x2594, 0xffff,
+ 0x2596, 0x2598, 0x259a, 0x259c, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x259e, 0x25a1, 0x25a4, 0xffff, 0x25a7, 0xffff, 0x25aa, 0x25ad,
+ 0x25b0, 0x25b3, 0x25b6, 0x25b9, 0x25bc, 0x25bf, 0x25c2, 0x25c5,
+ 0x25c8, 0x25ca, 0x25cc, 0x25ce, 0x25d0, 0x25d2, 0x25d4, 0x25d6,
+ 0x25d8, 0x25da, 0x25dc, 0x25de, 0x25e0, 0x25e2, 0x25e4, 0x25e6,
+ 0x25e8, 0x25ea, 0x25ec, 0x25ee, 0x25f0, 0x25f2, 0x25f4, 0x25f6,
+ 0x25f8, 0x25fa, 0x25fc, 0x25fe, 0x2600, 0x2602, 0x2604, 0x2606,
+ 0x2608, 0x260a, 0x260c, 0x260e, 0x2610, 0x2612, 0x2614, 0x2616,
+ 0x2618, 0x261a, 0x261c, 0x261e, 0x2620, 0x2622, 0x2624, 0x2626,
+ 0x2628, 0x262a, 0x262c, 0x262e, 0x2630, 0x2632, 0x2634, 0x2636,
+ 0x2638, 0x263a, 0x263c, 0x263e, 0x2640, 0x2642, 0x2644, 0x2646,
+ 0x2648, 0x264a, 0x264c, 0x264e, 0x2650, 0x2652, 0x2654, 0x2656,
+ 0x2658, 0x265a, 0x265c, 0x265e, 0x2660, 0x2662, 0x2664, 0x2666,
+ 0x2668, 0x266a, 0x266c, 0x266e, 0x2670, 0x2672, 0x2674, 0x2676,
+ 0x2678, 0x267a, 0x267c, 0x267e, 0x2680, 0x2682, 0x2684, 0x2686,
+ 0x2688, 0x268a, 0x268c, 0x268e, 0x2690, 0x2692, 0x2694, 0x2696,
+ 0x2698, 0x269a, 0x269c, 0x269e, 0x26a0, 0x26a2, 0x26a4, 0x26a6,
+ 0x26a8, 0x26aa, 0x26ac, 0x26ae, 0x26b0, 0x26b2, 0x26b5, 0x26b8,
+ 0x26bb, 0x26be, 0x26c1, 0x26c4, 0x26c7, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0x26ca, 0x26cc, 0x26ce, 0x26d0, 0x26d2, 0x26d4, 0x26d6,
+ 0x26d8, 0x26da, 0x26dc, 0x26de, 0x26e0, 0x26e2, 0x26e4, 0x26e6,
+ 0x26e8, 0x26ea, 0x26ec, 0x26ee, 0x26f0, 0x26f2, 0x26f4, 0x26f6,
+ 0x26f8, 0x26fa, 0x26fc, 0x26fe, 0x2700, 0x2702, 0x2704, 0x2706,
+ 0x2708, 0x270a, 0x270c, 0x270e, 0x2710, 0x2712, 0x2714, 0x2716,
+ 0x2718, 0x271a, 0x271c, 0x271e, 0x2720, 0x2722, 0x2724, 0x2726,
+ 0x2728, 0x272a, 0x272c, 0x272e, 0x2730, 0x2732, 0x2734, 0x2736,
+ 0x2738, 0x273a, 0x273c, 0x273e, 0x2740, 0x2742, 0x2744, 0x2746,
+ 0x2748, 0x274a, 0x274c, 0x274e, 0x2750, 0x2752, 0x2754, 0x2756,
+ 0x2758, 0x275a, 0x275c, 0x275e, 0x2760, 0x2762, 0x2764, 0x2766,
+ 0x2768, 0x276a, 0x276c, 0x276e, 0x2770, 0x2772, 0x2774, 0x2776,
+ 0x2778, 0x277a, 0x277c, 0x277e, 0x2780, 0x2782, 0x2784, 0x2786,
+ 0x2788, 0x278a, 0x278c, 0x278e, 0x2790, 0x2792, 0x2794, 0x2796,
+ 0x2798, 0x279a, 0x279c, 0x279e, 0x27a0, 0x27a2, 0x27a4, 0x27a6,
+ 0x27a8, 0x27aa, 0x27ac, 0x27ae, 0x27b0, 0x27b2, 0x27b4, 0x27b6,
+ 0x27b8, 0x27ba, 0x27bc, 0x27be, 0x27c0, 0x27c2, 0x27c4, 0x27c6,
+ 0x27c8, 0x27ca, 0x27cc, 0x27ce, 0x27d0, 0x27d2, 0x27d4, 0x27d6,
+ 0x27d8, 0x27da, 0x27dc, 0x27de, 0x27e0, 0x27e2, 0x27e4, 0x27e6,
+ 0x27e8, 0x27ea, 0x27ec, 0x27ee, 0x27f0, 0x27f2, 0x27f4, 0x27f6,
+ 0x27f8, 0x27fa, 0x27fc, 0x27fe, 0x2800, 0x2802, 0x2804, 0x2806,
+ 0x2808, 0x280a, 0x280c, 0x280e, 0x2810, 0x2812, 0x2814, 0x2816,
+ 0x2818, 0x281a, 0x281c, 0x281e, 0x2820, 0x2822, 0x2824, 0x2826,
+ 0x2828, 0x282a, 0x282c, 0x282e, 0x2830, 0x2832, 0x2834, 0x2836,
+ 0x2838, 0x283a, 0x283c, 0x283e, 0x2840, 0x2842, 0x2844, 0xffff,
+ 0xffff, 0xffff, 0x2846, 0x2848, 0x284a, 0x284c, 0x284e, 0x2850,
+ 0xffff, 0xffff, 0x2852, 0x2854, 0x2856, 0x2858, 0x285a, 0x285c,
+ 0xffff, 0xffff, 0x285e, 0x2860, 0x2862, 0x2864, 0x2866, 0x2868,
+ 0xffff, 0xffff, 0x286a, 0x286c, 0x286e, 0xffff, 0xffff, 0xffff,
+ 0x2870, 0x2872, 0x2874, 0x2876, 0x2878, 0x287a, 0x287c, 0xffff,
+ 0x287e, 0x2880, 0x2882, 0x2884, 0x2886, 0x2888, 0x288a, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x288c, 0x2891,
+ 0x2896, 0x289b, 0x28a0, 0x28a5, 0x28aa, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x28af, 0x28b4, 0x28b9, 0x28be, 0x28c3,
+ 0x28c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0x28cd, 0x28cf, 0x28d1, 0x28d3, 0x28d5, 0x28d7, 0x28d9, 0x28db,
+ 0x28dd, 0x28df, 0x28e1, 0x28e3, 0x28e5, 0x28e7, 0x28e9, 0x28eb,
+ 0x28ed, 0x28ef, 0x28f1, 0x28f3, 0x28f5, 0x28f7, 0x28f9, 0x28fb,
+ 0x28fd, 0x28ff, 0x2901, 0x2903, 0x2905, 0x2907, 0x2909, 0x290b,
+ 0x290d, 0x290f, 0x2911, 0x2913, 0x2915, 0x2917, 0x2919, 0x291b,
+ 0x291d, 0x291f, 0x2921, 0x2923, 0x2925, 0x2927, 0x2929, 0x292b,
+ 0x292d, 0x292f, 0x2931, 0x2933, 0x2935, 0x2937, 0x2939, 0x293b,
+ 0x293d, 0x293f, 0x2941, 0x2943, 0x2945, 0x2947, 0x2949, 0x294b,
+ 0x294d, 0x294f, 0x2951, 0x2953, 0x2955, 0x2957, 0x2959, 0x295b,
+ 0x295d, 0x295f, 0x2961, 0x2963, 0x2965, 0x2967, 0x2969, 0x296b,
+ 0x296d, 0x296f, 0x2971, 0x2973, 0x2975, 0xffff, 0x2977, 0x2979,
+ 0x297b, 0x297d, 0x297f, 0x2981, 0x2983, 0x2985, 0x2987, 0x2989,
+ 0x298b, 0x298d, 0x298f, 0x2991, 0x2993, 0x2995, 0x2997, 0x2999,
+ 0x299b, 0x299d, 0x299f, 0x29a1, 0x29a3, 0x29a5, 0x29a7, 0x29a9,
+ 0x29ab, 0x29ad, 0x29af, 0x29b1, 0x29b3, 0x29b5, 0x29b7, 0x29b9,
+ 0x29bb, 0x29bd, 0x29bf, 0x29c1, 0x29c3, 0x29c5, 0x29c7, 0x29c9,
+ 0x29cb, 0x29cd, 0x29cf, 0x29d1, 0x29d3, 0x29d5, 0x29d7, 0x29d9,
+ 0x29db, 0x29dd, 0x29df, 0x29e1, 0x29e3, 0x29e5, 0x29e7, 0x29e9,
+ 0x29eb, 0x29ed, 0x29ef, 0x29f1, 0x29f3, 0x29f5, 0x29f7, 0x29f9,
+ 0x29fb, 0x29fd, 0x29ff, 0x2a01, 0x2a03, 0xffff, 0x2a05, 0x2a07,
+ 0xffff, 0xffff, 0x2a09, 0xffff, 0xffff, 0x2a0b, 0x2a0d, 0xffff,
+ 0xffff, 0x2a0f, 0x2a11, 0x2a13, 0x2a15, 0xffff, 0x2a17, 0x2a19,
+ 0x2a1b, 0x2a1d, 0x2a1f, 0x2a21, 0x2a23, 0x2a25, 0x2a27, 0x2a29,
+ 0x2a2b, 0x2a2d, 0xffff, 0x2a2f, 0xffff, 0x2a31, 0x2a33, 0x2a35,
+ 0x2a37, 0x2a39, 0x2a3b, 0x2a3d, 0xffff, 0x2a3f, 0x2a41, 0x2a43,
+ 0x2a45, 0x2a47, 0x2a49, 0x2a4b, 0x2a4d, 0x2a4f, 0x2a51, 0x2a53,
+ 0x2a55, 0x2a57, 0x2a59, 0x2a5b, 0x2a5d, 0x2a5f, 0x2a61, 0x2a63,
+ 0x2a65, 0x2a67, 0x2a69, 0x2a6b, 0x2a6d, 0x2a6f, 0x2a71, 0x2a73,
+ 0x2a75, 0x2a77, 0x2a79, 0x2a7b, 0x2a7d, 0x2a7f, 0x2a81, 0x2a83,
+ 0x2a85, 0x2a87, 0x2a89, 0x2a8b, 0x2a8d, 0x2a8f, 0x2a91, 0x2a93,
+ 0x2a95, 0x2a97, 0x2a99, 0x2a9b, 0x2a9d, 0x2a9f, 0x2aa1, 0x2aa3,
+ 0x2aa5, 0x2aa7, 0x2aa9, 0x2aab, 0x2aad, 0x2aaf, 0x2ab1, 0x2ab3,
+
+ 0x2ab5, 0x2ab7, 0x2ab9, 0x2abb, 0x2abd, 0x2abf, 0xffff, 0x2ac1,
+ 0x2ac3, 0x2ac5, 0x2ac7, 0xffff, 0xffff, 0x2ac9, 0x2acb, 0x2acd,
+ 0x2acf, 0x2ad1, 0x2ad3, 0x2ad5, 0x2ad7, 0xffff, 0x2ad9, 0x2adb,
+ 0x2add, 0x2adf, 0x2ae1, 0x2ae3, 0x2ae5, 0xffff, 0x2ae7, 0x2ae9,
+ 0x2aeb, 0x2aed, 0x2aef, 0x2af1, 0x2af3, 0x2af5, 0x2af7, 0x2af9,
+ 0x2afb, 0x2afd, 0x2aff, 0x2b01, 0x2b03, 0x2b05, 0x2b07, 0x2b09,
+ 0x2b0b, 0x2b0d, 0x2b0f, 0x2b11, 0x2b13, 0x2b15, 0x2b17, 0x2b19,
+ 0x2b1b, 0x2b1d, 0xffff, 0x2b1f, 0x2b21, 0x2b23, 0x2b25, 0xffff,
+ 0x2b27, 0x2b29, 0x2b2b, 0x2b2d, 0x2b2f, 0xffff, 0x2b31, 0xffff,
+ 0xffff, 0xffff, 0x2b33, 0x2b35, 0x2b37, 0x2b39, 0x2b3b, 0x2b3d,
+ 0x2b3f, 0xffff, 0x2b41, 0x2b43, 0x2b45, 0x2b47, 0x2b49, 0x2b4b,
+ 0x2b4d, 0x2b4f, 0x2b51, 0x2b53, 0x2b55, 0x2b57, 0x2b59, 0x2b5b,
+ 0x2b5d, 0x2b5f, 0x2b61, 0x2b63, 0x2b65, 0x2b67, 0x2b69, 0x2b6b,
+ 0x2b6d, 0x2b6f, 0x2b71, 0x2b73, 0x2b75, 0x2b77, 0x2b79, 0x2b7b,
+ 0x2b7d, 0x2b7f, 0x2b81, 0x2b83, 0x2b85, 0x2b87, 0x2b89, 0x2b8b,
+ 0x2b8d, 0x2b8f, 0x2b91, 0x2b93, 0x2b95, 0x2b97, 0x2b99, 0x2b9b,
+ 0x2b9d, 0x2b9f, 0x2ba1, 0x2ba3, 0x2ba5, 0x2ba7, 0x2ba9, 0x2bab,
+ 0x2bad, 0x2baf, 0x2bb1, 0x2bb3, 0x2bb5, 0x2bb7, 0x2bb9, 0x2bbb,
+ 0x2bbd, 0x2bbf, 0x2bc1, 0x2bc3, 0x2bc5, 0x2bc7, 0x2bc9, 0x2bcb,
+ 0x2bcd, 0x2bcf, 0x2bd1, 0x2bd3, 0x2bd5, 0x2bd7, 0x2bd9, 0x2bdb,
+ 0x2bdd, 0x2bdf, 0x2be1, 0x2be3, 0x2be5, 0x2be7, 0x2be9, 0x2beb,
+ 0x2bed, 0x2bef, 0x2bf1, 0x2bf3, 0x2bf5, 0x2bf7, 0x2bf9, 0x2bfb,
+ 0x2bfd, 0x2bff, 0x2c01, 0x2c03, 0x2c05, 0x2c07, 0x2c09, 0x2c0b,
+ 0x2c0d, 0x2c0f, 0x2c11, 0x2c13, 0x2c15, 0x2c17, 0x2c19, 0x2c1b,
+ 0x2c1d, 0x2c1f, 0x2c21, 0x2c23, 0x2c25, 0x2c27, 0x2c29, 0x2c2b,
+ 0x2c2d, 0x2c2f, 0x2c31, 0x2c33, 0x2c35, 0x2c37, 0x2c39, 0x2c3b,
+ 0x2c3d, 0x2c3f, 0x2c41, 0x2c43, 0x2c45, 0x2c47, 0x2c49, 0x2c4b,
+ 0x2c4d, 0x2c4f, 0x2c51, 0x2c53, 0x2c55, 0x2c57, 0x2c59, 0x2c5b,
+ 0x2c5d, 0x2c5f, 0x2c61, 0x2c63, 0x2c65, 0x2c67, 0x2c69, 0x2c6b,
+ 0x2c6d, 0x2c6f, 0x2c71, 0x2c73, 0x2c75, 0x2c77, 0x2c79, 0x2c7b,
+ 0x2c7d, 0x2c7f, 0x2c81, 0x2c83, 0x2c85, 0x2c87, 0x2c89, 0x2c8b,
+ 0x2c8d, 0x2c8f, 0x2c91, 0x2c93, 0x2c95, 0x2c97, 0x2c99, 0x2c9b,
+
+ 0x2c9d, 0x2c9f, 0x2ca1, 0x2ca3, 0x2ca5, 0x2ca7, 0x2ca9, 0x2cab,
+ 0x2cad, 0x2caf, 0x2cb1, 0x2cb3, 0x2cb5, 0x2cb7, 0x2cb9, 0x2cbb,
+ 0x2cbd, 0x2cbf, 0x2cc1, 0x2cc3, 0x2cc5, 0x2cc7, 0x2cc9, 0x2ccb,
+ 0x2ccd, 0x2ccf, 0x2cd1, 0x2cd3, 0x2cd5, 0x2cd7, 0x2cd9, 0x2cdb,
+ 0x2cdd, 0x2cdf, 0x2ce1, 0x2ce3, 0x2ce5, 0x2ce7, 0x2ce9, 0x2ceb,
+ 0x2ced, 0x2cef, 0x2cf1, 0x2cf3, 0x2cf5, 0x2cf7, 0x2cf9, 0x2cfb,
+ 0x2cfd, 0x2cff, 0x2d01, 0x2d03, 0x2d05, 0x2d07, 0x2d09, 0x2d0b,
+ 0x2d0d, 0x2d0f, 0x2d11, 0x2d13, 0x2d15, 0x2d17, 0x2d19, 0x2d1b,
+ 0x2d1d, 0x2d1f, 0x2d21, 0x2d23, 0x2d25, 0x2d27, 0x2d29, 0x2d2b,
+ 0x2d2d, 0x2d2f, 0x2d31, 0x2d33, 0x2d35, 0x2d37, 0x2d39, 0x2d3b,
+ 0x2d3d, 0x2d3f, 0x2d41, 0x2d43, 0x2d45, 0x2d47, 0x2d49, 0x2d4b,
+ 0x2d4d, 0x2d4f, 0x2d51, 0x2d53, 0x2d55, 0x2d57, 0x2d59, 0x2d5b,
+ 0x2d5d, 0x2d5f, 0x2d61, 0x2d63, 0x2d65, 0x2d67, 0x2d69, 0x2d6b,
+ 0x2d6d, 0x2d6f, 0x2d71, 0x2d73, 0x2d75, 0x2d77, 0x2d79, 0x2d7b,
+ 0x2d7d, 0x2d7f, 0x2d81, 0x2d83, 0x2d85, 0x2d87, 0x2d89, 0x2d8b,
+ 0x2d8d, 0x2d8f, 0x2d91, 0x2d93, 0x2d95, 0x2d97, 0x2d99, 0x2d9b,
+ 0x2d9d, 0x2d9f, 0x2da1, 0x2da3, 0x2da5, 0x2da7, 0x2da9, 0x2dab,
+ 0x2dad, 0x2daf, 0x2db1, 0x2db3, 0x2db5, 0x2db7, 0x2db9, 0x2dbb,
+ 0x2dbd, 0x2dbf, 0x2dc1, 0x2dc3, 0x2dc5, 0x2dc7, 0x2dc9, 0x2dcb,
+ 0x2dcd, 0x2dcf, 0x2dd1, 0x2dd3, 0x2dd5, 0x2dd7, 0x2dd9, 0x2ddb,
+ 0x2ddd, 0x2ddf, 0x2de1, 0x2de3, 0x2de5, 0x2de7, 0xffff, 0xffff,
+ 0x2de9, 0x2deb, 0x2ded, 0x2def, 0x2df1, 0x2df3, 0x2df5, 0x2df7,
+ 0x2df9, 0x2dfb, 0x2dfd, 0x2dff, 0x2e01, 0x2e03, 0x2e05, 0x2e07,
+ 0x2e09, 0x2e0b, 0x2e0d, 0x2e0f, 0x2e11, 0x2e13, 0x2e15, 0x2e17,
+ 0x2e19, 0x2e1b, 0x2e1d, 0x2e1f, 0x2e21, 0x2e23, 0x2e25, 0x2e27,
+ 0x2e29, 0x2e2b, 0x2e2d, 0x2e2f, 0x2e31, 0x2e33, 0x2e35, 0x2e37,
+ 0x2e39, 0x2e3b, 0x2e3d, 0x2e3f, 0x2e41, 0x2e43, 0x2e45, 0x2e47,
+ 0x2e49, 0x2e4b, 0x2e4d, 0x2e4f, 0x2e51, 0x2e53, 0x2e55, 0x2e57,
+ 0x2e59, 0x2e5b, 0x2e5d, 0x2e5f, 0x2e61, 0x2e63, 0x2e65, 0x2e67,
+ 0x2e69, 0x2e6b, 0x2e6d, 0x2e6f, 0x2e71, 0x2e73, 0x2e75, 0x2e77,
+ 0x2e79, 0x2e7b, 0x2e7d, 0x2e7f, 0x2e81, 0x2e83, 0x2e85, 0x2e87,
+ 0x2e89, 0x2e8b, 0x2e8d, 0x2e8f, 0x2e91, 0x2e93, 0x2e95, 0x2e97,
+
+ 0x2e99, 0x2e9b, 0x2e9d, 0x2e9f, 0x2ea1, 0x2ea3, 0x2ea5, 0x2ea7,
+ 0x2ea9, 0x2eab, 0x2ead, 0x2eaf, 0x2eb1, 0x2eb3, 0x2eb5, 0x2eb7,
+ 0x2eb9, 0x2ebb, 0x2ebd, 0x2ebf, 0x2ec1, 0x2ec3, 0x2ec5, 0x2ec7,
+ 0x2ec9, 0x2ecb, 0x2ecd, 0x2ecf, 0x2ed1, 0x2ed3, 0x2ed5, 0x2ed7,
+ 0x2ed9, 0x2edb, 0x2edd, 0x2edf, 0x2ee1, 0x2ee3, 0x2ee5, 0x2ee7,
+ 0x2ee9, 0x2eeb, 0x2eed, 0x2eef, 0x2ef1, 0x2ef3, 0x2ef5, 0x2ef7,
+ 0x2ef9, 0x2efb, 0x2efd, 0x2eff, 0x2f01, 0x2f03, 0x2f05, 0x2f07,
+ 0x2f09, 0x2f0b, 0x2f0d, 0x2f0f, 0x2f11, 0x2f13, 0x2f15, 0x2f17,
+ 0x2f19, 0x2f1b, 0x2f1d, 0x2f1f, 0x2f21, 0x2f23, 0x2f25, 0x2f27,
+ 0x2f29, 0x2f2b, 0x2f2d, 0x2f2f, 0x2f31, 0x2f33, 0x2f35, 0x2f37,
+ 0x2f39, 0x2f3b, 0x2f3d, 0x2f3f, 0x2f41, 0x2f43, 0x2f45, 0x2f47,
+ 0x2f49, 0x2f4b, 0x2f4d, 0x2f4f, 0x2f51, 0x2f53, 0x2f55, 0x2f57,
+ 0x2f59, 0x2f5b, 0x2f5d, 0x2f5f, 0x2f61, 0x2f63, 0x2f65, 0x2f67,
+ 0x2f69, 0x2f6b, 0x2f6d, 0x2f6f, 0x2f71, 0x2f73, 0x2f75, 0x2f77,
+ 0x2f79, 0x2f7b, 0x2f7d, 0x2f7f, 0x2f81, 0x2f83, 0x2f85, 0x2f87,
+ 0x2f89, 0x2f8b, 0x2f8d, 0x2f8f, 0x2f91, 0x2f93, 0x2f95, 0x2f97,
+ 0x2f99, 0x2f9b, 0x2f9d, 0x2f9f, 0x2fa1, 0x2fa3, 0x2fa5, 0x2fa7,
+ 0x2fa9, 0x2fab, 0x2fad, 0x2faf, 0x2fb1, 0x2fb3, 0x2fb5, 0x2fb7,
+ 0x2fb9, 0x2fbb, 0x2fbd, 0x2fbf, 0x2fc1, 0x2fc3, 0x2fc5, 0x2fc7,
+ 0x2fc9, 0x2fcb, 0x2fcd, 0x2fcf, 0x2fd1, 0x2fd3, 0x2fd5, 0x2fd7,
+ 0x2fd9, 0x2fdb, 0x2fdd, 0x2fdf, 0x2fe1, 0x2fe3, 0x2fe5, 0x2fe7,
+ 0x2fe9, 0x2feb, 0x2fed, 0x2fef, 0x2ff1, 0x2ff3, 0x2ff5, 0x2ff7,
+ 0x2ff9, 0x2ffb, 0x2ffd, 0x2fff, 0x3001, 0x3003, 0x3005, 0x3007,
+ 0x3009, 0x300b, 0x300d, 0x300f, 0x3011, 0x3013, 0x3015, 0x3017,
+ 0x3019, 0x301b, 0x301d, 0x301f, 0x3021, 0x3023, 0x3025, 0x3027,
+ 0x3029, 0x302b, 0x302d, 0x302f, 0xffff, 0xffff, 0x3031, 0x3033,
+ 0x3035, 0x3037, 0x3039, 0x303b, 0x303d, 0x303f, 0x3041, 0x3043,
+ 0x3045, 0x3047, 0x3049, 0x304b, 0x304d, 0x304f, 0x3051, 0x3053,
+ 0x3055, 0x3057, 0x3059, 0x305b, 0x305d, 0x305f, 0x3061, 0x3063,
+ 0x3065, 0x3067, 0x3069, 0x306b, 0x306d, 0x306f, 0x3071, 0x3073,
+ 0x3075, 0x3077, 0x3079, 0x307b, 0x307d, 0x307f, 0x3081, 0x3083,
+ 0x3085, 0x3087, 0x3089, 0x308b, 0x308d, 0x308f, 0x3091, 0x3093,
+
+ 0x3095, 0x3097, 0x3099, 0x309b, 0x309e, 0x30a0, 0x30a2, 0x30a4,
+ 0x30a6, 0x30a8, 0x30aa, 0x30ac, 0x30ae, 0x30b0, 0x30b3, 0x30b5,
+ 0x30b7, 0x30b9, 0x30bb, 0x30be, 0x30c0, 0x30c2, 0x30c4, 0x30c7,
+ 0x30c9, 0x30cb, 0x30cd, 0x30cf, 0x30d1, 0x30d4, 0x30d6, 0x30d8,
+ 0x30da, 0x30dc, 0x30de, 0x30e0, 0x30e2, 0x30e4, 0x30e6, 0x30e8,
+ 0x30ea, 0x30ec, 0x30ee, 0x30f0, 0x30f2, 0x30f4, 0x30f6, 0x30f8,
+ 0x30fa, 0x30fc, 0x30fe, 0x3100, 0x3102, 0x3105, 0x3107, 0x3109,
+ 0x310b, 0x310e, 0x3110, 0x3112, 0x3114, 0x3116, 0x3118, 0x311a,
+ 0x311c, 0x311e, 0x3120, 0x3122, 0x3124, 0x3126, 0x3128, 0x312a,
+ 0x312c, 0x312e, 0x3130, 0x3132, 0x3134, 0x3136, 0x3138, 0x313a,
+ 0x313c, 0x313e, 0x3140, 0x3142, 0x3144, 0x3146, 0x3148, 0x314a,
+ 0x314c, 0x314e, 0x3151, 0x3153, 0x3155, 0x3157, 0x3159, 0x315b,
+ 0x315d, 0x3160, 0x3163, 0x3165, 0x3167, 0x3169, 0x316b, 0x316d,
+ 0x316f, 0x3171, 0x3173, 0x3175, 0x3177, 0x317a, 0x317c, 0x317e,
+ 0x3180, 0x3182, 0x3185, 0x3187, 0x3189, 0x318b, 0x318d, 0x318f,
+ 0x3191, 0x3193, 0x3195, 0x3197, 0x319a, 0x319c, 0x319f, 0x31a1,
+ 0x31a3, 0x31a5, 0x31a7, 0x31a9, 0x31ab, 0x31ad, 0x31af, 0x31b1,
+ 0x31b3, 0x31b5, 0x31b8, 0x31ba, 0x31bc, 0x31be, 0x31c0, 0x31c2,
+ 0x31c5, 0x31c7, 0x31ca, 0x31cd, 0x31cf, 0x31d1, 0x31d3, 0x31d5,
+ 0x31d8, 0x31db, 0x31dd, 0x31df, 0x31e1, 0x31e3, 0x31e5, 0x31e7,
+ 0x31e9, 0x31eb, 0x31ed, 0x31ef, 0x31f1, 0x31f4, 0x31f6, 0x31f8,
+ 0x31fa, 0x31fc, 0x31fe, 0x3200, 0x3202, 0x3204, 0x3206, 0x3208,
+ 0x320a, 0x320c, 0x320e, 0x3210, 0x3212, 0x3214, 0x3216, 0x3218,
+ 0x321a, 0x321d, 0x321f, 0x3221, 0x3223, 0x3225, 0x3227, 0x322a,
+ 0x322c, 0x322e, 0x3230, 0x3232, 0x3234, 0x3236, 0x3238, 0x323a,
+ 0x323c, 0x323e, 0x3240, 0x3243, 0x3245, 0x3247, 0x3249, 0x324b,
+ 0x324d, 0x324f, 0x3251, 0x3253, 0x3255, 0x3257, 0x3259, 0x325b,
+ 0x325d, 0x325f, 0x3261, 0x3263, 0x3265, 0x3267, 0x326a, 0x326c,
+ 0x326e, 0x3270, 0x3272, 0x3274, 0x3277, 0x3279, 0x327b, 0x327d,
+ 0x327f, 0x3281, 0x3283, 0x3285, 0x3287, 0x328a, 0x328c, 0x328e,
+ 0x3290, 0x3293, 0x3295, 0x3297, 0x3299, 0x329b, 0x329d, 0x329f,
+ 0x32a2, 0x32a5, 0x32a8, 0x32aa, 0x32ad, 0x32af, 0x32b1, 0x32b3,
+
+ 0x32b5, 0x32b7, 0x32b9, 0x32bb, 0x32bd, 0x32bf, 0x32c1, 0x32c4,
+ 0x32c6, 0x32c8, 0x32ca, 0x32cc, 0x32ce, 0x32d0, 0x32d3, 0x32d5,
+ 0x32d7, 0x32da, 0x32dd, 0x32df, 0x32e1, 0x32e3, 0x32e5, 0x32e7,
+ 0x32e9, 0x32eb, 0x32ed, 0x32ef, 0x32f2, 0x32f4, 0x32f7, 0x32f9,
+ 0x32fc, 0x32fe, 0x3300, 0x3302, 0x3305, 0x3307, 0x3309, 0x330c,
+ 0x330f, 0x3311, 0x3313, 0x3315, 0x3317, 0x3319, 0x331b, 0x331d,
+ 0x331f, 0x3321, 0x3323, 0x3325, 0x3327, 0x3329, 0x332c, 0x332e,
+ 0x3331, 0x3333, 0x3336, 0x3338, 0x333b, 0x333e, 0x3341, 0x3343,
+ 0x3345, 0x3347, 0x334a, 0x334d, 0x3350, 0x3353, 0x3355, 0x3357,
+ 0x3359, 0x335b, 0x335d, 0x335f, 0x3361, 0x3363, 0x3366, 0x3368,
+ 0x336a, 0x336c, 0x336e, 0x3371, 0x3373, 0x3376, 0x3379, 0x337b,
+ 0x337d, 0x337f, 0x3381, 0x3383, 0x3385, 0x3388, 0x338b, 0x338e,
+ 0x3390, 0x3392, 0x3395, 0x3397, 0x3399, 0x339b, 0x339e, 0x33a0,
+ 0x33a2, 0x33a4, 0x33a6, 0x33a8, 0x33ab, 0x33ad, 0x33af, 0x33b1,
+ 0x33b3, 0x33b5, 0x33b7, 0x33ba, 0x33bd, 0x33bf, 0x33c2, 0x33c4,
+ 0x33c7, 0x33c9, 0x33cb, 0x33cd, 0x33d0, 0x33d3, 0x33d5, 0x33d8,
+ 0x33da, 0x33dd, 0x33df, 0x33e1, 0x33e3, 0x33e5, 0x33e7, 0x33e9,
+ 0x33ec, 0x33ef, 0x33f2, 0x33f5, 0x33f7, 0x33f9, 0x33fb, 0x33fd,
+ 0x33ff, 0x3401, 0x3403, 0x3405, 0x3407, 0x3409, 0x340b, 0x340d,
+ 0x3410, 0x3412, 0x3414, 0x3416, 0x3418, 0x341a, 0x341c, 0x341e,
+ 0x3420, 0x3422, 0x3424, 0x3426, 0x3428, 0x342b, 0x342e, 0x3431,
+ 0x3433, 0x3435, 0x3437, 0x3439, 0x343c, 0x343e, 0x3441, 0x3443,
+ 0x3445, 0x3448, 0x344b, 0x344d, 0x344f, 0x3451, 0x3453, 0x3455,
+ 0x3457, 0x3459, 0x345b, 0x345d, 0x345f, 0x3461, 0x3463, 0x3465,
+ 0x3467, 0x3469, 0x346b, 0x346d, 0x346f, 0x3471, 0x3474, 0x3476,
+ 0x3478, 0x347a, 0x347c, 0x347e, 0x3481, 0x3484, 0x3486, 0x3488,
+ 0x348a, 0x348c, 0x348e, 0x3490, 0x3493, 0x3495, 0x3497, 0x3499,
+ 0x349b, 0x349e, 0x34a1, 0x34a3, 0x34a5, 0x34a7, 0x34aa, 0x34ac,
+ 0x34ae, 0x34b1, 0x34b4, 0x34b6, 0x34b8, 0x34ba, 0x34bd, 0x34bf,
+ 0x34c1, 0x34c3, 0x34c5, 0x34c7, 0x34c9, 0x34cb, 0x34ce, 0x34d0,
+ 0x34d2, 0x34d4, 0x34d7, 0x34d9, 0x34db, 0x34dd, 0x34df, 0x34e2,
+ 0x34e5, 0x34e7, 0x34e9, 0x34eb, 0x34ee, 0x34f0, 0x34f3, 0x34f5,
+
+ 0x34f7, 0x34f9, 0x34fc, 0x34fe, 0x3500, 0x3502, 0x3504, 0x3506,
+ 0x3508, 0x350a, 0x350d, 0x350f, 0x3511, 0x3513, 0x3515, 0x3517,
+ 0x3519, 0x351c, 0x351e, 0x3521, 0x3524, 0x3527, 0x3529, 0x352b,
+ 0x352d, 0x352f, 0x3531, 0x3533, 0x3535, 0x3537, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
};
#define GET_DECOMPOSITION_INDEX(ucs4) \
@@ -5833,2113 +5834,2113 @@ static const unsigned short uc_decomposition_trie[] = {
static const unsigned short uc_decomposition_map[] = {
- 0x103, 0x20, 0x210, 0x20, 0x308, 0x109, 0x61, 0x210,
- 0x20, 0x304, 0x109, 0x32, 0x109, 0x33, 0x210, 0x20,
- 0x301, 0x110, 0x3bc, 0x210, 0x20, 0x327, 0x109, 0x31,
- 0x109, 0x6f, 0x311, 0x31, 0x2044, 0x34, 0x311, 0x31,
- 0x2044, 0x32, 0x311, 0x33, 0x2044, 0x34, 0x201, 0x41,
- 0x300, 0x201, 0x41, 0x301, 0x201, 0x41, 0x302, 0x201,
- 0x41, 0x303, 0x201, 0x41, 0x308, 0x201, 0x41, 0x30a,
- 0x201, 0x43, 0x327, 0x201, 0x45, 0x300, 0x201, 0x45,
- 0x301, 0x201, 0x45, 0x302, 0x201, 0x45, 0x308, 0x201,
- 0x49, 0x300, 0x201, 0x49, 0x301, 0x201, 0x49, 0x302,
- 0x201, 0x49, 0x308, 0x201, 0x4e, 0x303, 0x201, 0x4f,
- 0x300, 0x201, 0x4f, 0x301, 0x201, 0x4f, 0x302, 0x201,
- 0x4f, 0x303, 0x201, 0x4f, 0x308, 0x201, 0x55, 0x300,
- 0x201, 0x55, 0x301, 0x201, 0x55, 0x302, 0x201, 0x55,
- 0x308, 0x201, 0x59, 0x301, 0x201, 0x61, 0x300, 0x201,
- 0x61, 0x301, 0x201, 0x61, 0x302, 0x201, 0x61, 0x303,
- 0x201, 0x61, 0x308, 0x201, 0x61, 0x30a, 0x201, 0x63,
- 0x327, 0x201, 0x65, 0x300, 0x201, 0x65, 0x301, 0x201,
- 0x65, 0x302, 0x201, 0x65, 0x308, 0x201, 0x69, 0x300,
- 0x201, 0x69, 0x301, 0x201, 0x69, 0x302, 0x201, 0x69,
- 0x308, 0x201, 0x6e, 0x303, 0x201, 0x6f, 0x300, 0x201,
- 0x6f, 0x301, 0x201, 0x6f, 0x302, 0x201, 0x6f, 0x303,
- 0x201, 0x6f, 0x308, 0x201, 0x75, 0x300, 0x201, 0x75,
- 0x301, 0x201, 0x75, 0x302, 0x201, 0x75, 0x308, 0x201,
- 0x79, 0x301, 0x201, 0x79, 0x308, 0x201, 0x41, 0x304,
- 0x201, 0x61, 0x304, 0x201, 0x41, 0x306, 0x201, 0x61,
- 0x306, 0x201, 0x41, 0x328, 0x201, 0x61, 0x328, 0x201,
- 0x43, 0x301, 0x201, 0x63, 0x301, 0x201, 0x43, 0x302,
- 0x201, 0x63, 0x302, 0x201, 0x43, 0x307, 0x201, 0x63,
- 0x307, 0x201, 0x43, 0x30c, 0x201, 0x63, 0x30c, 0x201,
- 0x44, 0x30c, 0x201, 0x64, 0x30c, 0x201, 0x45, 0x304,
- 0x201, 0x65, 0x304, 0x201, 0x45, 0x306, 0x201, 0x65,
- 0x306, 0x201, 0x45, 0x307, 0x201, 0x65, 0x307, 0x201,
- 0x45, 0x328, 0x201, 0x65, 0x328, 0x201, 0x45, 0x30c,
- 0x201, 0x65, 0x30c, 0x201, 0x47, 0x302, 0x201, 0x67,
- 0x302, 0x201, 0x47, 0x306, 0x201, 0x67, 0x306, 0x201,
- 0x47, 0x307, 0x201, 0x67, 0x307, 0x201, 0x47, 0x327,
- 0x201, 0x67, 0x327, 0x201, 0x48, 0x302, 0x201, 0x68,
- 0x302, 0x201, 0x49, 0x303, 0x201, 0x69, 0x303, 0x201,
- 0x49, 0x304, 0x201, 0x69, 0x304, 0x201, 0x49, 0x306,
- 0x201, 0x69, 0x306, 0x201, 0x49, 0x328, 0x201, 0x69,
- 0x328, 0x201, 0x49, 0x307, 0x210, 0x49, 0x4a, 0x210,
- 0x69, 0x6a, 0x201, 0x4a, 0x302, 0x201, 0x6a, 0x302,
- 0x201, 0x4b, 0x327, 0x201, 0x6b, 0x327, 0x201, 0x4c,
- 0x301, 0x201, 0x6c, 0x301, 0x201, 0x4c, 0x327, 0x201,
- 0x6c, 0x327, 0x201, 0x4c, 0x30c, 0x201, 0x6c, 0x30c,
- 0x210, 0x4c, 0xb7, 0x210, 0x6c, 0xb7, 0x201, 0x4e,
- 0x301, 0x201, 0x6e, 0x301, 0x201, 0x4e, 0x327, 0x201,
- 0x6e, 0x327, 0x201, 0x4e, 0x30c, 0x201, 0x6e, 0x30c,
- 0x210, 0x2bc, 0x6e, 0x201, 0x4f, 0x304, 0x201, 0x6f,
- 0x304, 0x201, 0x4f, 0x306, 0x201, 0x6f, 0x306, 0x201,
- 0x4f, 0x30b, 0x201, 0x6f, 0x30b, 0x201, 0x52, 0x301,
- 0x201, 0x72, 0x301, 0x201, 0x52, 0x327, 0x201, 0x72,
- 0x327, 0x201, 0x52, 0x30c, 0x201, 0x72, 0x30c, 0x201,
- 0x53, 0x301, 0x201, 0x73, 0x301, 0x201, 0x53, 0x302,
- 0x201, 0x73, 0x302, 0x201, 0x53, 0x327, 0x201, 0x73,
- 0x327, 0x201, 0x53, 0x30c, 0x201, 0x73, 0x30c, 0x201,
- 0x54, 0x327, 0x201, 0x74, 0x327, 0x201, 0x54, 0x30c,
- 0x201, 0x74, 0x30c, 0x201, 0x55, 0x303, 0x201, 0x75,
- 0x303, 0x201, 0x55, 0x304, 0x201, 0x75, 0x304, 0x201,
- 0x55, 0x306, 0x201, 0x75, 0x306, 0x201, 0x55, 0x30a,
- 0x201, 0x75, 0x30a, 0x201, 0x55, 0x30b, 0x201, 0x75,
- 0x30b, 0x201, 0x55, 0x328, 0x201, 0x75, 0x328, 0x201,
- 0x57, 0x302, 0x201, 0x77, 0x302, 0x201, 0x59, 0x302,
- 0x201, 0x79, 0x302, 0x201, 0x59, 0x308, 0x201, 0x5a,
- 0x301, 0x201, 0x7a, 0x301, 0x201, 0x5a, 0x307, 0x201,
- 0x7a, 0x307, 0x201, 0x5a, 0x30c, 0x201, 0x7a, 0x30c,
- 0x110, 0x73, 0x201, 0x4f, 0x31b, 0x201, 0x6f, 0x31b,
- 0x201, 0x55, 0x31b, 0x201, 0x75, 0x31b, 0x210, 0x44,
- 0x17d, 0x210, 0x44, 0x17e, 0x210, 0x64, 0x17e, 0x210,
- 0x4c, 0x4a, 0x210, 0x4c, 0x6a, 0x210, 0x6c, 0x6a,
- 0x210, 0x4e, 0x4a, 0x210, 0x4e, 0x6a, 0x210, 0x6e,
- 0x6a, 0x201, 0x41, 0x30c, 0x201, 0x61, 0x30c, 0x201,
- 0x49, 0x30c, 0x201, 0x69, 0x30c, 0x201, 0x4f, 0x30c,
- 0x201, 0x6f, 0x30c, 0x201, 0x55, 0x30c, 0x201, 0x75,
- 0x30c, 0x201, 0xdc, 0x304, 0x201, 0xfc, 0x304, 0x201,
- 0xdc, 0x301, 0x201, 0xfc, 0x301, 0x201, 0xdc, 0x30c,
- 0x201, 0xfc, 0x30c, 0x201, 0xdc, 0x300, 0x201, 0xfc,
- 0x300, 0x201, 0xc4, 0x304, 0x201, 0xe4, 0x304, 0x201,
- 0x226, 0x304, 0x201, 0x227, 0x304, 0x201, 0xc6, 0x304,
- 0x201, 0xe6, 0x304, 0x201, 0x47, 0x30c, 0x201, 0x67,
- 0x30c, 0x201, 0x4b, 0x30c, 0x201, 0x6b, 0x30c, 0x201,
- 0x4f, 0x328, 0x201, 0x6f, 0x328, 0x201, 0x1ea, 0x304,
- 0x201, 0x1eb, 0x304, 0x201, 0x1b7, 0x30c, 0x201, 0x292,
- 0x30c, 0x201, 0x6a, 0x30c, 0x210, 0x44, 0x5a, 0x210,
- 0x44, 0x7a, 0x210, 0x64, 0x7a, 0x201, 0x47, 0x301,
- 0x201, 0x67, 0x301, 0x201, 0x4e, 0x300, 0x201, 0x6e,
- 0x300, 0x201, 0xc5, 0x301, 0x201, 0xe5, 0x301, 0x201,
- 0xc6, 0x301, 0x201, 0xe6, 0x301, 0x201, 0xd8, 0x301,
- 0x201, 0xf8, 0x301, 0x201, 0x41, 0x30f, 0x201, 0x61,
- 0x30f, 0x201, 0x41, 0x311, 0x201, 0x61, 0x311, 0x201,
- 0x45, 0x30f, 0x201, 0x65, 0x30f, 0x201, 0x45, 0x311,
- 0x201, 0x65, 0x311, 0x201, 0x49, 0x30f, 0x201, 0x69,
- 0x30f, 0x201, 0x49, 0x311, 0x201, 0x69, 0x311, 0x201,
- 0x4f, 0x30f, 0x201, 0x6f, 0x30f, 0x201, 0x4f, 0x311,
- 0x201, 0x6f, 0x311, 0x201, 0x52, 0x30f, 0x201, 0x72,
- 0x30f, 0x201, 0x52, 0x311, 0x201, 0x72, 0x311, 0x201,
- 0x55, 0x30f, 0x201, 0x75, 0x30f, 0x201, 0x55, 0x311,
- 0x201, 0x75, 0x311, 0x201, 0x53, 0x326, 0x201, 0x73,
- 0x326, 0x201, 0x54, 0x326, 0x201, 0x74, 0x326, 0x201,
- 0x48, 0x30c, 0x201, 0x68, 0x30c, 0x201, 0x41, 0x307,
- 0x201, 0x61, 0x307, 0x201, 0x45, 0x327, 0x201, 0x65,
- 0x327, 0x201, 0xd6, 0x304, 0x201, 0xf6, 0x304, 0x201,
- 0xd5, 0x304, 0x201, 0xf5, 0x304, 0x201, 0x4f, 0x307,
- 0x201, 0x6f, 0x307, 0x201, 0x22e, 0x304, 0x201, 0x22f,
- 0x304, 0x201, 0x59, 0x304, 0x201, 0x79, 0x304, 0x109,
- 0x68, 0x109, 0x266, 0x109, 0x6a, 0x109, 0x72, 0x109,
- 0x279, 0x109, 0x27b, 0x109, 0x281, 0x109, 0x77, 0x109,
- 0x79, 0x210, 0x20, 0x306, 0x210, 0x20, 0x307, 0x210,
- 0x20, 0x30a, 0x210, 0x20, 0x328, 0x210, 0x20, 0x303,
- 0x210, 0x20, 0x30b, 0x109, 0x263, 0x109, 0x6c, 0x109,
- 0x73, 0x109, 0x78, 0x109, 0x295, 0x101, 0x300, 0x101,
- 0x301, 0x101, 0x313, 0x201, 0x308, 0x301, 0x101, 0x2b9,
- 0x210, 0x20, 0x345, 0x101, 0x3b, 0x210, 0x20, 0x301,
- 0x201, 0xa8, 0x301, 0x201, 0x391, 0x301, 0x101, 0xb7,
- 0x201, 0x395, 0x301, 0x201, 0x397, 0x301, 0x201, 0x399,
- 0x301, 0x201, 0x39f, 0x301, 0x201, 0x3a5, 0x301, 0x201,
- 0x3a9, 0x301, 0x201, 0x3ca, 0x301, 0x201, 0x399, 0x308,
- 0x201, 0x3a5, 0x308, 0x201, 0x3b1, 0x301, 0x201, 0x3b5,
- 0x301, 0x201, 0x3b7, 0x301, 0x201, 0x3b9, 0x301, 0x201,
- 0x3cb, 0x301, 0x201, 0x3b9, 0x308, 0x201, 0x3c5, 0x308,
- 0x201, 0x3bf, 0x301, 0x201, 0x3c5, 0x301, 0x201, 0x3c9,
- 0x301, 0x110, 0x3b2, 0x110, 0x3b8, 0x110, 0x3a5, 0x201,
- 0x3d2, 0x301, 0x201, 0x3d2, 0x308, 0x110, 0x3c6, 0x110,
- 0x3c0, 0x110, 0x3ba, 0x110, 0x3c1, 0x110, 0x3c2, 0x110,
- 0x398, 0x110, 0x3b5, 0x110, 0x3a3, 0x201, 0x415, 0x300,
- 0x201, 0x415, 0x308, 0x201, 0x413, 0x301, 0x201, 0x406,
- 0x308, 0x201, 0x41a, 0x301, 0x201, 0x418, 0x300, 0x201,
- 0x423, 0x306, 0x201, 0x418, 0x306, 0x201, 0x438, 0x306,
- 0x201, 0x435, 0x300, 0x201, 0x435, 0x308, 0x201, 0x433,
- 0x301, 0x201, 0x456, 0x308, 0x201, 0x43a, 0x301, 0x201,
- 0x438, 0x300, 0x201, 0x443, 0x306, 0x201, 0x474, 0x30f,
- 0x201, 0x475, 0x30f, 0x201, 0x416, 0x306, 0x201, 0x436,
- 0x306, 0x201, 0x410, 0x306, 0x201, 0x430, 0x306, 0x201,
- 0x410, 0x308, 0x201, 0x430, 0x308, 0x201, 0x415, 0x306,
- 0x201, 0x435, 0x306, 0x201, 0x4d8, 0x308, 0x201, 0x4d9,
- 0x308, 0x201, 0x416, 0x308, 0x201, 0x436, 0x308, 0x201,
- 0x417, 0x308, 0x201, 0x437, 0x308, 0x201, 0x418, 0x304,
- 0x201, 0x438, 0x304, 0x201, 0x418, 0x308, 0x201, 0x438,
- 0x308, 0x201, 0x41e, 0x308, 0x201, 0x43e, 0x308, 0x201,
- 0x4e8, 0x308, 0x201, 0x4e9, 0x308, 0x201, 0x42d, 0x308,
- 0x201, 0x44d, 0x308, 0x201, 0x423, 0x304, 0x201, 0x443,
- 0x304, 0x201, 0x423, 0x308, 0x201, 0x443, 0x308, 0x201,
- 0x423, 0x30b, 0x201, 0x443, 0x30b, 0x201, 0x427, 0x308,
- 0x201, 0x447, 0x308, 0x201, 0x42b, 0x308, 0x201, 0x44b,
- 0x308, 0x210, 0x565, 0x582, 0x201, 0x627, 0x653, 0x201,
- 0x627, 0x654, 0x201, 0x648, 0x654, 0x201, 0x627, 0x655,
- 0x201, 0x64a, 0x654, 0x210, 0x627, 0x674, 0x210, 0x648,
- 0x674, 0x210, 0x6c7, 0x674, 0x210, 0x64a, 0x674, 0x201,
- 0x6d5, 0x654, 0x201, 0x6c1, 0x654, 0x201, 0x6d2, 0x654,
- 0x201, 0x928, 0x93c, 0x201, 0x930, 0x93c, 0x201, 0x933,
- 0x93c, 0x201, 0x915, 0x93c, 0x201, 0x916, 0x93c, 0x201,
- 0x917, 0x93c, 0x201, 0x91c, 0x93c, 0x201, 0x921, 0x93c,
- 0x201, 0x922, 0x93c, 0x201, 0x92b, 0x93c, 0x201, 0x92f,
- 0x93c, 0x201, 0x9c7, 0x9be, 0x201, 0x9c7, 0x9d7, 0x201,
- 0x9a1, 0x9bc, 0x201, 0x9a2, 0x9bc, 0x201, 0x9af, 0x9bc,
- 0x201, 0xa32, 0xa3c, 0x201, 0xa38, 0xa3c, 0x201, 0xa16,
- 0xa3c, 0x201, 0xa17, 0xa3c, 0x201, 0xa1c, 0xa3c, 0x201,
- 0xa2b, 0xa3c, 0x201, 0xb47, 0xb56, 0x201, 0xb47, 0xb3e,
- 0x201, 0xb47, 0xb57, 0x201, 0xb21, 0xb3c, 0x201, 0xb22,
- 0xb3c, 0x201, 0xb92, 0xbd7, 0x201, 0xbc6, 0xbbe, 0x201,
- 0xbc7, 0xbbe, 0x201, 0xbc6, 0xbd7, 0x201, 0xc46, 0xc56,
- 0x201, 0xcbf, 0xcd5, 0x201, 0xcc6, 0xcd5, 0x201, 0xcc6,
- 0xcd6, 0x201, 0xcc6, 0xcc2, 0x201, 0xcca, 0xcd5, 0x201,
- 0xd46, 0xd3e, 0x201, 0xd47, 0xd3e, 0x201, 0xd46, 0xd57,
- 0x201, 0xdd9, 0xdca, 0x201, 0xdd9, 0xdcf, 0x201, 0xddc,
- 0xdca, 0x201, 0xdd9, 0xddf, 0x210, 0xe4d, 0xe32, 0x210,
- 0xecd, 0xeb2, 0x210, 0xeab, 0xe99, 0x210, 0xeab, 0xea1,
- 0x103, 0xf0b, 0x201, 0xf42, 0xfb7, 0x201, 0xf4c, 0xfb7,
- 0x201, 0xf51, 0xfb7, 0x201, 0xf56, 0xfb7, 0x201, 0xf5b,
- 0xfb7, 0x201, 0xf40, 0xfb5, 0x201, 0xf71, 0xf72, 0x201,
- 0xf71, 0xf74, 0x201, 0xfb2, 0xf80, 0x210, 0xfb2, 0xf81,
- 0x201, 0xfb3, 0xf80, 0x210, 0xfb3, 0xf81, 0x201, 0xf71,
- 0xf80, 0x201, 0xf92, 0xfb7, 0x201, 0xf9c, 0xfb7, 0x201,
- 0xfa1, 0xfb7, 0x201, 0xfa6, 0xfb7, 0x201, 0xfab, 0xfb7,
- 0x201, 0xf90, 0xfb5, 0x201, 0x1025, 0x102e, 0x109, 0x10dc,
- 0x201, 0x1b05, 0x1b35, 0x201, 0x1b07, 0x1b35, 0x201, 0x1b09,
- 0x1b35, 0x201, 0x1b0b, 0x1b35, 0x201, 0x1b0d, 0x1b35, 0x201,
- 0x1b11, 0x1b35, 0x201, 0x1b3a, 0x1b35, 0x201, 0x1b3c, 0x1b35,
- 0x201, 0x1b3e, 0x1b35, 0x201, 0x1b3f, 0x1b35, 0x201, 0x1b42,
- 0x1b35, 0x109, 0x41, 0x109, 0xc6, 0x109, 0x42, 0x109,
- 0x44, 0x109, 0x45, 0x109, 0x18e, 0x109, 0x47, 0x109,
- 0x48, 0x109, 0x49, 0x109, 0x4a, 0x109, 0x4b, 0x109,
- 0x4c, 0x109, 0x4d, 0x109, 0x4e, 0x109, 0x4f, 0x109,
- 0x222, 0x109, 0x50, 0x109, 0x52, 0x109, 0x54, 0x109,
- 0x55, 0x109, 0x57, 0x109, 0x61, 0x109, 0x250, 0x109,
- 0x251, 0x109, 0x1d02, 0x109, 0x62, 0x109, 0x64, 0x109,
- 0x65, 0x109, 0x259, 0x109, 0x25b, 0x109, 0x25c, 0x109,
- 0x67, 0x109, 0x6b, 0x109, 0x6d, 0x109, 0x14b, 0x109,
- 0x6f, 0x109, 0x254, 0x109, 0x1d16, 0x109, 0x1d17, 0x109,
- 0x70, 0x109, 0x74, 0x109, 0x75, 0x109, 0x1d1d, 0x109,
- 0x26f, 0x109, 0x76, 0x109, 0x1d25, 0x109, 0x3b2, 0x109,
- 0x3b3, 0x109, 0x3b4, 0x109, 0x3c6, 0x109, 0x3c7, 0x10a,
- 0x69, 0x10a, 0x72, 0x10a, 0x75, 0x10a, 0x76, 0x10a,
- 0x3b2, 0x10a, 0x3b3, 0x10a, 0x3c1, 0x10a, 0x3c6, 0x10a,
- 0x3c7, 0x109, 0x43d, 0x109, 0x252, 0x109, 0x63, 0x109,
- 0x255, 0x109, 0xf0, 0x109, 0x25c, 0x109, 0x66, 0x109,
- 0x25f, 0x109, 0x261, 0x109, 0x265, 0x109, 0x268, 0x109,
- 0x269, 0x109, 0x26a, 0x109, 0x1d7b, 0x109, 0x29d, 0x109,
- 0x26d, 0x109, 0x1d85, 0x109, 0x29f, 0x109, 0x271, 0x109,
- 0x270, 0x109, 0x272, 0x109, 0x273, 0x109, 0x274, 0x109,
- 0x275, 0x109, 0x278, 0x109, 0x282, 0x109, 0x283, 0x109,
- 0x1ab, 0x109, 0x289, 0x109, 0x28a, 0x109, 0x1d1c, 0x109,
- 0x28b, 0x109, 0x28c, 0x109, 0x7a, 0x109, 0x290, 0x109,
- 0x291, 0x109, 0x292, 0x109, 0x3b8, 0x201, 0x41, 0x325,
- 0x201, 0x61, 0x325, 0x201, 0x42, 0x307, 0x201, 0x62,
- 0x307, 0x201, 0x42, 0x323, 0x201, 0x62, 0x323, 0x201,
- 0x42, 0x331, 0x201, 0x62, 0x331, 0x201, 0xc7, 0x301,
- 0x201, 0xe7, 0x301, 0x201, 0x44, 0x307, 0x201, 0x64,
- 0x307, 0x201, 0x44, 0x323, 0x201, 0x64, 0x323, 0x201,
- 0x44, 0x331, 0x201, 0x64, 0x331, 0x201, 0x44, 0x327,
- 0x201, 0x64, 0x327, 0x201, 0x44, 0x32d, 0x201, 0x64,
- 0x32d, 0x201, 0x112, 0x300, 0x201, 0x113, 0x300, 0x201,
- 0x112, 0x301, 0x201, 0x113, 0x301, 0x201, 0x45, 0x32d,
- 0x201, 0x65, 0x32d, 0x201, 0x45, 0x330, 0x201, 0x65,
- 0x330, 0x201, 0x228, 0x306, 0x201, 0x229, 0x306, 0x201,
- 0x46, 0x307, 0x201, 0x66, 0x307, 0x201, 0x47, 0x304,
- 0x201, 0x67, 0x304, 0x201, 0x48, 0x307, 0x201, 0x68,
- 0x307, 0x201, 0x48, 0x323, 0x201, 0x68, 0x323, 0x201,
- 0x48, 0x308, 0x201, 0x68, 0x308, 0x201, 0x48, 0x327,
- 0x201, 0x68, 0x327, 0x201, 0x48, 0x32e, 0x201, 0x68,
- 0x32e, 0x201, 0x49, 0x330, 0x201, 0x69, 0x330, 0x201,
- 0xcf, 0x301, 0x201, 0xef, 0x301, 0x201, 0x4b, 0x301,
- 0x201, 0x6b, 0x301, 0x201, 0x4b, 0x323, 0x201, 0x6b,
- 0x323, 0x201, 0x4b, 0x331, 0x201, 0x6b, 0x331, 0x201,
- 0x4c, 0x323, 0x201, 0x6c, 0x323, 0x201, 0x1e36, 0x304,
- 0x201, 0x1e37, 0x304, 0x201, 0x4c, 0x331, 0x201, 0x6c,
- 0x331, 0x201, 0x4c, 0x32d, 0x201, 0x6c, 0x32d, 0x201,
- 0x4d, 0x301, 0x201, 0x6d, 0x301, 0x201, 0x4d, 0x307,
- 0x201, 0x6d, 0x307, 0x201, 0x4d, 0x323, 0x201, 0x6d,
- 0x323, 0x201, 0x4e, 0x307, 0x201, 0x6e, 0x307, 0x201,
- 0x4e, 0x323, 0x201, 0x6e, 0x323, 0x201, 0x4e, 0x331,
- 0x201, 0x6e, 0x331, 0x201, 0x4e, 0x32d, 0x201, 0x6e,
- 0x32d, 0x201, 0xd5, 0x301, 0x201, 0xf5, 0x301, 0x201,
- 0xd5, 0x308, 0x201, 0xf5, 0x308, 0x201, 0x14c, 0x300,
- 0x201, 0x14d, 0x300, 0x201, 0x14c, 0x301, 0x201, 0x14d,
- 0x301, 0x201, 0x50, 0x301, 0x201, 0x70, 0x301, 0x201,
- 0x50, 0x307, 0x201, 0x70, 0x307, 0x201, 0x52, 0x307,
- 0x201, 0x72, 0x307, 0x201, 0x52, 0x323, 0x201, 0x72,
- 0x323, 0x201, 0x1e5a, 0x304, 0x201, 0x1e5b, 0x304, 0x201,
- 0x52, 0x331, 0x201, 0x72, 0x331, 0x201, 0x53, 0x307,
- 0x201, 0x73, 0x307, 0x201, 0x53, 0x323, 0x201, 0x73,
- 0x323, 0x201, 0x15a, 0x307, 0x201, 0x15b, 0x307, 0x201,
- 0x160, 0x307, 0x201, 0x161, 0x307, 0x201, 0x1e62, 0x307,
- 0x201, 0x1e63, 0x307, 0x201, 0x54, 0x307, 0x201, 0x74,
- 0x307, 0x201, 0x54, 0x323, 0x201, 0x74, 0x323, 0x201,
- 0x54, 0x331, 0x201, 0x74, 0x331, 0x201, 0x54, 0x32d,
- 0x201, 0x74, 0x32d, 0x201, 0x55, 0x324, 0x201, 0x75,
- 0x324, 0x201, 0x55, 0x330, 0x201, 0x75, 0x330, 0x201,
- 0x55, 0x32d, 0x201, 0x75, 0x32d, 0x201, 0x168, 0x301,
- 0x201, 0x169, 0x301, 0x201, 0x16a, 0x308, 0x201, 0x16b,
- 0x308, 0x201, 0x56, 0x303, 0x201, 0x76, 0x303, 0x201,
- 0x56, 0x323, 0x201, 0x76, 0x323, 0x201, 0x57, 0x300,
- 0x201, 0x77, 0x300, 0x201, 0x57, 0x301, 0x201, 0x77,
- 0x301, 0x201, 0x57, 0x308, 0x201, 0x77, 0x308, 0x201,
- 0x57, 0x307, 0x201, 0x77, 0x307, 0x201, 0x57, 0x323,
- 0x201, 0x77, 0x323, 0x201, 0x58, 0x307, 0x201, 0x78,
- 0x307, 0x201, 0x58, 0x308, 0x201, 0x78, 0x308, 0x201,
- 0x59, 0x307, 0x201, 0x79, 0x307, 0x201, 0x5a, 0x302,
- 0x201, 0x7a, 0x302, 0x201, 0x5a, 0x323, 0x201, 0x7a,
- 0x323, 0x201, 0x5a, 0x331, 0x201, 0x7a, 0x331, 0x201,
- 0x68, 0x331, 0x201, 0x74, 0x308, 0x201, 0x77, 0x30a,
- 0x201, 0x79, 0x30a, 0x210, 0x61, 0x2be, 0x201, 0x17f,
- 0x307, 0x201, 0x41, 0x323, 0x201, 0x61, 0x323, 0x201,
- 0x41, 0x309, 0x201, 0x61, 0x309, 0x201, 0xc2, 0x301,
- 0x201, 0xe2, 0x301, 0x201, 0xc2, 0x300, 0x201, 0xe2,
- 0x300, 0x201, 0xc2, 0x309, 0x201, 0xe2, 0x309, 0x201,
- 0xc2, 0x303, 0x201, 0xe2, 0x303, 0x201, 0x1ea0, 0x302,
- 0x201, 0x1ea1, 0x302, 0x201, 0x102, 0x301, 0x201, 0x103,
- 0x301, 0x201, 0x102, 0x300, 0x201, 0x103, 0x300, 0x201,
- 0x102, 0x309, 0x201, 0x103, 0x309, 0x201, 0x102, 0x303,
- 0x201, 0x103, 0x303, 0x201, 0x1ea0, 0x306, 0x201, 0x1ea1,
- 0x306, 0x201, 0x45, 0x323, 0x201, 0x65, 0x323, 0x201,
- 0x45, 0x309, 0x201, 0x65, 0x309, 0x201, 0x45, 0x303,
- 0x201, 0x65, 0x303, 0x201, 0xca, 0x301, 0x201, 0xea,
- 0x301, 0x201, 0xca, 0x300, 0x201, 0xea, 0x300, 0x201,
- 0xca, 0x309, 0x201, 0xea, 0x309, 0x201, 0xca, 0x303,
- 0x201, 0xea, 0x303, 0x201, 0x1eb8, 0x302, 0x201, 0x1eb9,
- 0x302, 0x201, 0x49, 0x309, 0x201, 0x69, 0x309, 0x201,
- 0x49, 0x323, 0x201, 0x69, 0x323, 0x201, 0x4f, 0x323,
- 0x201, 0x6f, 0x323, 0x201, 0x4f, 0x309, 0x201, 0x6f,
- 0x309, 0x201, 0xd4, 0x301, 0x201, 0xf4, 0x301, 0x201,
- 0xd4, 0x300, 0x201, 0xf4, 0x300, 0x201, 0xd4, 0x309,
- 0x201, 0xf4, 0x309, 0x201, 0xd4, 0x303, 0x201, 0xf4,
- 0x303, 0x201, 0x1ecc, 0x302, 0x201, 0x1ecd, 0x302, 0x201,
- 0x1a0, 0x301, 0x201, 0x1a1, 0x301, 0x201, 0x1a0, 0x300,
- 0x201, 0x1a1, 0x300, 0x201, 0x1a0, 0x309, 0x201, 0x1a1,
- 0x309, 0x201, 0x1a0, 0x303, 0x201, 0x1a1, 0x303, 0x201,
- 0x1a0, 0x323, 0x201, 0x1a1, 0x323, 0x201, 0x55, 0x323,
- 0x201, 0x75, 0x323, 0x201, 0x55, 0x309, 0x201, 0x75,
- 0x309, 0x201, 0x1af, 0x301, 0x201, 0x1b0, 0x301, 0x201,
- 0x1af, 0x300, 0x201, 0x1b0, 0x300, 0x201, 0x1af, 0x309,
- 0x201, 0x1b0, 0x309, 0x201, 0x1af, 0x303, 0x201, 0x1b0,
- 0x303, 0x201, 0x1af, 0x323, 0x201, 0x1b0, 0x323, 0x201,
- 0x59, 0x300, 0x201, 0x79, 0x300, 0x201, 0x59, 0x323,
- 0x201, 0x79, 0x323, 0x201, 0x59, 0x309, 0x201, 0x79,
- 0x309, 0x201, 0x59, 0x303, 0x201, 0x79, 0x303, 0x201,
- 0x3b1, 0x313, 0x201, 0x3b1, 0x314, 0x201, 0x1f00, 0x300,
- 0x201, 0x1f01, 0x300, 0x201, 0x1f00, 0x301, 0x201, 0x1f01,
- 0x301, 0x201, 0x1f00, 0x342, 0x201, 0x1f01, 0x342, 0x201,
- 0x391, 0x313, 0x201, 0x391, 0x314, 0x201, 0x1f08, 0x300,
- 0x201, 0x1f09, 0x300, 0x201, 0x1f08, 0x301, 0x201, 0x1f09,
- 0x301, 0x201, 0x1f08, 0x342, 0x201, 0x1f09, 0x342, 0x201,
- 0x3b5, 0x313, 0x201, 0x3b5, 0x314, 0x201, 0x1f10, 0x300,
- 0x201, 0x1f11, 0x300, 0x201, 0x1f10, 0x301, 0x201, 0x1f11,
- 0x301, 0x201, 0x395, 0x313, 0x201, 0x395, 0x314, 0x201,
- 0x1f18, 0x300, 0x201, 0x1f19, 0x300, 0x201, 0x1f18, 0x301,
- 0x201, 0x1f19, 0x301, 0x201, 0x3b7, 0x313, 0x201, 0x3b7,
- 0x314, 0x201, 0x1f20, 0x300, 0x201, 0x1f21, 0x300, 0x201,
- 0x1f20, 0x301, 0x201, 0x1f21, 0x301, 0x201, 0x1f20, 0x342,
- 0x201, 0x1f21, 0x342, 0x201, 0x397, 0x313, 0x201, 0x397,
- 0x314, 0x201, 0x1f28, 0x300, 0x201, 0x1f29, 0x300, 0x201,
- 0x1f28, 0x301, 0x201, 0x1f29, 0x301, 0x201, 0x1f28, 0x342,
- 0x201, 0x1f29, 0x342, 0x201, 0x3b9, 0x313, 0x201, 0x3b9,
- 0x314, 0x201, 0x1f30, 0x300, 0x201, 0x1f31, 0x300, 0x201,
- 0x1f30, 0x301, 0x201, 0x1f31, 0x301, 0x201, 0x1f30, 0x342,
- 0x201, 0x1f31, 0x342, 0x201, 0x399, 0x313, 0x201, 0x399,
- 0x314, 0x201, 0x1f38, 0x300, 0x201, 0x1f39, 0x300, 0x201,
- 0x1f38, 0x301, 0x201, 0x1f39, 0x301, 0x201, 0x1f38, 0x342,
- 0x201, 0x1f39, 0x342, 0x201, 0x3bf, 0x313, 0x201, 0x3bf,
- 0x314, 0x201, 0x1f40, 0x300, 0x201, 0x1f41, 0x300, 0x201,
- 0x1f40, 0x301, 0x201, 0x1f41, 0x301, 0x201, 0x39f, 0x313,
- 0x201, 0x39f, 0x314, 0x201, 0x1f48, 0x300, 0x201, 0x1f49,
- 0x300, 0x201, 0x1f48, 0x301, 0x201, 0x1f49, 0x301, 0x201,
- 0x3c5, 0x313, 0x201, 0x3c5, 0x314, 0x201, 0x1f50, 0x300,
- 0x201, 0x1f51, 0x300, 0x201, 0x1f50, 0x301, 0x201, 0x1f51,
- 0x301, 0x201, 0x1f50, 0x342, 0x201, 0x1f51, 0x342, 0x201,
- 0x3a5, 0x314, 0x201, 0x1f59, 0x300, 0x201, 0x1f59, 0x301,
- 0x201, 0x1f59, 0x342, 0x201, 0x3c9, 0x313, 0x201, 0x3c9,
- 0x314, 0x201, 0x1f60, 0x300, 0x201, 0x1f61, 0x300, 0x201,
- 0x1f60, 0x301, 0x201, 0x1f61, 0x301, 0x201, 0x1f60, 0x342,
- 0x201, 0x1f61, 0x342, 0x201, 0x3a9, 0x313, 0x201, 0x3a9,
- 0x314, 0x201, 0x1f68, 0x300, 0x201, 0x1f69, 0x300, 0x201,
- 0x1f68, 0x301, 0x201, 0x1f69, 0x301, 0x201, 0x1f68, 0x342,
- 0x201, 0x1f69, 0x342, 0x201, 0x3b1, 0x300, 0x101, 0x3ac,
- 0x201, 0x3b5, 0x300, 0x101, 0x3ad, 0x201, 0x3b7, 0x300,
- 0x101, 0x3ae, 0x201, 0x3b9, 0x300, 0x101, 0x3af, 0x201,
- 0x3bf, 0x300, 0x101, 0x3cc, 0x201, 0x3c5, 0x300, 0x101,
- 0x3cd, 0x201, 0x3c9, 0x300, 0x101, 0x3ce, 0x201, 0x1f00,
- 0x345, 0x201, 0x1f01, 0x345, 0x201, 0x1f02, 0x345, 0x201,
- 0x1f03, 0x345, 0x201, 0x1f04, 0x345, 0x201, 0x1f05, 0x345,
- 0x201, 0x1f06, 0x345, 0x201, 0x1f07, 0x345, 0x201, 0x1f08,
- 0x345, 0x201, 0x1f09, 0x345, 0x201, 0x1f0a, 0x345, 0x201,
- 0x1f0b, 0x345, 0x201, 0x1f0c, 0x345, 0x201, 0x1f0d, 0x345,
- 0x201, 0x1f0e, 0x345, 0x201, 0x1f0f, 0x345, 0x201, 0x1f20,
- 0x345, 0x201, 0x1f21, 0x345, 0x201, 0x1f22, 0x345, 0x201,
- 0x1f23, 0x345, 0x201, 0x1f24, 0x345, 0x201, 0x1f25, 0x345,
- 0x201, 0x1f26, 0x345, 0x201, 0x1f27, 0x345, 0x201, 0x1f28,
- 0x345, 0x201, 0x1f29, 0x345, 0x201, 0x1f2a, 0x345, 0x201,
- 0x1f2b, 0x345, 0x201, 0x1f2c, 0x345, 0x201, 0x1f2d, 0x345,
- 0x201, 0x1f2e, 0x345, 0x201, 0x1f2f, 0x345, 0x201, 0x1f60,
- 0x345, 0x201, 0x1f61, 0x345, 0x201, 0x1f62, 0x345, 0x201,
- 0x1f63, 0x345, 0x201, 0x1f64, 0x345, 0x201, 0x1f65, 0x345,
- 0x201, 0x1f66, 0x345, 0x201, 0x1f67, 0x345, 0x201, 0x1f68,
- 0x345, 0x201, 0x1f69, 0x345, 0x201, 0x1f6a, 0x345, 0x201,
- 0x1f6b, 0x345, 0x201, 0x1f6c, 0x345, 0x201, 0x1f6d, 0x345,
- 0x201, 0x1f6e, 0x345, 0x201, 0x1f6f, 0x345, 0x201, 0x3b1,
- 0x306, 0x201, 0x3b1, 0x304, 0x201, 0x1f70, 0x345, 0x201,
- 0x3b1, 0x345, 0x201, 0x3ac, 0x345, 0x201, 0x3b1, 0x342,
- 0x201, 0x1fb6, 0x345, 0x201, 0x391, 0x306, 0x201, 0x391,
- 0x304, 0x201, 0x391, 0x300, 0x101, 0x386, 0x201, 0x391,
- 0x345, 0x210, 0x20, 0x313, 0x101, 0x3b9, 0x210, 0x20,
- 0x313, 0x210, 0x20, 0x342, 0x201, 0xa8, 0x342, 0x201,
- 0x1f74, 0x345, 0x201, 0x3b7, 0x345, 0x201, 0x3ae, 0x345,
- 0x201, 0x3b7, 0x342, 0x201, 0x1fc6, 0x345, 0x201, 0x395,
- 0x300, 0x101, 0x388, 0x201, 0x397, 0x300, 0x101, 0x389,
- 0x201, 0x397, 0x345, 0x201, 0x1fbf, 0x300, 0x201, 0x1fbf,
- 0x301, 0x201, 0x1fbf, 0x342, 0x201, 0x3b9, 0x306, 0x201,
- 0x3b9, 0x304, 0x201, 0x3ca, 0x300, 0x101, 0x390, 0x201,
- 0x3b9, 0x342, 0x201, 0x3ca, 0x342, 0x201, 0x399, 0x306,
- 0x201, 0x399, 0x304, 0x201, 0x399, 0x300, 0x101, 0x38a,
- 0x201, 0x1ffe, 0x300, 0x201, 0x1ffe, 0x301, 0x201, 0x1ffe,
- 0x342, 0x201, 0x3c5, 0x306, 0x201, 0x3c5, 0x304, 0x201,
- 0x3cb, 0x300, 0x101, 0x3b0, 0x201, 0x3c1, 0x313, 0x201,
- 0x3c1, 0x314, 0x201, 0x3c5, 0x342, 0x201, 0x3cb, 0x342,
- 0x201, 0x3a5, 0x306, 0x201, 0x3a5, 0x304, 0x201, 0x3a5,
- 0x300, 0x101, 0x38e, 0x201, 0x3a1, 0x314, 0x201, 0xa8,
- 0x300, 0x101, 0x385, 0x101, 0x60, 0x201, 0x1f7c, 0x345,
- 0x201, 0x3c9, 0x345, 0x201, 0x3ce, 0x345, 0x201, 0x3c9,
- 0x342, 0x201, 0x1ff6, 0x345, 0x201, 0x39f, 0x300, 0x101,
- 0x38c, 0x201, 0x3a9, 0x300, 0x101, 0x38f, 0x201, 0x3a9,
- 0x345, 0x101, 0xb4, 0x210, 0x20, 0x314, 0x101, 0x2002,
- 0x101, 0x2003, 0x110, 0x20, 0x110, 0x20, 0x110, 0x20,
- 0x110, 0x20, 0x110, 0x20, 0x103, 0x20, 0x110, 0x20,
- 0x110, 0x20, 0x110, 0x20, 0x103, 0x2010, 0x210, 0x20,
- 0x333, 0x110, 0x2e, 0x210, 0x2e, 0x2e, 0x310, 0x2e,
- 0x2e, 0x2e, 0x103, 0x20, 0x210, 0x2032, 0x2032, 0x310,
- 0x2032, 0x2032, 0x2032, 0x210, 0x2035, 0x2035, 0x310, 0x2035,
- 0x2035, 0x2035, 0x210, 0x21, 0x21, 0x210, 0x20, 0x305,
- 0x210, 0x3f, 0x3f, 0x210, 0x3f, 0x21, 0x210, 0x21,
- 0x3f, 0x410, 0x2032, 0x2032, 0x2032, 0x2032, 0x110, 0x20,
- 0x109, 0x30, 0x109, 0x69, 0x109, 0x34, 0x109, 0x35,
- 0x109, 0x36, 0x109, 0x37, 0x109, 0x38, 0x109, 0x39,
- 0x109, 0x2b, 0x109, 0x2212, 0x109, 0x3d, 0x109, 0x28,
- 0x109, 0x29, 0x109, 0x6e, 0x10a, 0x30, 0x10a, 0x31,
- 0x10a, 0x32, 0x10a, 0x33, 0x10a, 0x34, 0x10a, 0x35,
- 0x10a, 0x36, 0x10a, 0x37, 0x10a, 0x38, 0x10a, 0x39,
- 0x10a, 0x2b, 0x10a, 0x2212, 0x10a, 0x3d, 0x10a, 0x28,
- 0x10a, 0x29, 0x10a, 0x61, 0x10a, 0x65, 0x10a, 0x6f,
- 0x10a, 0x78, 0x10a, 0x259, 0x210, 0x52, 0x73, 0x310,
- 0x61, 0x2f, 0x63, 0x310, 0x61, 0x2f, 0x73, 0x102,
- 0x43, 0x210, 0xb0, 0x43, 0x310, 0x63, 0x2f, 0x6f,
- 0x310, 0x63, 0x2f, 0x75, 0x110, 0x190, 0x210, 0xb0,
- 0x46, 0x102, 0x67, 0x102, 0x48, 0x102, 0x48, 0x102,
- 0x48, 0x102, 0x68, 0x102, 0x127, 0x102, 0x49, 0x102,
- 0x49, 0x102, 0x4c, 0x102, 0x6c, 0x102, 0x4e, 0x210,
- 0x4e, 0x6f, 0x102, 0x50, 0x102, 0x51, 0x102, 0x52,
- 0x102, 0x52, 0x102, 0x52, 0x209, 0x53, 0x4d, 0x310,
- 0x54, 0x45, 0x4c, 0x209, 0x54, 0x4d, 0x102, 0x5a,
- 0x101, 0x3a9, 0x102, 0x5a, 0x101, 0x4b, 0x101, 0xc5,
- 0x102, 0x42, 0x102, 0x43, 0x102, 0x65, 0x102, 0x45,
- 0x102, 0x46, 0x102, 0x4d, 0x102, 0x6f, 0x110, 0x5d0,
- 0x110, 0x5d1, 0x110, 0x5d2, 0x110, 0x5d3, 0x102, 0x69,
- 0x310, 0x46, 0x41, 0x58, 0x102, 0x3c0, 0x102, 0x3b3,
- 0x102, 0x393, 0x102, 0x3a0, 0x102, 0x2211, 0x102, 0x44,
- 0x102, 0x64, 0x102, 0x65, 0x102, 0x69, 0x102, 0x6a,
- 0x311, 0x31, 0x2044, 0x33, 0x311, 0x32, 0x2044, 0x33,
- 0x311, 0x31, 0x2044, 0x35, 0x311, 0x32, 0x2044, 0x35,
- 0x311, 0x33, 0x2044, 0x35, 0x311, 0x34, 0x2044, 0x35,
- 0x311, 0x31, 0x2044, 0x36, 0x311, 0x35, 0x2044, 0x36,
- 0x311, 0x31, 0x2044, 0x38, 0x311, 0x33, 0x2044, 0x38,
- 0x311, 0x35, 0x2044, 0x38, 0x311, 0x37, 0x2044, 0x38,
- 0x211, 0x31, 0x2044, 0x110, 0x49, 0x210, 0x49, 0x49,
- 0x310, 0x49, 0x49, 0x49, 0x210, 0x49, 0x56, 0x110,
- 0x56, 0x210, 0x56, 0x49, 0x310, 0x56, 0x49, 0x49,
- 0x410, 0x56, 0x49, 0x49, 0x49, 0x210, 0x49, 0x58,
- 0x110, 0x58, 0x210, 0x58, 0x49, 0x310, 0x58, 0x49,
- 0x49, 0x110, 0x4c, 0x110, 0x43, 0x110, 0x44, 0x110,
- 0x4d, 0x110, 0x69, 0x210, 0x69, 0x69, 0x310, 0x69,
- 0x69, 0x69, 0x210, 0x69, 0x76, 0x110, 0x76, 0x210,
- 0x76, 0x69, 0x310, 0x76, 0x69, 0x69, 0x410, 0x76,
- 0x69, 0x69, 0x69, 0x210, 0x69, 0x78, 0x110, 0x78,
- 0x210, 0x78, 0x69, 0x310, 0x78, 0x69, 0x69, 0x110,
- 0x6c, 0x110, 0x63, 0x110, 0x64, 0x110, 0x6d, 0x201,
- 0x2190, 0x338, 0x201, 0x2192, 0x338, 0x201, 0x2194, 0x338,
- 0x201, 0x21d0, 0x338, 0x201, 0x21d4, 0x338, 0x201, 0x21d2,
- 0x338, 0x201, 0x2203, 0x338, 0x201, 0x2208, 0x338, 0x201,
- 0x220b, 0x338, 0x201, 0x2223, 0x338, 0x201, 0x2225, 0x338,
- 0x210, 0x222b, 0x222b, 0x310, 0x222b, 0x222b, 0x222b, 0x210,
- 0x222e, 0x222e, 0x310, 0x222e, 0x222e, 0x222e, 0x201, 0x223c,
- 0x338, 0x201, 0x2243, 0x338, 0x201, 0x2245, 0x338, 0x201,
- 0x2248, 0x338, 0x201, 0x3d, 0x338, 0x201, 0x2261, 0x338,
- 0x201, 0x224d, 0x338, 0x201, 0x3c, 0x338, 0x201, 0x3e,
- 0x338, 0x201, 0x2264, 0x338, 0x201, 0x2265, 0x338, 0x201,
- 0x2272, 0x338, 0x201, 0x2273, 0x338, 0x201, 0x2276, 0x338,
- 0x201, 0x2277, 0x338, 0x201, 0x227a, 0x338, 0x201, 0x227b,
- 0x338, 0x201, 0x2282, 0x338, 0x201, 0x2283, 0x338, 0x201,
- 0x2286, 0x338, 0x201, 0x2287, 0x338, 0x201, 0x22a2, 0x338,
- 0x201, 0x22a8, 0x338, 0x201, 0x22a9, 0x338, 0x201, 0x22ab,
- 0x338, 0x201, 0x227c, 0x338, 0x201, 0x227d, 0x338, 0x201,
- 0x2291, 0x338, 0x201, 0x2292, 0x338, 0x201, 0x22b2, 0x338,
- 0x201, 0x22b3, 0x338, 0x201, 0x22b4, 0x338, 0x201, 0x22b5,
- 0x338, 0x101, 0x3008, 0x101, 0x3009, 0x108, 0x31, 0x108,
- 0x32, 0x108, 0x33, 0x108, 0x34, 0x108, 0x35, 0x108,
- 0x36, 0x108, 0x37, 0x108, 0x38, 0x108, 0x39, 0x208,
- 0x31, 0x30, 0x208, 0x31, 0x31, 0x208, 0x31, 0x32,
- 0x208, 0x31, 0x33, 0x208, 0x31, 0x34, 0x208, 0x31,
- 0x35, 0x208, 0x31, 0x36, 0x208, 0x31, 0x37, 0x208,
- 0x31, 0x38, 0x208, 0x31, 0x39, 0x208, 0x32, 0x30,
- 0x310, 0x28, 0x31, 0x29, 0x310, 0x28, 0x32, 0x29,
- 0x310, 0x28, 0x33, 0x29, 0x310, 0x28, 0x34, 0x29,
- 0x310, 0x28, 0x35, 0x29, 0x310, 0x28, 0x36, 0x29,
- 0x310, 0x28, 0x37, 0x29, 0x310, 0x28, 0x38, 0x29,
- 0x310, 0x28, 0x39, 0x29, 0x410, 0x28, 0x31, 0x30,
- 0x29, 0x410, 0x28, 0x31, 0x31, 0x29, 0x410, 0x28,
- 0x31, 0x32, 0x29, 0x410, 0x28, 0x31, 0x33, 0x29,
- 0x410, 0x28, 0x31, 0x34, 0x29, 0x410, 0x28, 0x31,
- 0x35, 0x29, 0x410, 0x28, 0x31, 0x36, 0x29, 0x410,
- 0x28, 0x31, 0x37, 0x29, 0x410, 0x28, 0x31, 0x38,
- 0x29, 0x410, 0x28, 0x31, 0x39, 0x29, 0x410, 0x28,
- 0x32, 0x30, 0x29, 0x210, 0x31, 0x2e, 0x210, 0x32,
- 0x2e, 0x210, 0x33, 0x2e, 0x210, 0x34, 0x2e, 0x210,
- 0x35, 0x2e, 0x210, 0x36, 0x2e, 0x210, 0x37, 0x2e,
- 0x210, 0x38, 0x2e, 0x210, 0x39, 0x2e, 0x310, 0x31,
- 0x30, 0x2e, 0x310, 0x31, 0x31, 0x2e, 0x310, 0x31,
- 0x32, 0x2e, 0x310, 0x31, 0x33, 0x2e, 0x310, 0x31,
- 0x34, 0x2e, 0x310, 0x31, 0x35, 0x2e, 0x310, 0x31,
- 0x36, 0x2e, 0x310, 0x31, 0x37, 0x2e, 0x310, 0x31,
- 0x38, 0x2e, 0x310, 0x31, 0x39, 0x2e, 0x310, 0x32,
- 0x30, 0x2e, 0x310, 0x28, 0x61, 0x29, 0x310, 0x28,
- 0x62, 0x29, 0x310, 0x28, 0x63, 0x29, 0x310, 0x28,
- 0x64, 0x29, 0x310, 0x28, 0x65, 0x29, 0x310, 0x28,
- 0x66, 0x29, 0x310, 0x28, 0x67, 0x29, 0x310, 0x28,
- 0x68, 0x29, 0x310, 0x28, 0x69, 0x29, 0x310, 0x28,
- 0x6a, 0x29, 0x310, 0x28, 0x6b, 0x29, 0x310, 0x28,
- 0x6c, 0x29, 0x310, 0x28, 0x6d, 0x29, 0x310, 0x28,
- 0x6e, 0x29, 0x310, 0x28, 0x6f, 0x29, 0x310, 0x28,
- 0x70, 0x29, 0x310, 0x28, 0x71, 0x29, 0x310, 0x28,
- 0x72, 0x29, 0x310, 0x28, 0x73, 0x29, 0x310, 0x28,
- 0x74, 0x29, 0x310, 0x28, 0x75, 0x29, 0x310, 0x28,
- 0x76, 0x29, 0x310, 0x28, 0x77, 0x29, 0x310, 0x28,
- 0x78, 0x29, 0x310, 0x28, 0x79, 0x29, 0x310, 0x28,
- 0x7a, 0x29, 0x108, 0x41, 0x108, 0x42, 0x108, 0x43,
- 0x108, 0x44, 0x108, 0x45, 0x108, 0x46, 0x108, 0x47,
- 0x108, 0x48, 0x108, 0x49, 0x108, 0x4a, 0x108, 0x4b,
- 0x108, 0x4c, 0x108, 0x4d, 0x108, 0x4e, 0x108, 0x4f,
- 0x108, 0x50, 0x108, 0x51, 0x108, 0x52, 0x108, 0x53,
- 0x108, 0x54, 0x108, 0x55, 0x108, 0x56, 0x108, 0x57,
- 0x108, 0x58, 0x108, 0x59, 0x108, 0x5a, 0x108, 0x61,
- 0x108, 0x62, 0x108, 0x63, 0x108, 0x64, 0x108, 0x65,
- 0x108, 0x66, 0x108, 0x67, 0x108, 0x68, 0x108, 0x69,
- 0x108, 0x6a, 0x108, 0x6b, 0x108, 0x6c, 0x108, 0x6d,
- 0x108, 0x6e, 0x108, 0x6f, 0x108, 0x70, 0x108, 0x71,
- 0x108, 0x72, 0x108, 0x73, 0x108, 0x74, 0x108, 0x75,
- 0x108, 0x76, 0x108, 0x77, 0x108, 0x78, 0x108, 0x79,
- 0x108, 0x7a, 0x108, 0x30, 0x410, 0x222b, 0x222b, 0x222b,
- 0x222b, 0x310, 0x3a, 0x3a, 0x3d, 0x210, 0x3d, 0x3d,
- 0x310, 0x3d, 0x3d, 0x3d, 0x201, 0x2add, 0x338, 0x109,
- 0x2d61, 0x110, 0x6bcd, 0x110, 0x9f9f, 0x110, 0x4e00, 0x110,
- 0x4e28, 0x110, 0x4e36, 0x110, 0x4e3f, 0x110, 0x4e59, 0x110,
- 0x4e85, 0x110, 0x4e8c, 0x110, 0x4ea0, 0x110, 0x4eba, 0x110,
- 0x513f, 0x110, 0x5165, 0x110, 0x516b, 0x110, 0x5182, 0x110,
- 0x5196, 0x110, 0x51ab, 0x110, 0x51e0, 0x110, 0x51f5, 0x110,
- 0x5200, 0x110, 0x529b, 0x110, 0x52f9, 0x110, 0x5315, 0x110,
- 0x531a, 0x110, 0x5338, 0x110, 0x5341, 0x110, 0x535c, 0x110,
- 0x5369, 0x110, 0x5382, 0x110, 0x53b6, 0x110, 0x53c8, 0x110,
- 0x53e3, 0x110, 0x56d7, 0x110, 0x571f, 0x110, 0x58eb, 0x110,
- 0x5902, 0x110, 0x590a, 0x110, 0x5915, 0x110, 0x5927, 0x110,
- 0x5973, 0x110, 0x5b50, 0x110, 0x5b80, 0x110, 0x5bf8, 0x110,
- 0x5c0f, 0x110, 0x5c22, 0x110, 0x5c38, 0x110, 0x5c6e, 0x110,
- 0x5c71, 0x110, 0x5ddb, 0x110, 0x5de5, 0x110, 0x5df1, 0x110,
- 0x5dfe, 0x110, 0x5e72, 0x110, 0x5e7a, 0x110, 0x5e7f, 0x110,
- 0x5ef4, 0x110, 0x5efe, 0x110, 0x5f0b, 0x110, 0x5f13, 0x110,
- 0x5f50, 0x110, 0x5f61, 0x110, 0x5f73, 0x110, 0x5fc3, 0x110,
- 0x6208, 0x110, 0x6236, 0x110, 0x624b, 0x110, 0x652f, 0x110,
- 0x6534, 0x110, 0x6587, 0x110, 0x6597, 0x110, 0x65a4, 0x110,
- 0x65b9, 0x110, 0x65e0, 0x110, 0x65e5, 0x110, 0x66f0, 0x110,
- 0x6708, 0x110, 0x6728, 0x110, 0x6b20, 0x110, 0x6b62, 0x110,
- 0x6b79, 0x110, 0x6bb3, 0x110, 0x6bcb, 0x110, 0x6bd4, 0x110,
- 0x6bdb, 0x110, 0x6c0f, 0x110, 0x6c14, 0x110, 0x6c34, 0x110,
- 0x706b, 0x110, 0x722a, 0x110, 0x7236, 0x110, 0x723b, 0x110,
- 0x723f, 0x110, 0x7247, 0x110, 0x7259, 0x110, 0x725b, 0x110,
- 0x72ac, 0x110, 0x7384, 0x110, 0x7389, 0x110, 0x74dc, 0x110,
- 0x74e6, 0x110, 0x7518, 0x110, 0x751f, 0x110, 0x7528, 0x110,
- 0x7530, 0x110, 0x758b, 0x110, 0x7592, 0x110, 0x7676, 0x110,
- 0x767d, 0x110, 0x76ae, 0x110, 0x76bf, 0x110, 0x76ee, 0x110,
- 0x77db, 0x110, 0x77e2, 0x110, 0x77f3, 0x110, 0x793a, 0x110,
- 0x79b8, 0x110, 0x79be, 0x110, 0x7a74, 0x110, 0x7acb, 0x110,
- 0x7af9, 0x110, 0x7c73, 0x110, 0x7cf8, 0x110, 0x7f36, 0x110,
- 0x7f51, 0x110, 0x7f8a, 0x110, 0x7fbd, 0x110, 0x8001, 0x110,
- 0x800c, 0x110, 0x8012, 0x110, 0x8033, 0x110, 0x807f, 0x110,
- 0x8089, 0x110, 0x81e3, 0x110, 0x81ea, 0x110, 0x81f3, 0x110,
- 0x81fc, 0x110, 0x820c, 0x110, 0x821b, 0x110, 0x821f, 0x110,
- 0x826e, 0x110, 0x8272, 0x110, 0x8278, 0x110, 0x864d, 0x110,
- 0x866b, 0x110, 0x8840, 0x110, 0x884c, 0x110, 0x8863, 0x110,
- 0x897e, 0x110, 0x898b, 0x110, 0x89d2, 0x110, 0x8a00, 0x110,
- 0x8c37, 0x110, 0x8c46, 0x110, 0x8c55, 0x110, 0x8c78, 0x110,
- 0x8c9d, 0x110, 0x8d64, 0x110, 0x8d70, 0x110, 0x8db3, 0x110,
- 0x8eab, 0x110, 0x8eca, 0x110, 0x8f9b, 0x110, 0x8fb0, 0x110,
- 0x8fb5, 0x110, 0x9091, 0x110, 0x9149, 0x110, 0x91c6, 0x110,
- 0x91cc, 0x110, 0x91d1, 0x110, 0x9577, 0x110, 0x9580, 0x110,
- 0x961c, 0x110, 0x96b6, 0x110, 0x96b9, 0x110, 0x96e8, 0x110,
- 0x9751, 0x110, 0x975e, 0x110, 0x9762, 0x110, 0x9769, 0x110,
- 0x97cb, 0x110, 0x97ed, 0x110, 0x97f3, 0x110, 0x9801, 0x110,
- 0x98a8, 0x110, 0x98db, 0x110, 0x98df, 0x110, 0x9996, 0x110,
- 0x9999, 0x110, 0x99ac, 0x110, 0x9aa8, 0x110, 0x9ad8, 0x110,
- 0x9adf, 0x110, 0x9b25, 0x110, 0x9b2f, 0x110, 0x9b32, 0x110,
- 0x9b3c, 0x110, 0x9b5a, 0x110, 0x9ce5, 0x110, 0x9e75, 0x110,
- 0x9e7f, 0x110, 0x9ea5, 0x110, 0x9ebb, 0x110, 0x9ec3, 0x110,
- 0x9ecd, 0x110, 0x9ed1, 0x110, 0x9ef9, 0x110, 0x9efd, 0x110,
- 0x9f0e, 0x110, 0x9f13, 0x110, 0x9f20, 0x110, 0x9f3b, 0x110,
- 0x9f4a, 0x110, 0x9f52, 0x110, 0x9f8d, 0x110, 0x9f9c, 0x110,
- 0x9fa0, 0x10c, 0x20, 0x110, 0x3012, 0x110, 0x5341, 0x110,
- 0x5344, 0x110, 0x5345, 0x201, 0x304b, 0x3099, 0x201, 0x304d,
- 0x3099, 0x201, 0x304f, 0x3099, 0x201, 0x3051, 0x3099, 0x201,
- 0x3053, 0x3099, 0x201, 0x3055, 0x3099, 0x201, 0x3057, 0x3099,
- 0x201, 0x3059, 0x3099, 0x201, 0x305b, 0x3099, 0x201, 0x305d,
- 0x3099, 0x201, 0x305f, 0x3099, 0x201, 0x3061, 0x3099, 0x201,
- 0x3064, 0x3099, 0x201, 0x3066, 0x3099, 0x201, 0x3068, 0x3099,
- 0x201, 0x306f, 0x3099, 0x201, 0x306f, 0x309a, 0x201, 0x3072,
- 0x3099, 0x201, 0x3072, 0x309a, 0x201, 0x3075, 0x3099, 0x201,
- 0x3075, 0x309a, 0x201, 0x3078, 0x3099, 0x201, 0x3078, 0x309a,
- 0x201, 0x307b, 0x3099, 0x201, 0x307b, 0x309a, 0x201, 0x3046,
- 0x3099, 0x210, 0x20, 0x3099, 0x210, 0x20, 0x309a, 0x201,
- 0x309d, 0x3099, 0x20b, 0x3088, 0x308a, 0x201, 0x30ab, 0x3099,
- 0x201, 0x30ad, 0x3099, 0x201, 0x30af, 0x3099, 0x201, 0x30b1,
- 0x3099, 0x201, 0x30b3, 0x3099, 0x201, 0x30b5, 0x3099, 0x201,
- 0x30b7, 0x3099, 0x201, 0x30b9, 0x3099, 0x201, 0x30bb, 0x3099,
- 0x201, 0x30bd, 0x3099, 0x201, 0x30bf, 0x3099, 0x201, 0x30c1,
- 0x3099, 0x201, 0x30c4, 0x3099, 0x201, 0x30c6, 0x3099, 0x201,
- 0x30c8, 0x3099, 0x201, 0x30cf, 0x3099, 0x201, 0x30cf, 0x309a,
- 0x201, 0x30d2, 0x3099, 0x201, 0x30d2, 0x309a, 0x201, 0x30d5,
- 0x3099, 0x201, 0x30d5, 0x309a, 0x201, 0x30d8, 0x3099, 0x201,
- 0x30d8, 0x309a, 0x201, 0x30db, 0x3099, 0x201, 0x30db, 0x309a,
- 0x201, 0x30a6, 0x3099, 0x201, 0x30ef, 0x3099, 0x201, 0x30f0,
- 0x3099, 0x201, 0x30f1, 0x3099, 0x201, 0x30f2, 0x3099, 0x201,
- 0x30fd, 0x3099, 0x20b, 0x30b3, 0x30c8, 0x110, 0x1100, 0x110,
- 0x1101, 0x110, 0x11aa, 0x110, 0x1102, 0x110, 0x11ac, 0x110,
- 0x11ad, 0x110, 0x1103, 0x110, 0x1104, 0x110, 0x1105, 0x110,
- 0x11b0, 0x110, 0x11b1, 0x110, 0x11b2, 0x110, 0x11b3, 0x110,
- 0x11b4, 0x110, 0x11b5, 0x110, 0x111a, 0x110, 0x1106, 0x110,
- 0x1107, 0x110, 0x1108, 0x110, 0x1121, 0x110, 0x1109, 0x110,
- 0x110a, 0x110, 0x110b, 0x110, 0x110c, 0x110, 0x110d, 0x110,
- 0x110e, 0x110, 0x110f, 0x110, 0x1110, 0x110, 0x1111, 0x110,
- 0x1112, 0x110, 0x1161, 0x110, 0x1162, 0x110, 0x1163, 0x110,
- 0x1164, 0x110, 0x1165, 0x110, 0x1166, 0x110, 0x1167, 0x110,
- 0x1168, 0x110, 0x1169, 0x110, 0x116a, 0x110, 0x116b, 0x110,
- 0x116c, 0x110, 0x116d, 0x110, 0x116e, 0x110, 0x116f, 0x110,
- 0x1170, 0x110, 0x1171, 0x110, 0x1172, 0x110, 0x1173, 0x110,
- 0x1174, 0x110, 0x1175, 0x110, 0x1160, 0x110, 0x1114, 0x110,
- 0x1115, 0x110, 0x11c7, 0x110, 0x11c8, 0x110, 0x11cc, 0x110,
- 0x11ce, 0x110, 0x11d3, 0x110, 0x11d7, 0x110, 0x11d9, 0x110,
- 0x111c, 0x110, 0x11dd, 0x110, 0x11df, 0x110, 0x111d, 0x110,
- 0x111e, 0x110, 0x1120, 0x110, 0x1122, 0x110, 0x1123, 0x110,
- 0x1127, 0x110, 0x1129, 0x110, 0x112b, 0x110, 0x112c, 0x110,
- 0x112d, 0x110, 0x112e, 0x110, 0x112f, 0x110, 0x1132, 0x110,
- 0x1136, 0x110, 0x1140, 0x110, 0x1147, 0x110, 0x114c, 0x110,
- 0x11f1, 0x110, 0x11f2, 0x110, 0x1157, 0x110, 0x1158, 0x110,
- 0x1159, 0x110, 0x1184, 0x110, 0x1185, 0x110, 0x1188, 0x110,
- 0x1191, 0x110, 0x1192, 0x110, 0x1194, 0x110, 0x119e, 0x110,
- 0x11a1, 0x109, 0x4e00, 0x109, 0x4e8c, 0x109, 0x4e09, 0x109,
- 0x56db, 0x109, 0x4e0a, 0x109, 0x4e2d, 0x109, 0x4e0b, 0x109,
- 0x7532, 0x109, 0x4e59, 0x109, 0x4e19, 0x109, 0x4e01, 0x109,
- 0x5929, 0x109, 0x5730, 0x109, 0x4eba, 0x310, 0x28, 0x1100,
- 0x29, 0x310, 0x28, 0x1102, 0x29, 0x310, 0x28, 0x1103,
- 0x29, 0x310, 0x28, 0x1105, 0x29, 0x310, 0x28, 0x1106,
- 0x29, 0x310, 0x28, 0x1107, 0x29, 0x310, 0x28, 0x1109,
- 0x29, 0x310, 0x28, 0x110b, 0x29, 0x310, 0x28, 0x110c,
- 0x29, 0x310, 0x28, 0x110e, 0x29, 0x310, 0x28, 0x110f,
- 0x29, 0x310, 0x28, 0x1110, 0x29, 0x310, 0x28, 0x1111,
- 0x29, 0x310, 0x28, 0x1112, 0x29, 0x410, 0x28, 0x1100,
- 0x1161, 0x29, 0x410, 0x28, 0x1102, 0x1161, 0x29, 0x410,
- 0x28, 0x1103, 0x1161, 0x29, 0x410, 0x28, 0x1105, 0x1161,
- 0x29, 0x410, 0x28, 0x1106, 0x1161, 0x29, 0x410, 0x28,
- 0x1107, 0x1161, 0x29, 0x410, 0x28, 0x1109, 0x1161, 0x29,
- 0x410, 0x28, 0x110b, 0x1161, 0x29, 0x410, 0x28, 0x110c,
- 0x1161, 0x29, 0x410, 0x28, 0x110e, 0x1161, 0x29, 0x410,
- 0x28, 0x110f, 0x1161, 0x29, 0x410, 0x28, 0x1110, 0x1161,
- 0x29, 0x410, 0x28, 0x1111, 0x1161, 0x29, 0x410, 0x28,
- 0x1112, 0x1161, 0x29, 0x410, 0x28, 0x110c, 0x116e, 0x29,
- 0x710, 0x28, 0x110b, 0x1169, 0x110c, 0x1165, 0x11ab, 0x29,
- 0x610, 0x28, 0x110b, 0x1169, 0x1112, 0x116e, 0x29, 0x310,
- 0x28, 0x4e00, 0x29, 0x310, 0x28, 0x4e8c, 0x29, 0x310,
- 0x28, 0x4e09, 0x29, 0x310, 0x28, 0x56db, 0x29, 0x310,
- 0x28, 0x4e94, 0x29, 0x310, 0x28, 0x516d, 0x29, 0x310,
- 0x28, 0x4e03, 0x29, 0x310, 0x28, 0x516b, 0x29, 0x310,
- 0x28, 0x4e5d, 0x29, 0x310, 0x28, 0x5341, 0x29, 0x310,
- 0x28, 0x6708, 0x29, 0x310, 0x28, 0x706b, 0x29, 0x310,
- 0x28, 0x6c34, 0x29, 0x310, 0x28, 0x6728, 0x29, 0x310,
- 0x28, 0x91d1, 0x29, 0x310, 0x28, 0x571f, 0x29, 0x310,
- 0x28, 0x65e5, 0x29, 0x310, 0x28, 0x682a, 0x29, 0x310,
- 0x28, 0x6709, 0x29, 0x310, 0x28, 0x793e, 0x29, 0x310,
- 0x28, 0x540d, 0x29, 0x310, 0x28, 0x7279, 0x29, 0x310,
- 0x28, 0x8ca1, 0x29, 0x310, 0x28, 0x795d, 0x29, 0x310,
- 0x28, 0x52b4, 0x29, 0x310, 0x28, 0x4ee3, 0x29, 0x310,
- 0x28, 0x547c, 0x29, 0x310, 0x28, 0x5b66, 0x29, 0x310,
- 0x28, 0x76e3, 0x29, 0x310, 0x28, 0x4f01, 0x29, 0x310,
- 0x28, 0x8cc7, 0x29, 0x310, 0x28, 0x5354, 0x29, 0x310,
- 0x28, 0x796d, 0x29, 0x310, 0x28, 0x4f11, 0x29, 0x310,
- 0x28, 0x81ea, 0x29, 0x310, 0x28, 0x81f3, 0x29, 0x30f,
- 0x50, 0x54, 0x45, 0x208, 0x32, 0x31, 0x208, 0x32,
- 0x32, 0x208, 0x32, 0x33, 0x208, 0x32, 0x34, 0x208,
- 0x32, 0x35, 0x208, 0x32, 0x36, 0x208, 0x32, 0x37,
- 0x208, 0x32, 0x38, 0x208, 0x32, 0x39, 0x208, 0x33,
- 0x30, 0x208, 0x33, 0x31, 0x208, 0x33, 0x32, 0x208,
- 0x33, 0x33, 0x208, 0x33, 0x34, 0x208, 0x33, 0x35,
- 0x108, 0x1100, 0x108, 0x1102, 0x108, 0x1103, 0x108, 0x1105,
- 0x108, 0x1106, 0x108, 0x1107, 0x108, 0x1109, 0x108, 0x110b,
- 0x108, 0x110c, 0x108, 0x110e, 0x108, 0x110f, 0x108, 0x1110,
- 0x108, 0x1111, 0x108, 0x1112, 0x208, 0x1100, 0x1161, 0x208,
- 0x1102, 0x1161, 0x208, 0x1103, 0x1161, 0x208, 0x1105, 0x1161,
- 0x208, 0x1106, 0x1161, 0x208, 0x1107, 0x1161, 0x208, 0x1109,
- 0x1161, 0x208, 0x110b, 0x1161, 0x208, 0x110c, 0x1161, 0x208,
- 0x110e, 0x1161, 0x208, 0x110f, 0x1161, 0x208, 0x1110, 0x1161,
- 0x208, 0x1111, 0x1161, 0x208, 0x1112, 0x1161, 0x508, 0x110e,
- 0x1161, 0x11b7, 0x1100, 0x1169, 0x408, 0x110c, 0x116e, 0x110b,
- 0x1174, 0x208, 0x110b, 0x116e, 0x108, 0x4e00, 0x108, 0x4e8c,
- 0x108, 0x4e09, 0x108, 0x56db, 0x108, 0x4e94, 0x108, 0x516d,
- 0x108, 0x4e03, 0x108, 0x516b, 0x108, 0x4e5d, 0x108, 0x5341,
- 0x108, 0x6708, 0x108, 0x706b, 0x108, 0x6c34, 0x108, 0x6728,
- 0x108, 0x91d1, 0x108, 0x571f, 0x108, 0x65e5, 0x108, 0x682a,
- 0x108, 0x6709, 0x108, 0x793e, 0x108, 0x540d, 0x108, 0x7279,
- 0x108, 0x8ca1, 0x108, 0x795d, 0x108, 0x52b4, 0x108, 0x79d8,
- 0x108, 0x7537, 0x108, 0x5973, 0x108, 0x9069, 0x108, 0x512a,
- 0x108, 0x5370, 0x108, 0x6ce8, 0x108, 0x9805, 0x108, 0x4f11,
- 0x108, 0x5199, 0x108, 0x6b63, 0x108, 0x4e0a, 0x108, 0x4e2d,
- 0x108, 0x4e0b, 0x108, 0x5de6, 0x108, 0x53f3, 0x108, 0x533b,
- 0x108, 0x5b97, 0x108, 0x5b66, 0x108, 0x76e3, 0x108, 0x4f01,
- 0x108, 0x8cc7, 0x108, 0x5354, 0x108, 0x591c, 0x208, 0x33,
- 0x36, 0x208, 0x33, 0x37, 0x208, 0x33, 0x38, 0x208,
- 0x33, 0x39, 0x208, 0x34, 0x30, 0x208, 0x34, 0x31,
- 0x208, 0x34, 0x32, 0x208, 0x34, 0x33, 0x208, 0x34,
- 0x34, 0x208, 0x34, 0x35, 0x208, 0x34, 0x36, 0x208,
- 0x34, 0x37, 0x208, 0x34, 0x38, 0x208, 0x34, 0x39,
- 0x208, 0x35, 0x30, 0x210, 0x31, 0x6708, 0x210, 0x32,
- 0x6708, 0x210, 0x33, 0x6708, 0x210, 0x34, 0x6708, 0x210,
- 0x35, 0x6708, 0x210, 0x36, 0x6708, 0x210, 0x37, 0x6708,
- 0x210, 0x38, 0x6708, 0x210, 0x39, 0x6708, 0x310, 0x31,
- 0x30, 0x6708, 0x310, 0x31, 0x31, 0x6708, 0x310, 0x31,
- 0x32, 0x6708, 0x20f, 0x48, 0x67, 0x30f, 0x65, 0x72,
- 0x67, 0x20f, 0x65, 0x56, 0x30f, 0x4c, 0x54, 0x44,
- 0x108, 0x30a2, 0x108, 0x30a4, 0x108, 0x30a6, 0x108, 0x30a8,
- 0x108, 0x30aa, 0x108, 0x30ab, 0x108, 0x30ad, 0x108, 0x30af,
- 0x108, 0x30b1, 0x108, 0x30b3, 0x108, 0x30b5, 0x108, 0x30b7,
- 0x108, 0x30b9, 0x108, 0x30bb, 0x108, 0x30bd, 0x108, 0x30bf,
- 0x108, 0x30c1, 0x108, 0x30c4, 0x108, 0x30c6, 0x108, 0x30c8,
- 0x108, 0x30ca, 0x108, 0x30cb, 0x108, 0x30cc, 0x108, 0x30cd,
- 0x108, 0x30ce, 0x108, 0x30cf, 0x108, 0x30d2, 0x108, 0x30d5,
- 0x108, 0x30d8, 0x108, 0x30db, 0x108, 0x30de, 0x108, 0x30df,
- 0x108, 0x30e0, 0x108, 0x30e1, 0x108, 0x30e2, 0x108, 0x30e4,
- 0x108, 0x30e6, 0x108, 0x30e8, 0x108, 0x30e9, 0x108, 0x30ea,
- 0x108, 0x30eb, 0x108, 0x30ec, 0x108, 0x30ed, 0x108, 0x30ef,
- 0x108, 0x30f0, 0x108, 0x30f1, 0x108, 0x30f2, 0x40f, 0x30a2,
- 0x30d1, 0x30fc, 0x30c8, 0x40f, 0x30a2, 0x30eb, 0x30d5, 0x30a1,
- 0x40f, 0x30a2, 0x30f3, 0x30da, 0x30a2, 0x30f, 0x30a2, 0x30fc,
- 0x30eb, 0x40f, 0x30a4, 0x30cb, 0x30f3, 0x30b0, 0x30f, 0x30a4,
- 0x30f3, 0x30c1, 0x30f, 0x30a6, 0x30a9, 0x30f3, 0x50f, 0x30a8,
- 0x30b9, 0x30af, 0x30fc, 0x30c9, 0x40f, 0x30a8, 0x30fc, 0x30ab,
- 0x30fc, 0x30f, 0x30aa, 0x30f3, 0x30b9, 0x30f, 0x30aa, 0x30fc,
- 0x30e0, 0x30f, 0x30ab, 0x30a4, 0x30ea, 0x40f, 0x30ab, 0x30e9,
- 0x30c3, 0x30c8, 0x40f, 0x30ab, 0x30ed, 0x30ea, 0x30fc, 0x30f,
- 0x30ac, 0x30ed, 0x30f3, 0x30f, 0x30ac, 0x30f3, 0x30de, 0x20f,
- 0x30ae, 0x30ac, 0x30f, 0x30ae, 0x30cb, 0x30fc, 0x40f, 0x30ad,
- 0x30e5, 0x30ea, 0x30fc, 0x40f, 0x30ae, 0x30eb, 0x30c0, 0x30fc,
- 0x20f, 0x30ad, 0x30ed, 0x50f, 0x30ad, 0x30ed, 0x30b0, 0x30e9,
- 0x30e0, 0x60f, 0x30ad, 0x30ed, 0x30e1, 0x30fc, 0x30c8, 0x30eb,
- 0x50f, 0x30ad, 0x30ed, 0x30ef, 0x30c3, 0x30c8, 0x30f, 0x30b0,
- 0x30e9, 0x30e0, 0x50f, 0x30b0, 0x30e9, 0x30e0, 0x30c8, 0x30f3,
- 0x50f, 0x30af, 0x30eb, 0x30bc, 0x30a4, 0x30ed, 0x40f, 0x30af,
- 0x30ed, 0x30fc, 0x30cd, 0x30f, 0x30b1, 0x30fc, 0x30b9, 0x30f,
- 0x30b3, 0x30eb, 0x30ca, 0x30f, 0x30b3, 0x30fc, 0x30dd, 0x40f,
- 0x30b5, 0x30a4, 0x30af, 0x30eb, 0x50f, 0x30b5, 0x30f3, 0x30c1,
- 0x30fc, 0x30e0, 0x40f, 0x30b7, 0x30ea, 0x30f3, 0x30b0, 0x30f,
- 0x30bb, 0x30f3, 0x30c1, 0x30f, 0x30bb, 0x30f3, 0x30c8, 0x30f,
- 0x30c0, 0x30fc, 0x30b9, 0x20f, 0x30c7, 0x30b7, 0x20f, 0x30c9,
- 0x30eb, 0x20f, 0x30c8, 0x30f3, 0x20f, 0x30ca, 0x30ce, 0x30f,
- 0x30ce, 0x30c3, 0x30c8, 0x30f, 0x30cf, 0x30a4, 0x30c4, 0x50f,
- 0x30d1, 0x30fc, 0x30bb, 0x30f3, 0x30c8, 0x30f, 0x30d1, 0x30fc,
- 0x30c4, 0x40f, 0x30d0, 0x30fc, 0x30ec, 0x30eb, 0x50f, 0x30d4,
- 0x30a2, 0x30b9, 0x30c8, 0x30eb, 0x30f, 0x30d4, 0x30af, 0x30eb,
- 0x20f, 0x30d4, 0x30b3, 0x20f, 0x30d3, 0x30eb, 0x50f, 0x30d5,
- 0x30a1, 0x30e9, 0x30c3, 0x30c9, 0x40f, 0x30d5, 0x30a3, 0x30fc,
- 0x30c8, 0x50f, 0x30d6, 0x30c3, 0x30b7, 0x30a7, 0x30eb, 0x30f,
- 0x30d5, 0x30e9, 0x30f3, 0x50f, 0x30d8, 0x30af, 0x30bf, 0x30fc,
- 0x30eb, 0x20f, 0x30da, 0x30bd, 0x30f, 0x30da, 0x30cb, 0x30d2,
- 0x30f, 0x30d8, 0x30eb, 0x30c4, 0x30f, 0x30da, 0x30f3, 0x30b9,
- 0x30f, 0x30da, 0x30fc, 0x30b8, 0x30f, 0x30d9, 0x30fc, 0x30bf,
- 0x40f, 0x30dd, 0x30a4, 0x30f3, 0x30c8, 0x30f, 0x30dc, 0x30eb,
- 0x30c8, 0x20f, 0x30db, 0x30f3, 0x30f, 0x30dd, 0x30f3, 0x30c9,
- 0x30f, 0x30db, 0x30fc, 0x30eb, 0x30f, 0x30db, 0x30fc, 0x30f3,
- 0x40f, 0x30de, 0x30a4, 0x30af, 0x30ed, 0x30f, 0x30de, 0x30a4,
- 0x30eb, 0x30f, 0x30de, 0x30c3, 0x30cf, 0x30f, 0x30de, 0x30eb,
- 0x30af, 0x50f, 0x30de, 0x30f3, 0x30b7, 0x30e7, 0x30f3, 0x40f,
- 0x30df, 0x30af, 0x30ed, 0x30f3, 0x20f, 0x30df, 0x30ea, 0x50f,
- 0x30df, 0x30ea, 0x30d0, 0x30fc, 0x30eb, 0x20f, 0x30e1, 0x30ac,
- 0x40f, 0x30e1, 0x30ac, 0x30c8, 0x30f3, 0x40f, 0x30e1, 0x30fc,
- 0x30c8, 0x30eb, 0x30f, 0x30e4, 0x30fc, 0x30c9, 0x30f, 0x30e4,
- 0x30fc, 0x30eb, 0x30f, 0x30e6, 0x30a2, 0x30f3, 0x40f, 0x30ea,
- 0x30c3, 0x30c8, 0x30eb, 0x20f, 0x30ea, 0x30e9, 0x30f, 0x30eb,
- 0x30d4, 0x30fc, 0x40f, 0x30eb, 0x30fc, 0x30d6, 0x30eb, 0x20f,
- 0x30ec, 0x30e0, 0x50f, 0x30ec, 0x30f3, 0x30c8, 0x30b2, 0x30f3,
- 0x30f, 0x30ef, 0x30c3, 0x30c8, 0x210, 0x30, 0x70b9, 0x210,
- 0x31, 0x70b9, 0x210, 0x32, 0x70b9, 0x210, 0x33, 0x70b9,
- 0x210, 0x34, 0x70b9, 0x210, 0x35, 0x70b9, 0x210, 0x36,
- 0x70b9, 0x210, 0x37, 0x70b9, 0x210, 0x38, 0x70b9, 0x210,
- 0x39, 0x70b9, 0x310, 0x31, 0x30, 0x70b9, 0x310, 0x31,
- 0x31, 0x70b9, 0x310, 0x31, 0x32, 0x70b9, 0x310, 0x31,
- 0x33, 0x70b9, 0x310, 0x31, 0x34, 0x70b9, 0x310, 0x31,
- 0x35, 0x70b9, 0x310, 0x31, 0x36, 0x70b9, 0x310, 0x31,
- 0x37, 0x70b9, 0x310, 0x31, 0x38, 0x70b9, 0x310, 0x31,
- 0x39, 0x70b9, 0x310, 0x32, 0x30, 0x70b9, 0x310, 0x32,
- 0x31, 0x70b9, 0x310, 0x32, 0x32, 0x70b9, 0x310, 0x32,
- 0x33, 0x70b9, 0x310, 0x32, 0x34, 0x70b9, 0x30f, 0x68,
- 0x50, 0x61, 0x20f, 0x64, 0x61, 0x20f, 0x41, 0x55,
- 0x30f, 0x62, 0x61, 0x72, 0x20f, 0x6f, 0x56, 0x20f,
- 0x70, 0x63, 0x20f, 0x64, 0x6d, 0x30f, 0x64, 0x6d,
- 0xb2, 0x30f, 0x64, 0x6d, 0xb3, 0x20f, 0x49, 0x55,
- 0x20f, 0x5e73, 0x6210, 0x20f, 0x662d, 0x548c, 0x20f, 0x5927,
- 0x6b63, 0x20f, 0x660e, 0x6cbb, 0x40f, 0x682a, 0x5f0f, 0x4f1a,
- 0x793e, 0x20f, 0x70, 0x41, 0x20f, 0x6e, 0x41, 0x20f,
- 0x3bc, 0x41, 0x20f, 0x6d, 0x41, 0x20f, 0x6b, 0x41,
- 0x20f, 0x4b, 0x42, 0x20f, 0x4d, 0x42, 0x20f, 0x47,
- 0x42, 0x30f, 0x63, 0x61, 0x6c, 0x40f, 0x6b, 0x63,
- 0x61, 0x6c, 0x20f, 0x70, 0x46, 0x20f, 0x6e, 0x46,
- 0x20f, 0x3bc, 0x46, 0x20f, 0x3bc, 0x67, 0x20f, 0x6d,
- 0x67, 0x20f, 0x6b, 0x67, 0x20f, 0x48, 0x7a, 0x30f,
- 0x6b, 0x48, 0x7a, 0x30f, 0x4d, 0x48, 0x7a, 0x30f,
- 0x47, 0x48, 0x7a, 0x30f, 0x54, 0x48, 0x7a, 0x20f,
- 0x3bc, 0x2113, 0x20f, 0x6d, 0x2113, 0x20f, 0x64, 0x2113,
- 0x20f, 0x6b, 0x2113, 0x20f, 0x66, 0x6d, 0x20f, 0x6e,
- 0x6d, 0x20f, 0x3bc, 0x6d, 0x20f, 0x6d, 0x6d, 0x20f,
- 0x63, 0x6d, 0x20f, 0x6b, 0x6d, 0x30f, 0x6d, 0x6d,
- 0xb2, 0x30f, 0x63, 0x6d, 0xb2, 0x20f, 0x6d, 0xb2,
- 0x30f, 0x6b, 0x6d, 0xb2, 0x30f, 0x6d, 0x6d, 0xb3,
- 0x30f, 0x63, 0x6d, 0xb3, 0x20f, 0x6d, 0xb3, 0x30f,
- 0x6b, 0x6d, 0xb3, 0x30f, 0x6d, 0x2215, 0x73, 0x40f,
- 0x6d, 0x2215, 0x73, 0xb2, 0x20f, 0x50, 0x61, 0x30f,
- 0x6b, 0x50, 0x61, 0x30f, 0x4d, 0x50, 0x61, 0x30f,
- 0x47, 0x50, 0x61, 0x30f, 0x72, 0x61, 0x64, 0x50f,
- 0x72, 0x61, 0x64, 0x2215, 0x73, 0x60f, 0x72, 0x61,
- 0x64, 0x2215, 0x73, 0xb2, 0x20f, 0x70, 0x73, 0x20f,
- 0x6e, 0x73, 0x20f, 0x3bc, 0x73, 0x20f, 0x6d, 0x73,
- 0x20f, 0x70, 0x56, 0x20f, 0x6e, 0x56, 0x20f, 0x3bc,
- 0x56, 0x20f, 0x6d, 0x56, 0x20f, 0x6b, 0x56, 0x20f,
- 0x4d, 0x56, 0x20f, 0x70, 0x57, 0x20f, 0x6e, 0x57,
- 0x20f, 0x3bc, 0x57, 0x20f, 0x6d, 0x57, 0x20f, 0x6b,
- 0x57, 0x20f, 0x4d, 0x57, 0x20f, 0x6b, 0x3a9, 0x20f,
- 0x4d, 0x3a9, 0x40f, 0x61, 0x2e, 0x6d, 0x2e, 0x20f,
- 0x42, 0x71, 0x20f, 0x63, 0x63, 0x20f, 0x63, 0x64,
- 0x40f, 0x43, 0x2215, 0x6b, 0x67, 0x30f, 0x43, 0x6f,
- 0x2e, 0x20f, 0x64, 0x42, 0x20f, 0x47, 0x79, 0x20f,
- 0x68, 0x61, 0x20f, 0x48, 0x50, 0x20f, 0x69, 0x6e,
- 0x20f, 0x4b, 0x4b, 0x20f, 0x4b, 0x4d, 0x20f, 0x6b,
- 0x74, 0x20f, 0x6c, 0x6d, 0x20f, 0x6c, 0x6e, 0x30f,
- 0x6c, 0x6f, 0x67, 0x20f, 0x6c, 0x78, 0x20f, 0x6d,
- 0x62, 0x30f, 0x6d, 0x69, 0x6c, 0x30f, 0x6d, 0x6f,
- 0x6c, 0x20f, 0x50, 0x48, 0x40f, 0x70, 0x2e, 0x6d,
- 0x2e, 0x30f, 0x50, 0x50, 0x4d, 0x20f, 0x50, 0x52,
- 0x20f, 0x73, 0x72, 0x20f, 0x53, 0x76, 0x20f, 0x57,
- 0x62, 0x30f, 0x56, 0x2215, 0x6d, 0x30f, 0x41, 0x2215,
- 0x6d, 0x210, 0x31, 0x65e5, 0x210, 0x32, 0x65e5, 0x210,
- 0x33, 0x65e5, 0x210, 0x34, 0x65e5, 0x210, 0x35, 0x65e5,
- 0x210, 0x36, 0x65e5, 0x210, 0x37, 0x65e5, 0x210, 0x38,
- 0x65e5, 0x210, 0x39, 0x65e5, 0x310, 0x31, 0x30, 0x65e5,
- 0x310, 0x31, 0x31, 0x65e5, 0x310, 0x31, 0x32, 0x65e5,
- 0x310, 0x31, 0x33, 0x65e5, 0x310, 0x31, 0x34, 0x65e5,
- 0x310, 0x31, 0x35, 0x65e5, 0x310, 0x31, 0x36, 0x65e5,
- 0x310, 0x31, 0x37, 0x65e5, 0x310, 0x31, 0x38, 0x65e5,
- 0x310, 0x31, 0x39, 0x65e5, 0x310, 0x32, 0x30, 0x65e5,
- 0x310, 0x32, 0x31, 0x65e5, 0x310, 0x32, 0x32, 0x65e5,
- 0x310, 0x32, 0x33, 0x65e5, 0x310, 0x32, 0x34, 0x65e5,
- 0x310, 0x32, 0x35, 0x65e5, 0x310, 0x32, 0x36, 0x65e5,
- 0x310, 0x32, 0x37, 0x65e5, 0x310, 0x32, 0x38, 0x65e5,
- 0x310, 0x32, 0x39, 0x65e5, 0x310, 0x33, 0x30, 0x65e5,
- 0x310, 0x33, 0x31, 0x65e5, 0x30f, 0x67, 0x61, 0x6c,
- 0x101, 0x8c48, 0x101, 0x66f4, 0x101, 0x8eca, 0x101, 0x8cc8,
- 0x101, 0x6ed1, 0x101, 0x4e32, 0x101, 0x53e5, 0x101, 0x9f9c,
- 0x101, 0x9f9c, 0x101, 0x5951, 0x101, 0x91d1, 0x101, 0x5587,
- 0x101, 0x5948, 0x101, 0x61f6, 0x101, 0x7669, 0x101, 0x7f85,
- 0x101, 0x863f, 0x101, 0x87ba, 0x101, 0x88f8, 0x101, 0x908f,
- 0x101, 0x6a02, 0x101, 0x6d1b, 0x101, 0x70d9, 0x101, 0x73de,
- 0x101, 0x843d, 0x101, 0x916a, 0x101, 0x99f1, 0x101, 0x4e82,
- 0x101, 0x5375, 0x101, 0x6b04, 0x101, 0x721b, 0x101, 0x862d,
- 0x101, 0x9e1e, 0x101, 0x5d50, 0x101, 0x6feb, 0x101, 0x85cd,
- 0x101, 0x8964, 0x101, 0x62c9, 0x101, 0x81d8, 0x101, 0x881f,
- 0x101, 0x5eca, 0x101, 0x6717, 0x101, 0x6d6a, 0x101, 0x72fc,
- 0x101, 0x90ce, 0x101, 0x4f86, 0x101, 0x51b7, 0x101, 0x52de,
- 0x101, 0x64c4, 0x101, 0x6ad3, 0x101, 0x7210, 0x101, 0x76e7,
- 0x101, 0x8001, 0x101, 0x8606, 0x101, 0x865c, 0x101, 0x8def,
- 0x101, 0x9732, 0x101, 0x9b6f, 0x101, 0x9dfa, 0x101, 0x788c,
- 0x101, 0x797f, 0x101, 0x7da0, 0x101, 0x83c9, 0x101, 0x9304,
- 0x101, 0x9e7f, 0x101, 0x8ad6, 0x101, 0x58df, 0x101, 0x5f04,
- 0x101, 0x7c60, 0x101, 0x807e, 0x101, 0x7262, 0x101, 0x78ca,
- 0x101, 0x8cc2, 0x101, 0x96f7, 0x101, 0x58d8, 0x101, 0x5c62,
- 0x101, 0x6a13, 0x101, 0x6dda, 0x101, 0x6f0f, 0x101, 0x7d2f,
- 0x101, 0x7e37, 0x101, 0x964b, 0x101, 0x52d2, 0x101, 0x808b,
- 0x101, 0x51dc, 0x101, 0x51cc, 0x101, 0x7a1c, 0x101, 0x7dbe,
- 0x101, 0x83f1, 0x101, 0x9675, 0x101, 0x8b80, 0x101, 0x62cf,
- 0x101, 0x6a02, 0x101, 0x8afe, 0x101, 0x4e39, 0x101, 0x5be7,
- 0x101, 0x6012, 0x101, 0x7387, 0x101, 0x7570, 0x101, 0x5317,
- 0x101, 0x78fb, 0x101, 0x4fbf, 0x101, 0x5fa9, 0x101, 0x4e0d,
- 0x101, 0x6ccc, 0x101, 0x6578, 0x101, 0x7d22, 0x101, 0x53c3,
- 0x101, 0x585e, 0x101, 0x7701, 0x101, 0x8449, 0x101, 0x8aaa,
- 0x101, 0x6bba, 0x101, 0x8fb0, 0x101, 0x6c88, 0x101, 0x62fe,
- 0x101, 0x82e5, 0x101, 0x63a0, 0x101, 0x7565, 0x101, 0x4eae,
- 0x101, 0x5169, 0x101, 0x51c9, 0x101, 0x6881, 0x101, 0x7ce7,
- 0x101, 0x826f, 0x101, 0x8ad2, 0x101, 0x91cf, 0x101, 0x52f5,
- 0x101, 0x5442, 0x101, 0x5973, 0x101, 0x5eec, 0x101, 0x65c5,
- 0x101, 0x6ffe, 0x101, 0x792a, 0x101, 0x95ad, 0x101, 0x9a6a,
- 0x101, 0x9e97, 0x101, 0x9ece, 0x101, 0x529b, 0x101, 0x66c6,
- 0x101, 0x6b77, 0x101, 0x8f62, 0x101, 0x5e74, 0x101, 0x6190,
- 0x101, 0x6200, 0x101, 0x649a, 0x101, 0x6f23, 0x101, 0x7149,
- 0x101, 0x7489, 0x101, 0x79ca, 0x101, 0x7df4, 0x101, 0x806f,
- 0x101, 0x8f26, 0x101, 0x84ee, 0x101, 0x9023, 0x101, 0x934a,
- 0x101, 0x5217, 0x101, 0x52a3, 0x101, 0x54bd, 0x101, 0x70c8,
- 0x101, 0x88c2, 0x101, 0x8aaa, 0x101, 0x5ec9, 0x101, 0x5ff5,
- 0x101, 0x637b, 0x101, 0x6bae, 0x101, 0x7c3e, 0x101, 0x7375,
- 0x101, 0x4ee4, 0x101, 0x56f9, 0x101, 0x5be7, 0x101, 0x5dba,
- 0x101, 0x601c, 0x101, 0x73b2, 0x101, 0x7469, 0x101, 0x7f9a,
- 0x101, 0x8046, 0x101, 0x9234, 0x101, 0x96f6, 0x101, 0x9748,
- 0x101, 0x9818, 0x101, 0x4f8b, 0x101, 0x79ae, 0x101, 0x91b4,
- 0x101, 0x96b8, 0x101, 0x60e1, 0x101, 0x4e86, 0x101, 0x50da,
- 0x101, 0x5bee, 0x101, 0x5c3f, 0x101, 0x6599, 0x101, 0x6a02,
- 0x101, 0x71ce, 0x101, 0x7642, 0x101, 0x84fc, 0x101, 0x907c,
- 0x101, 0x9f8d, 0x101, 0x6688, 0x101, 0x962e, 0x101, 0x5289,
- 0x101, 0x677b, 0x101, 0x67f3, 0x101, 0x6d41, 0x101, 0x6e9c,
- 0x101, 0x7409, 0x101, 0x7559, 0x101, 0x786b, 0x101, 0x7d10,
- 0x101, 0x985e, 0x101, 0x516d, 0x101, 0x622e, 0x101, 0x9678,
- 0x101, 0x502b, 0x101, 0x5d19, 0x101, 0x6dea, 0x101, 0x8f2a,
- 0x101, 0x5f8b, 0x101, 0x6144, 0x101, 0x6817, 0x101, 0x7387,
- 0x101, 0x9686, 0x101, 0x5229, 0x101, 0x540f, 0x101, 0x5c65,
- 0x101, 0x6613, 0x101, 0x674e, 0x101, 0x68a8, 0x101, 0x6ce5,
- 0x101, 0x7406, 0x101, 0x75e2, 0x101, 0x7f79, 0x101, 0x88cf,
- 0x101, 0x88e1, 0x101, 0x91cc, 0x101, 0x96e2, 0x101, 0x533f,
- 0x101, 0x6eba, 0x101, 0x541d, 0x101, 0x71d0, 0x101, 0x7498,
- 0x101, 0x85fa, 0x101, 0x96a3, 0x101, 0x9c57, 0x101, 0x9e9f,
- 0x101, 0x6797, 0x101, 0x6dcb, 0x101, 0x81e8, 0x101, 0x7acb,
- 0x101, 0x7b20, 0x101, 0x7c92, 0x101, 0x72c0, 0x101, 0x7099,
- 0x101, 0x8b58, 0x101, 0x4ec0, 0x101, 0x8336, 0x101, 0x523a,
- 0x101, 0x5207, 0x101, 0x5ea6, 0x101, 0x62d3, 0x101, 0x7cd6,
- 0x101, 0x5b85, 0x101, 0x6d1e, 0x101, 0x66b4, 0x101, 0x8f3b,
- 0x101, 0x884c, 0x101, 0x964d, 0x101, 0x898b, 0x101, 0x5ed3,
- 0x101, 0x5140, 0x101, 0x55c0, 0x101, 0x585a, 0x101, 0x6674,
- 0x101, 0x51de, 0x101, 0x732a, 0x101, 0x76ca, 0x101, 0x793c,
- 0x101, 0x795e, 0x101, 0x7965, 0x101, 0x798f, 0x101, 0x9756,
- 0x101, 0x7cbe, 0x101, 0x7fbd, 0x101, 0x8612, 0x101, 0x8af8,
- 0x101, 0x9038, 0x101, 0x90fd, 0x101, 0x98ef, 0x101, 0x98fc,
- 0x101, 0x9928, 0x101, 0x9db4, 0x101, 0x4fae, 0x101, 0x50e7,
- 0x101, 0x514d, 0x101, 0x52c9, 0x101, 0x52e4, 0x101, 0x5351,
- 0x101, 0x559d, 0x101, 0x5606, 0x101, 0x5668, 0x101, 0x5840,
- 0x101, 0x58a8, 0x101, 0x5c64, 0x101, 0x5c6e, 0x101, 0x6094,
- 0x101, 0x6168, 0x101, 0x618e, 0x101, 0x61f2, 0x101, 0x654f,
- 0x101, 0x65e2, 0x101, 0x6691, 0x101, 0x6885, 0x101, 0x6d77,
- 0x101, 0x6e1a, 0x101, 0x6f22, 0x101, 0x716e, 0x101, 0x722b,
- 0x101, 0x7422, 0x101, 0x7891, 0x101, 0x793e, 0x101, 0x7949,
- 0x101, 0x7948, 0x101, 0x7950, 0x101, 0x7956, 0x101, 0x795d,
- 0x101, 0x798d, 0x101, 0x798e, 0x101, 0x7a40, 0x101, 0x7a81,
- 0x101, 0x7bc0, 0x101, 0x7df4, 0x101, 0x7e09, 0x101, 0x7e41,
- 0x101, 0x7f72, 0x101, 0x8005, 0x101, 0x81ed, 0x101, 0x8279,
- 0x101, 0x8279, 0x101, 0x8457, 0x101, 0x8910, 0x101, 0x8996,
- 0x101, 0x8b01, 0x101, 0x8b39, 0x101, 0x8cd3, 0x101, 0x8d08,
- 0x101, 0x8fb6, 0x101, 0x9038, 0x101, 0x96e3, 0x101, 0x97ff,
- 0x101, 0x983b, 0x101, 0x4e26, 0x101, 0x51b5, 0x101, 0x5168,
- 0x101, 0x4f80, 0x101, 0x5145, 0x101, 0x5180, 0x101, 0x52c7,
- 0x101, 0x52fa, 0x101, 0x559d, 0x101, 0x5555, 0x101, 0x5599,
- 0x101, 0x55e2, 0x101, 0x585a, 0x101, 0x58b3, 0x101, 0x5944,
- 0x101, 0x5954, 0x101, 0x5a62, 0x101, 0x5b28, 0x101, 0x5ed2,
- 0x101, 0x5ed9, 0x101, 0x5f69, 0x101, 0x5fad, 0x101, 0x60d8,
- 0x101, 0x614e, 0x101, 0x6108, 0x101, 0x618e, 0x101, 0x6160,
- 0x101, 0x61f2, 0x101, 0x6234, 0x101, 0x63c4, 0x101, 0x641c,
- 0x101, 0x6452, 0x101, 0x6556, 0x101, 0x6674, 0x101, 0x6717,
- 0x101, 0x671b, 0x101, 0x6756, 0x101, 0x6b79, 0x101, 0x6bba,
- 0x101, 0x6d41, 0x101, 0x6edb, 0x101, 0x6ecb, 0x101, 0x6f22,
- 0x101, 0x701e, 0x101, 0x716e, 0x101, 0x77a7, 0x101, 0x7235,
- 0x101, 0x72af, 0x101, 0x732a, 0x101, 0x7471, 0x101, 0x7506,
- 0x101, 0x753b, 0x101, 0x761d, 0x101, 0x761f, 0x101, 0x76ca,
- 0x101, 0x76db, 0x101, 0x76f4, 0x101, 0x774a, 0x101, 0x7740,
- 0x101, 0x78cc, 0x101, 0x7ab1, 0x101, 0x7bc0, 0x101, 0x7c7b,
- 0x101, 0x7d5b, 0x101, 0x7df4, 0x101, 0x7f3e, 0x101, 0x8005,
- 0x101, 0x8352, 0x101, 0x83ef, 0x101, 0x8779, 0x101, 0x8941,
- 0x101, 0x8986, 0x101, 0x8996, 0x101, 0x8abf, 0x101, 0x8af8,
- 0x101, 0x8acb, 0x101, 0x8b01, 0x101, 0x8afe, 0x101, 0x8aed,
- 0x101, 0x8b39, 0x101, 0x8b8a, 0x101, 0x8d08, 0x101, 0x8f38,
- 0x101, 0x9072, 0x101, 0x9199, 0x101, 0x9276, 0x101, 0x967c,
- 0x101, 0x96e3, 0x101, 0x9756, 0x101, 0x97db, 0x101, 0x97ff,
- 0x101, 0x980b, 0x101, 0x983b, 0x101, 0x9b12, 0x101, 0x9f9c,
- 0x201, 0xd84a, 0xdc4a, 0x201, 0xd84a, 0xdc44, 0x201, 0xd84c,
- 0xdfd5, 0x101, 0x3b9d, 0x101, 0x4018, 0x101, 0x4039, 0x201,
- 0xd854, 0xde49, 0x201, 0xd857, 0xdcd0, 0x201, 0xd85f, 0xded3,
- 0x101, 0x9f43, 0x101, 0x9f8e, 0x210, 0x66, 0x66, 0x210,
- 0x66, 0x69, 0x210, 0x66, 0x6c, 0x310, 0x66, 0x66,
- 0x69, 0x310, 0x66, 0x66, 0x6c, 0x210, 0x17f, 0x74,
- 0x210, 0x73, 0x74, 0x210, 0x574, 0x576, 0x210, 0x574,
- 0x565, 0x210, 0x574, 0x56b, 0x210, 0x57e, 0x576, 0x210,
- 0x574, 0x56d, 0x201, 0x5d9, 0x5b4, 0x201, 0x5f2, 0x5b7,
- 0x102, 0x5e2, 0x102, 0x5d0, 0x102, 0x5d3, 0x102, 0x5d4,
- 0x102, 0x5db, 0x102, 0x5dc, 0x102, 0x5dd, 0x102, 0x5e8,
- 0x102, 0x5ea, 0x102, 0x2b, 0x201, 0x5e9, 0x5c1, 0x201,
- 0x5e9, 0x5c2, 0x201, 0xfb49, 0x5c1, 0x201, 0xfb49, 0x5c2,
- 0x201, 0x5d0, 0x5b7, 0x201, 0x5d0, 0x5b8, 0x201, 0x5d0,
- 0x5bc, 0x201, 0x5d1, 0x5bc, 0x201, 0x5d2, 0x5bc, 0x201,
- 0x5d3, 0x5bc, 0x201, 0x5d4, 0x5bc, 0x201, 0x5d5, 0x5bc,
- 0x201, 0x5d6, 0x5bc, 0x201, 0x5d8, 0x5bc, 0x201, 0x5d9,
- 0x5bc, 0x201, 0x5da, 0x5bc, 0x201, 0x5db, 0x5bc, 0x201,
- 0x5dc, 0x5bc, 0x201, 0x5de, 0x5bc, 0x201, 0x5e0, 0x5bc,
- 0x201, 0x5e1, 0x5bc, 0x201, 0x5e3, 0x5bc, 0x201, 0x5e4,
- 0x5bc, 0x201, 0x5e6, 0x5bc, 0x201, 0x5e7, 0x5bc, 0x201,
- 0x5e8, 0x5bc, 0x201, 0x5e9, 0x5bc, 0x201, 0x5ea, 0x5bc,
- 0x201, 0x5d5, 0x5b9, 0x201, 0x5d1, 0x5bf, 0x201, 0x5db,
- 0x5bf, 0x201, 0x5e4, 0x5bf, 0x210, 0x5d0, 0x5dc, 0x107,
- 0x671, 0x106, 0x671, 0x107, 0x67b, 0x106, 0x67b, 0x104,
- 0x67b, 0x105, 0x67b, 0x107, 0x67e, 0x106, 0x67e, 0x104,
- 0x67e, 0x105, 0x67e, 0x107, 0x680, 0x106, 0x680, 0x104,
- 0x680, 0x105, 0x680, 0x107, 0x67a, 0x106, 0x67a, 0x104,
- 0x67a, 0x105, 0x67a, 0x107, 0x67f, 0x106, 0x67f, 0x104,
- 0x67f, 0x105, 0x67f, 0x107, 0x679, 0x106, 0x679, 0x104,
- 0x679, 0x105, 0x679, 0x107, 0x6a4, 0x106, 0x6a4, 0x104,
- 0x6a4, 0x105, 0x6a4, 0x107, 0x6a6, 0x106, 0x6a6, 0x104,
- 0x6a6, 0x105, 0x6a6, 0x107, 0x684, 0x106, 0x684, 0x104,
- 0x684, 0x105, 0x684, 0x107, 0x683, 0x106, 0x683, 0x104,
- 0x683, 0x105, 0x683, 0x107, 0x686, 0x106, 0x686, 0x104,
- 0x686, 0x105, 0x686, 0x107, 0x687, 0x106, 0x687, 0x104,
- 0x687, 0x105, 0x687, 0x107, 0x68d, 0x106, 0x68d, 0x107,
- 0x68c, 0x106, 0x68c, 0x107, 0x68e, 0x106, 0x68e, 0x107,
- 0x688, 0x106, 0x688, 0x107, 0x698, 0x106, 0x698, 0x107,
- 0x691, 0x106, 0x691, 0x107, 0x6a9, 0x106, 0x6a9, 0x104,
- 0x6a9, 0x105, 0x6a9, 0x107, 0x6af, 0x106, 0x6af, 0x104,
- 0x6af, 0x105, 0x6af, 0x107, 0x6b3, 0x106, 0x6b3, 0x104,
- 0x6b3, 0x105, 0x6b3, 0x107, 0x6b1, 0x106, 0x6b1, 0x104,
- 0x6b1, 0x105, 0x6b1, 0x107, 0x6ba, 0x106, 0x6ba, 0x107,
- 0x6bb, 0x106, 0x6bb, 0x104, 0x6bb, 0x105, 0x6bb, 0x107,
- 0x6c0, 0x106, 0x6c0, 0x107, 0x6c1, 0x106, 0x6c1, 0x104,
- 0x6c1, 0x105, 0x6c1, 0x107, 0x6be, 0x106, 0x6be, 0x104,
- 0x6be, 0x105, 0x6be, 0x107, 0x6d2, 0x106, 0x6d2, 0x107,
- 0x6d3, 0x106, 0x6d3, 0x107, 0x6ad, 0x106, 0x6ad, 0x104,
- 0x6ad, 0x105, 0x6ad, 0x107, 0x6c7, 0x106, 0x6c7, 0x107,
- 0x6c6, 0x106, 0x6c6, 0x107, 0x6c8, 0x106, 0x6c8, 0x107,
- 0x677, 0x107, 0x6cb, 0x106, 0x6cb, 0x107, 0x6c5, 0x106,
- 0x6c5, 0x107, 0x6c9, 0x106, 0x6c9, 0x107, 0x6d0, 0x106,
- 0x6d0, 0x104, 0x6d0, 0x105, 0x6d0, 0x104, 0x649, 0x105,
- 0x649, 0x207, 0x626, 0x627, 0x206, 0x626, 0x627, 0x207,
- 0x626, 0x6d5, 0x206, 0x626, 0x6d5, 0x207, 0x626, 0x648,
- 0x206, 0x626, 0x648, 0x207, 0x626, 0x6c7, 0x206, 0x626,
- 0x6c7, 0x207, 0x626, 0x6c6, 0x206, 0x626, 0x6c6, 0x207,
- 0x626, 0x6c8, 0x206, 0x626, 0x6c8, 0x207, 0x626, 0x6d0,
- 0x206, 0x626, 0x6d0, 0x204, 0x626, 0x6d0, 0x207, 0x626,
- 0x649, 0x206, 0x626, 0x649, 0x204, 0x626, 0x649, 0x107,
- 0x6cc, 0x106, 0x6cc, 0x104, 0x6cc, 0x105, 0x6cc, 0x207,
- 0x626, 0x62c, 0x207, 0x626, 0x62d, 0x207, 0x626, 0x645,
- 0x207, 0x626, 0x649, 0x207, 0x626, 0x64a, 0x207, 0x628,
- 0x62c, 0x207, 0x628, 0x62d, 0x207, 0x628, 0x62e, 0x207,
- 0x628, 0x645, 0x207, 0x628, 0x649, 0x207, 0x628, 0x64a,
- 0x207, 0x62a, 0x62c, 0x207, 0x62a, 0x62d, 0x207, 0x62a,
- 0x62e, 0x207, 0x62a, 0x645, 0x207, 0x62a, 0x649, 0x207,
- 0x62a, 0x64a, 0x207, 0x62b, 0x62c, 0x207, 0x62b, 0x645,
- 0x207, 0x62b, 0x649, 0x207, 0x62b, 0x64a, 0x207, 0x62c,
- 0x62d, 0x207, 0x62c, 0x645, 0x207, 0x62d, 0x62c, 0x207,
- 0x62d, 0x645, 0x207, 0x62e, 0x62c, 0x207, 0x62e, 0x62d,
- 0x207, 0x62e, 0x645, 0x207, 0x633, 0x62c, 0x207, 0x633,
- 0x62d, 0x207, 0x633, 0x62e, 0x207, 0x633, 0x645, 0x207,
- 0x635, 0x62d, 0x207, 0x635, 0x645, 0x207, 0x636, 0x62c,
- 0x207, 0x636, 0x62d, 0x207, 0x636, 0x62e, 0x207, 0x636,
- 0x645, 0x207, 0x637, 0x62d, 0x207, 0x637, 0x645, 0x207,
- 0x638, 0x645, 0x207, 0x639, 0x62c, 0x207, 0x639, 0x645,
- 0x207, 0x63a, 0x62c, 0x207, 0x63a, 0x645, 0x207, 0x641,
- 0x62c, 0x207, 0x641, 0x62d, 0x207, 0x641, 0x62e, 0x207,
- 0x641, 0x645, 0x207, 0x641, 0x649, 0x207, 0x641, 0x64a,
- 0x207, 0x642, 0x62d, 0x207, 0x642, 0x645, 0x207, 0x642,
- 0x649, 0x207, 0x642, 0x64a, 0x207, 0x643, 0x627, 0x207,
- 0x643, 0x62c, 0x207, 0x643, 0x62d, 0x207, 0x643, 0x62e,
- 0x207, 0x643, 0x644, 0x207, 0x643, 0x645, 0x207, 0x643,
- 0x649, 0x207, 0x643, 0x64a, 0x207, 0x644, 0x62c, 0x207,
- 0x644, 0x62d, 0x207, 0x644, 0x62e, 0x207, 0x644, 0x645,
- 0x207, 0x644, 0x649, 0x207, 0x644, 0x64a, 0x207, 0x645,
- 0x62c, 0x207, 0x645, 0x62d, 0x207, 0x645, 0x62e, 0x207,
- 0x645, 0x645, 0x207, 0x645, 0x649, 0x207, 0x645, 0x64a,
- 0x207, 0x646, 0x62c, 0x207, 0x646, 0x62d, 0x207, 0x646,
- 0x62e, 0x207, 0x646, 0x645, 0x207, 0x646, 0x649, 0x207,
- 0x646, 0x64a, 0x207, 0x647, 0x62c, 0x207, 0x647, 0x645,
- 0x207, 0x647, 0x649, 0x207, 0x647, 0x64a, 0x207, 0x64a,
- 0x62c, 0x207, 0x64a, 0x62d, 0x207, 0x64a, 0x62e, 0x207,
- 0x64a, 0x645, 0x207, 0x64a, 0x649, 0x207, 0x64a, 0x64a,
- 0x207, 0x630, 0x670, 0x207, 0x631, 0x670, 0x207, 0x649,
- 0x670, 0x307, 0x20, 0x64c, 0x651, 0x307, 0x20, 0x64d,
- 0x651, 0x307, 0x20, 0x64e, 0x651, 0x307, 0x20, 0x64f,
- 0x651, 0x307, 0x20, 0x650, 0x651, 0x307, 0x20, 0x651,
- 0x670, 0x206, 0x626, 0x631, 0x206, 0x626, 0x632, 0x206,
- 0x626, 0x645, 0x206, 0x626, 0x646, 0x206, 0x626, 0x649,
- 0x206, 0x626, 0x64a, 0x206, 0x628, 0x631, 0x206, 0x628,
- 0x632, 0x206, 0x628, 0x645, 0x206, 0x628, 0x646, 0x206,
- 0x628, 0x649, 0x206, 0x628, 0x64a, 0x206, 0x62a, 0x631,
- 0x206, 0x62a, 0x632, 0x206, 0x62a, 0x645, 0x206, 0x62a,
- 0x646, 0x206, 0x62a, 0x649, 0x206, 0x62a, 0x64a, 0x206,
- 0x62b, 0x631, 0x206, 0x62b, 0x632, 0x206, 0x62b, 0x645,
- 0x206, 0x62b, 0x646, 0x206, 0x62b, 0x649, 0x206, 0x62b,
- 0x64a, 0x206, 0x641, 0x649, 0x206, 0x641, 0x64a, 0x206,
- 0x642, 0x649, 0x206, 0x642, 0x64a, 0x206, 0x643, 0x627,
- 0x206, 0x643, 0x644, 0x206, 0x643, 0x645, 0x206, 0x643,
- 0x649, 0x206, 0x643, 0x64a, 0x206, 0x644, 0x645, 0x206,
- 0x644, 0x649, 0x206, 0x644, 0x64a, 0x206, 0x645, 0x627,
- 0x206, 0x645, 0x645, 0x206, 0x646, 0x631, 0x206, 0x646,
- 0x632, 0x206, 0x646, 0x645, 0x206, 0x646, 0x646, 0x206,
- 0x646, 0x649, 0x206, 0x646, 0x64a, 0x206, 0x649, 0x670,
- 0x206, 0x64a, 0x631, 0x206, 0x64a, 0x632, 0x206, 0x64a,
- 0x645, 0x206, 0x64a, 0x646, 0x206, 0x64a, 0x649, 0x206,
- 0x64a, 0x64a, 0x204, 0x626, 0x62c, 0x204, 0x626, 0x62d,
- 0x204, 0x626, 0x62e, 0x204, 0x626, 0x645, 0x204, 0x626,
- 0x647, 0x204, 0x628, 0x62c, 0x204, 0x628, 0x62d, 0x204,
- 0x628, 0x62e, 0x204, 0x628, 0x645, 0x204, 0x628, 0x647,
- 0x204, 0x62a, 0x62c, 0x204, 0x62a, 0x62d, 0x204, 0x62a,
- 0x62e, 0x204, 0x62a, 0x645, 0x204, 0x62a, 0x647, 0x204,
- 0x62b, 0x645, 0x204, 0x62c, 0x62d, 0x204, 0x62c, 0x645,
- 0x204, 0x62d, 0x62c, 0x204, 0x62d, 0x645, 0x204, 0x62e,
- 0x62c, 0x204, 0x62e, 0x645, 0x204, 0x633, 0x62c, 0x204,
- 0x633, 0x62d, 0x204, 0x633, 0x62e, 0x204, 0x633, 0x645,
- 0x204, 0x635, 0x62d, 0x204, 0x635, 0x62e, 0x204, 0x635,
- 0x645, 0x204, 0x636, 0x62c, 0x204, 0x636, 0x62d, 0x204,
- 0x636, 0x62e, 0x204, 0x636, 0x645, 0x204, 0x637, 0x62d,
- 0x204, 0x638, 0x645, 0x204, 0x639, 0x62c, 0x204, 0x639,
- 0x645, 0x204, 0x63a, 0x62c, 0x204, 0x63a, 0x645, 0x204,
- 0x641, 0x62c, 0x204, 0x641, 0x62d, 0x204, 0x641, 0x62e,
- 0x204, 0x641, 0x645, 0x204, 0x642, 0x62d, 0x204, 0x642,
- 0x645, 0x204, 0x643, 0x62c, 0x204, 0x643, 0x62d, 0x204,
- 0x643, 0x62e, 0x204, 0x643, 0x644, 0x204, 0x643, 0x645,
- 0x204, 0x644, 0x62c, 0x204, 0x644, 0x62d, 0x204, 0x644,
- 0x62e, 0x204, 0x644, 0x645, 0x204, 0x644, 0x647, 0x204,
- 0x645, 0x62c, 0x204, 0x645, 0x62d, 0x204, 0x645, 0x62e,
- 0x204, 0x645, 0x645, 0x204, 0x646, 0x62c, 0x204, 0x646,
- 0x62d, 0x204, 0x646, 0x62e, 0x204, 0x646, 0x645, 0x204,
- 0x646, 0x647, 0x204, 0x647, 0x62c, 0x204, 0x647, 0x645,
- 0x204, 0x647, 0x670, 0x204, 0x64a, 0x62c, 0x204, 0x64a,
- 0x62d, 0x204, 0x64a, 0x62e, 0x204, 0x64a, 0x645, 0x204,
- 0x64a, 0x647, 0x205, 0x626, 0x645, 0x205, 0x626, 0x647,
- 0x205, 0x628, 0x645, 0x205, 0x628, 0x647, 0x205, 0x62a,
- 0x645, 0x205, 0x62a, 0x647, 0x205, 0x62b, 0x645, 0x205,
- 0x62b, 0x647, 0x205, 0x633, 0x645, 0x205, 0x633, 0x647,
- 0x205, 0x634, 0x645, 0x205, 0x634, 0x647, 0x205, 0x643,
- 0x644, 0x205, 0x643, 0x645, 0x205, 0x644, 0x645, 0x205,
- 0x646, 0x645, 0x205, 0x646, 0x647, 0x205, 0x64a, 0x645,
- 0x205, 0x64a, 0x647, 0x305, 0x640, 0x64e, 0x651, 0x305,
- 0x640, 0x64f, 0x651, 0x305, 0x640, 0x650, 0x651, 0x207,
- 0x637, 0x649, 0x207, 0x637, 0x64a, 0x207, 0x639, 0x649,
- 0x207, 0x639, 0x64a, 0x207, 0x63a, 0x649, 0x207, 0x63a,
- 0x64a, 0x207, 0x633, 0x649, 0x207, 0x633, 0x64a, 0x207,
- 0x634, 0x649, 0x207, 0x634, 0x64a, 0x207, 0x62d, 0x649,
- 0x207, 0x62d, 0x64a, 0x207, 0x62c, 0x649, 0x207, 0x62c,
- 0x64a, 0x207, 0x62e, 0x649, 0x207, 0x62e, 0x64a, 0x207,
- 0x635, 0x649, 0x207, 0x635, 0x64a, 0x207, 0x636, 0x649,
- 0x207, 0x636, 0x64a, 0x207, 0x634, 0x62c, 0x207, 0x634,
- 0x62d, 0x207, 0x634, 0x62e, 0x207, 0x634, 0x645, 0x207,
- 0x634, 0x631, 0x207, 0x633, 0x631, 0x207, 0x635, 0x631,
- 0x207, 0x636, 0x631, 0x206, 0x637, 0x649, 0x206, 0x637,
- 0x64a, 0x206, 0x639, 0x649, 0x206, 0x639, 0x64a, 0x206,
- 0x63a, 0x649, 0x206, 0x63a, 0x64a, 0x206, 0x633, 0x649,
- 0x206, 0x633, 0x64a, 0x206, 0x634, 0x649, 0x206, 0x634,
- 0x64a, 0x206, 0x62d, 0x649, 0x206, 0x62d, 0x64a, 0x206,
- 0x62c, 0x649, 0x206, 0x62c, 0x64a, 0x206, 0x62e, 0x649,
- 0x206, 0x62e, 0x64a, 0x206, 0x635, 0x649, 0x206, 0x635,
- 0x64a, 0x206, 0x636, 0x649, 0x206, 0x636, 0x64a, 0x206,
- 0x634, 0x62c, 0x206, 0x634, 0x62d, 0x206, 0x634, 0x62e,
- 0x206, 0x634, 0x645, 0x206, 0x634, 0x631, 0x206, 0x633,
- 0x631, 0x206, 0x635, 0x631, 0x206, 0x636, 0x631, 0x204,
- 0x634, 0x62c, 0x204, 0x634, 0x62d, 0x204, 0x634, 0x62e,
- 0x204, 0x634, 0x645, 0x204, 0x633, 0x647, 0x204, 0x634,
- 0x647, 0x204, 0x637, 0x645, 0x205, 0x633, 0x62c, 0x205,
- 0x633, 0x62d, 0x205, 0x633, 0x62e, 0x205, 0x634, 0x62c,
- 0x205, 0x634, 0x62d, 0x205, 0x634, 0x62e, 0x205, 0x637,
- 0x645, 0x205, 0x638, 0x645, 0x206, 0x627, 0x64b, 0x207,
- 0x627, 0x64b, 0x304, 0x62a, 0x62c, 0x645, 0x306, 0x62a,
- 0x62d, 0x62c, 0x304, 0x62a, 0x62d, 0x62c, 0x304, 0x62a,
- 0x62d, 0x645, 0x304, 0x62a, 0x62e, 0x645, 0x304, 0x62a,
- 0x645, 0x62c, 0x304, 0x62a, 0x645, 0x62d, 0x304, 0x62a,
- 0x645, 0x62e, 0x306, 0x62c, 0x645, 0x62d, 0x304, 0x62c,
- 0x645, 0x62d, 0x306, 0x62d, 0x645, 0x64a, 0x306, 0x62d,
- 0x645, 0x649, 0x304, 0x633, 0x62d, 0x62c, 0x304, 0x633,
- 0x62c, 0x62d, 0x306, 0x633, 0x62c, 0x649, 0x306, 0x633,
- 0x645, 0x62d, 0x304, 0x633, 0x645, 0x62d, 0x304, 0x633,
- 0x645, 0x62c, 0x306, 0x633, 0x645, 0x645, 0x304, 0x633,
- 0x645, 0x645, 0x306, 0x635, 0x62d, 0x62d, 0x304, 0x635,
- 0x62d, 0x62d, 0x306, 0x635, 0x645, 0x645, 0x306, 0x634,
- 0x62d, 0x645, 0x304, 0x634, 0x62d, 0x645, 0x306, 0x634,
- 0x62c, 0x64a, 0x306, 0x634, 0x645, 0x62e, 0x304, 0x634,
- 0x645, 0x62e, 0x306, 0x634, 0x645, 0x645, 0x304, 0x634,
- 0x645, 0x645, 0x306, 0x636, 0x62d, 0x649, 0x306, 0x636,
- 0x62e, 0x645, 0x304, 0x636, 0x62e, 0x645, 0x306, 0x637,
- 0x645, 0x62d, 0x304, 0x637, 0x645, 0x62d, 0x304, 0x637,
- 0x645, 0x645, 0x306, 0x637, 0x645, 0x64a, 0x306, 0x639,
- 0x62c, 0x645, 0x306, 0x639, 0x645, 0x645, 0x304, 0x639,
- 0x645, 0x645, 0x306, 0x639, 0x645, 0x649, 0x306, 0x63a,
- 0x645, 0x645, 0x306, 0x63a, 0x645, 0x64a, 0x306, 0x63a,
- 0x645, 0x649, 0x306, 0x641, 0x62e, 0x645, 0x304, 0x641,
- 0x62e, 0x645, 0x306, 0x642, 0x645, 0x62d, 0x306, 0x642,
- 0x645, 0x645, 0x306, 0x644, 0x62d, 0x645, 0x306, 0x644,
- 0x62d, 0x64a, 0x306, 0x644, 0x62d, 0x649, 0x304, 0x644,
- 0x62c, 0x62c, 0x306, 0x644, 0x62c, 0x62c, 0x306, 0x644,
- 0x62e, 0x645, 0x304, 0x644, 0x62e, 0x645, 0x306, 0x644,
- 0x645, 0x62d, 0x304, 0x644, 0x645, 0x62d, 0x304, 0x645,
- 0x62d, 0x62c, 0x304, 0x645, 0x62d, 0x645, 0x306, 0x645,
- 0x62d, 0x64a, 0x304, 0x645, 0x62c, 0x62d, 0x304, 0x645,
- 0x62c, 0x645, 0x304, 0x645, 0x62e, 0x62c, 0x304, 0x645,
- 0x62e, 0x645, 0x304, 0x645, 0x62c, 0x62e, 0x304, 0x647,
- 0x645, 0x62c, 0x304, 0x647, 0x645, 0x645, 0x304, 0x646,
- 0x62d, 0x645, 0x306, 0x646, 0x62d, 0x649, 0x306, 0x646,
- 0x62c, 0x645, 0x304, 0x646, 0x62c, 0x645, 0x306, 0x646,
- 0x62c, 0x649, 0x306, 0x646, 0x645, 0x64a, 0x306, 0x646,
- 0x645, 0x649, 0x306, 0x64a, 0x645, 0x645, 0x304, 0x64a,
- 0x645, 0x645, 0x306, 0x628, 0x62e, 0x64a, 0x306, 0x62a,
- 0x62c, 0x64a, 0x306, 0x62a, 0x62c, 0x649, 0x306, 0x62a,
- 0x62e, 0x64a, 0x306, 0x62a, 0x62e, 0x649, 0x306, 0x62a,
- 0x645, 0x64a, 0x306, 0x62a, 0x645, 0x649, 0x306, 0x62c,
- 0x645, 0x64a, 0x306, 0x62c, 0x62d, 0x649, 0x306, 0x62c,
- 0x645, 0x649, 0x306, 0x633, 0x62e, 0x649, 0x306, 0x635,
- 0x62d, 0x64a, 0x306, 0x634, 0x62d, 0x64a, 0x306, 0x636,
- 0x62d, 0x64a, 0x306, 0x644, 0x62c, 0x64a, 0x306, 0x644,
- 0x645, 0x64a, 0x306, 0x64a, 0x62d, 0x64a, 0x306, 0x64a,
- 0x62c, 0x64a, 0x306, 0x64a, 0x645, 0x64a, 0x306, 0x645,
- 0x645, 0x64a, 0x306, 0x642, 0x645, 0x64a, 0x306, 0x646,
- 0x62d, 0x64a, 0x304, 0x642, 0x645, 0x62d, 0x304, 0x644,
- 0x62d, 0x645, 0x306, 0x639, 0x645, 0x64a, 0x306, 0x643,
- 0x645, 0x64a, 0x304, 0x646, 0x62c, 0x62d, 0x306, 0x645,
- 0x62e, 0x64a, 0x304, 0x644, 0x62c, 0x645, 0x306, 0x643,
- 0x645, 0x645, 0x306, 0x644, 0x62c, 0x645, 0x306, 0x646,
- 0x62c, 0x62d, 0x306, 0x62c, 0x62d, 0x64a, 0x306, 0x62d,
- 0x62c, 0x64a, 0x306, 0x645, 0x62c, 0x64a, 0x306, 0x641,
- 0x645, 0x64a, 0x306, 0x628, 0x62d, 0x64a, 0x304, 0x643,
- 0x645, 0x645, 0x304, 0x639, 0x62c, 0x645, 0x304, 0x635,
- 0x645, 0x645, 0x306, 0x633, 0x62e, 0x64a, 0x306, 0x646,
- 0x62c, 0x64a, 0x307, 0x635, 0x644, 0x6d2, 0x307, 0x642,
- 0x644, 0x6d2, 0x407, 0x627, 0x644, 0x644, 0x647, 0x407,
- 0x627, 0x643, 0x628, 0x631, 0x407, 0x645, 0x62d, 0x645,
- 0x62f, 0x407, 0x635, 0x644, 0x639, 0x645, 0x407, 0x631,
- 0x633, 0x648, 0x644, 0x407, 0x639, 0x644, 0x64a, 0x647,
- 0x407, 0x648, 0x633, 0x644, 0x645, 0x307, 0x635, 0x644,
- 0x649, 0x1207, 0x635, 0x644, 0x649, 0x20, 0x627, 0x644,
- 0x644, 0x647, 0x20, 0x639, 0x644, 0x64a, 0x647, 0x20,
- 0x648, 0x633, 0x644, 0x645, 0x807, 0x62c, 0x644, 0x20,
- 0x62c, 0x644, 0x627, 0x644, 0x647, 0x407, 0x631, 0x6cc,
- 0x627, 0x644, 0x10b, 0x2c, 0x10b, 0x3001, 0x10b, 0x3002,
- 0x10b, 0x3a, 0x10b, 0x3b, 0x10b, 0x21, 0x10b, 0x3f,
- 0x10b, 0x3016, 0x10b, 0x3017, 0x10b, 0x2026, 0x10b, 0x2025,
- 0x10b, 0x2014, 0x10b, 0x2013, 0x10b, 0x5f, 0x10b, 0x5f,
- 0x10b, 0x28, 0x10b, 0x29, 0x10b, 0x7b, 0x10b, 0x7d,
- 0x10b, 0x3014, 0x10b, 0x3015, 0x10b, 0x3010, 0x10b, 0x3011,
- 0x10b, 0x300a, 0x10b, 0x300b, 0x10b, 0x3008, 0x10b, 0x3009,
- 0x10b, 0x300c, 0x10b, 0x300d, 0x10b, 0x300e, 0x10b, 0x300f,
- 0x10b, 0x5b, 0x10b, 0x5d, 0x110, 0x203e, 0x110, 0x203e,
- 0x110, 0x203e, 0x110, 0x203e, 0x110, 0x5f, 0x110, 0x5f,
- 0x110, 0x5f, 0x10e, 0x2c, 0x10e, 0x3001, 0x10e, 0x2e,
- 0x10e, 0x3b, 0x10e, 0x3a, 0x10e, 0x3f, 0x10e, 0x21,
- 0x10e, 0x2014, 0x10e, 0x28, 0x10e, 0x29, 0x10e, 0x7b,
- 0x10e, 0x7d, 0x10e, 0x3014, 0x10e, 0x3015, 0x10e, 0x23,
- 0x10e, 0x26, 0x10e, 0x2a, 0x10e, 0x2b, 0x10e, 0x2d,
- 0x10e, 0x3c, 0x10e, 0x3e, 0x10e, 0x3d, 0x10e, 0x5c,
- 0x10e, 0x24, 0x10e, 0x25, 0x10e, 0x40, 0x207, 0x20,
- 0x64b, 0x205, 0x640, 0x64b, 0x207, 0x20, 0x64c, 0x207,
- 0x20, 0x64d, 0x207, 0x20, 0x64e, 0x205, 0x640, 0x64e,
- 0x207, 0x20, 0x64f, 0x205, 0x640, 0x64f, 0x207, 0x20,
- 0x650, 0x205, 0x640, 0x650, 0x207, 0x20, 0x651, 0x205,
- 0x640, 0x651, 0x207, 0x20, 0x652, 0x205, 0x640, 0x652,
- 0x107, 0x621, 0x107, 0x622, 0x106, 0x622, 0x107, 0x623,
- 0x106, 0x623, 0x107, 0x624, 0x106, 0x624, 0x107, 0x625,
- 0x106, 0x625, 0x107, 0x626, 0x106, 0x626, 0x104, 0x626,
- 0x105, 0x626, 0x107, 0x627, 0x106, 0x627, 0x107, 0x628,
- 0x106, 0x628, 0x104, 0x628, 0x105, 0x628, 0x107, 0x629,
- 0x106, 0x629, 0x107, 0x62a, 0x106, 0x62a, 0x104, 0x62a,
- 0x105, 0x62a, 0x107, 0x62b, 0x106, 0x62b, 0x104, 0x62b,
- 0x105, 0x62b, 0x107, 0x62c, 0x106, 0x62c, 0x104, 0x62c,
- 0x105, 0x62c, 0x107, 0x62d, 0x106, 0x62d, 0x104, 0x62d,
- 0x105, 0x62d, 0x107, 0x62e, 0x106, 0x62e, 0x104, 0x62e,
- 0x105, 0x62e, 0x107, 0x62f, 0x106, 0x62f, 0x107, 0x630,
- 0x106, 0x630, 0x107, 0x631, 0x106, 0x631, 0x107, 0x632,
- 0x106, 0x632, 0x107, 0x633, 0x106, 0x633, 0x104, 0x633,
- 0x105, 0x633, 0x107, 0x634, 0x106, 0x634, 0x104, 0x634,
- 0x105, 0x634, 0x107, 0x635, 0x106, 0x635, 0x104, 0x635,
- 0x105, 0x635, 0x107, 0x636, 0x106, 0x636, 0x104, 0x636,
- 0x105, 0x636, 0x107, 0x637, 0x106, 0x637, 0x104, 0x637,
- 0x105, 0x637, 0x107, 0x638, 0x106, 0x638, 0x104, 0x638,
- 0x105, 0x638, 0x107, 0x639, 0x106, 0x639, 0x104, 0x639,
- 0x105, 0x639, 0x107, 0x63a, 0x106, 0x63a, 0x104, 0x63a,
- 0x105, 0x63a, 0x107, 0x641, 0x106, 0x641, 0x104, 0x641,
- 0x105, 0x641, 0x107, 0x642, 0x106, 0x642, 0x104, 0x642,
- 0x105, 0x642, 0x107, 0x643, 0x106, 0x643, 0x104, 0x643,
- 0x105, 0x643, 0x107, 0x644, 0x106, 0x644, 0x104, 0x644,
- 0x105, 0x644, 0x107, 0x645, 0x106, 0x645, 0x104, 0x645,
- 0x105, 0x645, 0x107, 0x646, 0x106, 0x646, 0x104, 0x646,
- 0x105, 0x646, 0x107, 0x647, 0x106, 0x647, 0x104, 0x647,
- 0x105, 0x647, 0x107, 0x648, 0x106, 0x648, 0x107, 0x649,
- 0x106, 0x649, 0x107, 0x64a, 0x106, 0x64a, 0x104, 0x64a,
- 0x105, 0x64a, 0x207, 0x644, 0x622, 0x206, 0x644, 0x622,
- 0x207, 0x644, 0x623, 0x206, 0x644, 0x623, 0x207, 0x644,
- 0x625, 0x206, 0x644, 0x625, 0x207, 0x644, 0x627, 0x206,
- 0x644, 0x627, 0x10c, 0x21, 0x10c, 0x22, 0x10c, 0x23,
- 0x10c, 0x24, 0x10c, 0x25, 0x10c, 0x26, 0x10c, 0x27,
- 0x10c, 0x28, 0x10c, 0x29, 0x10c, 0x2a, 0x10c, 0x2b,
- 0x10c, 0x2c, 0x10c, 0x2d, 0x10c, 0x2e, 0x10c, 0x2f,
- 0x10c, 0x30, 0x10c, 0x31, 0x10c, 0x32, 0x10c, 0x33,
- 0x10c, 0x34, 0x10c, 0x35, 0x10c, 0x36, 0x10c, 0x37,
- 0x10c, 0x38, 0x10c, 0x39, 0x10c, 0x3a, 0x10c, 0x3b,
- 0x10c, 0x3c, 0x10c, 0x3d, 0x10c, 0x3e, 0x10c, 0x3f,
- 0x10c, 0x40, 0x10c, 0x41, 0x10c, 0x42, 0x10c, 0x43,
- 0x10c, 0x44, 0x10c, 0x45, 0x10c, 0x46, 0x10c, 0x47,
- 0x10c, 0x48, 0x10c, 0x49, 0x10c, 0x4a, 0x10c, 0x4b,
- 0x10c, 0x4c, 0x10c, 0x4d, 0x10c, 0x4e, 0x10c, 0x4f,
- 0x10c, 0x50, 0x10c, 0x51, 0x10c, 0x52, 0x10c, 0x53,
- 0x10c, 0x54, 0x10c, 0x55, 0x10c, 0x56, 0x10c, 0x57,
- 0x10c, 0x58, 0x10c, 0x59, 0x10c, 0x5a, 0x10c, 0x5b,
- 0x10c, 0x5c, 0x10c, 0x5d, 0x10c, 0x5e, 0x10c, 0x5f,
- 0x10c, 0x60, 0x10c, 0x61, 0x10c, 0x62, 0x10c, 0x63,
- 0x10c, 0x64, 0x10c, 0x65, 0x10c, 0x66, 0x10c, 0x67,
- 0x10c, 0x68, 0x10c, 0x69, 0x10c, 0x6a, 0x10c, 0x6b,
- 0x10c, 0x6c, 0x10c, 0x6d, 0x10c, 0x6e, 0x10c, 0x6f,
- 0x10c, 0x70, 0x10c, 0x71, 0x10c, 0x72, 0x10c, 0x73,
- 0x10c, 0x74, 0x10c, 0x75, 0x10c, 0x76, 0x10c, 0x77,
- 0x10c, 0x78, 0x10c, 0x79, 0x10c, 0x7a, 0x10c, 0x7b,
- 0x10c, 0x7c, 0x10c, 0x7d, 0x10c, 0x7e, 0x10c, 0x2985,
- 0x10c, 0x2986, 0x10d, 0x3002, 0x10d, 0x300c, 0x10d, 0x300d,
- 0x10d, 0x3001, 0x10d, 0x30fb, 0x10d, 0x30f2, 0x10d, 0x30a1,
- 0x10d, 0x30a3, 0x10d, 0x30a5, 0x10d, 0x30a7, 0x10d, 0x30a9,
- 0x10d, 0x30e3, 0x10d, 0x30e5, 0x10d, 0x30e7, 0x10d, 0x30c3,
- 0x10d, 0x30fc, 0x10d, 0x30a2, 0x10d, 0x30a4, 0x10d, 0x30a6,
- 0x10d, 0x30a8, 0x10d, 0x30aa, 0x10d, 0x30ab, 0x10d, 0x30ad,
- 0x10d, 0x30af, 0x10d, 0x30b1, 0x10d, 0x30b3, 0x10d, 0x30b5,
- 0x10d, 0x30b7, 0x10d, 0x30b9, 0x10d, 0x30bb, 0x10d, 0x30bd,
- 0x10d, 0x30bf, 0x10d, 0x30c1, 0x10d, 0x30c4, 0x10d, 0x30c6,
- 0x10d, 0x30c8, 0x10d, 0x30ca, 0x10d, 0x30cb, 0x10d, 0x30cc,
- 0x10d, 0x30cd, 0x10d, 0x30ce, 0x10d, 0x30cf, 0x10d, 0x30d2,
- 0x10d, 0x30d5, 0x10d, 0x30d8, 0x10d, 0x30db, 0x10d, 0x30de,
- 0x10d, 0x30df, 0x10d, 0x30e0, 0x10d, 0x30e1, 0x10d, 0x30e2,
- 0x10d, 0x30e4, 0x10d, 0x30e6, 0x10d, 0x30e8, 0x10d, 0x30e9,
- 0x10d, 0x30ea, 0x10d, 0x30eb, 0x10d, 0x30ec, 0x10d, 0x30ed,
- 0x10d, 0x30ef, 0x10d, 0x30f3, 0x10d, 0x3099, 0x10d, 0x309a,
- 0x10d, 0x3164, 0x10d, 0x3131, 0x10d, 0x3132, 0x10d, 0x3133,
- 0x10d, 0x3134, 0x10d, 0x3135, 0x10d, 0x3136, 0x10d, 0x3137,
- 0x10d, 0x3138, 0x10d, 0x3139, 0x10d, 0x313a, 0x10d, 0x313b,
- 0x10d, 0x313c, 0x10d, 0x313d, 0x10d, 0x313e, 0x10d, 0x313f,
- 0x10d, 0x3140, 0x10d, 0x3141, 0x10d, 0x3142, 0x10d, 0x3143,
- 0x10d, 0x3144, 0x10d, 0x3145, 0x10d, 0x3146, 0x10d, 0x3147,
- 0x10d, 0x3148, 0x10d, 0x3149, 0x10d, 0x314a, 0x10d, 0x314b,
- 0x10d, 0x314c, 0x10d, 0x314d, 0x10d, 0x314e, 0x10d, 0x314f,
- 0x10d, 0x3150, 0x10d, 0x3151, 0x10d, 0x3152, 0x10d, 0x3153,
- 0x10d, 0x3154, 0x10d, 0x3155, 0x10d, 0x3156, 0x10d, 0x3157,
- 0x10d, 0x3158, 0x10d, 0x3159, 0x10d, 0x315a, 0x10d, 0x315b,
- 0x10d, 0x315c, 0x10d, 0x315d, 0x10d, 0x315e, 0x10d, 0x315f,
- 0x10d, 0x3160, 0x10d, 0x3161, 0x10d, 0x3162, 0x10d, 0x3163,
- 0x10c, 0xa2, 0x10c, 0xa3, 0x10c, 0xac, 0x10c, 0xaf,
- 0x10c, 0xa6, 0x10c, 0xa5, 0x10c, 0x20a9, 0x10d, 0x2502,
- 0x10d, 0x2190, 0x10d, 0x2191, 0x10d, 0x2192, 0x10d, 0x2193,
- 0x10d, 0x25a0, 0x10d, 0x25cb, 0x401, 0xd834, 0xdd57, 0xd834,
- 0xdd65, 0x401, 0xd834, 0xdd58, 0xd834, 0xdd65, 0x401, 0xd834,
- 0xdd5f, 0xd834, 0xdd6e, 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd6f,
- 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd70, 0x401, 0xd834, 0xdd5f,
- 0xd834, 0xdd71, 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd72, 0x401,
- 0xd834, 0xddb9, 0xd834, 0xdd65, 0x401, 0xd834, 0xddba, 0xd834,
- 0xdd65, 0x401, 0xd834, 0xddbb, 0xd834, 0xdd6e, 0x401, 0xd834,
- 0xddbc, 0xd834, 0xdd6e, 0x401, 0xd834, 0xddbb, 0xd834, 0xdd6f,
- 0x401, 0xd834, 0xddbc, 0xd834, 0xdd6f, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
- 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
- 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
- 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
- 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x42, 0x102,
- 0x43, 0x102, 0x44, 0x102, 0x45, 0x102, 0x46, 0x102,
- 0x47, 0x102, 0x48, 0x102, 0x49, 0x102, 0x4a, 0x102,
- 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102, 0x4e, 0x102,
- 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102, 0x52, 0x102,
- 0x53, 0x102, 0x54, 0x102, 0x55, 0x102, 0x56, 0x102,
- 0x57, 0x102, 0x58, 0x102, 0x59, 0x102, 0x5a, 0x102,
- 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
- 0x65, 0x102, 0x66, 0x102, 0x67, 0x102, 0x68, 0x102,
- 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
- 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
- 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
- 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
- 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x43, 0x102,
- 0x44, 0x102, 0x47, 0x102, 0x4a, 0x102, 0x4b, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x53, 0x102, 0x54, 0x102, 0x55, 0x102, 0x56, 0x102,
- 0x57, 0x102, 0x58, 0x102, 0x59, 0x102, 0x5a, 0x102,
- 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
- 0x66, 0x102, 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102,
- 0x6b, 0x102, 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x44, 0x102, 0x45, 0x102, 0x46, 0x102,
- 0x47, 0x102, 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102,
- 0x4d, 0x102, 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102,
- 0x51, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
- 0x65, 0x102, 0x66, 0x102, 0x67, 0x102, 0x68, 0x102,
- 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
- 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
- 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
- 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
- 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x42, 0x102,
- 0x44, 0x102, 0x45, 0x102, 0x46, 0x102, 0x47, 0x102,
- 0x49, 0x102, 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102,
- 0x4d, 0x102, 0x4f, 0x102, 0x53, 0x102, 0x54, 0x102,
- 0x55, 0x102, 0x56, 0x102, 0x57, 0x102, 0x58, 0x102,
- 0x59, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
- 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
- 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
- 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
- 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
- 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
- 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
- 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
- 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
- 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
- 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
- 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
- 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
- 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x131, 0x102,
- 0x237, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
- 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
- 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
- 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
- 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
- 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
- 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
- 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
- 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
- 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
- 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
- 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
- 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
- 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
- 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x391, 0x102,
- 0x392, 0x102, 0x393, 0x102, 0x394, 0x102, 0x395, 0x102,
- 0x396, 0x102, 0x397, 0x102, 0x398, 0x102, 0x399, 0x102,
- 0x39a, 0x102, 0x39b, 0x102, 0x39c, 0x102, 0x39d, 0x102,
- 0x39e, 0x102, 0x39f, 0x102, 0x3a0, 0x102, 0x3a1, 0x102,
- 0x3f4, 0x102, 0x3a3, 0x102, 0x3a4, 0x102, 0x3a5, 0x102,
- 0x3a6, 0x102, 0x3a7, 0x102, 0x3a8, 0x102, 0x3a9, 0x102,
- 0x2207, 0x102, 0x3b1, 0x102, 0x3b2, 0x102, 0x3b3, 0x102,
- 0x3b4, 0x102, 0x3b5, 0x102, 0x3b6, 0x102, 0x3b7, 0x102,
- 0x3b8, 0x102, 0x3b9, 0x102, 0x3ba, 0x102, 0x3bb, 0x102,
- 0x3bc, 0x102, 0x3bd, 0x102, 0x3be, 0x102, 0x3bf, 0x102,
- 0x3c0, 0x102, 0x3c1, 0x102, 0x3c2, 0x102, 0x3c3, 0x102,
- 0x3c4, 0x102, 0x3c5, 0x102, 0x3c6, 0x102, 0x3c7, 0x102,
- 0x3c8, 0x102, 0x3c9, 0x102, 0x2202, 0x102, 0x3f5, 0x102,
- 0x3d1, 0x102, 0x3f0, 0x102, 0x3d5, 0x102, 0x3f1, 0x102,
- 0x3d6, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
- 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
- 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
- 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
- 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
- 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
- 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
- 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
- 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
- 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
- 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
- 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
- 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
- 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
- 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x391, 0x102,
- 0x392, 0x102, 0x393, 0x102, 0x394, 0x102, 0x395, 0x102,
- 0x396, 0x102, 0x397, 0x102, 0x398, 0x102, 0x399, 0x102,
- 0x39a, 0x102, 0x39b, 0x102, 0x39c, 0x102, 0x39d, 0x102,
- 0x39e, 0x102, 0x39f, 0x102, 0x3a0, 0x102, 0x3a1, 0x102,
- 0x3f4, 0x102, 0x3a3, 0x102, 0x3a4, 0x102, 0x3a5, 0x102,
- 0x3a6, 0x102, 0x3a7, 0x102, 0x3a8, 0x102, 0x3a9, 0x102,
- 0x2207, 0x102, 0x3b1, 0x102, 0x3b2, 0x102, 0x3b3, 0x102,
- 0x3b4, 0x102, 0x3b5, 0x102, 0x3b6, 0x102, 0x3b7, 0x102,
- 0x3b8, 0x102, 0x3b9, 0x102, 0x3ba, 0x102, 0x3bb, 0x102,
- 0x3bc, 0x102, 0x3bd, 0x102, 0x3be, 0x102, 0x3bf, 0x102,
- 0x3c0, 0x102, 0x3c1, 0x102, 0x3c2, 0x102, 0x3c3, 0x102,
- 0x3c4, 0x102, 0x3c5, 0x102, 0x3c6, 0x102, 0x3c7, 0x102,
- 0x3c8, 0x102, 0x3c9, 0x102, 0x2202, 0x102, 0x3f5, 0x102,
- 0x3d1, 0x102, 0x3f0, 0x102, 0x3d5, 0x102, 0x3f1, 0x102,
- 0x3d6, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
- 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
- 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
- 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
- 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
- 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
- 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
- 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
- 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
- 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
- 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
- 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
- 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
- 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
- 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x3dc, 0x102,
- 0x3dd, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
- 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
- 0x37, 0x102, 0x38, 0x102, 0x39, 0x102, 0x30, 0x102,
- 0x31, 0x102, 0x32, 0x102, 0x33, 0x102, 0x34, 0x102,
- 0x35, 0x102, 0x36, 0x102, 0x37, 0x102, 0x38, 0x102,
- 0x39, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
- 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
- 0x37, 0x102, 0x38, 0x102, 0x39, 0x102, 0x30, 0x102,
- 0x31, 0x102, 0x32, 0x102, 0x33, 0x102, 0x34, 0x102,
- 0x35, 0x102, 0x36, 0x102, 0x37, 0x102, 0x38, 0x102,
- 0x39, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
- 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
- 0x37, 0x102, 0x38, 0x102, 0x39, 0x101, 0x4e3d, 0x101,
- 0x4e38, 0x101, 0x4e41, 0x201, 0xd840, 0xdd22, 0x101, 0x4f60,
- 0x101, 0x4fae, 0x101, 0x4fbb, 0x101, 0x5002, 0x101, 0x507a,
- 0x101, 0x5099, 0x101, 0x50e7, 0x101, 0x50cf, 0x101, 0x349e,
- 0x201, 0xd841, 0xde3a, 0x101, 0x514d, 0x101, 0x5154, 0x101,
- 0x5164, 0x101, 0x5177, 0x201, 0xd841, 0xdd1c, 0x101, 0x34b9,
- 0x101, 0x5167, 0x101, 0x518d, 0x201, 0xd841, 0xdd4b, 0x101,
- 0x5197, 0x101, 0x51a4, 0x101, 0x4ecc, 0x101, 0x51ac, 0x101,
- 0x51b5, 0x201, 0xd864, 0xdddf, 0x101, 0x51f5, 0x101, 0x5203,
- 0x101, 0x34df, 0x101, 0x523b, 0x101, 0x5246, 0x101, 0x5272,
- 0x101, 0x5277, 0x101, 0x3515, 0x101, 0x52c7, 0x101, 0x52c9,
- 0x101, 0x52e4, 0x101, 0x52fa, 0x101, 0x5305, 0x101, 0x5306,
- 0x101, 0x5317, 0x101, 0x5349, 0x101, 0x5351, 0x101, 0x535a,
- 0x101, 0x5373, 0x101, 0x537d, 0x101, 0x537f, 0x101, 0x537f,
- 0x101, 0x537f, 0x201, 0xd842, 0xde2c, 0x101, 0x7070, 0x101,
- 0x53ca, 0x101, 0x53df, 0x201, 0xd842, 0xdf63, 0x101, 0x53eb,
- 0x101, 0x53f1, 0x101, 0x5406, 0x101, 0x549e, 0x101, 0x5438,
- 0x101, 0x5448, 0x101, 0x5468, 0x101, 0x54a2, 0x101, 0x54f6,
- 0x101, 0x5510, 0x101, 0x5553, 0x101, 0x5563, 0x101, 0x5584,
- 0x101, 0x5584, 0x101, 0x5599, 0x101, 0x55ab, 0x101, 0x55b3,
- 0x101, 0x55c2, 0x101, 0x5716, 0x101, 0x5606, 0x101, 0x5717,
- 0x101, 0x5651, 0x101, 0x5674, 0x101, 0x5207, 0x101, 0x58ee,
- 0x101, 0x57ce, 0x101, 0x57f4, 0x101, 0x580d, 0x101, 0x578b,
- 0x101, 0x5832, 0x101, 0x5831, 0x101, 0x58ac, 0x201, 0xd845,
- 0xdce4, 0x101, 0x58f2, 0x101, 0x58f7, 0x101, 0x5906, 0x101,
- 0x591a, 0x101, 0x5922, 0x101, 0x5962, 0x201, 0xd845, 0xdea8,
- 0x201, 0xd845, 0xdeea, 0x101, 0x59ec, 0x101, 0x5a1b, 0x101,
- 0x5a27, 0x101, 0x59d8, 0x101, 0x5a66, 0x101, 0x36ee, 0x101,
- 0x36fc, 0x101, 0x5b08, 0x101, 0x5b3e, 0x101, 0x5b3e, 0x201,
- 0xd846, 0xddc8, 0x101, 0x5bc3, 0x101, 0x5bd8, 0x101, 0x5be7,
- 0x101, 0x5bf3, 0x201, 0xd846, 0xdf18, 0x101, 0x5bff, 0x101,
- 0x5c06, 0x101, 0x5f53, 0x101, 0x5c22, 0x101, 0x3781, 0x101,
- 0x5c60, 0x101, 0x5c6e, 0x101, 0x5cc0, 0x101, 0x5c8d, 0x201,
- 0xd847, 0xdde4, 0x101, 0x5d43, 0x201, 0xd847, 0xdde6, 0x101,
- 0x5d6e, 0x101, 0x5d6b, 0x101, 0x5d7c, 0x101, 0x5de1, 0x101,
- 0x5de2, 0x101, 0x382f, 0x101, 0x5dfd, 0x101, 0x5e28, 0x101,
- 0x5e3d, 0x101, 0x5e69, 0x101, 0x3862, 0x201, 0xd848, 0xdd83,
- 0x101, 0x387c, 0x101, 0x5eb0, 0x101, 0x5eb3, 0x101, 0x5eb6,
- 0x101, 0x5eca, 0x201, 0xd868, 0xdf92, 0x101, 0x5efe, 0x201,
- 0xd848, 0xdf31, 0x201, 0xd848, 0xdf31, 0x101, 0x8201, 0x101,
- 0x5f22, 0x101, 0x5f22, 0x101, 0x38c7, 0x201, 0xd84c, 0xdeb8,
- 0x201, 0xd858, 0xddda, 0x101, 0x5f62, 0x101, 0x5f6b, 0x101,
- 0x38e3, 0x101, 0x5f9a, 0x101, 0x5fcd, 0x101, 0x5fd7, 0x101,
- 0x5ff9, 0x101, 0x6081, 0x101, 0x393a, 0x101, 0x391c, 0x101,
- 0x6094, 0x201, 0xd849, 0xded4, 0x101, 0x60c7, 0x101, 0x6148,
- 0x101, 0x614c, 0x101, 0x614e, 0x101, 0x614c, 0x101, 0x617a,
- 0x101, 0x618e, 0x101, 0x61b2, 0x101, 0x61a4, 0x101, 0x61af,
- 0x101, 0x61de, 0x101, 0x61f2, 0x101, 0x61f6, 0x101, 0x6210,
- 0x101, 0x621b, 0x101, 0x625d, 0x101, 0x62b1, 0x101, 0x62d4,
- 0x101, 0x6350, 0x201, 0xd84a, 0xdf0c, 0x101, 0x633d, 0x101,
- 0x62fc, 0x101, 0x6368, 0x101, 0x6383, 0x101, 0x63e4, 0x201,
- 0xd84a, 0xdff1, 0x101, 0x6422, 0x101, 0x63c5, 0x101, 0x63a9,
- 0x101, 0x3a2e, 0x101, 0x6469, 0x101, 0x647e, 0x101, 0x649d,
- 0x101, 0x6477, 0x101, 0x3a6c, 0x101, 0x654f, 0x101, 0x656c,
- 0x201, 0xd84c, 0xdc0a, 0x101, 0x65e3, 0x101, 0x66f8, 0x101,
- 0x6649, 0x101, 0x3b19, 0x101, 0x6691, 0x101, 0x3b08, 0x101,
- 0x3ae4, 0x101, 0x5192, 0x101, 0x5195, 0x101, 0x6700, 0x101,
- 0x669c, 0x101, 0x80ad, 0x101, 0x43d9, 0x101, 0x6717, 0x101,
- 0x671b, 0x101, 0x6721, 0x101, 0x675e, 0x101, 0x6753, 0x201,
- 0xd84c, 0xdfc3, 0x101, 0x3b49, 0x101, 0x67fa, 0x101, 0x6785,
- 0x101, 0x6852, 0x101, 0x6885, 0x201, 0xd84d, 0xdc6d, 0x101,
- 0x688e, 0x101, 0x681f, 0x101, 0x6914, 0x101, 0x3b9d, 0x101,
- 0x6942, 0x101, 0x69a3, 0x101, 0x69ea, 0x101, 0x6aa8, 0x201,
- 0xd84d, 0xdea3, 0x101, 0x6adb, 0x101, 0x3c18, 0x101, 0x6b21,
- 0x201, 0xd84e, 0xdca7, 0x101, 0x6b54, 0x101, 0x3c4e, 0x101,
- 0x6b72, 0x101, 0x6b9f, 0x101, 0x6bba, 0x101, 0x6bbb, 0x201,
- 0xd84e, 0xde8d, 0x201, 0xd847, 0xdd0b, 0x201, 0xd84e, 0xdefa,
- 0x101, 0x6c4e, 0x201, 0xd84f, 0xdcbc, 0x101, 0x6cbf, 0x101,
- 0x6ccd, 0x101, 0x6c67, 0x101, 0x6d16, 0x101, 0x6d3e, 0x101,
- 0x6d77, 0x101, 0x6d41, 0x101, 0x6d69, 0x101, 0x6d78, 0x101,
- 0x6d85, 0x201, 0xd84f, 0xdd1e, 0x101, 0x6d34, 0x101, 0x6e2f,
- 0x101, 0x6e6e, 0x101, 0x3d33, 0x101, 0x6ecb, 0x101, 0x6ec7,
- 0x201, 0xd84f, 0xded1, 0x101, 0x6df9, 0x101, 0x6f6e, 0x201,
- 0xd84f, 0xdf5e, 0x201, 0xd84f, 0xdf8e, 0x101, 0x6fc6, 0x101,
- 0x7039, 0x101, 0x701e, 0x101, 0x701b, 0x101, 0x3d96, 0x101,
- 0x704a, 0x101, 0x707d, 0x101, 0x7077, 0x101, 0x70ad, 0x201,
- 0xd841, 0xdd25, 0x101, 0x7145, 0x201, 0xd850, 0xde63, 0x101,
- 0x719c, 0x201, 0xd850, 0xdfab, 0x101, 0x7228, 0x101, 0x7235,
- 0x101, 0x7250, 0x201, 0xd851, 0xde08, 0x101, 0x7280, 0x101,
- 0x7295, 0x201, 0xd851, 0xdf35, 0x201, 0xd852, 0xdc14, 0x101,
- 0x737a, 0x101, 0x738b, 0x101, 0x3eac, 0x101, 0x73a5, 0x101,
- 0x3eb8, 0x101, 0x3eb8, 0x101, 0x7447, 0x101, 0x745c, 0x101,
- 0x7471, 0x101, 0x7485, 0x101, 0x74ca, 0x101, 0x3f1b, 0x101,
- 0x7524, 0x201, 0xd853, 0xdc36, 0x101, 0x753e, 0x201, 0xd853,
- 0xdc92, 0x101, 0x7570, 0x201, 0xd848, 0xdd9f, 0x101, 0x7610,
- 0x201, 0xd853, 0xdfa1, 0x201, 0xd853, 0xdfb8, 0x201, 0xd854,
- 0xdc44, 0x101, 0x3ffc, 0x101, 0x4008, 0x101, 0x76f4, 0x201,
- 0xd854, 0xdcf3, 0x201, 0xd854, 0xdcf2, 0x201, 0xd854, 0xdd19,
- 0x201, 0xd854, 0xdd33, 0x101, 0x771e, 0x101, 0x771f, 0x101,
- 0x771f, 0x101, 0x774a, 0x101, 0x4039, 0x101, 0x778b, 0x101,
- 0x4046, 0x101, 0x4096, 0x201, 0xd855, 0xdc1d, 0x101, 0x784e,
- 0x101, 0x788c, 0x101, 0x78cc, 0x101, 0x40e3, 0x201, 0xd855,
- 0xde26, 0x101, 0x7956, 0x201, 0xd855, 0xde9a, 0x201, 0xd855,
- 0xdec5, 0x101, 0x798f, 0x101, 0x79eb, 0x101, 0x412f, 0x101,
- 0x7a40, 0x101, 0x7a4a, 0x101, 0x7a4f, 0x201, 0xd856, 0xdd7c,
- 0x201, 0xd856, 0xdea7, 0x201, 0xd856, 0xdea7, 0x101, 0x7aee,
- 0x101, 0x4202, 0x201, 0xd856, 0xdfab, 0x101, 0x7bc6, 0x101,
- 0x7bc9, 0x101, 0x4227, 0x201, 0xd857, 0xdc80, 0x101, 0x7cd2,
- 0x101, 0x42a0, 0x101, 0x7ce8, 0x101, 0x7ce3, 0x101, 0x7d00,
- 0x201, 0xd857, 0xdf86, 0x101, 0x7d63, 0x101, 0x4301, 0x101,
- 0x7dc7, 0x101, 0x7e02, 0x101, 0x7e45, 0x101, 0x4334, 0x201,
- 0xd858, 0xde28, 0x201, 0xd858, 0xde47, 0x101, 0x4359, 0x201,
- 0xd858, 0xded9, 0x101, 0x7f7a, 0x201, 0xd858, 0xdf3e, 0x101,
- 0x7f95, 0x101, 0x7ffa, 0x101, 0x8005, 0x201, 0xd859, 0xdcda,
- 0x201, 0xd859, 0xdd23, 0x101, 0x8060, 0x201, 0xd859, 0xdda8,
- 0x101, 0x8070, 0x201, 0xd84c, 0xdf5f, 0x101, 0x43d5, 0x101,
- 0x80b2, 0x101, 0x8103, 0x101, 0x440b, 0x101, 0x813e, 0x101,
- 0x5ab5, 0x201, 0xd859, 0xdfa7, 0x201, 0xd859, 0xdfb5, 0x201,
- 0xd84c, 0xdf93, 0x201, 0xd84c, 0xdf9c, 0x101, 0x8201, 0x101,
- 0x8204, 0x101, 0x8f9e, 0x101, 0x446b, 0x101, 0x8291, 0x101,
- 0x828b, 0x101, 0x829d, 0x101, 0x52b3, 0x101, 0x82b1, 0x101,
- 0x82b3, 0x101, 0x82bd, 0x101, 0x82e6, 0x201, 0xd85a, 0xdf3c,
- 0x101, 0x82e5, 0x101, 0x831d, 0x101, 0x8363, 0x101, 0x83ad,
- 0x101, 0x8323, 0x101, 0x83bd, 0x101, 0x83e7, 0x101, 0x8457,
- 0x101, 0x8353, 0x101, 0x83ca, 0x101, 0x83cc, 0x101, 0x83dc,
- 0x201, 0xd85b, 0xdc36, 0x201, 0xd85b, 0xdd6b, 0x201, 0xd85b,
- 0xdcd5, 0x101, 0x452b, 0x101, 0x84f1, 0x101, 0x84f3, 0x101,
- 0x8516, 0x201, 0xd85c, 0xdfca, 0x101, 0x8564, 0x201, 0xd85b,
- 0xdf2c, 0x101, 0x455d, 0x101, 0x4561, 0x201, 0xd85b, 0xdfb1,
- 0x201, 0xd85c, 0xdcd2, 0x101, 0x456b, 0x101, 0x8650, 0x101,
- 0x865c, 0x101, 0x8667, 0x101, 0x8669, 0x101, 0x86a9, 0x101,
- 0x8688, 0x101, 0x870e, 0x101, 0x86e2, 0x101, 0x8779, 0x101,
- 0x8728, 0x101, 0x876b, 0x101, 0x8786, 0x101, 0x45d7, 0x101,
- 0x87e1, 0x101, 0x8801, 0x101, 0x45f9, 0x101, 0x8860, 0x101,
- 0x8863, 0x201, 0xd85d, 0xde67, 0x101, 0x88d7, 0x101, 0x88de,
- 0x101, 0x4635, 0x101, 0x88fa, 0x101, 0x34bb, 0x201, 0xd85e,
- 0xdcae, 0x201, 0xd85e, 0xdd66, 0x101, 0x46be, 0x101, 0x46c7,
- 0x101, 0x8aa0, 0x101, 0x8aed, 0x101, 0x8b8a, 0x101, 0x8c55,
- 0x201, 0xd85f, 0xdca8, 0x101, 0x8cab, 0x101, 0x8cc1, 0x101,
- 0x8d1b, 0x101, 0x8d77, 0x201, 0xd85f, 0xdf2f, 0x201, 0xd842,
- 0xdc04, 0x101, 0x8dcb, 0x101, 0x8dbc, 0x101, 0x8df0, 0x201,
- 0xd842, 0xdcde, 0x101, 0x8ed4, 0x101, 0x8f38, 0x201, 0xd861,
- 0xddd2, 0x201, 0xd861, 0xdded, 0x101, 0x9094, 0x101, 0x90f1,
- 0x101, 0x9111, 0x201, 0xd861, 0xdf2e, 0x101, 0x911b, 0x101,
- 0x9238, 0x101, 0x92d7, 0x101, 0x92d8, 0x101, 0x927c, 0x101,
- 0x93f9, 0x101, 0x9415, 0x201, 0xd862, 0xdffa, 0x101, 0x958b,
- 0x101, 0x4995, 0x101, 0x95b7, 0x201, 0xd863, 0xdd77, 0x101,
- 0x49e6, 0x101, 0x96c3, 0x101, 0x5db2, 0x101, 0x9723, 0x201,
- 0xd864, 0xdd45, 0x201, 0xd864, 0xde1a, 0x101, 0x4a6e, 0x101,
- 0x4a76, 0x101, 0x97e0, 0x201, 0xd865, 0xdc0a, 0x101, 0x4ab2,
- 0x201, 0xd865, 0xdc96, 0x101, 0x980b, 0x101, 0x980b, 0x101,
- 0x9829, 0x201, 0xd865, 0xddb6, 0x101, 0x98e2, 0x101, 0x4b33,
- 0x101, 0x9929, 0x101, 0x99a7, 0x101, 0x99c2, 0x101, 0x99fe,
- 0x101, 0x4bce, 0x201, 0xd866, 0xdf30, 0x101, 0x9b12, 0x101,
- 0x9c40, 0x101, 0x9cfd, 0x101, 0x4cce, 0x101, 0x4ced, 0x101,
- 0x9d67, 0x201, 0xd868, 0xdcce, 0x101, 0x4cf8, 0x201, 0xd868,
- 0xdd05, 0x201, 0xd868, 0xde0e, 0x201, 0xd868, 0xde91, 0x101,
- 0x9ebb, 0x101, 0x4d56, 0x101, 0x9ef9, 0x101, 0x9efe, 0x101,
- 0x9f05, 0x101, 0x9f0f, 0x101, 0x9f16, 0x101, 0x9f3b, 0x201,
- 0xd869, 0xde00,
+ 0x103, 0x20, 0x210, 0x20, 0x308, 0x109, 0x61, 0x210,
+ 0x20, 0x304, 0x109, 0x32, 0x109, 0x33, 0x210, 0x20,
+ 0x301, 0x110, 0x3bc, 0x210, 0x20, 0x327, 0x109, 0x31,
+ 0x109, 0x6f, 0x311, 0x31, 0x2044, 0x34, 0x311, 0x31,
+ 0x2044, 0x32, 0x311, 0x33, 0x2044, 0x34, 0x201, 0x41,
+ 0x300, 0x201, 0x41, 0x301, 0x201, 0x41, 0x302, 0x201,
+ 0x41, 0x303, 0x201, 0x41, 0x308, 0x201, 0x41, 0x30a,
+ 0x201, 0x43, 0x327, 0x201, 0x45, 0x300, 0x201, 0x45,
+ 0x301, 0x201, 0x45, 0x302, 0x201, 0x45, 0x308, 0x201,
+ 0x49, 0x300, 0x201, 0x49, 0x301, 0x201, 0x49, 0x302,
+ 0x201, 0x49, 0x308, 0x201, 0x4e, 0x303, 0x201, 0x4f,
+ 0x300, 0x201, 0x4f, 0x301, 0x201, 0x4f, 0x302, 0x201,
+ 0x4f, 0x303, 0x201, 0x4f, 0x308, 0x201, 0x55, 0x300,
+ 0x201, 0x55, 0x301, 0x201, 0x55, 0x302, 0x201, 0x55,
+ 0x308, 0x201, 0x59, 0x301, 0x201, 0x61, 0x300, 0x201,
+ 0x61, 0x301, 0x201, 0x61, 0x302, 0x201, 0x61, 0x303,
+ 0x201, 0x61, 0x308, 0x201, 0x61, 0x30a, 0x201, 0x63,
+ 0x327, 0x201, 0x65, 0x300, 0x201, 0x65, 0x301, 0x201,
+ 0x65, 0x302, 0x201, 0x65, 0x308, 0x201, 0x69, 0x300,
+ 0x201, 0x69, 0x301, 0x201, 0x69, 0x302, 0x201, 0x69,
+ 0x308, 0x201, 0x6e, 0x303, 0x201, 0x6f, 0x300, 0x201,
+ 0x6f, 0x301, 0x201, 0x6f, 0x302, 0x201, 0x6f, 0x303,
+ 0x201, 0x6f, 0x308, 0x201, 0x75, 0x300, 0x201, 0x75,
+ 0x301, 0x201, 0x75, 0x302, 0x201, 0x75, 0x308, 0x201,
+ 0x79, 0x301, 0x201, 0x79, 0x308, 0x201, 0x41, 0x304,
+ 0x201, 0x61, 0x304, 0x201, 0x41, 0x306, 0x201, 0x61,
+ 0x306, 0x201, 0x41, 0x328, 0x201, 0x61, 0x328, 0x201,
+ 0x43, 0x301, 0x201, 0x63, 0x301, 0x201, 0x43, 0x302,
+ 0x201, 0x63, 0x302, 0x201, 0x43, 0x307, 0x201, 0x63,
+ 0x307, 0x201, 0x43, 0x30c, 0x201, 0x63, 0x30c, 0x201,
+ 0x44, 0x30c, 0x201, 0x64, 0x30c, 0x201, 0x45, 0x304,
+ 0x201, 0x65, 0x304, 0x201, 0x45, 0x306, 0x201, 0x65,
+ 0x306, 0x201, 0x45, 0x307, 0x201, 0x65, 0x307, 0x201,
+ 0x45, 0x328, 0x201, 0x65, 0x328, 0x201, 0x45, 0x30c,
+ 0x201, 0x65, 0x30c, 0x201, 0x47, 0x302, 0x201, 0x67,
+ 0x302, 0x201, 0x47, 0x306, 0x201, 0x67, 0x306, 0x201,
+ 0x47, 0x307, 0x201, 0x67, 0x307, 0x201, 0x47, 0x327,
+ 0x201, 0x67, 0x327, 0x201, 0x48, 0x302, 0x201, 0x68,
+ 0x302, 0x201, 0x49, 0x303, 0x201, 0x69, 0x303, 0x201,
+ 0x49, 0x304, 0x201, 0x69, 0x304, 0x201, 0x49, 0x306,
+ 0x201, 0x69, 0x306, 0x201, 0x49, 0x328, 0x201, 0x69,
+ 0x328, 0x201, 0x49, 0x307, 0x210, 0x49, 0x4a, 0x210,
+ 0x69, 0x6a, 0x201, 0x4a, 0x302, 0x201, 0x6a, 0x302,
+ 0x201, 0x4b, 0x327, 0x201, 0x6b, 0x327, 0x201, 0x4c,
+ 0x301, 0x201, 0x6c, 0x301, 0x201, 0x4c, 0x327, 0x201,
+ 0x6c, 0x327, 0x201, 0x4c, 0x30c, 0x201, 0x6c, 0x30c,
+ 0x210, 0x4c, 0xb7, 0x210, 0x6c, 0xb7, 0x201, 0x4e,
+ 0x301, 0x201, 0x6e, 0x301, 0x201, 0x4e, 0x327, 0x201,
+ 0x6e, 0x327, 0x201, 0x4e, 0x30c, 0x201, 0x6e, 0x30c,
+ 0x210, 0x2bc, 0x6e, 0x201, 0x4f, 0x304, 0x201, 0x6f,
+ 0x304, 0x201, 0x4f, 0x306, 0x201, 0x6f, 0x306, 0x201,
+ 0x4f, 0x30b, 0x201, 0x6f, 0x30b, 0x201, 0x52, 0x301,
+ 0x201, 0x72, 0x301, 0x201, 0x52, 0x327, 0x201, 0x72,
+ 0x327, 0x201, 0x52, 0x30c, 0x201, 0x72, 0x30c, 0x201,
+ 0x53, 0x301, 0x201, 0x73, 0x301, 0x201, 0x53, 0x302,
+ 0x201, 0x73, 0x302, 0x201, 0x53, 0x327, 0x201, 0x73,
+ 0x327, 0x201, 0x53, 0x30c, 0x201, 0x73, 0x30c, 0x201,
+ 0x54, 0x327, 0x201, 0x74, 0x327, 0x201, 0x54, 0x30c,
+ 0x201, 0x74, 0x30c, 0x201, 0x55, 0x303, 0x201, 0x75,
+ 0x303, 0x201, 0x55, 0x304, 0x201, 0x75, 0x304, 0x201,
+ 0x55, 0x306, 0x201, 0x75, 0x306, 0x201, 0x55, 0x30a,
+ 0x201, 0x75, 0x30a, 0x201, 0x55, 0x30b, 0x201, 0x75,
+ 0x30b, 0x201, 0x55, 0x328, 0x201, 0x75, 0x328, 0x201,
+ 0x57, 0x302, 0x201, 0x77, 0x302, 0x201, 0x59, 0x302,
+ 0x201, 0x79, 0x302, 0x201, 0x59, 0x308, 0x201, 0x5a,
+ 0x301, 0x201, 0x7a, 0x301, 0x201, 0x5a, 0x307, 0x201,
+ 0x7a, 0x307, 0x201, 0x5a, 0x30c, 0x201, 0x7a, 0x30c,
+ 0x110, 0x73, 0x201, 0x4f, 0x31b, 0x201, 0x6f, 0x31b,
+ 0x201, 0x55, 0x31b, 0x201, 0x75, 0x31b, 0x210, 0x44,
+ 0x17d, 0x210, 0x44, 0x17e, 0x210, 0x64, 0x17e, 0x210,
+ 0x4c, 0x4a, 0x210, 0x4c, 0x6a, 0x210, 0x6c, 0x6a,
+ 0x210, 0x4e, 0x4a, 0x210, 0x4e, 0x6a, 0x210, 0x6e,
+ 0x6a, 0x201, 0x41, 0x30c, 0x201, 0x61, 0x30c, 0x201,
+ 0x49, 0x30c, 0x201, 0x69, 0x30c, 0x201, 0x4f, 0x30c,
+ 0x201, 0x6f, 0x30c, 0x201, 0x55, 0x30c, 0x201, 0x75,
+ 0x30c, 0x201, 0xdc, 0x304, 0x201, 0xfc, 0x304, 0x201,
+ 0xdc, 0x301, 0x201, 0xfc, 0x301, 0x201, 0xdc, 0x30c,
+ 0x201, 0xfc, 0x30c, 0x201, 0xdc, 0x300, 0x201, 0xfc,
+ 0x300, 0x201, 0xc4, 0x304, 0x201, 0xe4, 0x304, 0x201,
+ 0x226, 0x304, 0x201, 0x227, 0x304, 0x201, 0xc6, 0x304,
+ 0x201, 0xe6, 0x304, 0x201, 0x47, 0x30c, 0x201, 0x67,
+ 0x30c, 0x201, 0x4b, 0x30c, 0x201, 0x6b, 0x30c, 0x201,
+ 0x4f, 0x328, 0x201, 0x6f, 0x328, 0x201, 0x1ea, 0x304,
+ 0x201, 0x1eb, 0x304, 0x201, 0x1b7, 0x30c, 0x201, 0x292,
+ 0x30c, 0x201, 0x6a, 0x30c, 0x210, 0x44, 0x5a, 0x210,
+ 0x44, 0x7a, 0x210, 0x64, 0x7a, 0x201, 0x47, 0x301,
+ 0x201, 0x67, 0x301, 0x201, 0x4e, 0x300, 0x201, 0x6e,
+ 0x300, 0x201, 0xc5, 0x301, 0x201, 0xe5, 0x301, 0x201,
+ 0xc6, 0x301, 0x201, 0xe6, 0x301, 0x201, 0xd8, 0x301,
+ 0x201, 0xf8, 0x301, 0x201, 0x41, 0x30f, 0x201, 0x61,
+ 0x30f, 0x201, 0x41, 0x311, 0x201, 0x61, 0x311, 0x201,
+ 0x45, 0x30f, 0x201, 0x65, 0x30f, 0x201, 0x45, 0x311,
+ 0x201, 0x65, 0x311, 0x201, 0x49, 0x30f, 0x201, 0x69,
+ 0x30f, 0x201, 0x49, 0x311, 0x201, 0x69, 0x311, 0x201,
+ 0x4f, 0x30f, 0x201, 0x6f, 0x30f, 0x201, 0x4f, 0x311,
+ 0x201, 0x6f, 0x311, 0x201, 0x52, 0x30f, 0x201, 0x72,
+ 0x30f, 0x201, 0x52, 0x311, 0x201, 0x72, 0x311, 0x201,
+ 0x55, 0x30f, 0x201, 0x75, 0x30f, 0x201, 0x55, 0x311,
+ 0x201, 0x75, 0x311, 0x201, 0x53, 0x326, 0x201, 0x73,
+ 0x326, 0x201, 0x54, 0x326, 0x201, 0x74, 0x326, 0x201,
+ 0x48, 0x30c, 0x201, 0x68, 0x30c, 0x201, 0x41, 0x307,
+ 0x201, 0x61, 0x307, 0x201, 0x45, 0x327, 0x201, 0x65,
+ 0x327, 0x201, 0xd6, 0x304, 0x201, 0xf6, 0x304, 0x201,
+ 0xd5, 0x304, 0x201, 0xf5, 0x304, 0x201, 0x4f, 0x307,
+ 0x201, 0x6f, 0x307, 0x201, 0x22e, 0x304, 0x201, 0x22f,
+ 0x304, 0x201, 0x59, 0x304, 0x201, 0x79, 0x304, 0x109,
+ 0x68, 0x109, 0x266, 0x109, 0x6a, 0x109, 0x72, 0x109,
+ 0x279, 0x109, 0x27b, 0x109, 0x281, 0x109, 0x77, 0x109,
+ 0x79, 0x210, 0x20, 0x306, 0x210, 0x20, 0x307, 0x210,
+ 0x20, 0x30a, 0x210, 0x20, 0x328, 0x210, 0x20, 0x303,
+ 0x210, 0x20, 0x30b, 0x109, 0x263, 0x109, 0x6c, 0x109,
+ 0x73, 0x109, 0x78, 0x109, 0x295, 0x101, 0x300, 0x101,
+ 0x301, 0x101, 0x313, 0x201, 0x308, 0x301, 0x101, 0x2b9,
+ 0x210, 0x20, 0x345, 0x101, 0x3b, 0x210, 0x20, 0x301,
+ 0x201, 0xa8, 0x301, 0x201, 0x391, 0x301, 0x101, 0xb7,
+ 0x201, 0x395, 0x301, 0x201, 0x397, 0x301, 0x201, 0x399,
+ 0x301, 0x201, 0x39f, 0x301, 0x201, 0x3a5, 0x301, 0x201,
+ 0x3a9, 0x301, 0x201, 0x3ca, 0x301, 0x201, 0x399, 0x308,
+ 0x201, 0x3a5, 0x308, 0x201, 0x3b1, 0x301, 0x201, 0x3b5,
+ 0x301, 0x201, 0x3b7, 0x301, 0x201, 0x3b9, 0x301, 0x201,
+ 0x3cb, 0x301, 0x201, 0x3b9, 0x308, 0x201, 0x3c5, 0x308,
+ 0x201, 0x3bf, 0x301, 0x201, 0x3c5, 0x301, 0x201, 0x3c9,
+ 0x301, 0x110, 0x3b2, 0x110, 0x3b8, 0x110, 0x3a5, 0x201,
+ 0x3d2, 0x301, 0x201, 0x3d2, 0x308, 0x110, 0x3c6, 0x110,
+ 0x3c0, 0x110, 0x3ba, 0x110, 0x3c1, 0x110, 0x3c2, 0x110,
+ 0x398, 0x110, 0x3b5, 0x110, 0x3a3, 0x201, 0x415, 0x300,
+ 0x201, 0x415, 0x308, 0x201, 0x413, 0x301, 0x201, 0x406,
+ 0x308, 0x201, 0x41a, 0x301, 0x201, 0x418, 0x300, 0x201,
+ 0x423, 0x306, 0x201, 0x418, 0x306, 0x201, 0x438, 0x306,
+ 0x201, 0x435, 0x300, 0x201, 0x435, 0x308, 0x201, 0x433,
+ 0x301, 0x201, 0x456, 0x308, 0x201, 0x43a, 0x301, 0x201,
+ 0x438, 0x300, 0x201, 0x443, 0x306, 0x201, 0x474, 0x30f,
+ 0x201, 0x475, 0x30f, 0x201, 0x416, 0x306, 0x201, 0x436,
+ 0x306, 0x201, 0x410, 0x306, 0x201, 0x430, 0x306, 0x201,
+ 0x410, 0x308, 0x201, 0x430, 0x308, 0x201, 0x415, 0x306,
+ 0x201, 0x435, 0x306, 0x201, 0x4d8, 0x308, 0x201, 0x4d9,
+ 0x308, 0x201, 0x416, 0x308, 0x201, 0x436, 0x308, 0x201,
+ 0x417, 0x308, 0x201, 0x437, 0x308, 0x201, 0x418, 0x304,
+ 0x201, 0x438, 0x304, 0x201, 0x418, 0x308, 0x201, 0x438,
+ 0x308, 0x201, 0x41e, 0x308, 0x201, 0x43e, 0x308, 0x201,
+ 0x4e8, 0x308, 0x201, 0x4e9, 0x308, 0x201, 0x42d, 0x308,
+ 0x201, 0x44d, 0x308, 0x201, 0x423, 0x304, 0x201, 0x443,
+ 0x304, 0x201, 0x423, 0x308, 0x201, 0x443, 0x308, 0x201,
+ 0x423, 0x30b, 0x201, 0x443, 0x30b, 0x201, 0x427, 0x308,
+ 0x201, 0x447, 0x308, 0x201, 0x42b, 0x308, 0x201, 0x44b,
+ 0x308, 0x210, 0x565, 0x582, 0x201, 0x627, 0x653, 0x201,
+ 0x627, 0x654, 0x201, 0x648, 0x654, 0x201, 0x627, 0x655,
+ 0x201, 0x64a, 0x654, 0x210, 0x627, 0x674, 0x210, 0x648,
+ 0x674, 0x210, 0x6c7, 0x674, 0x210, 0x64a, 0x674, 0x201,
+ 0x6d5, 0x654, 0x201, 0x6c1, 0x654, 0x201, 0x6d2, 0x654,
+ 0x201, 0x928, 0x93c, 0x201, 0x930, 0x93c, 0x201, 0x933,
+ 0x93c, 0x201, 0x915, 0x93c, 0x201, 0x916, 0x93c, 0x201,
+ 0x917, 0x93c, 0x201, 0x91c, 0x93c, 0x201, 0x921, 0x93c,
+ 0x201, 0x922, 0x93c, 0x201, 0x92b, 0x93c, 0x201, 0x92f,
+ 0x93c, 0x201, 0x9c7, 0x9be, 0x201, 0x9c7, 0x9d7, 0x201,
+ 0x9a1, 0x9bc, 0x201, 0x9a2, 0x9bc, 0x201, 0x9af, 0x9bc,
+ 0x201, 0xa32, 0xa3c, 0x201, 0xa38, 0xa3c, 0x201, 0xa16,
+ 0xa3c, 0x201, 0xa17, 0xa3c, 0x201, 0xa1c, 0xa3c, 0x201,
+ 0xa2b, 0xa3c, 0x201, 0xb47, 0xb56, 0x201, 0xb47, 0xb3e,
+ 0x201, 0xb47, 0xb57, 0x201, 0xb21, 0xb3c, 0x201, 0xb22,
+ 0xb3c, 0x201, 0xb92, 0xbd7, 0x201, 0xbc6, 0xbbe, 0x201,
+ 0xbc7, 0xbbe, 0x201, 0xbc6, 0xbd7, 0x201, 0xc46, 0xc56,
+ 0x201, 0xcbf, 0xcd5, 0x201, 0xcc6, 0xcd5, 0x201, 0xcc6,
+ 0xcd6, 0x201, 0xcc6, 0xcc2, 0x201, 0xcca, 0xcd5, 0x201,
+ 0xd46, 0xd3e, 0x201, 0xd47, 0xd3e, 0x201, 0xd46, 0xd57,
+ 0x201, 0xdd9, 0xdca, 0x201, 0xdd9, 0xdcf, 0x201, 0xddc,
+ 0xdca, 0x201, 0xdd9, 0xddf, 0x210, 0xe4d, 0xe32, 0x210,
+ 0xecd, 0xeb2, 0x210, 0xeab, 0xe99, 0x210, 0xeab, 0xea1,
+ 0x103, 0xf0b, 0x201, 0xf42, 0xfb7, 0x201, 0xf4c, 0xfb7,
+ 0x201, 0xf51, 0xfb7, 0x201, 0xf56, 0xfb7, 0x201, 0xf5b,
+ 0xfb7, 0x201, 0xf40, 0xfb5, 0x201, 0xf71, 0xf72, 0x201,
+ 0xf71, 0xf74, 0x201, 0xfb2, 0xf80, 0x210, 0xfb2, 0xf81,
+ 0x201, 0xfb3, 0xf80, 0x210, 0xfb3, 0xf81, 0x201, 0xf71,
+ 0xf80, 0x201, 0xf92, 0xfb7, 0x201, 0xf9c, 0xfb7, 0x201,
+ 0xfa1, 0xfb7, 0x201, 0xfa6, 0xfb7, 0x201, 0xfab, 0xfb7,
+ 0x201, 0xf90, 0xfb5, 0x201, 0x1025, 0x102e, 0x109, 0x10dc,
+ 0x201, 0x1b05, 0x1b35, 0x201, 0x1b07, 0x1b35, 0x201, 0x1b09,
+ 0x1b35, 0x201, 0x1b0b, 0x1b35, 0x201, 0x1b0d, 0x1b35, 0x201,
+ 0x1b11, 0x1b35, 0x201, 0x1b3a, 0x1b35, 0x201, 0x1b3c, 0x1b35,
+ 0x201, 0x1b3e, 0x1b35, 0x201, 0x1b3f, 0x1b35, 0x201, 0x1b42,
+ 0x1b35, 0x109, 0x41, 0x109, 0xc6, 0x109, 0x42, 0x109,
+ 0x44, 0x109, 0x45, 0x109, 0x18e, 0x109, 0x47, 0x109,
+ 0x48, 0x109, 0x49, 0x109, 0x4a, 0x109, 0x4b, 0x109,
+ 0x4c, 0x109, 0x4d, 0x109, 0x4e, 0x109, 0x4f, 0x109,
+ 0x222, 0x109, 0x50, 0x109, 0x52, 0x109, 0x54, 0x109,
+ 0x55, 0x109, 0x57, 0x109, 0x61, 0x109, 0x250, 0x109,
+ 0x251, 0x109, 0x1d02, 0x109, 0x62, 0x109, 0x64, 0x109,
+ 0x65, 0x109, 0x259, 0x109, 0x25b, 0x109, 0x25c, 0x109,
+ 0x67, 0x109, 0x6b, 0x109, 0x6d, 0x109, 0x14b, 0x109,
+ 0x6f, 0x109, 0x254, 0x109, 0x1d16, 0x109, 0x1d17, 0x109,
+ 0x70, 0x109, 0x74, 0x109, 0x75, 0x109, 0x1d1d, 0x109,
+ 0x26f, 0x109, 0x76, 0x109, 0x1d25, 0x109, 0x3b2, 0x109,
+ 0x3b3, 0x109, 0x3b4, 0x109, 0x3c6, 0x109, 0x3c7, 0x10a,
+ 0x69, 0x10a, 0x72, 0x10a, 0x75, 0x10a, 0x76, 0x10a,
+ 0x3b2, 0x10a, 0x3b3, 0x10a, 0x3c1, 0x10a, 0x3c6, 0x10a,
+ 0x3c7, 0x109, 0x43d, 0x109, 0x252, 0x109, 0x63, 0x109,
+ 0x255, 0x109, 0xf0, 0x109, 0x25c, 0x109, 0x66, 0x109,
+ 0x25f, 0x109, 0x261, 0x109, 0x265, 0x109, 0x268, 0x109,
+ 0x269, 0x109, 0x26a, 0x109, 0x1d7b, 0x109, 0x29d, 0x109,
+ 0x26d, 0x109, 0x1d85, 0x109, 0x29f, 0x109, 0x271, 0x109,
+ 0x270, 0x109, 0x272, 0x109, 0x273, 0x109, 0x274, 0x109,
+ 0x275, 0x109, 0x278, 0x109, 0x282, 0x109, 0x283, 0x109,
+ 0x1ab, 0x109, 0x289, 0x109, 0x28a, 0x109, 0x1d1c, 0x109,
+ 0x28b, 0x109, 0x28c, 0x109, 0x7a, 0x109, 0x290, 0x109,
+ 0x291, 0x109, 0x292, 0x109, 0x3b8, 0x201, 0x41, 0x325,
+ 0x201, 0x61, 0x325, 0x201, 0x42, 0x307, 0x201, 0x62,
+ 0x307, 0x201, 0x42, 0x323, 0x201, 0x62, 0x323, 0x201,
+ 0x42, 0x331, 0x201, 0x62, 0x331, 0x201, 0xc7, 0x301,
+ 0x201, 0xe7, 0x301, 0x201, 0x44, 0x307, 0x201, 0x64,
+ 0x307, 0x201, 0x44, 0x323, 0x201, 0x64, 0x323, 0x201,
+ 0x44, 0x331, 0x201, 0x64, 0x331, 0x201, 0x44, 0x327,
+ 0x201, 0x64, 0x327, 0x201, 0x44, 0x32d, 0x201, 0x64,
+ 0x32d, 0x201, 0x112, 0x300, 0x201, 0x113, 0x300, 0x201,
+ 0x112, 0x301, 0x201, 0x113, 0x301, 0x201, 0x45, 0x32d,
+ 0x201, 0x65, 0x32d, 0x201, 0x45, 0x330, 0x201, 0x65,
+ 0x330, 0x201, 0x228, 0x306, 0x201, 0x229, 0x306, 0x201,
+ 0x46, 0x307, 0x201, 0x66, 0x307, 0x201, 0x47, 0x304,
+ 0x201, 0x67, 0x304, 0x201, 0x48, 0x307, 0x201, 0x68,
+ 0x307, 0x201, 0x48, 0x323, 0x201, 0x68, 0x323, 0x201,
+ 0x48, 0x308, 0x201, 0x68, 0x308, 0x201, 0x48, 0x327,
+ 0x201, 0x68, 0x327, 0x201, 0x48, 0x32e, 0x201, 0x68,
+ 0x32e, 0x201, 0x49, 0x330, 0x201, 0x69, 0x330, 0x201,
+ 0xcf, 0x301, 0x201, 0xef, 0x301, 0x201, 0x4b, 0x301,
+ 0x201, 0x6b, 0x301, 0x201, 0x4b, 0x323, 0x201, 0x6b,
+ 0x323, 0x201, 0x4b, 0x331, 0x201, 0x6b, 0x331, 0x201,
+ 0x4c, 0x323, 0x201, 0x6c, 0x323, 0x201, 0x1e36, 0x304,
+ 0x201, 0x1e37, 0x304, 0x201, 0x4c, 0x331, 0x201, 0x6c,
+ 0x331, 0x201, 0x4c, 0x32d, 0x201, 0x6c, 0x32d, 0x201,
+ 0x4d, 0x301, 0x201, 0x6d, 0x301, 0x201, 0x4d, 0x307,
+ 0x201, 0x6d, 0x307, 0x201, 0x4d, 0x323, 0x201, 0x6d,
+ 0x323, 0x201, 0x4e, 0x307, 0x201, 0x6e, 0x307, 0x201,
+ 0x4e, 0x323, 0x201, 0x6e, 0x323, 0x201, 0x4e, 0x331,
+ 0x201, 0x6e, 0x331, 0x201, 0x4e, 0x32d, 0x201, 0x6e,
+ 0x32d, 0x201, 0xd5, 0x301, 0x201, 0xf5, 0x301, 0x201,
+ 0xd5, 0x308, 0x201, 0xf5, 0x308, 0x201, 0x14c, 0x300,
+ 0x201, 0x14d, 0x300, 0x201, 0x14c, 0x301, 0x201, 0x14d,
+ 0x301, 0x201, 0x50, 0x301, 0x201, 0x70, 0x301, 0x201,
+ 0x50, 0x307, 0x201, 0x70, 0x307, 0x201, 0x52, 0x307,
+ 0x201, 0x72, 0x307, 0x201, 0x52, 0x323, 0x201, 0x72,
+ 0x323, 0x201, 0x1e5a, 0x304, 0x201, 0x1e5b, 0x304, 0x201,
+ 0x52, 0x331, 0x201, 0x72, 0x331, 0x201, 0x53, 0x307,
+ 0x201, 0x73, 0x307, 0x201, 0x53, 0x323, 0x201, 0x73,
+ 0x323, 0x201, 0x15a, 0x307, 0x201, 0x15b, 0x307, 0x201,
+ 0x160, 0x307, 0x201, 0x161, 0x307, 0x201, 0x1e62, 0x307,
+ 0x201, 0x1e63, 0x307, 0x201, 0x54, 0x307, 0x201, 0x74,
+ 0x307, 0x201, 0x54, 0x323, 0x201, 0x74, 0x323, 0x201,
+ 0x54, 0x331, 0x201, 0x74, 0x331, 0x201, 0x54, 0x32d,
+ 0x201, 0x74, 0x32d, 0x201, 0x55, 0x324, 0x201, 0x75,
+ 0x324, 0x201, 0x55, 0x330, 0x201, 0x75, 0x330, 0x201,
+ 0x55, 0x32d, 0x201, 0x75, 0x32d, 0x201, 0x168, 0x301,
+ 0x201, 0x169, 0x301, 0x201, 0x16a, 0x308, 0x201, 0x16b,
+ 0x308, 0x201, 0x56, 0x303, 0x201, 0x76, 0x303, 0x201,
+ 0x56, 0x323, 0x201, 0x76, 0x323, 0x201, 0x57, 0x300,
+ 0x201, 0x77, 0x300, 0x201, 0x57, 0x301, 0x201, 0x77,
+ 0x301, 0x201, 0x57, 0x308, 0x201, 0x77, 0x308, 0x201,
+ 0x57, 0x307, 0x201, 0x77, 0x307, 0x201, 0x57, 0x323,
+ 0x201, 0x77, 0x323, 0x201, 0x58, 0x307, 0x201, 0x78,
+ 0x307, 0x201, 0x58, 0x308, 0x201, 0x78, 0x308, 0x201,
+ 0x59, 0x307, 0x201, 0x79, 0x307, 0x201, 0x5a, 0x302,
+ 0x201, 0x7a, 0x302, 0x201, 0x5a, 0x323, 0x201, 0x7a,
+ 0x323, 0x201, 0x5a, 0x331, 0x201, 0x7a, 0x331, 0x201,
+ 0x68, 0x331, 0x201, 0x74, 0x308, 0x201, 0x77, 0x30a,
+ 0x201, 0x79, 0x30a, 0x210, 0x61, 0x2be, 0x201, 0x17f,
+ 0x307, 0x201, 0x41, 0x323, 0x201, 0x61, 0x323, 0x201,
+ 0x41, 0x309, 0x201, 0x61, 0x309, 0x201, 0xc2, 0x301,
+ 0x201, 0xe2, 0x301, 0x201, 0xc2, 0x300, 0x201, 0xe2,
+ 0x300, 0x201, 0xc2, 0x309, 0x201, 0xe2, 0x309, 0x201,
+ 0xc2, 0x303, 0x201, 0xe2, 0x303, 0x201, 0x1ea0, 0x302,
+ 0x201, 0x1ea1, 0x302, 0x201, 0x102, 0x301, 0x201, 0x103,
+ 0x301, 0x201, 0x102, 0x300, 0x201, 0x103, 0x300, 0x201,
+ 0x102, 0x309, 0x201, 0x103, 0x309, 0x201, 0x102, 0x303,
+ 0x201, 0x103, 0x303, 0x201, 0x1ea0, 0x306, 0x201, 0x1ea1,
+ 0x306, 0x201, 0x45, 0x323, 0x201, 0x65, 0x323, 0x201,
+ 0x45, 0x309, 0x201, 0x65, 0x309, 0x201, 0x45, 0x303,
+ 0x201, 0x65, 0x303, 0x201, 0xca, 0x301, 0x201, 0xea,
+ 0x301, 0x201, 0xca, 0x300, 0x201, 0xea, 0x300, 0x201,
+ 0xca, 0x309, 0x201, 0xea, 0x309, 0x201, 0xca, 0x303,
+ 0x201, 0xea, 0x303, 0x201, 0x1eb8, 0x302, 0x201, 0x1eb9,
+ 0x302, 0x201, 0x49, 0x309, 0x201, 0x69, 0x309, 0x201,
+ 0x49, 0x323, 0x201, 0x69, 0x323, 0x201, 0x4f, 0x323,
+ 0x201, 0x6f, 0x323, 0x201, 0x4f, 0x309, 0x201, 0x6f,
+ 0x309, 0x201, 0xd4, 0x301, 0x201, 0xf4, 0x301, 0x201,
+ 0xd4, 0x300, 0x201, 0xf4, 0x300, 0x201, 0xd4, 0x309,
+ 0x201, 0xf4, 0x309, 0x201, 0xd4, 0x303, 0x201, 0xf4,
+ 0x303, 0x201, 0x1ecc, 0x302, 0x201, 0x1ecd, 0x302, 0x201,
+ 0x1a0, 0x301, 0x201, 0x1a1, 0x301, 0x201, 0x1a0, 0x300,
+ 0x201, 0x1a1, 0x300, 0x201, 0x1a0, 0x309, 0x201, 0x1a1,
+ 0x309, 0x201, 0x1a0, 0x303, 0x201, 0x1a1, 0x303, 0x201,
+ 0x1a0, 0x323, 0x201, 0x1a1, 0x323, 0x201, 0x55, 0x323,
+ 0x201, 0x75, 0x323, 0x201, 0x55, 0x309, 0x201, 0x75,
+ 0x309, 0x201, 0x1af, 0x301, 0x201, 0x1b0, 0x301, 0x201,
+ 0x1af, 0x300, 0x201, 0x1b0, 0x300, 0x201, 0x1af, 0x309,
+ 0x201, 0x1b0, 0x309, 0x201, 0x1af, 0x303, 0x201, 0x1b0,
+ 0x303, 0x201, 0x1af, 0x323, 0x201, 0x1b0, 0x323, 0x201,
+ 0x59, 0x300, 0x201, 0x79, 0x300, 0x201, 0x59, 0x323,
+ 0x201, 0x79, 0x323, 0x201, 0x59, 0x309, 0x201, 0x79,
+ 0x309, 0x201, 0x59, 0x303, 0x201, 0x79, 0x303, 0x201,
+ 0x3b1, 0x313, 0x201, 0x3b1, 0x314, 0x201, 0x1f00, 0x300,
+ 0x201, 0x1f01, 0x300, 0x201, 0x1f00, 0x301, 0x201, 0x1f01,
+ 0x301, 0x201, 0x1f00, 0x342, 0x201, 0x1f01, 0x342, 0x201,
+ 0x391, 0x313, 0x201, 0x391, 0x314, 0x201, 0x1f08, 0x300,
+ 0x201, 0x1f09, 0x300, 0x201, 0x1f08, 0x301, 0x201, 0x1f09,
+ 0x301, 0x201, 0x1f08, 0x342, 0x201, 0x1f09, 0x342, 0x201,
+ 0x3b5, 0x313, 0x201, 0x3b5, 0x314, 0x201, 0x1f10, 0x300,
+ 0x201, 0x1f11, 0x300, 0x201, 0x1f10, 0x301, 0x201, 0x1f11,
+ 0x301, 0x201, 0x395, 0x313, 0x201, 0x395, 0x314, 0x201,
+ 0x1f18, 0x300, 0x201, 0x1f19, 0x300, 0x201, 0x1f18, 0x301,
+ 0x201, 0x1f19, 0x301, 0x201, 0x3b7, 0x313, 0x201, 0x3b7,
+ 0x314, 0x201, 0x1f20, 0x300, 0x201, 0x1f21, 0x300, 0x201,
+ 0x1f20, 0x301, 0x201, 0x1f21, 0x301, 0x201, 0x1f20, 0x342,
+ 0x201, 0x1f21, 0x342, 0x201, 0x397, 0x313, 0x201, 0x397,
+ 0x314, 0x201, 0x1f28, 0x300, 0x201, 0x1f29, 0x300, 0x201,
+ 0x1f28, 0x301, 0x201, 0x1f29, 0x301, 0x201, 0x1f28, 0x342,
+ 0x201, 0x1f29, 0x342, 0x201, 0x3b9, 0x313, 0x201, 0x3b9,
+ 0x314, 0x201, 0x1f30, 0x300, 0x201, 0x1f31, 0x300, 0x201,
+ 0x1f30, 0x301, 0x201, 0x1f31, 0x301, 0x201, 0x1f30, 0x342,
+ 0x201, 0x1f31, 0x342, 0x201, 0x399, 0x313, 0x201, 0x399,
+ 0x314, 0x201, 0x1f38, 0x300, 0x201, 0x1f39, 0x300, 0x201,
+ 0x1f38, 0x301, 0x201, 0x1f39, 0x301, 0x201, 0x1f38, 0x342,
+ 0x201, 0x1f39, 0x342, 0x201, 0x3bf, 0x313, 0x201, 0x3bf,
+ 0x314, 0x201, 0x1f40, 0x300, 0x201, 0x1f41, 0x300, 0x201,
+ 0x1f40, 0x301, 0x201, 0x1f41, 0x301, 0x201, 0x39f, 0x313,
+ 0x201, 0x39f, 0x314, 0x201, 0x1f48, 0x300, 0x201, 0x1f49,
+ 0x300, 0x201, 0x1f48, 0x301, 0x201, 0x1f49, 0x301, 0x201,
+ 0x3c5, 0x313, 0x201, 0x3c5, 0x314, 0x201, 0x1f50, 0x300,
+ 0x201, 0x1f51, 0x300, 0x201, 0x1f50, 0x301, 0x201, 0x1f51,
+ 0x301, 0x201, 0x1f50, 0x342, 0x201, 0x1f51, 0x342, 0x201,
+ 0x3a5, 0x314, 0x201, 0x1f59, 0x300, 0x201, 0x1f59, 0x301,
+ 0x201, 0x1f59, 0x342, 0x201, 0x3c9, 0x313, 0x201, 0x3c9,
+ 0x314, 0x201, 0x1f60, 0x300, 0x201, 0x1f61, 0x300, 0x201,
+ 0x1f60, 0x301, 0x201, 0x1f61, 0x301, 0x201, 0x1f60, 0x342,
+ 0x201, 0x1f61, 0x342, 0x201, 0x3a9, 0x313, 0x201, 0x3a9,
+ 0x314, 0x201, 0x1f68, 0x300, 0x201, 0x1f69, 0x300, 0x201,
+ 0x1f68, 0x301, 0x201, 0x1f69, 0x301, 0x201, 0x1f68, 0x342,
+ 0x201, 0x1f69, 0x342, 0x201, 0x3b1, 0x300, 0x101, 0x3ac,
+ 0x201, 0x3b5, 0x300, 0x101, 0x3ad, 0x201, 0x3b7, 0x300,
+ 0x101, 0x3ae, 0x201, 0x3b9, 0x300, 0x101, 0x3af, 0x201,
+ 0x3bf, 0x300, 0x101, 0x3cc, 0x201, 0x3c5, 0x300, 0x101,
+ 0x3cd, 0x201, 0x3c9, 0x300, 0x101, 0x3ce, 0x201, 0x1f00,
+ 0x345, 0x201, 0x1f01, 0x345, 0x201, 0x1f02, 0x345, 0x201,
+ 0x1f03, 0x345, 0x201, 0x1f04, 0x345, 0x201, 0x1f05, 0x345,
+ 0x201, 0x1f06, 0x345, 0x201, 0x1f07, 0x345, 0x201, 0x1f08,
+ 0x345, 0x201, 0x1f09, 0x345, 0x201, 0x1f0a, 0x345, 0x201,
+ 0x1f0b, 0x345, 0x201, 0x1f0c, 0x345, 0x201, 0x1f0d, 0x345,
+ 0x201, 0x1f0e, 0x345, 0x201, 0x1f0f, 0x345, 0x201, 0x1f20,
+ 0x345, 0x201, 0x1f21, 0x345, 0x201, 0x1f22, 0x345, 0x201,
+ 0x1f23, 0x345, 0x201, 0x1f24, 0x345, 0x201, 0x1f25, 0x345,
+ 0x201, 0x1f26, 0x345, 0x201, 0x1f27, 0x345, 0x201, 0x1f28,
+ 0x345, 0x201, 0x1f29, 0x345, 0x201, 0x1f2a, 0x345, 0x201,
+ 0x1f2b, 0x345, 0x201, 0x1f2c, 0x345, 0x201, 0x1f2d, 0x345,
+ 0x201, 0x1f2e, 0x345, 0x201, 0x1f2f, 0x345, 0x201, 0x1f60,
+ 0x345, 0x201, 0x1f61, 0x345, 0x201, 0x1f62, 0x345, 0x201,
+ 0x1f63, 0x345, 0x201, 0x1f64, 0x345, 0x201, 0x1f65, 0x345,
+ 0x201, 0x1f66, 0x345, 0x201, 0x1f67, 0x345, 0x201, 0x1f68,
+ 0x345, 0x201, 0x1f69, 0x345, 0x201, 0x1f6a, 0x345, 0x201,
+ 0x1f6b, 0x345, 0x201, 0x1f6c, 0x345, 0x201, 0x1f6d, 0x345,
+ 0x201, 0x1f6e, 0x345, 0x201, 0x1f6f, 0x345, 0x201, 0x3b1,
+ 0x306, 0x201, 0x3b1, 0x304, 0x201, 0x1f70, 0x345, 0x201,
+ 0x3b1, 0x345, 0x201, 0x3ac, 0x345, 0x201, 0x3b1, 0x342,
+ 0x201, 0x1fb6, 0x345, 0x201, 0x391, 0x306, 0x201, 0x391,
+ 0x304, 0x201, 0x391, 0x300, 0x101, 0x386, 0x201, 0x391,
+ 0x345, 0x210, 0x20, 0x313, 0x101, 0x3b9, 0x210, 0x20,
+ 0x313, 0x210, 0x20, 0x342, 0x201, 0xa8, 0x342, 0x201,
+ 0x1f74, 0x345, 0x201, 0x3b7, 0x345, 0x201, 0x3ae, 0x345,
+ 0x201, 0x3b7, 0x342, 0x201, 0x1fc6, 0x345, 0x201, 0x395,
+ 0x300, 0x101, 0x388, 0x201, 0x397, 0x300, 0x101, 0x389,
+ 0x201, 0x397, 0x345, 0x201, 0x1fbf, 0x300, 0x201, 0x1fbf,
+ 0x301, 0x201, 0x1fbf, 0x342, 0x201, 0x3b9, 0x306, 0x201,
+ 0x3b9, 0x304, 0x201, 0x3ca, 0x300, 0x101, 0x390, 0x201,
+ 0x3b9, 0x342, 0x201, 0x3ca, 0x342, 0x201, 0x399, 0x306,
+ 0x201, 0x399, 0x304, 0x201, 0x399, 0x300, 0x101, 0x38a,
+ 0x201, 0x1ffe, 0x300, 0x201, 0x1ffe, 0x301, 0x201, 0x1ffe,
+ 0x342, 0x201, 0x3c5, 0x306, 0x201, 0x3c5, 0x304, 0x201,
+ 0x3cb, 0x300, 0x101, 0x3b0, 0x201, 0x3c1, 0x313, 0x201,
+ 0x3c1, 0x314, 0x201, 0x3c5, 0x342, 0x201, 0x3cb, 0x342,
+ 0x201, 0x3a5, 0x306, 0x201, 0x3a5, 0x304, 0x201, 0x3a5,
+ 0x300, 0x101, 0x38e, 0x201, 0x3a1, 0x314, 0x201, 0xa8,
+ 0x300, 0x101, 0x385, 0x101, 0x60, 0x201, 0x1f7c, 0x345,
+ 0x201, 0x3c9, 0x345, 0x201, 0x3ce, 0x345, 0x201, 0x3c9,
+ 0x342, 0x201, 0x1ff6, 0x345, 0x201, 0x39f, 0x300, 0x101,
+ 0x38c, 0x201, 0x3a9, 0x300, 0x101, 0x38f, 0x201, 0x3a9,
+ 0x345, 0x101, 0xb4, 0x210, 0x20, 0x314, 0x101, 0x2002,
+ 0x101, 0x2003, 0x110, 0x20, 0x110, 0x20, 0x110, 0x20,
+ 0x110, 0x20, 0x110, 0x20, 0x103, 0x20, 0x110, 0x20,
+ 0x110, 0x20, 0x110, 0x20, 0x103, 0x2010, 0x210, 0x20,
+ 0x333, 0x110, 0x2e, 0x210, 0x2e, 0x2e, 0x310, 0x2e,
+ 0x2e, 0x2e, 0x103, 0x20, 0x210, 0x2032, 0x2032, 0x310,
+ 0x2032, 0x2032, 0x2032, 0x210, 0x2035, 0x2035, 0x310, 0x2035,
+ 0x2035, 0x2035, 0x210, 0x21, 0x21, 0x210, 0x20, 0x305,
+ 0x210, 0x3f, 0x3f, 0x210, 0x3f, 0x21, 0x210, 0x21,
+ 0x3f, 0x410, 0x2032, 0x2032, 0x2032, 0x2032, 0x110, 0x20,
+ 0x109, 0x30, 0x109, 0x69, 0x109, 0x34, 0x109, 0x35,
+ 0x109, 0x36, 0x109, 0x37, 0x109, 0x38, 0x109, 0x39,
+ 0x109, 0x2b, 0x109, 0x2212, 0x109, 0x3d, 0x109, 0x28,
+ 0x109, 0x29, 0x109, 0x6e, 0x10a, 0x30, 0x10a, 0x31,
+ 0x10a, 0x32, 0x10a, 0x33, 0x10a, 0x34, 0x10a, 0x35,
+ 0x10a, 0x36, 0x10a, 0x37, 0x10a, 0x38, 0x10a, 0x39,
+ 0x10a, 0x2b, 0x10a, 0x2212, 0x10a, 0x3d, 0x10a, 0x28,
+ 0x10a, 0x29, 0x10a, 0x61, 0x10a, 0x65, 0x10a, 0x6f,
+ 0x10a, 0x78, 0x10a, 0x259, 0x210, 0x52, 0x73, 0x310,
+ 0x61, 0x2f, 0x63, 0x310, 0x61, 0x2f, 0x73, 0x102,
+ 0x43, 0x210, 0xb0, 0x43, 0x310, 0x63, 0x2f, 0x6f,
+ 0x310, 0x63, 0x2f, 0x75, 0x110, 0x190, 0x210, 0xb0,
+ 0x46, 0x102, 0x67, 0x102, 0x48, 0x102, 0x48, 0x102,
+ 0x48, 0x102, 0x68, 0x102, 0x127, 0x102, 0x49, 0x102,
+ 0x49, 0x102, 0x4c, 0x102, 0x6c, 0x102, 0x4e, 0x210,
+ 0x4e, 0x6f, 0x102, 0x50, 0x102, 0x51, 0x102, 0x52,
+ 0x102, 0x52, 0x102, 0x52, 0x209, 0x53, 0x4d, 0x310,
+ 0x54, 0x45, 0x4c, 0x209, 0x54, 0x4d, 0x102, 0x5a,
+ 0x101, 0x3a9, 0x102, 0x5a, 0x101, 0x4b, 0x101, 0xc5,
+ 0x102, 0x42, 0x102, 0x43, 0x102, 0x65, 0x102, 0x45,
+ 0x102, 0x46, 0x102, 0x4d, 0x102, 0x6f, 0x110, 0x5d0,
+ 0x110, 0x5d1, 0x110, 0x5d2, 0x110, 0x5d3, 0x102, 0x69,
+ 0x310, 0x46, 0x41, 0x58, 0x102, 0x3c0, 0x102, 0x3b3,
+ 0x102, 0x393, 0x102, 0x3a0, 0x102, 0x2211, 0x102, 0x44,
+ 0x102, 0x64, 0x102, 0x65, 0x102, 0x69, 0x102, 0x6a,
+ 0x311, 0x31, 0x2044, 0x33, 0x311, 0x32, 0x2044, 0x33,
+ 0x311, 0x31, 0x2044, 0x35, 0x311, 0x32, 0x2044, 0x35,
+ 0x311, 0x33, 0x2044, 0x35, 0x311, 0x34, 0x2044, 0x35,
+ 0x311, 0x31, 0x2044, 0x36, 0x311, 0x35, 0x2044, 0x36,
+ 0x311, 0x31, 0x2044, 0x38, 0x311, 0x33, 0x2044, 0x38,
+ 0x311, 0x35, 0x2044, 0x38, 0x311, 0x37, 0x2044, 0x38,
+ 0x211, 0x31, 0x2044, 0x110, 0x49, 0x210, 0x49, 0x49,
+ 0x310, 0x49, 0x49, 0x49, 0x210, 0x49, 0x56, 0x110,
+ 0x56, 0x210, 0x56, 0x49, 0x310, 0x56, 0x49, 0x49,
+ 0x410, 0x56, 0x49, 0x49, 0x49, 0x210, 0x49, 0x58,
+ 0x110, 0x58, 0x210, 0x58, 0x49, 0x310, 0x58, 0x49,
+ 0x49, 0x110, 0x4c, 0x110, 0x43, 0x110, 0x44, 0x110,
+ 0x4d, 0x110, 0x69, 0x210, 0x69, 0x69, 0x310, 0x69,
+ 0x69, 0x69, 0x210, 0x69, 0x76, 0x110, 0x76, 0x210,
+ 0x76, 0x69, 0x310, 0x76, 0x69, 0x69, 0x410, 0x76,
+ 0x69, 0x69, 0x69, 0x210, 0x69, 0x78, 0x110, 0x78,
+ 0x210, 0x78, 0x69, 0x310, 0x78, 0x69, 0x69, 0x110,
+ 0x6c, 0x110, 0x63, 0x110, 0x64, 0x110, 0x6d, 0x201,
+ 0x2190, 0x338, 0x201, 0x2192, 0x338, 0x201, 0x2194, 0x338,
+ 0x201, 0x21d0, 0x338, 0x201, 0x21d4, 0x338, 0x201, 0x21d2,
+ 0x338, 0x201, 0x2203, 0x338, 0x201, 0x2208, 0x338, 0x201,
+ 0x220b, 0x338, 0x201, 0x2223, 0x338, 0x201, 0x2225, 0x338,
+ 0x210, 0x222b, 0x222b, 0x310, 0x222b, 0x222b, 0x222b, 0x210,
+ 0x222e, 0x222e, 0x310, 0x222e, 0x222e, 0x222e, 0x201, 0x223c,
+ 0x338, 0x201, 0x2243, 0x338, 0x201, 0x2245, 0x338, 0x201,
+ 0x2248, 0x338, 0x201, 0x3d, 0x338, 0x201, 0x2261, 0x338,
+ 0x201, 0x224d, 0x338, 0x201, 0x3c, 0x338, 0x201, 0x3e,
+ 0x338, 0x201, 0x2264, 0x338, 0x201, 0x2265, 0x338, 0x201,
+ 0x2272, 0x338, 0x201, 0x2273, 0x338, 0x201, 0x2276, 0x338,
+ 0x201, 0x2277, 0x338, 0x201, 0x227a, 0x338, 0x201, 0x227b,
+ 0x338, 0x201, 0x2282, 0x338, 0x201, 0x2283, 0x338, 0x201,
+ 0x2286, 0x338, 0x201, 0x2287, 0x338, 0x201, 0x22a2, 0x338,
+ 0x201, 0x22a8, 0x338, 0x201, 0x22a9, 0x338, 0x201, 0x22ab,
+ 0x338, 0x201, 0x227c, 0x338, 0x201, 0x227d, 0x338, 0x201,
+ 0x2291, 0x338, 0x201, 0x2292, 0x338, 0x201, 0x22b2, 0x338,
+ 0x201, 0x22b3, 0x338, 0x201, 0x22b4, 0x338, 0x201, 0x22b5,
+ 0x338, 0x101, 0x3008, 0x101, 0x3009, 0x108, 0x31, 0x108,
+ 0x32, 0x108, 0x33, 0x108, 0x34, 0x108, 0x35, 0x108,
+ 0x36, 0x108, 0x37, 0x108, 0x38, 0x108, 0x39, 0x208,
+ 0x31, 0x30, 0x208, 0x31, 0x31, 0x208, 0x31, 0x32,
+ 0x208, 0x31, 0x33, 0x208, 0x31, 0x34, 0x208, 0x31,
+ 0x35, 0x208, 0x31, 0x36, 0x208, 0x31, 0x37, 0x208,
+ 0x31, 0x38, 0x208, 0x31, 0x39, 0x208, 0x32, 0x30,
+ 0x310, 0x28, 0x31, 0x29, 0x310, 0x28, 0x32, 0x29,
+ 0x310, 0x28, 0x33, 0x29, 0x310, 0x28, 0x34, 0x29,
+ 0x310, 0x28, 0x35, 0x29, 0x310, 0x28, 0x36, 0x29,
+ 0x310, 0x28, 0x37, 0x29, 0x310, 0x28, 0x38, 0x29,
+ 0x310, 0x28, 0x39, 0x29, 0x410, 0x28, 0x31, 0x30,
+ 0x29, 0x410, 0x28, 0x31, 0x31, 0x29, 0x410, 0x28,
+ 0x31, 0x32, 0x29, 0x410, 0x28, 0x31, 0x33, 0x29,
+ 0x410, 0x28, 0x31, 0x34, 0x29, 0x410, 0x28, 0x31,
+ 0x35, 0x29, 0x410, 0x28, 0x31, 0x36, 0x29, 0x410,
+ 0x28, 0x31, 0x37, 0x29, 0x410, 0x28, 0x31, 0x38,
+ 0x29, 0x410, 0x28, 0x31, 0x39, 0x29, 0x410, 0x28,
+ 0x32, 0x30, 0x29, 0x210, 0x31, 0x2e, 0x210, 0x32,
+ 0x2e, 0x210, 0x33, 0x2e, 0x210, 0x34, 0x2e, 0x210,
+ 0x35, 0x2e, 0x210, 0x36, 0x2e, 0x210, 0x37, 0x2e,
+ 0x210, 0x38, 0x2e, 0x210, 0x39, 0x2e, 0x310, 0x31,
+ 0x30, 0x2e, 0x310, 0x31, 0x31, 0x2e, 0x310, 0x31,
+ 0x32, 0x2e, 0x310, 0x31, 0x33, 0x2e, 0x310, 0x31,
+ 0x34, 0x2e, 0x310, 0x31, 0x35, 0x2e, 0x310, 0x31,
+ 0x36, 0x2e, 0x310, 0x31, 0x37, 0x2e, 0x310, 0x31,
+ 0x38, 0x2e, 0x310, 0x31, 0x39, 0x2e, 0x310, 0x32,
+ 0x30, 0x2e, 0x310, 0x28, 0x61, 0x29, 0x310, 0x28,
+ 0x62, 0x29, 0x310, 0x28, 0x63, 0x29, 0x310, 0x28,
+ 0x64, 0x29, 0x310, 0x28, 0x65, 0x29, 0x310, 0x28,
+ 0x66, 0x29, 0x310, 0x28, 0x67, 0x29, 0x310, 0x28,
+ 0x68, 0x29, 0x310, 0x28, 0x69, 0x29, 0x310, 0x28,
+ 0x6a, 0x29, 0x310, 0x28, 0x6b, 0x29, 0x310, 0x28,
+ 0x6c, 0x29, 0x310, 0x28, 0x6d, 0x29, 0x310, 0x28,
+ 0x6e, 0x29, 0x310, 0x28, 0x6f, 0x29, 0x310, 0x28,
+ 0x70, 0x29, 0x310, 0x28, 0x71, 0x29, 0x310, 0x28,
+ 0x72, 0x29, 0x310, 0x28, 0x73, 0x29, 0x310, 0x28,
+ 0x74, 0x29, 0x310, 0x28, 0x75, 0x29, 0x310, 0x28,
+ 0x76, 0x29, 0x310, 0x28, 0x77, 0x29, 0x310, 0x28,
+ 0x78, 0x29, 0x310, 0x28, 0x79, 0x29, 0x310, 0x28,
+ 0x7a, 0x29, 0x108, 0x41, 0x108, 0x42, 0x108, 0x43,
+ 0x108, 0x44, 0x108, 0x45, 0x108, 0x46, 0x108, 0x47,
+ 0x108, 0x48, 0x108, 0x49, 0x108, 0x4a, 0x108, 0x4b,
+ 0x108, 0x4c, 0x108, 0x4d, 0x108, 0x4e, 0x108, 0x4f,
+ 0x108, 0x50, 0x108, 0x51, 0x108, 0x52, 0x108, 0x53,
+ 0x108, 0x54, 0x108, 0x55, 0x108, 0x56, 0x108, 0x57,
+ 0x108, 0x58, 0x108, 0x59, 0x108, 0x5a, 0x108, 0x61,
+ 0x108, 0x62, 0x108, 0x63, 0x108, 0x64, 0x108, 0x65,
+ 0x108, 0x66, 0x108, 0x67, 0x108, 0x68, 0x108, 0x69,
+ 0x108, 0x6a, 0x108, 0x6b, 0x108, 0x6c, 0x108, 0x6d,
+ 0x108, 0x6e, 0x108, 0x6f, 0x108, 0x70, 0x108, 0x71,
+ 0x108, 0x72, 0x108, 0x73, 0x108, 0x74, 0x108, 0x75,
+ 0x108, 0x76, 0x108, 0x77, 0x108, 0x78, 0x108, 0x79,
+ 0x108, 0x7a, 0x108, 0x30, 0x410, 0x222b, 0x222b, 0x222b,
+ 0x222b, 0x310, 0x3a, 0x3a, 0x3d, 0x210, 0x3d, 0x3d,
+ 0x310, 0x3d, 0x3d, 0x3d, 0x201, 0x2add, 0x338, 0x109,
+ 0x2d61, 0x110, 0x6bcd, 0x110, 0x9f9f, 0x110, 0x4e00, 0x110,
+ 0x4e28, 0x110, 0x4e36, 0x110, 0x4e3f, 0x110, 0x4e59, 0x110,
+ 0x4e85, 0x110, 0x4e8c, 0x110, 0x4ea0, 0x110, 0x4eba, 0x110,
+ 0x513f, 0x110, 0x5165, 0x110, 0x516b, 0x110, 0x5182, 0x110,
+ 0x5196, 0x110, 0x51ab, 0x110, 0x51e0, 0x110, 0x51f5, 0x110,
+ 0x5200, 0x110, 0x529b, 0x110, 0x52f9, 0x110, 0x5315, 0x110,
+ 0x531a, 0x110, 0x5338, 0x110, 0x5341, 0x110, 0x535c, 0x110,
+ 0x5369, 0x110, 0x5382, 0x110, 0x53b6, 0x110, 0x53c8, 0x110,
+ 0x53e3, 0x110, 0x56d7, 0x110, 0x571f, 0x110, 0x58eb, 0x110,
+ 0x5902, 0x110, 0x590a, 0x110, 0x5915, 0x110, 0x5927, 0x110,
+ 0x5973, 0x110, 0x5b50, 0x110, 0x5b80, 0x110, 0x5bf8, 0x110,
+ 0x5c0f, 0x110, 0x5c22, 0x110, 0x5c38, 0x110, 0x5c6e, 0x110,
+ 0x5c71, 0x110, 0x5ddb, 0x110, 0x5de5, 0x110, 0x5df1, 0x110,
+ 0x5dfe, 0x110, 0x5e72, 0x110, 0x5e7a, 0x110, 0x5e7f, 0x110,
+ 0x5ef4, 0x110, 0x5efe, 0x110, 0x5f0b, 0x110, 0x5f13, 0x110,
+ 0x5f50, 0x110, 0x5f61, 0x110, 0x5f73, 0x110, 0x5fc3, 0x110,
+ 0x6208, 0x110, 0x6236, 0x110, 0x624b, 0x110, 0x652f, 0x110,
+ 0x6534, 0x110, 0x6587, 0x110, 0x6597, 0x110, 0x65a4, 0x110,
+ 0x65b9, 0x110, 0x65e0, 0x110, 0x65e5, 0x110, 0x66f0, 0x110,
+ 0x6708, 0x110, 0x6728, 0x110, 0x6b20, 0x110, 0x6b62, 0x110,
+ 0x6b79, 0x110, 0x6bb3, 0x110, 0x6bcb, 0x110, 0x6bd4, 0x110,
+ 0x6bdb, 0x110, 0x6c0f, 0x110, 0x6c14, 0x110, 0x6c34, 0x110,
+ 0x706b, 0x110, 0x722a, 0x110, 0x7236, 0x110, 0x723b, 0x110,
+ 0x723f, 0x110, 0x7247, 0x110, 0x7259, 0x110, 0x725b, 0x110,
+ 0x72ac, 0x110, 0x7384, 0x110, 0x7389, 0x110, 0x74dc, 0x110,
+ 0x74e6, 0x110, 0x7518, 0x110, 0x751f, 0x110, 0x7528, 0x110,
+ 0x7530, 0x110, 0x758b, 0x110, 0x7592, 0x110, 0x7676, 0x110,
+ 0x767d, 0x110, 0x76ae, 0x110, 0x76bf, 0x110, 0x76ee, 0x110,
+ 0x77db, 0x110, 0x77e2, 0x110, 0x77f3, 0x110, 0x793a, 0x110,
+ 0x79b8, 0x110, 0x79be, 0x110, 0x7a74, 0x110, 0x7acb, 0x110,
+ 0x7af9, 0x110, 0x7c73, 0x110, 0x7cf8, 0x110, 0x7f36, 0x110,
+ 0x7f51, 0x110, 0x7f8a, 0x110, 0x7fbd, 0x110, 0x8001, 0x110,
+ 0x800c, 0x110, 0x8012, 0x110, 0x8033, 0x110, 0x807f, 0x110,
+ 0x8089, 0x110, 0x81e3, 0x110, 0x81ea, 0x110, 0x81f3, 0x110,
+ 0x81fc, 0x110, 0x820c, 0x110, 0x821b, 0x110, 0x821f, 0x110,
+ 0x826e, 0x110, 0x8272, 0x110, 0x8278, 0x110, 0x864d, 0x110,
+ 0x866b, 0x110, 0x8840, 0x110, 0x884c, 0x110, 0x8863, 0x110,
+ 0x897e, 0x110, 0x898b, 0x110, 0x89d2, 0x110, 0x8a00, 0x110,
+ 0x8c37, 0x110, 0x8c46, 0x110, 0x8c55, 0x110, 0x8c78, 0x110,
+ 0x8c9d, 0x110, 0x8d64, 0x110, 0x8d70, 0x110, 0x8db3, 0x110,
+ 0x8eab, 0x110, 0x8eca, 0x110, 0x8f9b, 0x110, 0x8fb0, 0x110,
+ 0x8fb5, 0x110, 0x9091, 0x110, 0x9149, 0x110, 0x91c6, 0x110,
+ 0x91cc, 0x110, 0x91d1, 0x110, 0x9577, 0x110, 0x9580, 0x110,
+ 0x961c, 0x110, 0x96b6, 0x110, 0x96b9, 0x110, 0x96e8, 0x110,
+ 0x9751, 0x110, 0x975e, 0x110, 0x9762, 0x110, 0x9769, 0x110,
+ 0x97cb, 0x110, 0x97ed, 0x110, 0x97f3, 0x110, 0x9801, 0x110,
+ 0x98a8, 0x110, 0x98db, 0x110, 0x98df, 0x110, 0x9996, 0x110,
+ 0x9999, 0x110, 0x99ac, 0x110, 0x9aa8, 0x110, 0x9ad8, 0x110,
+ 0x9adf, 0x110, 0x9b25, 0x110, 0x9b2f, 0x110, 0x9b32, 0x110,
+ 0x9b3c, 0x110, 0x9b5a, 0x110, 0x9ce5, 0x110, 0x9e75, 0x110,
+ 0x9e7f, 0x110, 0x9ea5, 0x110, 0x9ebb, 0x110, 0x9ec3, 0x110,
+ 0x9ecd, 0x110, 0x9ed1, 0x110, 0x9ef9, 0x110, 0x9efd, 0x110,
+ 0x9f0e, 0x110, 0x9f13, 0x110, 0x9f20, 0x110, 0x9f3b, 0x110,
+ 0x9f4a, 0x110, 0x9f52, 0x110, 0x9f8d, 0x110, 0x9f9c, 0x110,
+ 0x9fa0, 0x10c, 0x20, 0x110, 0x3012, 0x110, 0x5341, 0x110,
+ 0x5344, 0x110, 0x5345, 0x201, 0x304b, 0x3099, 0x201, 0x304d,
+ 0x3099, 0x201, 0x304f, 0x3099, 0x201, 0x3051, 0x3099, 0x201,
+ 0x3053, 0x3099, 0x201, 0x3055, 0x3099, 0x201, 0x3057, 0x3099,
+ 0x201, 0x3059, 0x3099, 0x201, 0x305b, 0x3099, 0x201, 0x305d,
+ 0x3099, 0x201, 0x305f, 0x3099, 0x201, 0x3061, 0x3099, 0x201,
+ 0x3064, 0x3099, 0x201, 0x3066, 0x3099, 0x201, 0x3068, 0x3099,
+ 0x201, 0x306f, 0x3099, 0x201, 0x306f, 0x309a, 0x201, 0x3072,
+ 0x3099, 0x201, 0x3072, 0x309a, 0x201, 0x3075, 0x3099, 0x201,
+ 0x3075, 0x309a, 0x201, 0x3078, 0x3099, 0x201, 0x3078, 0x309a,
+ 0x201, 0x307b, 0x3099, 0x201, 0x307b, 0x309a, 0x201, 0x3046,
+ 0x3099, 0x210, 0x20, 0x3099, 0x210, 0x20, 0x309a, 0x201,
+ 0x309d, 0x3099, 0x20b, 0x3088, 0x308a, 0x201, 0x30ab, 0x3099,
+ 0x201, 0x30ad, 0x3099, 0x201, 0x30af, 0x3099, 0x201, 0x30b1,
+ 0x3099, 0x201, 0x30b3, 0x3099, 0x201, 0x30b5, 0x3099, 0x201,
+ 0x30b7, 0x3099, 0x201, 0x30b9, 0x3099, 0x201, 0x30bb, 0x3099,
+ 0x201, 0x30bd, 0x3099, 0x201, 0x30bf, 0x3099, 0x201, 0x30c1,
+ 0x3099, 0x201, 0x30c4, 0x3099, 0x201, 0x30c6, 0x3099, 0x201,
+ 0x30c8, 0x3099, 0x201, 0x30cf, 0x3099, 0x201, 0x30cf, 0x309a,
+ 0x201, 0x30d2, 0x3099, 0x201, 0x30d2, 0x309a, 0x201, 0x30d5,
+ 0x3099, 0x201, 0x30d5, 0x309a, 0x201, 0x30d8, 0x3099, 0x201,
+ 0x30d8, 0x309a, 0x201, 0x30db, 0x3099, 0x201, 0x30db, 0x309a,
+ 0x201, 0x30a6, 0x3099, 0x201, 0x30ef, 0x3099, 0x201, 0x30f0,
+ 0x3099, 0x201, 0x30f1, 0x3099, 0x201, 0x30f2, 0x3099, 0x201,
+ 0x30fd, 0x3099, 0x20b, 0x30b3, 0x30c8, 0x110, 0x1100, 0x110,
+ 0x1101, 0x110, 0x11aa, 0x110, 0x1102, 0x110, 0x11ac, 0x110,
+ 0x11ad, 0x110, 0x1103, 0x110, 0x1104, 0x110, 0x1105, 0x110,
+ 0x11b0, 0x110, 0x11b1, 0x110, 0x11b2, 0x110, 0x11b3, 0x110,
+ 0x11b4, 0x110, 0x11b5, 0x110, 0x111a, 0x110, 0x1106, 0x110,
+ 0x1107, 0x110, 0x1108, 0x110, 0x1121, 0x110, 0x1109, 0x110,
+ 0x110a, 0x110, 0x110b, 0x110, 0x110c, 0x110, 0x110d, 0x110,
+ 0x110e, 0x110, 0x110f, 0x110, 0x1110, 0x110, 0x1111, 0x110,
+ 0x1112, 0x110, 0x1161, 0x110, 0x1162, 0x110, 0x1163, 0x110,
+ 0x1164, 0x110, 0x1165, 0x110, 0x1166, 0x110, 0x1167, 0x110,
+ 0x1168, 0x110, 0x1169, 0x110, 0x116a, 0x110, 0x116b, 0x110,
+ 0x116c, 0x110, 0x116d, 0x110, 0x116e, 0x110, 0x116f, 0x110,
+ 0x1170, 0x110, 0x1171, 0x110, 0x1172, 0x110, 0x1173, 0x110,
+ 0x1174, 0x110, 0x1175, 0x110, 0x1160, 0x110, 0x1114, 0x110,
+ 0x1115, 0x110, 0x11c7, 0x110, 0x11c8, 0x110, 0x11cc, 0x110,
+ 0x11ce, 0x110, 0x11d3, 0x110, 0x11d7, 0x110, 0x11d9, 0x110,
+ 0x111c, 0x110, 0x11dd, 0x110, 0x11df, 0x110, 0x111d, 0x110,
+ 0x111e, 0x110, 0x1120, 0x110, 0x1122, 0x110, 0x1123, 0x110,
+ 0x1127, 0x110, 0x1129, 0x110, 0x112b, 0x110, 0x112c, 0x110,
+ 0x112d, 0x110, 0x112e, 0x110, 0x112f, 0x110, 0x1132, 0x110,
+ 0x1136, 0x110, 0x1140, 0x110, 0x1147, 0x110, 0x114c, 0x110,
+ 0x11f1, 0x110, 0x11f2, 0x110, 0x1157, 0x110, 0x1158, 0x110,
+ 0x1159, 0x110, 0x1184, 0x110, 0x1185, 0x110, 0x1188, 0x110,
+ 0x1191, 0x110, 0x1192, 0x110, 0x1194, 0x110, 0x119e, 0x110,
+ 0x11a1, 0x109, 0x4e00, 0x109, 0x4e8c, 0x109, 0x4e09, 0x109,
+ 0x56db, 0x109, 0x4e0a, 0x109, 0x4e2d, 0x109, 0x4e0b, 0x109,
+ 0x7532, 0x109, 0x4e59, 0x109, 0x4e19, 0x109, 0x4e01, 0x109,
+ 0x5929, 0x109, 0x5730, 0x109, 0x4eba, 0x310, 0x28, 0x1100,
+ 0x29, 0x310, 0x28, 0x1102, 0x29, 0x310, 0x28, 0x1103,
+ 0x29, 0x310, 0x28, 0x1105, 0x29, 0x310, 0x28, 0x1106,
+ 0x29, 0x310, 0x28, 0x1107, 0x29, 0x310, 0x28, 0x1109,
+ 0x29, 0x310, 0x28, 0x110b, 0x29, 0x310, 0x28, 0x110c,
+ 0x29, 0x310, 0x28, 0x110e, 0x29, 0x310, 0x28, 0x110f,
+ 0x29, 0x310, 0x28, 0x1110, 0x29, 0x310, 0x28, 0x1111,
+ 0x29, 0x310, 0x28, 0x1112, 0x29, 0x410, 0x28, 0x1100,
+ 0x1161, 0x29, 0x410, 0x28, 0x1102, 0x1161, 0x29, 0x410,
+ 0x28, 0x1103, 0x1161, 0x29, 0x410, 0x28, 0x1105, 0x1161,
+ 0x29, 0x410, 0x28, 0x1106, 0x1161, 0x29, 0x410, 0x28,
+ 0x1107, 0x1161, 0x29, 0x410, 0x28, 0x1109, 0x1161, 0x29,
+ 0x410, 0x28, 0x110b, 0x1161, 0x29, 0x410, 0x28, 0x110c,
+ 0x1161, 0x29, 0x410, 0x28, 0x110e, 0x1161, 0x29, 0x410,
+ 0x28, 0x110f, 0x1161, 0x29, 0x410, 0x28, 0x1110, 0x1161,
+ 0x29, 0x410, 0x28, 0x1111, 0x1161, 0x29, 0x410, 0x28,
+ 0x1112, 0x1161, 0x29, 0x410, 0x28, 0x110c, 0x116e, 0x29,
+ 0x710, 0x28, 0x110b, 0x1169, 0x110c, 0x1165, 0x11ab, 0x29,
+ 0x610, 0x28, 0x110b, 0x1169, 0x1112, 0x116e, 0x29, 0x310,
+ 0x28, 0x4e00, 0x29, 0x310, 0x28, 0x4e8c, 0x29, 0x310,
+ 0x28, 0x4e09, 0x29, 0x310, 0x28, 0x56db, 0x29, 0x310,
+ 0x28, 0x4e94, 0x29, 0x310, 0x28, 0x516d, 0x29, 0x310,
+ 0x28, 0x4e03, 0x29, 0x310, 0x28, 0x516b, 0x29, 0x310,
+ 0x28, 0x4e5d, 0x29, 0x310, 0x28, 0x5341, 0x29, 0x310,
+ 0x28, 0x6708, 0x29, 0x310, 0x28, 0x706b, 0x29, 0x310,
+ 0x28, 0x6c34, 0x29, 0x310, 0x28, 0x6728, 0x29, 0x310,
+ 0x28, 0x91d1, 0x29, 0x310, 0x28, 0x571f, 0x29, 0x310,
+ 0x28, 0x65e5, 0x29, 0x310, 0x28, 0x682a, 0x29, 0x310,
+ 0x28, 0x6709, 0x29, 0x310, 0x28, 0x793e, 0x29, 0x310,
+ 0x28, 0x540d, 0x29, 0x310, 0x28, 0x7279, 0x29, 0x310,
+ 0x28, 0x8ca1, 0x29, 0x310, 0x28, 0x795d, 0x29, 0x310,
+ 0x28, 0x52b4, 0x29, 0x310, 0x28, 0x4ee3, 0x29, 0x310,
+ 0x28, 0x547c, 0x29, 0x310, 0x28, 0x5b66, 0x29, 0x310,
+ 0x28, 0x76e3, 0x29, 0x310, 0x28, 0x4f01, 0x29, 0x310,
+ 0x28, 0x8cc7, 0x29, 0x310, 0x28, 0x5354, 0x29, 0x310,
+ 0x28, 0x796d, 0x29, 0x310, 0x28, 0x4f11, 0x29, 0x310,
+ 0x28, 0x81ea, 0x29, 0x310, 0x28, 0x81f3, 0x29, 0x30f,
+ 0x50, 0x54, 0x45, 0x208, 0x32, 0x31, 0x208, 0x32,
+ 0x32, 0x208, 0x32, 0x33, 0x208, 0x32, 0x34, 0x208,
+ 0x32, 0x35, 0x208, 0x32, 0x36, 0x208, 0x32, 0x37,
+ 0x208, 0x32, 0x38, 0x208, 0x32, 0x39, 0x208, 0x33,
+ 0x30, 0x208, 0x33, 0x31, 0x208, 0x33, 0x32, 0x208,
+ 0x33, 0x33, 0x208, 0x33, 0x34, 0x208, 0x33, 0x35,
+ 0x108, 0x1100, 0x108, 0x1102, 0x108, 0x1103, 0x108, 0x1105,
+ 0x108, 0x1106, 0x108, 0x1107, 0x108, 0x1109, 0x108, 0x110b,
+ 0x108, 0x110c, 0x108, 0x110e, 0x108, 0x110f, 0x108, 0x1110,
+ 0x108, 0x1111, 0x108, 0x1112, 0x208, 0x1100, 0x1161, 0x208,
+ 0x1102, 0x1161, 0x208, 0x1103, 0x1161, 0x208, 0x1105, 0x1161,
+ 0x208, 0x1106, 0x1161, 0x208, 0x1107, 0x1161, 0x208, 0x1109,
+ 0x1161, 0x208, 0x110b, 0x1161, 0x208, 0x110c, 0x1161, 0x208,
+ 0x110e, 0x1161, 0x208, 0x110f, 0x1161, 0x208, 0x1110, 0x1161,
+ 0x208, 0x1111, 0x1161, 0x208, 0x1112, 0x1161, 0x508, 0x110e,
+ 0x1161, 0x11b7, 0x1100, 0x1169, 0x408, 0x110c, 0x116e, 0x110b,
+ 0x1174, 0x208, 0x110b, 0x116e, 0x108, 0x4e00, 0x108, 0x4e8c,
+ 0x108, 0x4e09, 0x108, 0x56db, 0x108, 0x4e94, 0x108, 0x516d,
+ 0x108, 0x4e03, 0x108, 0x516b, 0x108, 0x4e5d, 0x108, 0x5341,
+ 0x108, 0x6708, 0x108, 0x706b, 0x108, 0x6c34, 0x108, 0x6728,
+ 0x108, 0x91d1, 0x108, 0x571f, 0x108, 0x65e5, 0x108, 0x682a,
+ 0x108, 0x6709, 0x108, 0x793e, 0x108, 0x540d, 0x108, 0x7279,
+ 0x108, 0x8ca1, 0x108, 0x795d, 0x108, 0x52b4, 0x108, 0x79d8,
+ 0x108, 0x7537, 0x108, 0x5973, 0x108, 0x9069, 0x108, 0x512a,
+ 0x108, 0x5370, 0x108, 0x6ce8, 0x108, 0x9805, 0x108, 0x4f11,
+ 0x108, 0x5199, 0x108, 0x6b63, 0x108, 0x4e0a, 0x108, 0x4e2d,
+ 0x108, 0x4e0b, 0x108, 0x5de6, 0x108, 0x53f3, 0x108, 0x533b,
+ 0x108, 0x5b97, 0x108, 0x5b66, 0x108, 0x76e3, 0x108, 0x4f01,
+ 0x108, 0x8cc7, 0x108, 0x5354, 0x108, 0x591c, 0x208, 0x33,
+ 0x36, 0x208, 0x33, 0x37, 0x208, 0x33, 0x38, 0x208,
+ 0x33, 0x39, 0x208, 0x34, 0x30, 0x208, 0x34, 0x31,
+ 0x208, 0x34, 0x32, 0x208, 0x34, 0x33, 0x208, 0x34,
+ 0x34, 0x208, 0x34, 0x35, 0x208, 0x34, 0x36, 0x208,
+ 0x34, 0x37, 0x208, 0x34, 0x38, 0x208, 0x34, 0x39,
+ 0x208, 0x35, 0x30, 0x210, 0x31, 0x6708, 0x210, 0x32,
+ 0x6708, 0x210, 0x33, 0x6708, 0x210, 0x34, 0x6708, 0x210,
+ 0x35, 0x6708, 0x210, 0x36, 0x6708, 0x210, 0x37, 0x6708,
+ 0x210, 0x38, 0x6708, 0x210, 0x39, 0x6708, 0x310, 0x31,
+ 0x30, 0x6708, 0x310, 0x31, 0x31, 0x6708, 0x310, 0x31,
+ 0x32, 0x6708, 0x20f, 0x48, 0x67, 0x30f, 0x65, 0x72,
+ 0x67, 0x20f, 0x65, 0x56, 0x30f, 0x4c, 0x54, 0x44,
+ 0x108, 0x30a2, 0x108, 0x30a4, 0x108, 0x30a6, 0x108, 0x30a8,
+ 0x108, 0x30aa, 0x108, 0x30ab, 0x108, 0x30ad, 0x108, 0x30af,
+ 0x108, 0x30b1, 0x108, 0x30b3, 0x108, 0x30b5, 0x108, 0x30b7,
+ 0x108, 0x30b9, 0x108, 0x30bb, 0x108, 0x30bd, 0x108, 0x30bf,
+ 0x108, 0x30c1, 0x108, 0x30c4, 0x108, 0x30c6, 0x108, 0x30c8,
+ 0x108, 0x30ca, 0x108, 0x30cb, 0x108, 0x30cc, 0x108, 0x30cd,
+ 0x108, 0x30ce, 0x108, 0x30cf, 0x108, 0x30d2, 0x108, 0x30d5,
+ 0x108, 0x30d8, 0x108, 0x30db, 0x108, 0x30de, 0x108, 0x30df,
+ 0x108, 0x30e0, 0x108, 0x30e1, 0x108, 0x30e2, 0x108, 0x30e4,
+ 0x108, 0x30e6, 0x108, 0x30e8, 0x108, 0x30e9, 0x108, 0x30ea,
+ 0x108, 0x30eb, 0x108, 0x30ec, 0x108, 0x30ed, 0x108, 0x30ef,
+ 0x108, 0x30f0, 0x108, 0x30f1, 0x108, 0x30f2, 0x40f, 0x30a2,
+ 0x30d1, 0x30fc, 0x30c8, 0x40f, 0x30a2, 0x30eb, 0x30d5, 0x30a1,
+ 0x40f, 0x30a2, 0x30f3, 0x30da, 0x30a2, 0x30f, 0x30a2, 0x30fc,
+ 0x30eb, 0x40f, 0x30a4, 0x30cb, 0x30f3, 0x30b0, 0x30f, 0x30a4,
+ 0x30f3, 0x30c1, 0x30f, 0x30a6, 0x30a9, 0x30f3, 0x50f, 0x30a8,
+ 0x30b9, 0x30af, 0x30fc, 0x30c9, 0x40f, 0x30a8, 0x30fc, 0x30ab,
+ 0x30fc, 0x30f, 0x30aa, 0x30f3, 0x30b9, 0x30f, 0x30aa, 0x30fc,
+ 0x30e0, 0x30f, 0x30ab, 0x30a4, 0x30ea, 0x40f, 0x30ab, 0x30e9,
+ 0x30c3, 0x30c8, 0x40f, 0x30ab, 0x30ed, 0x30ea, 0x30fc, 0x30f,
+ 0x30ac, 0x30ed, 0x30f3, 0x30f, 0x30ac, 0x30f3, 0x30de, 0x20f,
+ 0x30ae, 0x30ac, 0x30f, 0x30ae, 0x30cb, 0x30fc, 0x40f, 0x30ad,
+ 0x30e5, 0x30ea, 0x30fc, 0x40f, 0x30ae, 0x30eb, 0x30c0, 0x30fc,
+ 0x20f, 0x30ad, 0x30ed, 0x50f, 0x30ad, 0x30ed, 0x30b0, 0x30e9,
+ 0x30e0, 0x60f, 0x30ad, 0x30ed, 0x30e1, 0x30fc, 0x30c8, 0x30eb,
+ 0x50f, 0x30ad, 0x30ed, 0x30ef, 0x30c3, 0x30c8, 0x30f, 0x30b0,
+ 0x30e9, 0x30e0, 0x50f, 0x30b0, 0x30e9, 0x30e0, 0x30c8, 0x30f3,
+ 0x50f, 0x30af, 0x30eb, 0x30bc, 0x30a4, 0x30ed, 0x40f, 0x30af,
+ 0x30ed, 0x30fc, 0x30cd, 0x30f, 0x30b1, 0x30fc, 0x30b9, 0x30f,
+ 0x30b3, 0x30eb, 0x30ca, 0x30f, 0x30b3, 0x30fc, 0x30dd, 0x40f,
+ 0x30b5, 0x30a4, 0x30af, 0x30eb, 0x50f, 0x30b5, 0x30f3, 0x30c1,
+ 0x30fc, 0x30e0, 0x40f, 0x30b7, 0x30ea, 0x30f3, 0x30b0, 0x30f,
+ 0x30bb, 0x30f3, 0x30c1, 0x30f, 0x30bb, 0x30f3, 0x30c8, 0x30f,
+ 0x30c0, 0x30fc, 0x30b9, 0x20f, 0x30c7, 0x30b7, 0x20f, 0x30c9,
+ 0x30eb, 0x20f, 0x30c8, 0x30f3, 0x20f, 0x30ca, 0x30ce, 0x30f,
+ 0x30ce, 0x30c3, 0x30c8, 0x30f, 0x30cf, 0x30a4, 0x30c4, 0x50f,
+ 0x30d1, 0x30fc, 0x30bb, 0x30f3, 0x30c8, 0x30f, 0x30d1, 0x30fc,
+ 0x30c4, 0x40f, 0x30d0, 0x30fc, 0x30ec, 0x30eb, 0x50f, 0x30d4,
+ 0x30a2, 0x30b9, 0x30c8, 0x30eb, 0x30f, 0x30d4, 0x30af, 0x30eb,
+ 0x20f, 0x30d4, 0x30b3, 0x20f, 0x30d3, 0x30eb, 0x50f, 0x30d5,
+ 0x30a1, 0x30e9, 0x30c3, 0x30c9, 0x40f, 0x30d5, 0x30a3, 0x30fc,
+ 0x30c8, 0x50f, 0x30d6, 0x30c3, 0x30b7, 0x30a7, 0x30eb, 0x30f,
+ 0x30d5, 0x30e9, 0x30f3, 0x50f, 0x30d8, 0x30af, 0x30bf, 0x30fc,
+ 0x30eb, 0x20f, 0x30da, 0x30bd, 0x30f, 0x30da, 0x30cb, 0x30d2,
+ 0x30f, 0x30d8, 0x30eb, 0x30c4, 0x30f, 0x30da, 0x30f3, 0x30b9,
+ 0x30f, 0x30da, 0x30fc, 0x30b8, 0x30f, 0x30d9, 0x30fc, 0x30bf,
+ 0x40f, 0x30dd, 0x30a4, 0x30f3, 0x30c8, 0x30f, 0x30dc, 0x30eb,
+ 0x30c8, 0x20f, 0x30db, 0x30f3, 0x30f, 0x30dd, 0x30f3, 0x30c9,
+ 0x30f, 0x30db, 0x30fc, 0x30eb, 0x30f, 0x30db, 0x30fc, 0x30f3,
+ 0x40f, 0x30de, 0x30a4, 0x30af, 0x30ed, 0x30f, 0x30de, 0x30a4,
+ 0x30eb, 0x30f, 0x30de, 0x30c3, 0x30cf, 0x30f, 0x30de, 0x30eb,
+ 0x30af, 0x50f, 0x30de, 0x30f3, 0x30b7, 0x30e7, 0x30f3, 0x40f,
+ 0x30df, 0x30af, 0x30ed, 0x30f3, 0x20f, 0x30df, 0x30ea, 0x50f,
+ 0x30df, 0x30ea, 0x30d0, 0x30fc, 0x30eb, 0x20f, 0x30e1, 0x30ac,
+ 0x40f, 0x30e1, 0x30ac, 0x30c8, 0x30f3, 0x40f, 0x30e1, 0x30fc,
+ 0x30c8, 0x30eb, 0x30f, 0x30e4, 0x30fc, 0x30c9, 0x30f, 0x30e4,
+ 0x30fc, 0x30eb, 0x30f, 0x30e6, 0x30a2, 0x30f3, 0x40f, 0x30ea,
+ 0x30c3, 0x30c8, 0x30eb, 0x20f, 0x30ea, 0x30e9, 0x30f, 0x30eb,
+ 0x30d4, 0x30fc, 0x40f, 0x30eb, 0x30fc, 0x30d6, 0x30eb, 0x20f,
+ 0x30ec, 0x30e0, 0x50f, 0x30ec, 0x30f3, 0x30c8, 0x30b2, 0x30f3,
+ 0x30f, 0x30ef, 0x30c3, 0x30c8, 0x210, 0x30, 0x70b9, 0x210,
+ 0x31, 0x70b9, 0x210, 0x32, 0x70b9, 0x210, 0x33, 0x70b9,
+ 0x210, 0x34, 0x70b9, 0x210, 0x35, 0x70b9, 0x210, 0x36,
+ 0x70b9, 0x210, 0x37, 0x70b9, 0x210, 0x38, 0x70b9, 0x210,
+ 0x39, 0x70b9, 0x310, 0x31, 0x30, 0x70b9, 0x310, 0x31,
+ 0x31, 0x70b9, 0x310, 0x31, 0x32, 0x70b9, 0x310, 0x31,
+ 0x33, 0x70b9, 0x310, 0x31, 0x34, 0x70b9, 0x310, 0x31,
+ 0x35, 0x70b9, 0x310, 0x31, 0x36, 0x70b9, 0x310, 0x31,
+ 0x37, 0x70b9, 0x310, 0x31, 0x38, 0x70b9, 0x310, 0x31,
+ 0x39, 0x70b9, 0x310, 0x32, 0x30, 0x70b9, 0x310, 0x32,
+ 0x31, 0x70b9, 0x310, 0x32, 0x32, 0x70b9, 0x310, 0x32,
+ 0x33, 0x70b9, 0x310, 0x32, 0x34, 0x70b9, 0x30f, 0x68,
+ 0x50, 0x61, 0x20f, 0x64, 0x61, 0x20f, 0x41, 0x55,
+ 0x30f, 0x62, 0x61, 0x72, 0x20f, 0x6f, 0x56, 0x20f,
+ 0x70, 0x63, 0x20f, 0x64, 0x6d, 0x30f, 0x64, 0x6d,
+ 0xb2, 0x30f, 0x64, 0x6d, 0xb3, 0x20f, 0x49, 0x55,
+ 0x20f, 0x5e73, 0x6210, 0x20f, 0x662d, 0x548c, 0x20f, 0x5927,
+ 0x6b63, 0x20f, 0x660e, 0x6cbb, 0x40f, 0x682a, 0x5f0f, 0x4f1a,
+ 0x793e, 0x20f, 0x70, 0x41, 0x20f, 0x6e, 0x41, 0x20f,
+ 0x3bc, 0x41, 0x20f, 0x6d, 0x41, 0x20f, 0x6b, 0x41,
+ 0x20f, 0x4b, 0x42, 0x20f, 0x4d, 0x42, 0x20f, 0x47,
+ 0x42, 0x30f, 0x63, 0x61, 0x6c, 0x40f, 0x6b, 0x63,
+ 0x61, 0x6c, 0x20f, 0x70, 0x46, 0x20f, 0x6e, 0x46,
+ 0x20f, 0x3bc, 0x46, 0x20f, 0x3bc, 0x67, 0x20f, 0x6d,
+ 0x67, 0x20f, 0x6b, 0x67, 0x20f, 0x48, 0x7a, 0x30f,
+ 0x6b, 0x48, 0x7a, 0x30f, 0x4d, 0x48, 0x7a, 0x30f,
+ 0x47, 0x48, 0x7a, 0x30f, 0x54, 0x48, 0x7a, 0x20f,
+ 0x3bc, 0x2113, 0x20f, 0x6d, 0x2113, 0x20f, 0x64, 0x2113,
+ 0x20f, 0x6b, 0x2113, 0x20f, 0x66, 0x6d, 0x20f, 0x6e,
+ 0x6d, 0x20f, 0x3bc, 0x6d, 0x20f, 0x6d, 0x6d, 0x20f,
+ 0x63, 0x6d, 0x20f, 0x6b, 0x6d, 0x30f, 0x6d, 0x6d,
+ 0xb2, 0x30f, 0x63, 0x6d, 0xb2, 0x20f, 0x6d, 0xb2,
+ 0x30f, 0x6b, 0x6d, 0xb2, 0x30f, 0x6d, 0x6d, 0xb3,
+ 0x30f, 0x63, 0x6d, 0xb3, 0x20f, 0x6d, 0xb3, 0x30f,
+ 0x6b, 0x6d, 0xb3, 0x30f, 0x6d, 0x2215, 0x73, 0x40f,
+ 0x6d, 0x2215, 0x73, 0xb2, 0x20f, 0x50, 0x61, 0x30f,
+ 0x6b, 0x50, 0x61, 0x30f, 0x4d, 0x50, 0x61, 0x30f,
+ 0x47, 0x50, 0x61, 0x30f, 0x72, 0x61, 0x64, 0x50f,
+ 0x72, 0x61, 0x64, 0x2215, 0x73, 0x60f, 0x72, 0x61,
+ 0x64, 0x2215, 0x73, 0xb2, 0x20f, 0x70, 0x73, 0x20f,
+ 0x6e, 0x73, 0x20f, 0x3bc, 0x73, 0x20f, 0x6d, 0x73,
+ 0x20f, 0x70, 0x56, 0x20f, 0x6e, 0x56, 0x20f, 0x3bc,
+ 0x56, 0x20f, 0x6d, 0x56, 0x20f, 0x6b, 0x56, 0x20f,
+ 0x4d, 0x56, 0x20f, 0x70, 0x57, 0x20f, 0x6e, 0x57,
+ 0x20f, 0x3bc, 0x57, 0x20f, 0x6d, 0x57, 0x20f, 0x6b,
+ 0x57, 0x20f, 0x4d, 0x57, 0x20f, 0x6b, 0x3a9, 0x20f,
+ 0x4d, 0x3a9, 0x40f, 0x61, 0x2e, 0x6d, 0x2e, 0x20f,
+ 0x42, 0x71, 0x20f, 0x63, 0x63, 0x20f, 0x63, 0x64,
+ 0x40f, 0x43, 0x2215, 0x6b, 0x67, 0x30f, 0x43, 0x6f,
+ 0x2e, 0x20f, 0x64, 0x42, 0x20f, 0x47, 0x79, 0x20f,
+ 0x68, 0x61, 0x20f, 0x48, 0x50, 0x20f, 0x69, 0x6e,
+ 0x20f, 0x4b, 0x4b, 0x20f, 0x4b, 0x4d, 0x20f, 0x6b,
+ 0x74, 0x20f, 0x6c, 0x6d, 0x20f, 0x6c, 0x6e, 0x30f,
+ 0x6c, 0x6f, 0x67, 0x20f, 0x6c, 0x78, 0x20f, 0x6d,
+ 0x62, 0x30f, 0x6d, 0x69, 0x6c, 0x30f, 0x6d, 0x6f,
+ 0x6c, 0x20f, 0x50, 0x48, 0x40f, 0x70, 0x2e, 0x6d,
+ 0x2e, 0x30f, 0x50, 0x50, 0x4d, 0x20f, 0x50, 0x52,
+ 0x20f, 0x73, 0x72, 0x20f, 0x53, 0x76, 0x20f, 0x57,
+ 0x62, 0x30f, 0x56, 0x2215, 0x6d, 0x30f, 0x41, 0x2215,
+ 0x6d, 0x210, 0x31, 0x65e5, 0x210, 0x32, 0x65e5, 0x210,
+ 0x33, 0x65e5, 0x210, 0x34, 0x65e5, 0x210, 0x35, 0x65e5,
+ 0x210, 0x36, 0x65e5, 0x210, 0x37, 0x65e5, 0x210, 0x38,
+ 0x65e5, 0x210, 0x39, 0x65e5, 0x310, 0x31, 0x30, 0x65e5,
+ 0x310, 0x31, 0x31, 0x65e5, 0x310, 0x31, 0x32, 0x65e5,
+ 0x310, 0x31, 0x33, 0x65e5, 0x310, 0x31, 0x34, 0x65e5,
+ 0x310, 0x31, 0x35, 0x65e5, 0x310, 0x31, 0x36, 0x65e5,
+ 0x310, 0x31, 0x37, 0x65e5, 0x310, 0x31, 0x38, 0x65e5,
+ 0x310, 0x31, 0x39, 0x65e5, 0x310, 0x32, 0x30, 0x65e5,
+ 0x310, 0x32, 0x31, 0x65e5, 0x310, 0x32, 0x32, 0x65e5,
+ 0x310, 0x32, 0x33, 0x65e5, 0x310, 0x32, 0x34, 0x65e5,
+ 0x310, 0x32, 0x35, 0x65e5, 0x310, 0x32, 0x36, 0x65e5,
+ 0x310, 0x32, 0x37, 0x65e5, 0x310, 0x32, 0x38, 0x65e5,
+ 0x310, 0x32, 0x39, 0x65e5, 0x310, 0x33, 0x30, 0x65e5,
+ 0x310, 0x33, 0x31, 0x65e5, 0x30f, 0x67, 0x61, 0x6c,
+ 0x101, 0x8c48, 0x101, 0x66f4, 0x101, 0x8eca, 0x101, 0x8cc8,
+ 0x101, 0x6ed1, 0x101, 0x4e32, 0x101, 0x53e5, 0x101, 0x9f9c,
+ 0x101, 0x9f9c, 0x101, 0x5951, 0x101, 0x91d1, 0x101, 0x5587,
+ 0x101, 0x5948, 0x101, 0x61f6, 0x101, 0x7669, 0x101, 0x7f85,
+ 0x101, 0x863f, 0x101, 0x87ba, 0x101, 0x88f8, 0x101, 0x908f,
+ 0x101, 0x6a02, 0x101, 0x6d1b, 0x101, 0x70d9, 0x101, 0x73de,
+ 0x101, 0x843d, 0x101, 0x916a, 0x101, 0x99f1, 0x101, 0x4e82,
+ 0x101, 0x5375, 0x101, 0x6b04, 0x101, 0x721b, 0x101, 0x862d,
+ 0x101, 0x9e1e, 0x101, 0x5d50, 0x101, 0x6feb, 0x101, 0x85cd,
+ 0x101, 0x8964, 0x101, 0x62c9, 0x101, 0x81d8, 0x101, 0x881f,
+ 0x101, 0x5eca, 0x101, 0x6717, 0x101, 0x6d6a, 0x101, 0x72fc,
+ 0x101, 0x90ce, 0x101, 0x4f86, 0x101, 0x51b7, 0x101, 0x52de,
+ 0x101, 0x64c4, 0x101, 0x6ad3, 0x101, 0x7210, 0x101, 0x76e7,
+ 0x101, 0x8001, 0x101, 0x8606, 0x101, 0x865c, 0x101, 0x8def,
+ 0x101, 0x9732, 0x101, 0x9b6f, 0x101, 0x9dfa, 0x101, 0x788c,
+ 0x101, 0x797f, 0x101, 0x7da0, 0x101, 0x83c9, 0x101, 0x9304,
+ 0x101, 0x9e7f, 0x101, 0x8ad6, 0x101, 0x58df, 0x101, 0x5f04,
+ 0x101, 0x7c60, 0x101, 0x807e, 0x101, 0x7262, 0x101, 0x78ca,
+ 0x101, 0x8cc2, 0x101, 0x96f7, 0x101, 0x58d8, 0x101, 0x5c62,
+ 0x101, 0x6a13, 0x101, 0x6dda, 0x101, 0x6f0f, 0x101, 0x7d2f,
+ 0x101, 0x7e37, 0x101, 0x964b, 0x101, 0x52d2, 0x101, 0x808b,
+ 0x101, 0x51dc, 0x101, 0x51cc, 0x101, 0x7a1c, 0x101, 0x7dbe,
+ 0x101, 0x83f1, 0x101, 0x9675, 0x101, 0x8b80, 0x101, 0x62cf,
+ 0x101, 0x6a02, 0x101, 0x8afe, 0x101, 0x4e39, 0x101, 0x5be7,
+ 0x101, 0x6012, 0x101, 0x7387, 0x101, 0x7570, 0x101, 0x5317,
+ 0x101, 0x78fb, 0x101, 0x4fbf, 0x101, 0x5fa9, 0x101, 0x4e0d,
+ 0x101, 0x6ccc, 0x101, 0x6578, 0x101, 0x7d22, 0x101, 0x53c3,
+ 0x101, 0x585e, 0x101, 0x7701, 0x101, 0x8449, 0x101, 0x8aaa,
+ 0x101, 0x6bba, 0x101, 0x8fb0, 0x101, 0x6c88, 0x101, 0x62fe,
+ 0x101, 0x82e5, 0x101, 0x63a0, 0x101, 0x7565, 0x101, 0x4eae,
+ 0x101, 0x5169, 0x101, 0x51c9, 0x101, 0x6881, 0x101, 0x7ce7,
+ 0x101, 0x826f, 0x101, 0x8ad2, 0x101, 0x91cf, 0x101, 0x52f5,
+ 0x101, 0x5442, 0x101, 0x5973, 0x101, 0x5eec, 0x101, 0x65c5,
+ 0x101, 0x6ffe, 0x101, 0x792a, 0x101, 0x95ad, 0x101, 0x9a6a,
+ 0x101, 0x9e97, 0x101, 0x9ece, 0x101, 0x529b, 0x101, 0x66c6,
+ 0x101, 0x6b77, 0x101, 0x8f62, 0x101, 0x5e74, 0x101, 0x6190,
+ 0x101, 0x6200, 0x101, 0x649a, 0x101, 0x6f23, 0x101, 0x7149,
+ 0x101, 0x7489, 0x101, 0x79ca, 0x101, 0x7df4, 0x101, 0x806f,
+ 0x101, 0x8f26, 0x101, 0x84ee, 0x101, 0x9023, 0x101, 0x934a,
+ 0x101, 0x5217, 0x101, 0x52a3, 0x101, 0x54bd, 0x101, 0x70c8,
+ 0x101, 0x88c2, 0x101, 0x8aaa, 0x101, 0x5ec9, 0x101, 0x5ff5,
+ 0x101, 0x637b, 0x101, 0x6bae, 0x101, 0x7c3e, 0x101, 0x7375,
+ 0x101, 0x4ee4, 0x101, 0x56f9, 0x101, 0x5be7, 0x101, 0x5dba,
+ 0x101, 0x601c, 0x101, 0x73b2, 0x101, 0x7469, 0x101, 0x7f9a,
+ 0x101, 0x8046, 0x101, 0x9234, 0x101, 0x96f6, 0x101, 0x9748,
+ 0x101, 0x9818, 0x101, 0x4f8b, 0x101, 0x79ae, 0x101, 0x91b4,
+ 0x101, 0x96b8, 0x101, 0x60e1, 0x101, 0x4e86, 0x101, 0x50da,
+ 0x101, 0x5bee, 0x101, 0x5c3f, 0x101, 0x6599, 0x101, 0x6a02,
+ 0x101, 0x71ce, 0x101, 0x7642, 0x101, 0x84fc, 0x101, 0x907c,
+ 0x101, 0x9f8d, 0x101, 0x6688, 0x101, 0x962e, 0x101, 0x5289,
+ 0x101, 0x677b, 0x101, 0x67f3, 0x101, 0x6d41, 0x101, 0x6e9c,
+ 0x101, 0x7409, 0x101, 0x7559, 0x101, 0x786b, 0x101, 0x7d10,
+ 0x101, 0x985e, 0x101, 0x516d, 0x101, 0x622e, 0x101, 0x9678,
+ 0x101, 0x502b, 0x101, 0x5d19, 0x101, 0x6dea, 0x101, 0x8f2a,
+ 0x101, 0x5f8b, 0x101, 0x6144, 0x101, 0x6817, 0x101, 0x7387,
+ 0x101, 0x9686, 0x101, 0x5229, 0x101, 0x540f, 0x101, 0x5c65,
+ 0x101, 0x6613, 0x101, 0x674e, 0x101, 0x68a8, 0x101, 0x6ce5,
+ 0x101, 0x7406, 0x101, 0x75e2, 0x101, 0x7f79, 0x101, 0x88cf,
+ 0x101, 0x88e1, 0x101, 0x91cc, 0x101, 0x96e2, 0x101, 0x533f,
+ 0x101, 0x6eba, 0x101, 0x541d, 0x101, 0x71d0, 0x101, 0x7498,
+ 0x101, 0x85fa, 0x101, 0x96a3, 0x101, 0x9c57, 0x101, 0x9e9f,
+ 0x101, 0x6797, 0x101, 0x6dcb, 0x101, 0x81e8, 0x101, 0x7acb,
+ 0x101, 0x7b20, 0x101, 0x7c92, 0x101, 0x72c0, 0x101, 0x7099,
+ 0x101, 0x8b58, 0x101, 0x4ec0, 0x101, 0x8336, 0x101, 0x523a,
+ 0x101, 0x5207, 0x101, 0x5ea6, 0x101, 0x62d3, 0x101, 0x7cd6,
+ 0x101, 0x5b85, 0x101, 0x6d1e, 0x101, 0x66b4, 0x101, 0x8f3b,
+ 0x101, 0x884c, 0x101, 0x964d, 0x101, 0x898b, 0x101, 0x5ed3,
+ 0x101, 0x5140, 0x101, 0x55c0, 0x101, 0x585a, 0x101, 0x6674,
+ 0x101, 0x51de, 0x101, 0x732a, 0x101, 0x76ca, 0x101, 0x793c,
+ 0x101, 0x795e, 0x101, 0x7965, 0x101, 0x798f, 0x101, 0x9756,
+ 0x101, 0x7cbe, 0x101, 0x7fbd, 0x101, 0x8612, 0x101, 0x8af8,
+ 0x101, 0x9038, 0x101, 0x90fd, 0x101, 0x98ef, 0x101, 0x98fc,
+ 0x101, 0x9928, 0x101, 0x9db4, 0x101, 0x4fae, 0x101, 0x50e7,
+ 0x101, 0x514d, 0x101, 0x52c9, 0x101, 0x52e4, 0x101, 0x5351,
+ 0x101, 0x559d, 0x101, 0x5606, 0x101, 0x5668, 0x101, 0x5840,
+ 0x101, 0x58a8, 0x101, 0x5c64, 0x101, 0x5c6e, 0x101, 0x6094,
+ 0x101, 0x6168, 0x101, 0x618e, 0x101, 0x61f2, 0x101, 0x654f,
+ 0x101, 0x65e2, 0x101, 0x6691, 0x101, 0x6885, 0x101, 0x6d77,
+ 0x101, 0x6e1a, 0x101, 0x6f22, 0x101, 0x716e, 0x101, 0x722b,
+ 0x101, 0x7422, 0x101, 0x7891, 0x101, 0x793e, 0x101, 0x7949,
+ 0x101, 0x7948, 0x101, 0x7950, 0x101, 0x7956, 0x101, 0x795d,
+ 0x101, 0x798d, 0x101, 0x798e, 0x101, 0x7a40, 0x101, 0x7a81,
+ 0x101, 0x7bc0, 0x101, 0x7df4, 0x101, 0x7e09, 0x101, 0x7e41,
+ 0x101, 0x7f72, 0x101, 0x8005, 0x101, 0x81ed, 0x101, 0x8279,
+ 0x101, 0x8279, 0x101, 0x8457, 0x101, 0x8910, 0x101, 0x8996,
+ 0x101, 0x8b01, 0x101, 0x8b39, 0x101, 0x8cd3, 0x101, 0x8d08,
+ 0x101, 0x8fb6, 0x101, 0x9038, 0x101, 0x96e3, 0x101, 0x97ff,
+ 0x101, 0x983b, 0x101, 0x4e26, 0x101, 0x51b5, 0x101, 0x5168,
+ 0x101, 0x4f80, 0x101, 0x5145, 0x101, 0x5180, 0x101, 0x52c7,
+ 0x101, 0x52fa, 0x101, 0x559d, 0x101, 0x5555, 0x101, 0x5599,
+ 0x101, 0x55e2, 0x101, 0x585a, 0x101, 0x58b3, 0x101, 0x5944,
+ 0x101, 0x5954, 0x101, 0x5a62, 0x101, 0x5b28, 0x101, 0x5ed2,
+ 0x101, 0x5ed9, 0x101, 0x5f69, 0x101, 0x5fad, 0x101, 0x60d8,
+ 0x101, 0x614e, 0x101, 0x6108, 0x101, 0x618e, 0x101, 0x6160,
+ 0x101, 0x61f2, 0x101, 0x6234, 0x101, 0x63c4, 0x101, 0x641c,
+ 0x101, 0x6452, 0x101, 0x6556, 0x101, 0x6674, 0x101, 0x6717,
+ 0x101, 0x671b, 0x101, 0x6756, 0x101, 0x6b79, 0x101, 0x6bba,
+ 0x101, 0x6d41, 0x101, 0x6edb, 0x101, 0x6ecb, 0x101, 0x6f22,
+ 0x101, 0x701e, 0x101, 0x716e, 0x101, 0x77a7, 0x101, 0x7235,
+ 0x101, 0x72af, 0x101, 0x732a, 0x101, 0x7471, 0x101, 0x7506,
+ 0x101, 0x753b, 0x101, 0x761d, 0x101, 0x761f, 0x101, 0x76ca,
+ 0x101, 0x76db, 0x101, 0x76f4, 0x101, 0x774a, 0x101, 0x7740,
+ 0x101, 0x78cc, 0x101, 0x7ab1, 0x101, 0x7bc0, 0x101, 0x7c7b,
+ 0x101, 0x7d5b, 0x101, 0x7df4, 0x101, 0x7f3e, 0x101, 0x8005,
+ 0x101, 0x8352, 0x101, 0x83ef, 0x101, 0x8779, 0x101, 0x8941,
+ 0x101, 0x8986, 0x101, 0x8996, 0x101, 0x8abf, 0x101, 0x8af8,
+ 0x101, 0x8acb, 0x101, 0x8b01, 0x101, 0x8afe, 0x101, 0x8aed,
+ 0x101, 0x8b39, 0x101, 0x8b8a, 0x101, 0x8d08, 0x101, 0x8f38,
+ 0x101, 0x9072, 0x101, 0x9199, 0x101, 0x9276, 0x101, 0x967c,
+ 0x101, 0x96e3, 0x101, 0x9756, 0x101, 0x97db, 0x101, 0x97ff,
+ 0x101, 0x980b, 0x101, 0x983b, 0x101, 0x9b12, 0x101, 0x9f9c,
+ 0x201, 0xd84a, 0xdc4a, 0x201, 0xd84a, 0xdc44, 0x201, 0xd84c,
+ 0xdfd5, 0x101, 0x3b9d, 0x101, 0x4018, 0x101, 0x4039, 0x201,
+ 0xd854, 0xde49, 0x201, 0xd857, 0xdcd0, 0x201, 0xd85f, 0xded3,
+ 0x101, 0x9f43, 0x101, 0x9f8e, 0x210, 0x66, 0x66, 0x210,
+ 0x66, 0x69, 0x210, 0x66, 0x6c, 0x310, 0x66, 0x66,
+ 0x69, 0x310, 0x66, 0x66, 0x6c, 0x210, 0x17f, 0x74,
+ 0x210, 0x73, 0x74, 0x210, 0x574, 0x576, 0x210, 0x574,
+ 0x565, 0x210, 0x574, 0x56b, 0x210, 0x57e, 0x576, 0x210,
+ 0x574, 0x56d, 0x201, 0x5d9, 0x5b4, 0x201, 0x5f2, 0x5b7,
+ 0x102, 0x5e2, 0x102, 0x5d0, 0x102, 0x5d3, 0x102, 0x5d4,
+ 0x102, 0x5db, 0x102, 0x5dc, 0x102, 0x5dd, 0x102, 0x5e8,
+ 0x102, 0x5ea, 0x102, 0x2b, 0x201, 0x5e9, 0x5c1, 0x201,
+ 0x5e9, 0x5c2, 0x201, 0xfb49, 0x5c1, 0x201, 0xfb49, 0x5c2,
+ 0x201, 0x5d0, 0x5b7, 0x201, 0x5d0, 0x5b8, 0x201, 0x5d0,
+ 0x5bc, 0x201, 0x5d1, 0x5bc, 0x201, 0x5d2, 0x5bc, 0x201,
+ 0x5d3, 0x5bc, 0x201, 0x5d4, 0x5bc, 0x201, 0x5d5, 0x5bc,
+ 0x201, 0x5d6, 0x5bc, 0x201, 0x5d8, 0x5bc, 0x201, 0x5d9,
+ 0x5bc, 0x201, 0x5da, 0x5bc, 0x201, 0x5db, 0x5bc, 0x201,
+ 0x5dc, 0x5bc, 0x201, 0x5de, 0x5bc, 0x201, 0x5e0, 0x5bc,
+ 0x201, 0x5e1, 0x5bc, 0x201, 0x5e3, 0x5bc, 0x201, 0x5e4,
+ 0x5bc, 0x201, 0x5e6, 0x5bc, 0x201, 0x5e7, 0x5bc, 0x201,
+ 0x5e8, 0x5bc, 0x201, 0x5e9, 0x5bc, 0x201, 0x5ea, 0x5bc,
+ 0x201, 0x5d5, 0x5b9, 0x201, 0x5d1, 0x5bf, 0x201, 0x5db,
+ 0x5bf, 0x201, 0x5e4, 0x5bf, 0x210, 0x5d0, 0x5dc, 0x107,
+ 0x671, 0x106, 0x671, 0x107, 0x67b, 0x106, 0x67b, 0x104,
+ 0x67b, 0x105, 0x67b, 0x107, 0x67e, 0x106, 0x67e, 0x104,
+ 0x67e, 0x105, 0x67e, 0x107, 0x680, 0x106, 0x680, 0x104,
+ 0x680, 0x105, 0x680, 0x107, 0x67a, 0x106, 0x67a, 0x104,
+ 0x67a, 0x105, 0x67a, 0x107, 0x67f, 0x106, 0x67f, 0x104,
+ 0x67f, 0x105, 0x67f, 0x107, 0x679, 0x106, 0x679, 0x104,
+ 0x679, 0x105, 0x679, 0x107, 0x6a4, 0x106, 0x6a4, 0x104,
+ 0x6a4, 0x105, 0x6a4, 0x107, 0x6a6, 0x106, 0x6a6, 0x104,
+ 0x6a6, 0x105, 0x6a6, 0x107, 0x684, 0x106, 0x684, 0x104,
+ 0x684, 0x105, 0x684, 0x107, 0x683, 0x106, 0x683, 0x104,
+ 0x683, 0x105, 0x683, 0x107, 0x686, 0x106, 0x686, 0x104,
+ 0x686, 0x105, 0x686, 0x107, 0x687, 0x106, 0x687, 0x104,
+ 0x687, 0x105, 0x687, 0x107, 0x68d, 0x106, 0x68d, 0x107,
+ 0x68c, 0x106, 0x68c, 0x107, 0x68e, 0x106, 0x68e, 0x107,
+ 0x688, 0x106, 0x688, 0x107, 0x698, 0x106, 0x698, 0x107,
+ 0x691, 0x106, 0x691, 0x107, 0x6a9, 0x106, 0x6a9, 0x104,
+ 0x6a9, 0x105, 0x6a9, 0x107, 0x6af, 0x106, 0x6af, 0x104,
+ 0x6af, 0x105, 0x6af, 0x107, 0x6b3, 0x106, 0x6b3, 0x104,
+ 0x6b3, 0x105, 0x6b3, 0x107, 0x6b1, 0x106, 0x6b1, 0x104,
+ 0x6b1, 0x105, 0x6b1, 0x107, 0x6ba, 0x106, 0x6ba, 0x107,
+ 0x6bb, 0x106, 0x6bb, 0x104, 0x6bb, 0x105, 0x6bb, 0x107,
+ 0x6c0, 0x106, 0x6c0, 0x107, 0x6c1, 0x106, 0x6c1, 0x104,
+ 0x6c1, 0x105, 0x6c1, 0x107, 0x6be, 0x106, 0x6be, 0x104,
+ 0x6be, 0x105, 0x6be, 0x107, 0x6d2, 0x106, 0x6d2, 0x107,
+ 0x6d3, 0x106, 0x6d3, 0x107, 0x6ad, 0x106, 0x6ad, 0x104,
+ 0x6ad, 0x105, 0x6ad, 0x107, 0x6c7, 0x106, 0x6c7, 0x107,
+ 0x6c6, 0x106, 0x6c6, 0x107, 0x6c8, 0x106, 0x6c8, 0x107,
+ 0x677, 0x107, 0x6cb, 0x106, 0x6cb, 0x107, 0x6c5, 0x106,
+ 0x6c5, 0x107, 0x6c9, 0x106, 0x6c9, 0x107, 0x6d0, 0x106,
+ 0x6d0, 0x104, 0x6d0, 0x105, 0x6d0, 0x104, 0x649, 0x105,
+ 0x649, 0x207, 0x626, 0x627, 0x206, 0x626, 0x627, 0x207,
+ 0x626, 0x6d5, 0x206, 0x626, 0x6d5, 0x207, 0x626, 0x648,
+ 0x206, 0x626, 0x648, 0x207, 0x626, 0x6c7, 0x206, 0x626,
+ 0x6c7, 0x207, 0x626, 0x6c6, 0x206, 0x626, 0x6c6, 0x207,
+ 0x626, 0x6c8, 0x206, 0x626, 0x6c8, 0x207, 0x626, 0x6d0,
+ 0x206, 0x626, 0x6d0, 0x204, 0x626, 0x6d0, 0x207, 0x626,
+ 0x649, 0x206, 0x626, 0x649, 0x204, 0x626, 0x649, 0x107,
+ 0x6cc, 0x106, 0x6cc, 0x104, 0x6cc, 0x105, 0x6cc, 0x207,
+ 0x626, 0x62c, 0x207, 0x626, 0x62d, 0x207, 0x626, 0x645,
+ 0x207, 0x626, 0x649, 0x207, 0x626, 0x64a, 0x207, 0x628,
+ 0x62c, 0x207, 0x628, 0x62d, 0x207, 0x628, 0x62e, 0x207,
+ 0x628, 0x645, 0x207, 0x628, 0x649, 0x207, 0x628, 0x64a,
+ 0x207, 0x62a, 0x62c, 0x207, 0x62a, 0x62d, 0x207, 0x62a,
+ 0x62e, 0x207, 0x62a, 0x645, 0x207, 0x62a, 0x649, 0x207,
+ 0x62a, 0x64a, 0x207, 0x62b, 0x62c, 0x207, 0x62b, 0x645,
+ 0x207, 0x62b, 0x649, 0x207, 0x62b, 0x64a, 0x207, 0x62c,
+ 0x62d, 0x207, 0x62c, 0x645, 0x207, 0x62d, 0x62c, 0x207,
+ 0x62d, 0x645, 0x207, 0x62e, 0x62c, 0x207, 0x62e, 0x62d,
+ 0x207, 0x62e, 0x645, 0x207, 0x633, 0x62c, 0x207, 0x633,
+ 0x62d, 0x207, 0x633, 0x62e, 0x207, 0x633, 0x645, 0x207,
+ 0x635, 0x62d, 0x207, 0x635, 0x645, 0x207, 0x636, 0x62c,
+ 0x207, 0x636, 0x62d, 0x207, 0x636, 0x62e, 0x207, 0x636,
+ 0x645, 0x207, 0x637, 0x62d, 0x207, 0x637, 0x645, 0x207,
+ 0x638, 0x645, 0x207, 0x639, 0x62c, 0x207, 0x639, 0x645,
+ 0x207, 0x63a, 0x62c, 0x207, 0x63a, 0x645, 0x207, 0x641,
+ 0x62c, 0x207, 0x641, 0x62d, 0x207, 0x641, 0x62e, 0x207,
+ 0x641, 0x645, 0x207, 0x641, 0x649, 0x207, 0x641, 0x64a,
+ 0x207, 0x642, 0x62d, 0x207, 0x642, 0x645, 0x207, 0x642,
+ 0x649, 0x207, 0x642, 0x64a, 0x207, 0x643, 0x627, 0x207,
+ 0x643, 0x62c, 0x207, 0x643, 0x62d, 0x207, 0x643, 0x62e,
+ 0x207, 0x643, 0x644, 0x207, 0x643, 0x645, 0x207, 0x643,
+ 0x649, 0x207, 0x643, 0x64a, 0x207, 0x644, 0x62c, 0x207,
+ 0x644, 0x62d, 0x207, 0x644, 0x62e, 0x207, 0x644, 0x645,
+ 0x207, 0x644, 0x649, 0x207, 0x644, 0x64a, 0x207, 0x645,
+ 0x62c, 0x207, 0x645, 0x62d, 0x207, 0x645, 0x62e, 0x207,
+ 0x645, 0x645, 0x207, 0x645, 0x649, 0x207, 0x645, 0x64a,
+ 0x207, 0x646, 0x62c, 0x207, 0x646, 0x62d, 0x207, 0x646,
+ 0x62e, 0x207, 0x646, 0x645, 0x207, 0x646, 0x649, 0x207,
+ 0x646, 0x64a, 0x207, 0x647, 0x62c, 0x207, 0x647, 0x645,
+ 0x207, 0x647, 0x649, 0x207, 0x647, 0x64a, 0x207, 0x64a,
+ 0x62c, 0x207, 0x64a, 0x62d, 0x207, 0x64a, 0x62e, 0x207,
+ 0x64a, 0x645, 0x207, 0x64a, 0x649, 0x207, 0x64a, 0x64a,
+ 0x207, 0x630, 0x670, 0x207, 0x631, 0x670, 0x207, 0x649,
+ 0x670, 0x307, 0x20, 0x64c, 0x651, 0x307, 0x20, 0x64d,
+ 0x651, 0x307, 0x20, 0x64e, 0x651, 0x307, 0x20, 0x64f,
+ 0x651, 0x307, 0x20, 0x650, 0x651, 0x307, 0x20, 0x651,
+ 0x670, 0x206, 0x626, 0x631, 0x206, 0x626, 0x632, 0x206,
+ 0x626, 0x645, 0x206, 0x626, 0x646, 0x206, 0x626, 0x649,
+ 0x206, 0x626, 0x64a, 0x206, 0x628, 0x631, 0x206, 0x628,
+ 0x632, 0x206, 0x628, 0x645, 0x206, 0x628, 0x646, 0x206,
+ 0x628, 0x649, 0x206, 0x628, 0x64a, 0x206, 0x62a, 0x631,
+ 0x206, 0x62a, 0x632, 0x206, 0x62a, 0x645, 0x206, 0x62a,
+ 0x646, 0x206, 0x62a, 0x649, 0x206, 0x62a, 0x64a, 0x206,
+ 0x62b, 0x631, 0x206, 0x62b, 0x632, 0x206, 0x62b, 0x645,
+ 0x206, 0x62b, 0x646, 0x206, 0x62b, 0x649, 0x206, 0x62b,
+ 0x64a, 0x206, 0x641, 0x649, 0x206, 0x641, 0x64a, 0x206,
+ 0x642, 0x649, 0x206, 0x642, 0x64a, 0x206, 0x643, 0x627,
+ 0x206, 0x643, 0x644, 0x206, 0x643, 0x645, 0x206, 0x643,
+ 0x649, 0x206, 0x643, 0x64a, 0x206, 0x644, 0x645, 0x206,
+ 0x644, 0x649, 0x206, 0x644, 0x64a, 0x206, 0x645, 0x627,
+ 0x206, 0x645, 0x645, 0x206, 0x646, 0x631, 0x206, 0x646,
+ 0x632, 0x206, 0x646, 0x645, 0x206, 0x646, 0x646, 0x206,
+ 0x646, 0x649, 0x206, 0x646, 0x64a, 0x206, 0x649, 0x670,
+ 0x206, 0x64a, 0x631, 0x206, 0x64a, 0x632, 0x206, 0x64a,
+ 0x645, 0x206, 0x64a, 0x646, 0x206, 0x64a, 0x649, 0x206,
+ 0x64a, 0x64a, 0x204, 0x626, 0x62c, 0x204, 0x626, 0x62d,
+ 0x204, 0x626, 0x62e, 0x204, 0x626, 0x645, 0x204, 0x626,
+ 0x647, 0x204, 0x628, 0x62c, 0x204, 0x628, 0x62d, 0x204,
+ 0x628, 0x62e, 0x204, 0x628, 0x645, 0x204, 0x628, 0x647,
+ 0x204, 0x62a, 0x62c, 0x204, 0x62a, 0x62d, 0x204, 0x62a,
+ 0x62e, 0x204, 0x62a, 0x645, 0x204, 0x62a, 0x647, 0x204,
+ 0x62b, 0x645, 0x204, 0x62c, 0x62d, 0x204, 0x62c, 0x645,
+ 0x204, 0x62d, 0x62c, 0x204, 0x62d, 0x645, 0x204, 0x62e,
+ 0x62c, 0x204, 0x62e, 0x645, 0x204, 0x633, 0x62c, 0x204,
+ 0x633, 0x62d, 0x204, 0x633, 0x62e, 0x204, 0x633, 0x645,
+ 0x204, 0x635, 0x62d, 0x204, 0x635, 0x62e, 0x204, 0x635,
+ 0x645, 0x204, 0x636, 0x62c, 0x204, 0x636, 0x62d, 0x204,
+ 0x636, 0x62e, 0x204, 0x636, 0x645, 0x204, 0x637, 0x62d,
+ 0x204, 0x638, 0x645, 0x204, 0x639, 0x62c, 0x204, 0x639,
+ 0x645, 0x204, 0x63a, 0x62c, 0x204, 0x63a, 0x645, 0x204,
+ 0x641, 0x62c, 0x204, 0x641, 0x62d, 0x204, 0x641, 0x62e,
+ 0x204, 0x641, 0x645, 0x204, 0x642, 0x62d, 0x204, 0x642,
+ 0x645, 0x204, 0x643, 0x62c, 0x204, 0x643, 0x62d, 0x204,
+ 0x643, 0x62e, 0x204, 0x643, 0x644, 0x204, 0x643, 0x645,
+ 0x204, 0x644, 0x62c, 0x204, 0x644, 0x62d, 0x204, 0x644,
+ 0x62e, 0x204, 0x644, 0x645, 0x204, 0x644, 0x647, 0x204,
+ 0x645, 0x62c, 0x204, 0x645, 0x62d, 0x204, 0x645, 0x62e,
+ 0x204, 0x645, 0x645, 0x204, 0x646, 0x62c, 0x204, 0x646,
+ 0x62d, 0x204, 0x646, 0x62e, 0x204, 0x646, 0x645, 0x204,
+ 0x646, 0x647, 0x204, 0x647, 0x62c, 0x204, 0x647, 0x645,
+ 0x204, 0x647, 0x670, 0x204, 0x64a, 0x62c, 0x204, 0x64a,
+ 0x62d, 0x204, 0x64a, 0x62e, 0x204, 0x64a, 0x645, 0x204,
+ 0x64a, 0x647, 0x205, 0x626, 0x645, 0x205, 0x626, 0x647,
+ 0x205, 0x628, 0x645, 0x205, 0x628, 0x647, 0x205, 0x62a,
+ 0x645, 0x205, 0x62a, 0x647, 0x205, 0x62b, 0x645, 0x205,
+ 0x62b, 0x647, 0x205, 0x633, 0x645, 0x205, 0x633, 0x647,
+ 0x205, 0x634, 0x645, 0x205, 0x634, 0x647, 0x205, 0x643,
+ 0x644, 0x205, 0x643, 0x645, 0x205, 0x644, 0x645, 0x205,
+ 0x646, 0x645, 0x205, 0x646, 0x647, 0x205, 0x64a, 0x645,
+ 0x205, 0x64a, 0x647, 0x305, 0x640, 0x64e, 0x651, 0x305,
+ 0x640, 0x64f, 0x651, 0x305, 0x640, 0x650, 0x651, 0x207,
+ 0x637, 0x649, 0x207, 0x637, 0x64a, 0x207, 0x639, 0x649,
+ 0x207, 0x639, 0x64a, 0x207, 0x63a, 0x649, 0x207, 0x63a,
+ 0x64a, 0x207, 0x633, 0x649, 0x207, 0x633, 0x64a, 0x207,
+ 0x634, 0x649, 0x207, 0x634, 0x64a, 0x207, 0x62d, 0x649,
+ 0x207, 0x62d, 0x64a, 0x207, 0x62c, 0x649, 0x207, 0x62c,
+ 0x64a, 0x207, 0x62e, 0x649, 0x207, 0x62e, 0x64a, 0x207,
+ 0x635, 0x649, 0x207, 0x635, 0x64a, 0x207, 0x636, 0x649,
+ 0x207, 0x636, 0x64a, 0x207, 0x634, 0x62c, 0x207, 0x634,
+ 0x62d, 0x207, 0x634, 0x62e, 0x207, 0x634, 0x645, 0x207,
+ 0x634, 0x631, 0x207, 0x633, 0x631, 0x207, 0x635, 0x631,
+ 0x207, 0x636, 0x631, 0x206, 0x637, 0x649, 0x206, 0x637,
+ 0x64a, 0x206, 0x639, 0x649, 0x206, 0x639, 0x64a, 0x206,
+ 0x63a, 0x649, 0x206, 0x63a, 0x64a, 0x206, 0x633, 0x649,
+ 0x206, 0x633, 0x64a, 0x206, 0x634, 0x649, 0x206, 0x634,
+ 0x64a, 0x206, 0x62d, 0x649, 0x206, 0x62d, 0x64a, 0x206,
+ 0x62c, 0x649, 0x206, 0x62c, 0x64a, 0x206, 0x62e, 0x649,
+ 0x206, 0x62e, 0x64a, 0x206, 0x635, 0x649, 0x206, 0x635,
+ 0x64a, 0x206, 0x636, 0x649, 0x206, 0x636, 0x64a, 0x206,
+ 0x634, 0x62c, 0x206, 0x634, 0x62d, 0x206, 0x634, 0x62e,
+ 0x206, 0x634, 0x645, 0x206, 0x634, 0x631, 0x206, 0x633,
+ 0x631, 0x206, 0x635, 0x631, 0x206, 0x636, 0x631, 0x204,
+ 0x634, 0x62c, 0x204, 0x634, 0x62d, 0x204, 0x634, 0x62e,
+ 0x204, 0x634, 0x645, 0x204, 0x633, 0x647, 0x204, 0x634,
+ 0x647, 0x204, 0x637, 0x645, 0x205, 0x633, 0x62c, 0x205,
+ 0x633, 0x62d, 0x205, 0x633, 0x62e, 0x205, 0x634, 0x62c,
+ 0x205, 0x634, 0x62d, 0x205, 0x634, 0x62e, 0x205, 0x637,
+ 0x645, 0x205, 0x638, 0x645, 0x206, 0x627, 0x64b, 0x207,
+ 0x627, 0x64b, 0x304, 0x62a, 0x62c, 0x645, 0x306, 0x62a,
+ 0x62d, 0x62c, 0x304, 0x62a, 0x62d, 0x62c, 0x304, 0x62a,
+ 0x62d, 0x645, 0x304, 0x62a, 0x62e, 0x645, 0x304, 0x62a,
+ 0x645, 0x62c, 0x304, 0x62a, 0x645, 0x62d, 0x304, 0x62a,
+ 0x645, 0x62e, 0x306, 0x62c, 0x645, 0x62d, 0x304, 0x62c,
+ 0x645, 0x62d, 0x306, 0x62d, 0x645, 0x64a, 0x306, 0x62d,
+ 0x645, 0x649, 0x304, 0x633, 0x62d, 0x62c, 0x304, 0x633,
+ 0x62c, 0x62d, 0x306, 0x633, 0x62c, 0x649, 0x306, 0x633,
+ 0x645, 0x62d, 0x304, 0x633, 0x645, 0x62d, 0x304, 0x633,
+ 0x645, 0x62c, 0x306, 0x633, 0x645, 0x645, 0x304, 0x633,
+ 0x645, 0x645, 0x306, 0x635, 0x62d, 0x62d, 0x304, 0x635,
+ 0x62d, 0x62d, 0x306, 0x635, 0x645, 0x645, 0x306, 0x634,
+ 0x62d, 0x645, 0x304, 0x634, 0x62d, 0x645, 0x306, 0x634,
+ 0x62c, 0x64a, 0x306, 0x634, 0x645, 0x62e, 0x304, 0x634,
+ 0x645, 0x62e, 0x306, 0x634, 0x645, 0x645, 0x304, 0x634,
+ 0x645, 0x645, 0x306, 0x636, 0x62d, 0x649, 0x306, 0x636,
+ 0x62e, 0x645, 0x304, 0x636, 0x62e, 0x645, 0x306, 0x637,
+ 0x645, 0x62d, 0x304, 0x637, 0x645, 0x62d, 0x304, 0x637,
+ 0x645, 0x645, 0x306, 0x637, 0x645, 0x64a, 0x306, 0x639,
+ 0x62c, 0x645, 0x306, 0x639, 0x645, 0x645, 0x304, 0x639,
+ 0x645, 0x645, 0x306, 0x639, 0x645, 0x649, 0x306, 0x63a,
+ 0x645, 0x645, 0x306, 0x63a, 0x645, 0x64a, 0x306, 0x63a,
+ 0x645, 0x649, 0x306, 0x641, 0x62e, 0x645, 0x304, 0x641,
+ 0x62e, 0x645, 0x306, 0x642, 0x645, 0x62d, 0x306, 0x642,
+ 0x645, 0x645, 0x306, 0x644, 0x62d, 0x645, 0x306, 0x644,
+ 0x62d, 0x64a, 0x306, 0x644, 0x62d, 0x649, 0x304, 0x644,
+ 0x62c, 0x62c, 0x306, 0x644, 0x62c, 0x62c, 0x306, 0x644,
+ 0x62e, 0x645, 0x304, 0x644, 0x62e, 0x645, 0x306, 0x644,
+ 0x645, 0x62d, 0x304, 0x644, 0x645, 0x62d, 0x304, 0x645,
+ 0x62d, 0x62c, 0x304, 0x645, 0x62d, 0x645, 0x306, 0x645,
+ 0x62d, 0x64a, 0x304, 0x645, 0x62c, 0x62d, 0x304, 0x645,
+ 0x62c, 0x645, 0x304, 0x645, 0x62e, 0x62c, 0x304, 0x645,
+ 0x62e, 0x645, 0x304, 0x645, 0x62c, 0x62e, 0x304, 0x647,
+ 0x645, 0x62c, 0x304, 0x647, 0x645, 0x645, 0x304, 0x646,
+ 0x62d, 0x645, 0x306, 0x646, 0x62d, 0x649, 0x306, 0x646,
+ 0x62c, 0x645, 0x304, 0x646, 0x62c, 0x645, 0x306, 0x646,
+ 0x62c, 0x649, 0x306, 0x646, 0x645, 0x64a, 0x306, 0x646,
+ 0x645, 0x649, 0x306, 0x64a, 0x645, 0x645, 0x304, 0x64a,
+ 0x645, 0x645, 0x306, 0x628, 0x62e, 0x64a, 0x306, 0x62a,
+ 0x62c, 0x64a, 0x306, 0x62a, 0x62c, 0x649, 0x306, 0x62a,
+ 0x62e, 0x64a, 0x306, 0x62a, 0x62e, 0x649, 0x306, 0x62a,
+ 0x645, 0x64a, 0x306, 0x62a, 0x645, 0x649, 0x306, 0x62c,
+ 0x645, 0x64a, 0x306, 0x62c, 0x62d, 0x649, 0x306, 0x62c,
+ 0x645, 0x649, 0x306, 0x633, 0x62e, 0x649, 0x306, 0x635,
+ 0x62d, 0x64a, 0x306, 0x634, 0x62d, 0x64a, 0x306, 0x636,
+ 0x62d, 0x64a, 0x306, 0x644, 0x62c, 0x64a, 0x306, 0x644,
+ 0x645, 0x64a, 0x306, 0x64a, 0x62d, 0x64a, 0x306, 0x64a,
+ 0x62c, 0x64a, 0x306, 0x64a, 0x645, 0x64a, 0x306, 0x645,
+ 0x645, 0x64a, 0x306, 0x642, 0x645, 0x64a, 0x306, 0x646,
+ 0x62d, 0x64a, 0x304, 0x642, 0x645, 0x62d, 0x304, 0x644,
+ 0x62d, 0x645, 0x306, 0x639, 0x645, 0x64a, 0x306, 0x643,
+ 0x645, 0x64a, 0x304, 0x646, 0x62c, 0x62d, 0x306, 0x645,
+ 0x62e, 0x64a, 0x304, 0x644, 0x62c, 0x645, 0x306, 0x643,
+ 0x645, 0x645, 0x306, 0x644, 0x62c, 0x645, 0x306, 0x646,
+ 0x62c, 0x62d, 0x306, 0x62c, 0x62d, 0x64a, 0x306, 0x62d,
+ 0x62c, 0x64a, 0x306, 0x645, 0x62c, 0x64a, 0x306, 0x641,
+ 0x645, 0x64a, 0x306, 0x628, 0x62d, 0x64a, 0x304, 0x643,
+ 0x645, 0x645, 0x304, 0x639, 0x62c, 0x645, 0x304, 0x635,
+ 0x645, 0x645, 0x306, 0x633, 0x62e, 0x64a, 0x306, 0x646,
+ 0x62c, 0x64a, 0x307, 0x635, 0x644, 0x6d2, 0x307, 0x642,
+ 0x644, 0x6d2, 0x407, 0x627, 0x644, 0x644, 0x647, 0x407,
+ 0x627, 0x643, 0x628, 0x631, 0x407, 0x645, 0x62d, 0x645,
+ 0x62f, 0x407, 0x635, 0x644, 0x639, 0x645, 0x407, 0x631,
+ 0x633, 0x648, 0x644, 0x407, 0x639, 0x644, 0x64a, 0x647,
+ 0x407, 0x648, 0x633, 0x644, 0x645, 0x307, 0x635, 0x644,
+ 0x649, 0x1207, 0x635, 0x644, 0x649, 0x20, 0x627, 0x644,
+ 0x644, 0x647, 0x20, 0x639, 0x644, 0x64a, 0x647, 0x20,
+ 0x648, 0x633, 0x644, 0x645, 0x807, 0x62c, 0x644, 0x20,
+ 0x62c, 0x644, 0x627, 0x644, 0x647, 0x407, 0x631, 0x6cc,
+ 0x627, 0x644, 0x10b, 0x2c, 0x10b, 0x3001, 0x10b, 0x3002,
+ 0x10b, 0x3a, 0x10b, 0x3b, 0x10b, 0x21, 0x10b, 0x3f,
+ 0x10b, 0x3016, 0x10b, 0x3017, 0x10b, 0x2026, 0x10b, 0x2025,
+ 0x10b, 0x2014, 0x10b, 0x2013, 0x10b, 0x5f, 0x10b, 0x5f,
+ 0x10b, 0x28, 0x10b, 0x29, 0x10b, 0x7b, 0x10b, 0x7d,
+ 0x10b, 0x3014, 0x10b, 0x3015, 0x10b, 0x3010, 0x10b, 0x3011,
+ 0x10b, 0x300a, 0x10b, 0x300b, 0x10b, 0x3008, 0x10b, 0x3009,
+ 0x10b, 0x300c, 0x10b, 0x300d, 0x10b, 0x300e, 0x10b, 0x300f,
+ 0x10b, 0x5b, 0x10b, 0x5d, 0x110, 0x203e, 0x110, 0x203e,
+ 0x110, 0x203e, 0x110, 0x203e, 0x110, 0x5f, 0x110, 0x5f,
+ 0x110, 0x5f, 0x10e, 0x2c, 0x10e, 0x3001, 0x10e, 0x2e,
+ 0x10e, 0x3b, 0x10e, 0x3a, 0x10e, 0x3f, 0x10e, 0x21,
+ 0x10e, 0x2014, 0x10e, 0x28, 0x10e, 0x29, 0x10e, 0x7b,
+ 0x10e, 0x7d, 0x10e, 0x3014, 0x10e, 0x3015, 0x10e, 0x23,
+ 0x10e, 0x26, 0x10e, 0x2a, 0x10e, 0x2b, 0x10e, 0x2d,
+ 0x10e, 0x3c, 0x10e, 0x3e, 0x10e, 0x3d, 0x10e, 0x5c,
+ 0x10e, 0x24, 0x10e, 0x25, 0x10e, 0x40, 0x207, 0x20,
+ 0x64b, 0x205, 0x640, 0x64b, 0x207, 0x20, 0x64c, 0x207,
+ 0x20, 0x64d, 0x207, 0x20, 0x64e, 0x205, 0x640, 0x64e,
+ 0x207, 0x20, 0x64f, 0x205, 0x640, 0x64f, 0x207, 0x20,
+ 0x650, 0x205, 0x640, 0x650, 0x207, 0x20, 0x651, 0x205,
+ 0x640, 0x651, 0x207, 0x20, 0x652, 0x205, 0x640, 0x652,
+ 0x107, 0x621, 0x107, 0x622, 0x106, 0x622, 0x107, 0x623,
+ 0x106, 0x623, 0x107, 0x624, 0x106, 0x624, 0x107, 0x625,
+ 0x106, 0x625, 0x107, 0x626, 0x106, 0x626, 0x104, 0x626,
+ 0x105, 0x626, 0x107, 0x627, 0x106, 0x627, 0x107, 0x628,
+ 0x106, 0x628, 0x104, 0x628, 0x105, 0x628, 0x107, 0x629,
+ 0x106, 0x629, 0x107, 0x62a, 0x106, 0x62a, 0x104, 0x62a,
+ 0x105, 0x62a, 0x107, 0x62b, 0x106, 0x62b, 0x104, 0x62b,
+ 0x105, 0x62b, 0x107, 0x62c, 0x106, 0x62c, 0x104, 0x62c,
+ 0x105, 0x62c, 0x107, 0x62d, 0x106, 0x62d, 0x104, 0x62d,
+ 0x105, 0x62d, 0x107, 0x62e, 0x106, 0x62e, 0x104, 0x62e,
+ 0x105, 0x62e, 0x107, 0x62f, 0x106, 0x62f, 0x107, 0x630,
+ 0x106, 0x630, 0x107, 0x631, 0x106, 0x631, 0x107, 0x632,
+ 0x106, 0x632, 0x107, 0x633, 0x106, 0x633, 0x104, 0x633,
+ 0x105, 0x633, 0x107, 0x634, 0x106, 0x634, 0x104, 0x634,
+ 0x105, 0x634, 0x107, 0x635, 0x106, 0x635, 0x104, 0x635,
+ 0x105, 0x635, 0x107, 0x636, 0x106, 0x636, 0x104, 0x636,
+ 0x105, 0x636, 0x107, 0x637, 0x106, 0x637, 0x104, 0x637,
+ 0x105, 0x637, 0x107, 0x638, 0x106, 0x638, 0x104, 0x638,
+ 0x105, 0x638, 0x107, 0x639, 0x106, 0x639, 0x104, 0x639,
+ 0x105, 0x639, 0x107, 0x63a, 0x106, 0x63a, 0x104, 0x63a,
+ 0x105, 0x63a, 0x107, 0x641, 0x106, 0x641, 0x104, 0x641,
+ 0x105, 0x641, 0x107, 0x642, 0x106, 0x642, 0x104, 0x642,
+ 0x105, 0x642, 0x107, 0x643, 0x106, 0x643, 0x104, 0x643,
+ 0x105, 0x643, 0x107, 0x644, 0x106, 0x644, 0x104, 0x644,
+ 0x105, 0x644, 0x107, 0x645, 0x106, 0x645, 0x104, 0x645,
+ 0x105, 0x645, 0x107, 0x646, 0x106, 0x646, 0x104, 0x646,
+ 0x105, 0x646, 0x107, 0x647, 0x106, 0x647, 0x104, 0x647,
+ 0x105, 0x647, 0x107, 0x648, 0x106, 0x648, 0x107, 0x649,
+ 0x106, 0x649, 0x107, 0x64a, 0x106, 0x64a, 0x104, 0x64a,
+ 0x105, 0x64a, 0x207, 0x644, 0x622, 0x206, 0x644, 0x622,
+ 0x207, 0x644, 0x623, 0x206, 0x644, 0x623, 0x207, 0x644,
+ 0x625, 0x206, 0x644, 0x625, 0x207, 0x644, 0x627, 0x206,
+ 0x644, 0x627, 0x10c, 0x21, 0x10c, 0x22, 0x10c, 0x23,
+ 0x10c, 0x24, 0x10c, 0x25, 0x10c, 0x26, 0x10c, 0x27,
+ 0x10c, 0x28, 0x10c, 0x29, 0x10c, 0x2a, 0x10c, 0x2b,
+ 0x10c, 0x2c, 0x10c, 0x2d, 0x10c, 0x2e, 0x10c, 0x2f,
+ 0x10c, 0x30, 0x10c, 0x31, 0x10c, 0x32, 0x10c, 0x33,
+ 0x10c, 0x34, 0x10c, 0x35, 0x10c, 0x36, 0x10c, 0x37,
+ 0x10c, 0x38, 0x10c, 0x39, 0x10c, 0x3a, 0x10c, 0x3b,
+ 0x10c, 0x3c, 0x10c, 0x3d, 0x10c, 0x3e, 0x10c, 0x3f,
+ 0x10c, 0x40, 0x10c, 0x41, 0x10c, 0x42, 0x10c, 0x43,
+ 0x10c, 0x44, 0x10c, 0x45, 0x10c, 0x46, 0x10c, 0x47,
+ 0x10c, 0x48, 0x10c, 0x49, 0x10c, 0x4a, 0x10c, 0x4b,
+ 0x10c, 0x4c, 0x10c, 0x4d, 0x10c, 0x4e, 0x10c, 0x4f,
+ 0x10c, 0x50, 0x10c, 0x51, 0x10c, 0x52, 0x10c, 0x53,
+ 0x10c, 0x54, 0x10c, 0x55, 0x10c, 0x56, 0x10c, 0x57,
+ 0x10c, 0x58, 0x10c, 0x59, 0x10c, 0x5a, 0x10c, 0x5b,
+ 0x10c, 0x5c, 0x10c, 0x5d, 0x10c, 0x5e, 0x10c, 0x5f,
+ 0x10c, 0x60, 0x10c, 0x61, 0x10c, 0x62, 0x10c, 0x63,
+ 0x10c, 0x64, 0x10c, 0x65, 0x10c, 0x66, 0x10c, 0x67,
+ 0x10c, 0x68, 0x10c, 0x69, 0x10c, 0x6a, 0x10c, 0x6b,
+ 0x10c, 0x6c, 0x10c, 0x6d, 0x10c, 0x6e, 0x10c, 0x6f,
+ 0x10c, 0x70, 0x10c, 0x71, 0x10c, 0x72, 0x10c, 0x73,
+ 0x10c, 0x74, 0x10c, 0x75, 0x10c, 0x76, 0x10c, 0x77,
+ 0x10c, 0x78, 0x10c, 0x79, 0x10c, 0x7a, 0x10c, 0x7b,
+ 0x10c, 0x7c, 0x10c, 0x7d, 0x10c, 0x7e, 0x10c, 0x2985,
+ 0x10c, 0x2986, 0x10d, 0x3002, 0x10d, 0x300c, 0x10d, 0x300d,
+ 0x10d, 0x3001, 0x10d, 0x30fb, 0x10d, 0x30f2, 0x10d, 0x30a1,
+ 0x10d, 0x30a3, 0x10d, 0x30a5, 0x10d, 0x30a7, 0x10d, 0x30a9,
+ 0x10d, 0x30e3, 0x10d, 0x30e5, 0x10d, 0x30e7, 0x10d, 0x30c3,
+ 0x10d, 0x30fc, 0x10d, 0x30a2, 0x10d, 0x30a4, 0x10d, 0x30a6,
+ 0x10d, 0x30a8, 0x10d, 0x30aa, 0x10d, 0x30ab, 0x10d, 0x30ad,
+ 0x10d, 0x30af, 0x10d, 0x30b1, 0x10d, 0x30b3, 0x10d, 0x30b5,
+ 0x10d, 0x30b7, 0x10d, 0x30b9, 0x10d, 0x30bb, 0x10d, 0x30bd,
+ 0x10d, 0x30bf, 0x10d, 0x30c1, 0x10d, 0x30c4, 0x10d, 0x30c6,
+ 0x10d, 0x30c8, 0x10d, 0x30ca, 0x10d, 0x30cb, 0x10d, 0x30cc,
+ 0x10d, 0x30cd, 0x10d, 0x30ce, 0x10d, 0x30cf, 0x10d, 0x30d2,
+ 0x10d, 0x30d5, 0x10d, 0x30d8, 0x10d, 0x30db, 0x10d, 0x30de,
+ 0x10d, 0x30df, 0x10d, 0x30e0, 0x10d, 0x30e1, 0x10d, 0x30e2,
+ 0x10d, 0x30e4, 0x10d, 0x30e6, 0x10d, 0x30e8, 0x10d, 0x30e9,
+ 0x10d, 0x30ea, 0x10d, 0x30eb, 0x10d, 0x30ec, 0x10d, 0x30ed,
+ 0x10d, 0x30ef, 0x10d, 0x30f3, 0x10d, 0x3099, 0x10d, 0x309a,
+ 0x10d, 0x3164, 0x10d, 0x3131, 0x10d, 0x3132, 0x10d, 0x3133,
+ 0x10d, 0x3134, 0x10d, 0x3135, 0x10d, 0x3136, 0x10d, 0x3137,
+ 0x10d, 0x3138, 0x10d, 0x3139, 0x10d, 0x313a, 0x10d, 0x313b,
+ 0x10d, 0x313c, 0x10d, 0x313d, 0x10d, 0x313e, 0x10d, 0x313f,
+ 0x10d, 0x3140, 0x10d, 0x3141, 0x10d, 0x3142, 0x10d, 0x3143,
+ 0x10d, 0x3144, 0x10d, 0x3145, 0x10d, 0x3146, 0x10d, 0x3147,
+ 0x10d, 0x3148, 0x10d, 0x3149, 0x10d, 0x314a, 0x10d, 0x314b,
+ 0x10d, 0x314c, 0x10d, 0x314d, 0x10d, 0x314e, 0x10d, 0x314f,
+ 0x10d, 0x3150, 0x10d, 0x3151, 0x10d, 0x3152, 0x10d, 0x3153,
+ 0x10d, 0x3154, 0x10d, 0x3155, 0x10d, 0x3156, 0x10d, 0x3157,
+ 0x10d, 0x3158, 0x10d, 0x3159, 0x10d, 0x315a, 0x10d, 0x315b,
+ 0x10d, 0x315c, 0x10d, 0x315d, 0x10d, 0x315e, 0x10d, 0x315f,
+ 0x10d, 0x3160, 0x10d, 0x3161, 0x10d, 0x3162, 0x10d, 0x3163,
+ 0x10c, 0xa2, 0x10c, 0xa3, 0x10c, 0xac, 0x10c, 0xaf,
+ 0x10c, 0xa6, 0x10c, 0xa5, 0x10c, 0x20a9, 0x10d, 0x2502,
+ 0x10d, 0x2190, 0x10d, 0x2191, 0x10d, 0x2192, 0x10d, 0x2193,
+ 0x10d, 0x25a0, 0x10d, 0x25cb, 0x401, 0xd834, 0xdd57, 0xd834,
+ 0xdd65, 0x401, 0xd834, 0xdd58, 0xd834, 0xdd65, 0x401, 0xd834,
+ 0xdd5f, 0xd834, 0xdd6e, 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd6f,
+ 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd70, 0x401, 0xd834, 0xdd5f,
+ 0xd834, 0xdd71, 0x401, 0xd834, 0xdd5f, 0xd834, 0xdd72, 0x401,
+ 0xd834, 0xddb9, 0xd834, 0xdd65, 0x401, 0xd834, 0xddba, 0xd834,
+ 0xdd65, 0x401, 0xd834, 0xddbb, 0xd834, 0xdd6e, 0x401, 0xd834,
+ 0xddbc, 0xd834, 0xdd6e, 0x401, 0xd834, 0xddbb, 0xd834, 0xdd6f,
+ 0x401, 0xd834, 0xddbc, 0xd834, 0xdd6f, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
+ 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
+ 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
+ 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
+ 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x42, 0x102,
+ 0x43, 0x102, 0x44, 0x102, 0x45, 0x102, 0x46, 0x102,
+ 0x47, 0x102, 0x48, 0x102, 0x49, 0x102, 0x4a, 0x102,
+ 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102, 0x4e, 0x102,
+ 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102, 0x52, 0x102,
+ 0x53, 0x102, 0x54, 0x102, 0x55, 0x102, 0x56, 0x102,
+ 0x57, 0x102, 0x58, 0x102, 0x59, 0x102, 0x5a, 0x102,
+ 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
+ 0x65, 0x102, 0x66, 0x102, 0x67, 0x102, 0x68, 0x102,
+ 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
+ 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
+ 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
+ 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
+ 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x43, 0x102,
+ 0x44, 0x102, 0x47, 0x102, 0x4a, 0x102, 0x4b, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x53, 0x102, 0x54, 0x102, 0x55, 0x102, 0x56, 0x102,
+ 0x57, 0x102, 0x58, 0x102, 0x59, 0x102, 0x5a, 0x102,
+ 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
+ 0x66, 0x102, 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102,
+ 0x6b, 0x102, 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x44, 0x102, 0x45, 0x102, 0x46, 0x102,
+ 0x47, 0x102, 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102,
+ 0x4d, 0x102, 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102,
+ 0x51, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x61, 0x102, 0x62, 0x102, 0x63, 0x102, 0x64, 0x102,
+ 0x65, 0x102, 0x66, 0x102, 0x67, 0x102, 0x68, 0x102,
+ 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102, 0x6c, 0x102,
+ 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102, 0x70, 0x102,
+ 0x71, 0x102, 0x72, 0x102, 0x73, 0x102, 0x74, 0x102,
+ 0x75, 0x102, 0x76, 0x102, 0x77, 0x102, 0x78, 0x102,
+ 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102, 0x42, 0x102,
+ 0x44, 0x102, 0x45, 0x102, 0x46, 0x102, 0x47, 0x102,
+ 0x49, 0x102, 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102,
+ 0x4d, 0x102, 0x4f, 0x102, 0x53, 0x102, 0x54, 0x102,
+ 0x55, 0x102, 0x56, 0x102, 0x57, 0x102, 0x58, 0x102,
+ 0x59, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x41, 0x102,
+ 0x42, 0x102, 0x43, 0x102, 0x44, 0x102, 0x45, 0x102,
+ 0x46, 0x102, 0x47, 0x102, 0x48, 0x102, 0x49, 0x102,
+ 0x4a, 0x102, 0x4b, 0x102, 0x4c, 0x102, 0x4d, 0x102,
+ 0x4e, 0x102, 0x4f, 0x102, 0x50, 0x102, 0x51, 0x102,
+ 0x52, 0x102, 0x53, 0x102, 0x54, 0x102, 0x55, 0x102,
+ 0x56, 0x102, 0x57, 0x102, 0x58, 0x102, 0x59, 0x102,
+ 0x5a, 0x102, 0x61, 0x102, 0x62, 0x102, 0x63, 0x102,
+ 0x64, 0x102, 0x65, 0x102, 0x66, 0x102, 0x67, 0x102,
+ 0x68, 0x102, 0x69, 0x102, 0x6a, 0x102, 0x6b, 0x102,
+ 0x6c, 0x102, 0x6d, 0x102, 0x6e, 0x102, 0x6f, 0x102,
+ 0x70, 0x102, 0x71, 0x102, 0x72, 0x102, 0x73, 0x102,
+ 0x74, 0x102, 0x75, 0x102, 0x76, 0x102, 0x77, 0x102,
+ 0x78, 0x102, 0x79, 0x102, 0x7a, 0x102, 0x131, 0x102,
+ 0x237, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
+ 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
+ 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
+ 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
+ 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
+ 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
+ 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
+ 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
+ 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
+ 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
+ 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
+ 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
+ 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
+ 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
+ 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x391, 0x102,
+ 0x392, 0x102, 0x393, 0x102, 0x394, 0x102, 0x395, 0x102,
+ 0x396, 0x102, 0x397, 0x102, 0x398, 0x102, 0x399, 0x102,
+ 0x39a, 0x102, 0x39b, 0x102, 0x39c, 0x102, 0x39d, 0x102,
+ 0x39e, 0x102, 0x39f, 0x102, 0x3a0, 0x102, 0x3a1, 0x102,
+ 0x3f4, 0x102, 0x3a3, 0x102, 0x3a4, 0x102, 0x3a5, 0x102,
+ 0x3a6, 0x102, 0x3a7, 0x102, 0x3a8, 0x102, 0x3a9, 0x102,
+ 0x2207, 0x102, 0x3b1, 0x102, 0x3b2, 0x102, 0x3b3, 0x102,
+ 0x3b4, 0x102, 0x3b5, 0x102, 0x3b6, 0x102, 0x3b7, 0x102,
+ 0x3b8, 0x102, 0x3b9, 0x102, 0x3ba, 0x102, 0x3bb, 0x102,
+ 0x3bc, 0x102, 0x3bd, 0x102, 0x3be, 0x102, 0x3bf, 0x102,
+ 0x3c0, 0x102, 0x3c1, 0x102, 0x3c2, 0x102, 0x3c3, 0x102,
+ 0x3c4, 0x102, 0x3c5, 0x102, 0x3c6, 0x102, 0x3c7, 0x102,
+ 0x3c8, 0x102, 0x3c9, 0x102, 0x2202, 0x102, 0x3f5, 0x102,
+ 0x3d1, 0x102, 0x3f0, 0x102, 0x3d5, 0x102, 0x3f1, 0x102,
+ 0x3d6, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
+ 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
+ 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
+ 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
+ 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
+ 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
+ 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
+ 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
+ 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
+ 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
+ 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
+ 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
+ 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
+ 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
+ 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x391, 0x102,
+ 0x392, 0x102, 0x393, 0x102, 0x394, 0x102, 0x395, 0x102,
+ 0x396, 0x102, 0x397, 0x102, 0x398, 0x102, 0x399, 0x102,
+ 0x39a, 0x102, 0x39b, 0x102, 0x39c, 0x102, 0x39d, 0x102,
+ 0x39e, 0x102, 0x39f, 0x102, 0x3a0, 0x102, 0x3a1, 0x102,
+ 0x3f4, 0x102, 0x3a3, 0x102, 0x3a4, 0x102, 0x3a5, 0x102,
+ 0x3a6, 0x102, 0x3a7, 0x102, 0x3a8, 0x102, 0x3a9, 0x102,
+ 0x2207, 0x102, 0x3b1, 0x102, 0x3b2, 0x102, 0x3b3, 0x102,
+ 0x3b4, 0x102, 0x3b5, 0x102, 0x3b6, 0x102, 0x3b7, 0x102,
+ 0x3b8, 0x102, 0x3b9, 0x102, 0x3ba, 0x102, 0x3bb, 0x102,
+ 0x3bc, 0x102, 0x3bd, 0x102, 0x3be, 0x102, 0x3bf, 0x102,
+ 0x3c0, 0x102, 0x3c1, 0x102, 0x3c2, 0x102, 0x3c3, 0x102,
+ 0x3c4, 0x102, 0x3c5, 0x102, 0x3c6, 0x102, 0x3c7, 0x102,
+ 0x3c8, 0x102, 0x3c9, 0x102, 0x2202, 0x102, 0x3f5, 0x102,
+ 0x3d1, 0x102, 0x3f0, 0x102, 0x3d5, 0x102, 0x3f1, 0x102,
+ 0x3d6, 0x102, 0x391, 0x102, 0x392, 0x102, 0x393, 0x102,
+ 0x394, 0x102, 0x395, 0x102, 0x396, 0x102, 0x397, 0x102,
+ 0x398, 0x102, 0x399, 0x102, 0x39a, 0x102, 0x39b, 0x102,
+ 0x39c, 0x102, 0x39d, 0x102, 0x39e, 0x102, 0x39f, 0x102,
+ 0x3a0, 0x102, 0x3a1, 0x102, 0x3f4, 0x102, 0x3a3, 0x102,
+ 0x3a4, 0x102, 0x3a5, 0x102, 0x3a6, 0x102, 0x3a7, 0x102,
+ 0x3a8, 0x102, 0x3a9, 0x102, 0x2207, 0x102, 0x3b1, 0x102,
+ 0x3b2, 0x102, 0x3b3, 0x102, 0x3b4, 0x102, 0x3b5, 0x102,
+ 0x3b6, 0x102, 0x3b7, 0x102, 0x3b8, 0x102, 0x3b9, 0x102,
+ 0x3ba, 0x102, 0x3bb, 0x102, 0x3bc, 0x102, 0x3bd, 0x102,
+ 0x3be, 0x102, 0x3bf, 0x102, 0x3c0, 0x102, 0x3c1, 0x102,
+ 0x3c2, 0x102, 0x3c3, 0x102, 0x3c4, 0x102, 0x3c5, 0x102,
+ 0x3c6, 0x102, 0x3c7, 0x102, 0x3c8, 0x102, 0x3c9, 0x102,
+ 0x2202, 0x102, 0x3f5, 0x102, 0x3d1, 0x102, 0x3f0, 0x102,
+ 0x3d5, 0x102, 0x3f1, 0x102, 0x3d6, 0x102, 0x3dc, 0x102,
+ 0x3dd, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
+ 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
+ 0x37, 0x102, 0x38, 0x102, 0x39, 0x102, 0x30, 0x102,
+ 0x31, 0x102, 0x32, 0x102, 0x33, 0x102, 0x34, 0x102,
+ 0x35, 0x102, 0x36, 0x102, 0x37, 0x102, 0x38, 0x102,
+ 0x39, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
+ 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
+ 0x37, 0x102, 0x38, 0x102, 0x39, 0x102, 0x30, 0x102,
+ 0x31, 0x102, 0x32, 0x102, 0x33, 0x102, 0x34, 0x102,
+ 0x35, 0x102, 0x36, 0x102, 0x37, 0x102, 0x38, 0x102,
+ 0x39, 0x102, 0x30, 0x102, 0x31, 0x102, 0x32, 0x102,
+ 0x33, 0x102, 0x34, 0x102, 0x35, 0x102, 0x36, 0x102,
+ 0x37, 0x102, 0x38, 0x102, 0x39, 0x101, 0x4e3d, 0x101,
+ 0x4e38, 0x101, 0x4e41, 0x201, 0xd840, 0xdd22, 0x101, 0x4f60,
+ 0x101, 0x4fae, 0x101, 0x4fbb, 0x101, 0x5002, 0x101, 0x507a,
+ 0x101, 0x5099, 0x101, 0x50e7, 0x101, 0x50cf, 0x101, 0x349e,
+ 0x201, 0xd841, 0xde3a, 0x101, 0x514d, 0x101, 0x5154, 0x101,
+ 0x5164, 0x101, 0x5177, 0x201, 0xd841, 0xdd1c, 0x101, 0x34b9,
+ 0x101, 0x5167, 0x101, 0x518d, 0x201, 0xd841, 0xdd4b, 0x101,
+ 0x5197, 0x101, 0x51a4, 0x101, 0x4ecc, 0x101, 0x51ac, 0x101,
+ 0x51b5, 0x201, 0xd864, 0xdddf, 0x101, 0x51f5, 0x101, 0x5203,
+ 0x101, 0x34df, 0x101, 0x523b, 0x101, 0x5246, 0x101, 0x5272,
+ 0x101, 0x5277, 0x101, 0x3515, 0x101, 0x52c7, 0x101, 0x52c9,
+ 0x101, 0x52e4, 0x101, 0x52fa, 0x101, 0x5305, 0x101, 0x5306,
+ 0x101, 0x5317, 0x101, 0x5349, 0x101, 0x5351, 0x101, 0x535a,
+ 0x101, 0x5373, 0x101, 0x537d, 0x101, 0x537f, 0x101, 0x537f,
+ 0x101, 0x537f, 0x201, 0xd842, 0xde2c, 0x101, 0x7070, 0x101,
+ 0x53ca, 0x101, 0x53df, 0x201, 0xd842, 0xdf63, 0x101, 0x53eb,
+ 0x101, 0x53f1, 0x101, 0x5406, 0x101, 0x549e, 0x101, 0x5438,
+ 0x101, 0x5448, 0x101, 0x5468, 0x101, 0x54a2, 0x101, 0x54f6,
+ 0x101, 0x5510, 0x101, 0x5553, 0x101, 0x5563, 0x101, 0x5584,
+ 0x101, 0x5584, 0x101, 0x5599, 0x101, 0x55ab, 0x101, 0x55b3,
+ 0x101, 0x55c2, 0x101, 0x5716, 0x101, 0x5606, 0x101, 0x5717,
+ 0x101, 0x5651, 0x101, 0x5674, 0x101, 0x5207, 0x101, 0x58ee,
+ 0x101, 0x57ce, 0x101, 0x57f4, 0x101, 0x580d, 0x101, 0x578b,
+ 0x101, 0x5832, 0x101, 0x5831, 0x101, 0x58ac, 0x201, 0xd845,
+ 0xdce4, 0x101, 0x58f2, 0x101, 0x58f7, 0x101, 0x5906, 0x101,
+ 0x591a, 0x101, 0x5922, 0x101, 0x5962, 0x201, 0xd845, 0xdea8,
+ 0x201, 0xd845, 0xdeea, 0x101, 0x59ec, 0x101, 0x5a1b, 0x101,
+ 0x5a27, 0x101, 0x59d8, 0x101, 0x5a66, 0x101, 0x36ee, 0x101,
+ 0x36fc, 0x101, 0x5b08, 0x101, 0x5b3e, 0x101, 0x5b3e, 0x201,
+ 0xd846, 0xddc8, 0x101, 0x5bc3, 0x101, 0x5bd8, 0x101, 0x5be7,
+ 0x101, 0x5bf3, 0x201, 0xd846, 0xdf18, 0x101, 0x5bff, 0x101,
+ 0x5c06, 0x101, 0x5f53, 0x101, 0x5c22, 0x101, 0x3781, 0x101,
+ 0x5c60, 0x101, 0x5c6e, 0x101, 0x5cc0, 0x101, 0x5c8d, 0x201,
+ 0xd847, 0xdde4, 0x101, 0x5d43, 0x201, 0xd847, 0xdde6, 0x101,
+ 0x5d6e, 0x101, 0x5d6b, 0x101, 0x5d7c, 0x101, 0x5de1, 0x101,
+ 0x5de2, 0x101, 0x382f, 0x101, 0x5dfd, 0x101, 0x5e28, 0x101,
+ 0x5e3d, 0x101, 0x5e69, 0x101, 0x3862, 0x201, 0xd848, 0xdd83,
+ 0x101, 0x387c, 0x101, 0x5eb0, 0x101, 0x5eb3, 0x101, 0x5eb6,
+ 0x101, 0x5eca, 0x201, 0xd868, 0xdf92, 0x101, 0x5efe, 0x201,
+ 0xd848, 0xdf31, 0x201, 0xd848, 0xdf31, 0x101, 0x8201, 0x101,
+ 0x5f22, 0x101, 0x5f22, 0x101, 0x38c7, 0x201, 0xd84c, 0xdeb8,
+ 0x201, 0xd858, 0xddda, 0x101, 0x5f62, 0x101, 0x5f6b, 0x101,
+ 0x38e3, 0x101, 0x5f9a, 0x101, 0x5fcd, 0x101, 0x5fd7, 0x101,
+ 0x5ff9, 0x101, 0x6081, 0x101, 0x393a, 0x101, 0x391c, 0x101,
+ 0x6094, 0x201, 0xd849, 0xded4, 0x101, 0x60c7, 0x101, 0x6148,
+ 0x101, 0x614c, 0x101, 0x614e, 0x101, 0x614c, 0x101, 0x617a,
+ 0x101, 0x618e, 0x101, 0x61b2, 0x101, 0x61a4, 0x101, 0x61af,
+ 0x101, 0x61de, 0x101, 0x61f2, 0x101, 0x61f6, 0x101, 0x6210,
+ 0x101, 0x621b, 0x101, 0x625d, 0x101, 0x62b1, 0x101, 0x62d4,
+ 0x101, 0x6350, 0x201, 0xd84a, 0xdf0c, 0x101, 0x633d, 0x101,
+ 0x62fc, 0x101, 0x6368, 0x101, 0x6383, 0x101, 0x63e4, 0x201,
+ 0xd84a, 0xdff1, 0x101, 0x6422, 0x101, 0x63c5, 0x101, 0x63a9,
+ 0x101, 0x3a2e, 0x101, 0x6469, 0x101, 0x647e, 0x101, 0x649d,
+ 0x101, 0x6477, 0x101, 0x3a6c, 0x101, 0x654f, 0x101, 0x656c,
+ 0x201, 0xd84c, 0xdc0a, 0x101, 0x65e3, 0x101, 0x66f8, 0x101,
+ 0x6649, 0x101, 0x3b19, 0x101, 0x6691, 0x101, 0x3b08, 0x101,
+ 0x3ae4, 0x101, 0x5192, 0x101, 0x5195, 0x101, 0x6700, 0x101,
+ 0x669c, 0x101, 0x80ad, 0x101, 0x43d9, 0x101, 0x6717, 0x101,
+ 0x671b, 0x101, 0x6721, 0x101, 0x675e, 0x101, 0x6753, 0x201,
+ 0xd84c, 0xdfc3, 0x101, 0x3b49, 0x101, 0x67fa, 0x101, 0x6785,
+ 0x101, 0x6852, 0x101, 0x6885, 0x201, 0xd84d, 0xdc6d, 0x101,
+ 0x688e, 0x101, 0x681f, 0x101, 0x6914, 0x101, 0x3b9d, 0x101,
+ 0x6942, 0x101, 0x69a3, 0x101, 0x69ea, 0x101, 0x6aa8, 0x201,
+ 0xd84d, 0xdea3, 0x101, 0x6adb, 0x101, 0x3c18, 0x101, 0x6b21,
+ 0x201, 0xd84e, 0xdca7, 0x101, 0x6b54, 0x101, 0x3c4e, 0x101,
+ 0x6b72, 0x101, 0x6b9f, 0x101, 0x6bba, 0x101, 0x6bbb, 0x201,
+ 0xd84e, 0xde8d, 0x201, 0xd847, 0xdd0b, 0x201, 0xd84e, 0xdefa,
+ 0x101, 0x6c4e, 0x201, 0xd84f, 0xdcbc, 0x101, 0x6cbf, 0x101,
+ 0x6ccd, 0x101, 0x6c67, 0x101, 0x6d16, 0x101, 0x6d3e, 0x101,
+ 0x6d77, 0x101, 0x6d41, 0x101, 0x6d69, 0x101, 0x6d78, 0x101,
+ 0x6d85, 0x201, 0xd84f, 0xdd1e, 0x101, 0x6d34, 0x101, 0x6e2f,
+ 0x101, 0x6e6e, 0x101, 0x3d33, 0x101, 0x6ecb, 0x101, 0x6ec7,
+ 0x201, 0xd84f, 0xded1, 0x101, 0x6df9, 0x101, 0x6f6e, 0x201,
+ 0xd84f, 0xdf5e, 0x201, 0xd84f, 0xdf8e, 0x101, 0x6fc6, 0x101,
+ 0x7039, 0x101, 0x701e, 0x101, 0x701b, 0x101, 0x3d96, 0x101,
+ 0x704a, 0x101, 0x707d, 0x101, 0x7077, 0x101, 0x70ad, 0x201,
+ 0xd841, 0xdd25, 0x101, 0x7145, 0x201, 0xd850, 0xde63, 0x101,
+ 0x719c, 0x201, 0xd850, 0xdfab, 0x101, 0x7228, 0x101, 0x7235,
+ 0x101, 0x7250, 0x201, 0xd851, 0xde08, 0x101, 0x7280, 0x101,
+ 0x7295, 0x201, 0xd851, 0xdf35, 0x201, 0xd852, 0xdc14, 0x101,
+ 0x737a, 0x101, 0x738b, 0x101, 0x3eac, 0x101, 0x73a5, 0x101,
+ 0x3eb8, 0x101, 0x3eb8, 0x101, 0x7447, 0x101, 0x745c, 0x101,
+ 0x7471, 0x101, 0x7485, 0x101, 0x74ca, 0x101, 0x3f1b, 0x101,
+ 0x7524, 0x201, 0xd853, 0xdc36, 0x101, 0x753e, 0x201, 0xd853,
+ 0xdc92, 0x101, 0x7570, 0x201, 0xd848, 0xdd9f, 0x101, 0x7610,
+ 0x201, 0xd853, 0xdfa1, 0x201, 0xd853, 0xdfb8, 0x201, 0xd854,
+ 0xdc44, 0x101, 0x3ffc, 0x101, 0x4008, 0x101, 0x76f4, 0x201,
+ 0xd854, 0xdcf3, 0x201, 0xd854, 0xdcf2, 0x201, 0xd854, 0xdd19,
+ 0x201, 0xd854, 0xdd33, 0x101, 0x771e, 0x101, 0x771f, 0x101,
+ 0x771f, 0x101, 0x774a, 0x101, 0x4039, 0x101, 0x778b, 0x101,
+ 0x4046, 0x101, 0x4096, 0x201, 0xd855, 0xdc1d, 0x101, 0x784e,
+ 0x101, 0x788c, 0x101, 0x78cc, 0x101, 0x40e3, 0x201, 0xd855,
+ 0xde26, 0x101, 0x7956, 0x201, 0xd855, 0xde9a, 0x201, 0xd855,
+ 0xdec5, 0x101, 0x798f, 0x101, 0x79eb, 0x101, 0x412f, 0x101,
+ 0x7a40, 0x101, 0x7a4a, 0x101, 0x7a4f, 0x201, 0xd856, 0xdd7c,
+ 0x201, 0xd856, 0xdea7, 0x201, 0xd856, 0xdea7, 0x101, 0x7aee,
+ 0x101, 0x4202, 0x201, 0xd856, 0xdfab, 0x101, 0x7bc6, 0x101,
+ 0x7bc9, 0x101, 0x4227, 0x201, 0xd857, 0xdc80, 0x101, 0x7cd2,
+ 0x101, 0x42a0, 0x101, 0x7ce8, 0x101, 0x7ce3, 0x101, 0x7d00,
+ 0x201, 0xd857, 0xdf86, 0x101, 0x7d63, 0x101, 0x4301, 0x101,
+ 0x7dc7, 0x101, 0x7e02, 0x101, 0x7e45, 0x101, 0x4334, 0x201,
+ 0xd858, 0xde28, 0x201, 0xd858, 0xde47, 0x101, 0x4359, 0x201,
+ 0xd858, 0xded9, 0x101, 0x7f7a, 0x201, 0xd858, 0xdf3e, 0x101,
+ 0x7f95, 0x101, 0x7ffa, 0x101, 0x8005, 0x201, 0xd859, 0xdcda,
+ 0x201, 0xd859, 0xdd23, 0x101, 0x8060, 0x201, 0xd859, 0xdda8,
+ 0x101, 0x8070, 0x201, 0xd84c, 0xdf5f, 0x101, 0x43d5, 0x101,
+ 0x80b2, 0x101, 0x8103, 0x101, 0x440b, 0x101, 0x813e, 0x101,
+ 0x5ab5, 0x201, 0xd859, 0xdfa7, 0x201, 0xd859, 0xdfb5, 0x201,
+ 0xd84c, 0xdf93, 0x201, 0xd84c, 0xdf9c, 0x101, 0x8201, 0x101,
+ 0x8204, 0x101, 0x8f9e, 0x101, 0x446b, 0x101, 0x8291, 0x101,
+ 0x828b, 0x101, 0x829d, 0x101, 0x52b3, 0x101, 0x82b1, 0x101,
+ 0x82b3, 0x101, 0x82bd, 0x101, 0x82e6, 0x201, 0xd85a, 0xdf3c,
+ 0x101, 0x82e5, 0x101, 0x831d, 0x101, 0x8363, 0x101, 0x83ad,
+ 0x101, 0x8323, 0x101, 0x83bd, 0x101, 0x83e7, 0x101, 0x8457,
+ 0x101, 0x8353, 0x101, 0x83ca, 0x101, 0x83cc, 0x101, 0x83dc,
+ 0x201, 0xd85b, 0xdc36, 0x201, 0xd85b, 0xdd6b, 0x201, 0xd85b,
+ 0xdcd5, 0x101, 0x452b, 0x101, 0x84f1, 0x101, 0x84f3, 0x101,
+ 0x8516, 0x201, 0xd85c, 0xdfca, 0x101, 0x8564, 0x201, 0xd85b,
+ 0xdf2c, 0x101, 0x455d, 0x101, 0x4561, 0x201, 0xd85b, 0xdfb1,
+ 0x201, 0xd85c, 0xdcd2, 0x101, 0x456b, 0x101, 0x8650, 0x101,
+ 0x865c, 0x101, 0x8667, 0x101, 0x8669, 0x101, 0x86a9, 0x101,
+ 0x8688, 0x101, 0x870e, 0x101, 0x86e2, 0x101, 0x8779, 0x101,
+ 0x8728, 0x101, 0x876b, 0x101, 0x8786, 0x101, 0x45d7, 0x101,
+ 0x87e1, 0x101, 0x8801, 0x101, 0x45f9, 0x101, 0x8860, 0x101,
+ 0x8863, 0x201, 0xd85d, 0xde67, 0x101, 0x88d7, 0x101, 0x88de,
+ 0x101, 0x4635, 0x101, 0x88fa, 0x101, 0x34bb, 0x201, 0xd85e,
+ 0xdcae, 0x201, 0xd85e, 0xdd66, 0x101, 0x46be, 0x101, 0x46c7,
+ 0x101, 0x8aa0, 0x101, 0x8aed, 0x101, 0x8b8a, 0x101, 0x8c55,
+ 0x201, 0xd85f, 0xdca8, 0x101, 0x8cab, 0x101, 0x8cc1, 0x101,
+ 0x8d1b, 0x101, 0x8d77, 0x201, 0xd85f, 0xdf2f, 0x201, 0xd842,
+ 0xdc04, 0x101, 0x8dcb, 0x101, 0x8dbc, 0x101, 0x8df0, 0x201,
+ 0xd842, 0xdcde, 0x101, 0x8ed4, 0x101, 0x8f38, 0x201, 0xd861,
+ 0xddd2, 0x201, 0xd861, 0xdded, 0x101, 0x9094, 0x101, 0x90f1,
+ 0x101, 0x9111, 0x201, 0xd861, 0xdf2e, 0x101, 0x911b, 0x101,
+ 0x9238, 0x101, 0x92d7, 0x101, 0x92d8, 0x101, 0x927c, 0x101,
+ 0x93f9, 0x101, 0x9415, 0x201, 0xd862, 0xdffa, 0x101, 0x958b,
+ 0x101, 0x4995, 0x101, 0x95b7, 0x201, 0xd863, 0xdd77, 0x101,
+ 0x49e6, 0x101, 0x96c3, 0x101, 0x5db2, 0x101, 0x9723, 0x201,
+ 0xd864, 0xdd45, 0x201, 0xd864, 0xde1a, 0x101, 0x4a6e, 0x101,
+ 0x4a76, 0x101, 0x97e0, 0x201, 0xd865, 0xdc0a, 0x101, 0x4ab2,
+ 0x201, 0xd865, 0xdc96, 0x101, 0x980b, 0x101, 0x980b, 0x101,
+ 0x9829, 0x201, 0xd865, 0xddb6, 0x101, 0x98e2, 0x101, 0x4b33,
+ 0x101, 0x9929, 0x101, 0x99a7, 0x101, 0x99c2, 0x101, 0x99fe,
+ 0x101, 0x4bce, 0x201, 0xd866, 0xdf30, 0x101, 0x9b12, 0x101,
+ 0x9c40, 0x101, 0x9cfd, 0x101, 0x4cce, 0x101, 0x4ced, 0x101,
+ 0x9d67, 0x201, 0xd868, 0xdcce, 0x101, 0x4cf8, 0x201, 0xd868,
+ 0xdd05, 0x201, 0xd868, 0xde0e, 0x201, 0xd868, 0xde91, 0x101,
+ 0x9ebb, 0x101, 0x4d56, 0x101, 0x9ef9, 0x101, 0x9efe, 0x101,
+ 0x9f05, 0x101, 0x9f0f, 0x101, 0x9f16, 0x101, 0x9f3b, 0x201,
+ 0xd869, 0xde00,
};
static const unsigned short uc_ligature_trie[] = {
// 0 - 0x3100
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 424, 456, 488, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 520, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 552, 392, 392, 392, 584, 616, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 648, 680, 392, 392, 712, 744, 392,
- 392, 392, 776, 392, 392, 392, 808, 392,
- 392, 840, 872, 392, 392, 392, 904, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
-
- 392, 936, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 968, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
-
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392,
-
- 392, 392, 392, 392, 1000, 392, 392, 392,
-
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0x0, 0xa9, 0x194, 0x1d5, 0x20e, 0xffff, 0x267, 0x2a8,
- 0x305, 0x372, 0x3a3, 0x3b0, 0x3bd, 0xffff, 0xffff, 0x408,
- 0xffff, 0x425, 0xffff, 0x43e, 0x45b, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x47c, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0x485, 0x4da, 0x4df, 0x4e4, 0x4ed,
- 0x51a, 0xffff, 0xffff, 0xffff, 0xffff, 0x52f, 0x548, 0xffff,
- 0x54d, 0x55a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0x57d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0x5d6, 0xffff, 0xffff, 0x611, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0x690, 0x693, 0x6a0, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0x6a3, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6aa, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ad,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b0, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b3, 0x6b6,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b9, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6be,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6c3, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0x6c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6c9, 0x6d0, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6d3, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6d8,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0x6db, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e0,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e3,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e6, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e9, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
-
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
- 0xffff, 0x700, 0x761, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 424, 456, 488, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 520, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 552, 392, 392, 392, 584, 616, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 648, 680, 392, 392, 712, 744, 392,
+ 392, 392, 776, 392, 392, 392, 808, 392,
+ 392, 840, 872, 392, 392, 392, 904, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+
+ 392, 936, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 968, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392,
+
+ 392, 392, 392, 392, 1000, 392, 392, 392,
+
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0x0, 0xa9, 0x194, 0x1d5, 0x20e, 0xffff, 0x267, 0x2a8,
+ 0x305, 0x372, 0x3a3, 0x3b0, 0x3bd, 0xffff, 0xffff, 0x408,
+ 0xffff, 0x425, 0xffff, 0x43e, 0x45b, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x47c, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0x485, 0x4da, 0x4df, 0x4e4, 0x4ed,
+ 0x51a, 0xffff, 0xffff, 0xffff, 0xffff, 0x52f, 0x548, 0xffff,
+ 0x54d, 0x55a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0x57d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0x5d6, 0xffff, 0xffff, 0x611, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0x690, 0x693, 0x6a0, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0x6a3, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6aa, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ad,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b0, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b3, 0x6b6,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b9, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6be,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6c3, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0x6c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6c9, 0x6d0, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6d3, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6d8,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0x6db, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e0,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e3,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e6, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6e9, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
+ 0xffff, 0x700, 0x761, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
};
#define GET_LIGATURE_INDEX(u2) (u2 < 0x3100 ? uc_ligature_trie[uc_ligature_trie[u2>>5] + (u2 & 0x1f)] : 0xffff);
static const unsigned short uc_ligature_map [] = {
- 0x54, 0x41, 0xc0, 0x45, 0xc8, 0x49, 0xcc, 0x4e,
- 0x1f8, 0x4f, 0xd2, 0x55, 0xd9, 0x57, 0x1e80, 0x59,
- 0x1ef2, 0x61, 0xe0, 0x65, 0xe8, 0x69, 0xec, 0x6e,
- 0x1f9, 0x6f, 0xf2, 0x75, 0xf9, 0x77, 0x1e81, 0x79,
- 0x1ef3, 0xa8, 0x1fed, 0xc2, 0x1ea6, 0xca, 0x1ec0, 0xd4,
- 0x1ed2, 0xdc, 0x1db, 0xe2, 0x1ea7, 0xea, 0x1ec1, 0xf4,
- 0x1ed3, 0xfc, 0x1dc, 0x102, 0x1eb0, 0x103, 0x1eb1, 0x112,
- 0x1e14, 0x113, 0x1e15, 0x14c, 0x1e50, 0x14d, 0x1e51, 0x1a0,
- 0x1edc, 0x1a1, 0x1edd, 0x1af, 0x1eea, 0x1b0, 0x1eeb, 0x391,
- 0x1fba, 0x395, 0x1fc8, 0x397, 0x1fca, 0x399, 0x1fda, 0x39f,
- 0x1ff8, 0x3a5, 0x1fea, 0x3a9, 0x1ffa, 0x3b1, 0x1f70, 0x3b5,
- 0x1f72, 0x3b7, 0x1f74, 0x3b9, 0x1f76, 0x3bf, 0x1f78, 0x3c5,
- 0x1f7a, 0x3c9, 0x1f7c, 0x3ca, 0x1fd2, 0x3cb, 0x1fe2, 0x415,
- 0x400, 0x418, 0x40d, 0x435, 0x450, 0x438, 0x45d, 0x1f00,
- 0x1f02, 0x1f01, 0x1f03, 0x1f08, 0x1f0a, 0x1f09, 0x1f0b, 0x1f10,
- 0x1f12, 0x1f11, 0x1f13, 0x1f18, 0x1f1a, 0x1f19, 0x1f1b, 0x1f20,
- 0x1f22, 0x1f21, 0x1f23, 0x1f28, 0x1f2a, 0x1f29, 0x1f2b, 0x1f30,
- 0x1f32, 0x1f31, 0x1f33, 0x1f38, 0x1f3a, 0x1f39, 0x1f3b, 0x1f40,
- 0x1f42, 0x1f41, 0x1f43, 0x1f48, 0x1f4a, 0x1f49, 0x1f4b, 0x1f50,
- 0x1f52, 0x1f51, 0x1f53, 0x1f59, 0x1f5b, 0x1f60, 0x1f62, 0x1f61,
- 0x1f63, 0x1f68, 0x1f6a, 0x1f69, 0x1f6b, 0x1fbf, 0x1fcd, 0x1ffe,
- 0x1fdd, 0x75, 0x41, 0xc1, 0x43, 0x106, 0x45, 0xc9,
- 0x47, 0x1f4, 0x49, 0xcd, 0x4b, 0x1e30, 0x4c, 0x139,
- 0x4d, 0x1e3e, 0x4e, 0x143, 0x4f, 0xd3, 0x50, 0x1e54,
- 0x52, 0x154, 0x53, 0x15a, 0x55, 0xda, 0x57, 0x1e82,
- 0x59, 0xdd, 0x5a, 0x179, 0x61, 0xe1, 0x63, 0x107,
- 0x65, 0xe9, 0x67, 0x1f5, 0x69, 0xed, 0x6b, 0x1e31,
- 0x6c, 0x13a, 0x6d, 0x1e3f, 0x6e, 0x144, 0x6f, 0xf3,
- 0x70, 0x1e55, 0x72, 0x155, 0x73, 0x15b, 0x75, 0xfa,
- 0x77, 0x1e83, 0x79, 0xfd, 0x7a, 0x17a, 0xa8, 0x385,
- 0xc2, 0x1ea4, 0xc5, 0x1fa, 0xc6, 0x1fc, 0xc7, 0x1e08,
- 0xca, 0x1ebe, 0xcf, 0x1e2e, 0xd4, 0x1ed0, 0xd5, 0x1e4c,
- 0xd8, 0x1fe, 0xdc, 0x1d7, 0xe2, 0x1ea5, 0xe5, 0x1fb,
- 0xe6, 0x1fd, 0xe7, 0x1e09, 0xea, 0x1ebf, 0xef, 0x1e2f,
- 0xf4, 0x1ed1, 0xf5, 0x1e4d, 0xf8, 0x1ff, 0xfc, 0x1d8,
- 0x102, 0x1eae, 0x103, 0x1eaf, 0x112, 0x1e16, 0x113, 0x1e17,
- 0x14c, 0x1e52, 0x14d, 0x1e53, 0x168, 0x1e78, 0x169, 0x1e79,
- 0x1a0, 0x1eda, 0x1a1, 0x1edb, 0x1af, 0x1ee8, 0x1b0, 0x1ee9,
- 0x391, 0x386, 0x395, 0x388, 0x397, 0x389, 0x399, 0x38a,
- 0x39f, 0x38c, 0x3a5, 0x38e, 0x3a9, 0x38f, 0x3b1, 0x3ac,
- 0x3b5, 0x3ad, 0x3b7, 0x3ae, 0x3b9, 0x3af, 0x3bf, 0x3cc,
- 0x3c5, 0x3cd, 0x3c9, 0x3ce, 0x3ca, 0x390, 0x3cb, 0x3b0,
- 0x3d2, 0x3d3, 0x413, 0x403, 0x41a, 0x40c, 0x433, 0x453,
- 0x43a, 0x45c, 0x1f00, 0x1f04, 0x1f01, 0x1f05, 0x1f08, 0x1f0c,
- 0x1f09, 0x1f0d, 0x1f10, 0x1f14, 0x1f11, 0x1f15, 0x1f18, 0x1f1c,
- 0x1f19, 0x1f1d, 0x1f20, 0x1f24, 0x1f21, 0x1f25, 0x1f28, 0x1f2c,
- 0x1f29, 0x1f2d, 0x1f30, 0x1f34, 0x1f31, 0x1f35, 0x1f38, 0x1f3c,
- 0x1f39, 0x1f3d, 0x1f40, 0x1f44, 0x1f41, 0x1f45, 0x1f48, 0x1f4c,
- 0x1f49, 0x1f4d, 0x1f50, 0x1f54, 0x1f51, 0x1f55, 0x1f59, 0x1f5d,
- 0x1f60, 0x1f64, 0x1f61, 0x1f65, 0x1f68, 0x1f6c, 0x1f69, 0x1f6d,
- 0x1fbf, 0x1fce, 0x1ffe, 0x1fde, 0x20, 0x41, 0xc2, 0x43,
- 0x108, 0x45, 0xca, 0x47, 0x11c, 0x48, 0x124, 0x49,
- 0xce, 0x4a, 0x134, 0x4f, 0xd4, 0x53, 0x15c, 0x55,
- 0xdb, 0x57, 0x174, 0x59, 0x176, 0x5a, 0x1e90, 0x61,
- 0xe2, 0x63, 0x109, 0x65, 0xea, 0x67, 0x11d, 0x68,
- 0x125, 0x69, 0xee, 0x6a, 0x135, 0x6f, 0xf4, 0x73,
- 0x15d, 0x75, 0xfb, 0x77, 0x175, 0x79, 0x177, 0x7a,
- 0x1e91, 0x1ea0, 0x1eac, 0x1ea1, 0x1ead, 0x1eb8, 0x1ec6, 0x1eb9,
- 0x1ec7, 0x1ecc, 0x1ed8, 0x1ecd, 0x1ed9, 0x1c, 0x41, 0xc3,
- 0x45, 0x1ebc, 0x49, 0x128, 0x4e, 0xd1, 0x4f, 0xd5,
- 0x55, 0x168, 0x56, 0x1e7c, 0x59, 0x1ef8, 0x61, 0xe3,
- 0x65, 0x1ebd, 0x69, 0x129, 0x6e, 0xf1, 0x6f, 0xf5,
- 0x75, 0x169, 0x76, 0x1e7d, 0x79, 0x1ef9, 0xc2, 0x1eaa,
- 0xca, 0x1ec4, 0xd4, 0x1ed6, 0xe2, 0x1eab, 0xea, 0x1ec5,
- 0xf4, 0x1ed7, 0x102, 0x1eb4, 0x103, 0x1eb5, 0x1a0, 0x1ee0,
- 0x1a1, 0x1ee1, 0x1af, 0x1eee, 0x1b0, 0x1eef, 0x2c, 0x41,
- 0x100, 0x45, 0x112, 0x47, 0x1e20, 0x49, 0x12a, 0x4f,
- 0x14c, 0x55, 0x16a, 0x59, 0x232, 0x61, 0x101, 0x65,
- 0x113, 0x67, 0x1e21, 0x69, 0x12b, 0x6f, 0x14d, 0x75,
- 0x16b, 0x79, 0x233, 0xc4, 0x1de, 0xc6, 0x1e2, 0xd5,
- 0x22c, 0xd6, 0x22a, 0xdc, 0x1d5, 0xe4, 0x1df, 0xe6,
- 0x1e3, 0xf5, 0x22d, 0xf6, 0x22b, 0xfc, 0x1d6, 0x1ea,
- 0x1ec, 0x1eb, 0x1ed, 0x226, 0x1e0, 0x227, 0x1e1, 0x22e,
- 0x230, 0x22f, 0x231, 0x391, 0x1fb9, 0x399, 0x1fd9, 0x3a5,
- 0x1fe9, 0x3b1, 0x1fb1, 0x3b9, 0x1fd1, 0x3c5, 0x1fe1, 0x418,
- 0x4e2, 0x423, 0x4ee, 0x438, 0x4e3, 0x443, 0x4ef, 0x1e36,
- 0x1e38, 0x1e37, 0x1e39, 0x1e5a, 0x1e5c, 0x1e5b, 0x1e5d, 0x20,
- 0x41, 0x102, 0x45, 0x114, 0x47, 0x11e, 0x49, 0x12c,
- 0x4f, 0x14e, 0x55, 0x16c, 0x61, 0x103, 0x65, 0x115,
- 0x67, 0x11f, 0x69, 0x12d, 0x6f, 0x14f, 0x75, 0x16d,
- 0x228, 0x1e1c, 0x229, 0x1e1d, 0x391, 0x1fb8, 0x399, 0x1fd8,
- 0x3a5, 0x1fe8, 0x3b1, 0x1fb0, 0x3b9, 0x1fd0, 0x3c5, 0x1fe0,
- 0x410, 0x4d0, 0x415, 0x4d6, 0x416, 0x4c1, 0x418, 0x419,
- 0x423, 0x40e, 0x430, 0x4d1, 0x435, 0x4d7, 0x436, 0x4c2,
- 0x438, 0x439, 0x443, 0x45e, 0x1ea0, 0x1eb6, 0x1ea1, 0x1eb7,
- 0x2e, 0x41, 0x226, 0x42, 0x1e02, 0x43, 0x10a, 0x44,
- 0x1e0a, 0x45, 0x116, 0x46, 0x1e1e, 0x47, 0x120, 0x48,
- 0x1e22, 0x49, 0x130, 0x4d, 0x1e40, 0x4e, 0x1e44, 0x4f,
- 0x22e, 0x50, 0x1e56, 0x52, 0x1e58, 0x53, 0x1e60, 0x54,
- 0x1e6a, 0x57, 0x1e86, 0x58, 0x1e8a, 0x59, 0x1e8e, 0x5a,
- 0x17b, 0x61, 0x227, 0x62, 0x1e03, 0x63, 0x10b, 0x64,
- 0x1e0b, 0x65, 0x117, 0x66, 0x1e1f, 0x67, 0x121, 0x68,
- 0x1e23, 0x6d, 0x1e41, 0x6e, 0x1e45, 0x6f, 0x22f, 0x70,
- 0x1e57, 0x72, 0x1e59, 0x73, 0x1e61, 0x74, 0x1e6b, 0x77,
- 0x1e87, 0x78, 0x1e8b, 0x79, 0x1e8f, 0x7a, 0x17c, 0x15a,
- 0x1e64, 0x15b, 0x1e65, 0x160, 0x1e66, 0x161, 0x1e67, 0x17f,
- 0x1e9b, 0x1e62, 0x1e68, 0x1e63, 0x1e69, 0x36, 0x41, 0xc4,
- 0x45, 0xcb, 0x48, 0x1e26, 0x49, 0xcf, 0x4f, 0xd6,
- 0x55, 0xdc, 0x57, 0x1e84, 0x58, 0x1e8c, 0x59, 0x178,
- 0x61, 0xe4, 0x65, 0xeb, 0x68, 0x1e27, 0x69, 0xef,
- 0x6f, 0xf6, 0x74, 0x1e97, 0x75, 0xfc, 0x77, 0x1e85,
- 0x78, 0x1e8d, 0x79, 0xff, 0xd5, 0x1e4e, 0xf5, 0x1e4f,
- 0x16a, 0x1e7a, 0x16b, 0x1e7b, 0x399, 0x3aa, 0x3a5, 0x3ab,
- 0x3b9, 0x3ca, 0x3c5, 0x3cb, 0x3d2, 0x3d4, 0x406, 0x407,
- 0x410, 0x4d2, 0x415, 0x401, 0x416, 0x4dc, 0x417, 0x4de,
- 0x418, 0x4e4, 0x41e, 0x4e6, 0x423, 0x4f0, 0x427, 0x4f4,
- 0x42b, 0x4f8, 0x42d, 0x4ec, 0x430, 0x4d3, 0x435, 0x451,
- 0x436, 0x4dd, 0x437, 0x4df, 0x438, 0x4e5, 0x43e, 0x4e7,
- 0x443, 0x4f1, 0x447, 0x4f5, 0x44b, 0x4f9, 0x44d, 0x4ed,
- 0x456, 0x457, 0x4d8, 0x4da, 0x4d9, 0x4db, 0x4e8, 0x4ea,
- 0x4e9, 0x4eb, 0x18, 0x41, 0x1ea2, 0x45, 0x1eba, 0x49,
- 0x1ec8, 0x4f, 0x1ece, 0x55, 0x1ee6, 0x59, 0x1ef6, 0x61,
- 0x1ea3, 0x65, 0x1ebb, 0x69, 0x1ec9, 0x6f, 0x1ecf, 0x75,
- 0x1ee7, 0x79, 0x1ef7, 0xc2, 0x1ea8, 0xca, 0x1ec2, 0xd4,
- 0x1ed4, 0xe2, 0x1ea9, 0xea, 0x1ec3, 0xf4, 0x1ed5, 0x102,
- 0x1eb2, 0x103, 0x1eb3, 0x1a0, 0x1ede, 0x1a1, 0x1edf, 0x1af,
- 0x1eec, 0x1b0, 0x1eed, 0x6, 0x41, 0xc5, 0x55, 0x16e,
- 0x61, 0xe5, 0x75, 0x16f, 0x77, 0x1e98, 0x79, 0x1e99,
- 0x6, 0x4f, 0x150, 0x55, 0x170, 0x6f, 0x151, 0x75,
- 0x171, 0x423, 0x4f2, 0x443, 0x4f3, 0x25, 0x41, 0x1cd,
- 0x43, 0x10c, 0x44, 0x10e, 0x45, 0x11a, 0x47, 0x1e6,
- 0x48, 0x21e, 0x49, 0x1cf, 0x4b, 0x1e8, 0x4c, 0x13d,
- 0x4e, 0x147, 0x4f, 0x1d1, 0x52, 0x158, 0x53, 0x160,
- 0x54, 0x164, 0x55, 0x1d3, 0x5a, 0x17d, 0x61, 0x1ce,
- 0x63, 0x10d, 0x64, 0x10f, 0x65, 0x11b, 0x67, 0x1e7,
- 0x68, 0x21f, 0x69, 0x1d0, 0x6a, 0x1f0, 0x6b, 0x1e9,
- 0x6c, 0x13e, 0x6e, 0x148, 0x6f, 0x1d2, 0x72, 0x159,
- 0x73, 0x161, 0x74, 0x165, 0x75, 0x1d4, 0x7a, 0x17e,
- 0xdc, 0x1d9, 0xfc, 0x1da, 0x1b7, 0x1ee, 0x292, 0x1ef,
- 0xe, 0x41, 0x200, 0x45, 0x204, 0x49, 0x208, 0x4f,
- 0x20c, 0x52, 0x210, 0x55, 0x214, 0x61, 0x201, 0x65,
- 0x205, 0x69, 0x209, 0x6f, 0x20d, 0x72, 0x211, 0x75,
- 0x215, 0x474, 0x476, 0x475, 0x477, 0xc, 0x41, 0x202,
- 0x45, 0x206, 0x49, 0x20a, 0x4f, 0x20e, 0x52, 0x212,
- 0x55, 0x216, 0x61, 0x203, 0x65, 0x207, 0x69, 0x20b,
- 0x6f, 0x20f, 0x72, 0x213, 0x75, 0x217, 0xe, 0x391,
- 0x1f08, 0x395, 0x1f18, 0x397, 0x1f28, 0x399, 0x1f38, 0x39f,
- 0x1f48, 0x3a9, 0x1f68, 0x3b1, 0x1f00, 0x3b5, 0x1f10, 0x3b7,
- 0x1f20, 0x3b9, 0x1f30, 0x3bf, 0x1f40, 0x3c1, 0x1fe4, 0x3c5,
- 0x1f50, 0x3c9, 0x1f60, 0x10, 0x391, 0x1f09, 0x395, 0x1f19,
- 0x397, 0x1f29, 0x399, 0x1f39, 0x39f, 0x1f49, 0x3a1, 0x1fec,
- 0x3a5, 0x1f59, 0x3a9, 0x1f69, 0x3b1, 0x1f01, 0x3b5, 0x1f11,
- 0x3b7, 0x1f21, 0x3b9, 0x1f31, 0x3bf, 0x1f41, 0x3c1, 0x1fe5,
- 0x3c5, 0x1f51, 0x3c9, 0x1f61, 0x4, 0x4f, 0x1a0, 0x55,
- 0x1af, 0x6f, 0x1a1, 0x75, 0x1b0, 0x2a, 0x41, 0x1ea0,
- 0x42, 0x1e04, 0x44, 0x1e0c, 0x45, 0x1eb8, 0x48, 0x1e24,
- 0x49, 0x1eca, 0x4b, 0x1e32, 0x4c, 0x1e36, 0x4d, 0x1e42,
- 0x4e, 0x1e46, 0x4f, 0x1ecc, 0x52, 0x1e5a, 0x53, 0x1e62,
- 0x54, 0x1e6c, 0x55, 0x1ee4, 0x56, 0x1e7e, 0x57, 0x1e88,
- 0x59, 0x1ef4, 0x5a, 0x1e92, 0x61, 0x1ea1, 0x62, 0x1e05,
- 0x64, 0x1e0d, 0x65, 0x1eb9, 0x68, 0x1e25, 0x69, 0x1ecb,
- 0x6b, 0x1e33, 0x6c, 0x1e37, 0x6d, 0x1e43, 0x6e, 0x1e47,
- 0x6f, 0x1ecd, 0x72, 0x1e5b, 0x73, 0x1e63, 0x74, 0x1e6d,
- 0x75, 0x1ee5, 0x76, 0x1e7f, 0x77, 0x1e89, 0x79, 0x1ef5,
- 0x7a, 0x1e93, 0x1a0, 0x1ee2, 0x1a1, 0x1ee3, 0x1af, 0x1ef0,
- 0x1b0, 0x1ef1, 0x2, 0x55, 0x1e72, 0x75, 0x1e73, 0x2,
- 0x41, 0x1e00, 0x61, 0x1e01, 0x4, 0x53, 0x218, 0x54,
- 0x21a, 0x73, 0x219, 0x74, 0x21b, 0x16, 0x43, 0xc7,
- 0x44, 0x1e10, 0x45, 0x228, 0x47, 0x122, 0x48, 0x1e28,
- 0x4b, 0x136, 0x4c, 0x13b, 0x4e, 0x145, 0x52, 0x156,
- 0x53, 0x15e, 0x54, 0x162, 0x63, 0xe7, 0x64, 0x1e11,
- 0x65, 0x229, 0x67, 0x123, 0x68, 0x1e29, 0x6b, 0x137,
- 0x6c, 0x13c, 0x6e, 0x146, 0x72, 0x157, 0x73, 0x15f,
- 0x74, 0x163, 0xa, 0x41, 0x104, 0x45, 0x118, 0x49,
- 0x12e, 0x4f, 0x1ea, 0x55, 0x172, 0x61, 0x105, 0x65,
- 0x119, 0x69, 0x12f, 0x6f, 0x1eb, 0x75, 0x173, 0xc,
- 0x44, 0x1e12, 0x45, 0x1e18, 0x4c, 0x1e3c, 0x4e, 0x1e4a,
- 0x54, 0x1e70, 0x55, 0x1e76, 0x64, 0x1e13, 0x65, 0x1e19,
- 0x6c, 0x1e3d, 0x6e, 0x1e4b, 0x74, 0x1e71, 0x75, 0x1e77,
- 0x2, 0x48, 0x1e2a, 0x68, 0x1e2b, 0x6, 0x45, 0x1e1a,
- 0x49, 0x1e2c, 0x55, 0x1e74, 0x65, 0x1e1b, 0x69, 0x1e2d,
- 0x75, 0x1e75, 0x11, 0x42, 0x1e06, 0x44, 0x1e0e, 0x4b,
- 0x1e34, 0x4c, 0x1e3a, 0x4e, 0x1e48, 0x52, 0x1e5e, 0x54,
- 0x1e6e, 0x5a, 0x1e94, 0x62, 0x1e07, 0x64, 0x1e0f, 0x68,
- 0x1e96, 0x6b, 0x1e35, 0x6c, 0x1e3b, 0x6e, 0x1e49, 0x72,
- 0x1e5f, 0x74, 0x1e6f, 0x7a, 0x1e95, 0x2c, 0x3c, 0x226e,
- 0x3d, 0x2260, 0x3e, 0x226f, 0x2190, 0x219a, 0x2192, 0x219b,
- 0x2194, 0x21ae, 0x21d0, 0x21cd, 0x21d2, 0x21cf, 0x21d4, 0x21ce,
- 0x2203, 0x2204, 0x2208, 0x2209, 0x220b, 0x220c, 0x2223, 0x2224,
- 0x2225, 0x2226, 0x223c, 0x2241, 0x2243, 0x2244, 0x2245, 0x2247,
- 0x2248, 0x2249, 0x224d, 0x226d, 0x2261, 0x2262, 0x2264, 0x2270,
- 0x2265, 0x2271, 0x2272, 0x2274, 0x2273, 0x2275, 0x2276, 0x2278,
- 0x2277, 0x2279, 0x227a, 0x2280, 0x227b, 0x2281, 0x227c, 0x22e0,
- 0x227d, 0x22e1, 0x2282, 0x2284, 0x2283, 0x2285, 0x2286, 0x2288,
- 0x2287, 0x2289, 0x2291, 0x22e2, 0x2292, 0x22e3, 0x22a2, 0x22ac,
- 0x22a8, 0x22ad, 0x22a9, 0x22ae, 0x22ab, 0x22af, 0x22b2, 0x22ea,
- 0x22b3, 0x22eb, 0x22b4, 0x22ec, 0x22b5, 0x22ed, 0x1d, 0xa8,
- 0x1fc1, 0x3b1, 0x1fb6, 0x3b7, 0x1fc6, 0x3b9, 0x1fd6, 0x3c5,
- 0x1fe6, 0x3c9, 0x1ff6, 0x3ca, 0x1fd7, 0x3cb, 0x1fe7, 0x1f00,
- 0x1f06, 0x1f01, 0x1f07, 0x1f08, 0x1f0e, 0x1f09, 0x1f0f, 0x1f20,
- 0x1f26, 0x1f21, 0x1f27, 0x1f28, 0x1f2e, 0x1f29, 0x1f2f, 0x1f30,
- 0x1f36, 0x1f31, 0x1f37, 0x1f38, 0x1f3e, 0x1f39, 0x1f3f, 0x1f50,
- 0x1f56, 0x1f51, 0x1f57, 0x1f59, 0x1f5f, 0x1f60, 0x1f66, 0x1f61,
- 0x1f67, 0x1f68, 0x1f6e, 0x1f69, 0x1f6f, 0x1fbf, 0x1fcf, 0x1ffe,
- 0x1fdf, 0x3f, 0x391, 0x1fbc, 0x397, 0x1fcc, 0x3a9, 0x1ffc,
- 0x3ac, 0x1fb4, 0x3ae, 0x1fc4, 0x3b1, 0x1fb3, 0x3b7, 0x1fc3,
- 0x3c9, 0x1ff3, 0x3ce, 0x1ff4, 0x1f00, 0x1f80, 0x1f01, 0x1f81,
- 0x1f02, 0x1f82, 0x1f03, 0x1f83, 0x1f04, 0x1f84, 0x1f05, 0x1f85,
- 0x1f06, 0x1f86, 0x1f07, 0x1f87, 0x1f08, 0x1f88, 0x1f09, 0x1f89,
- 0x1f0a, 0x1f8a, 0x1f0b, 0x1f8b, 0x1f0c, 0x1f8c, 0x1f0d, 0x1f8d,
- 0x1f0e, 0x1f8e, 0x1f0f, 0x1f8f, 0x1f20, 0x1f90, 0x1f21, 0x1f91,
- 0x1f22, 0x1f92, 0x1f23, 0x1f93, 0x1f24, 0x1f94, 0x1f25, 0x1f95,
- 0x1f26, 0x1f96, 0x1f27, 0x1f97, 0x1f28, 0x1f98, 0x1f29, 0x1f99,
- 0x1f2a, 0x1f9a, 0x1f2b, 0x1f9b, 0x1f2c, 0x1f9c, 0x1f2d, 0x1f9d,
- 0x1f2e, 0x1f9e, 0x1f2f, 0x1f9f, 0x1f60, 0x1fa0, 0x1f61, 0x1fa1,
- 0x1f62, 0x1fa2, 0x1f63, 0x1fa3, 0x1f64, 0x1fa4, 0x1f65, 0x1fa5,
- 0x1f66, 0x1fa6, 0x1f67, 0x1fa7, 0x1f68, 0x1fa8, 0x1f69, 0x1fa9,
- 0x1f6a, 0x1faa, 0x1f6b, 0x1fab, 0x1f6c, 0x1fac, 0x1f6d, 0x1fad,
- 0x1f6e, 0x1fae, 0x1f6f, 0x1faf, 0x1f70, 0x1fb2, 0x1f74, 0x1fc2,
- 0x1f7c, 0x1ff2, 0x1fb6, 0x1fb7, 0x1fc6, 0x1fc7, 0x1ff6, 0x1ff7,
- 0x1, 0x627, 0x622, 0x6, 0x627, 0x623, 0x648, 0x624,
- 0x64a, 0x626, 0x6c1, 0x6c2, 0x6d2, 0x6d3, 0x6d5, 0x6c0,
- 0x1, 0x627, 0x625, 0x3, 0x928, 0x929, 0x930, 0x931,
- 0x933, 0x934, 0x1, 0x9c7, 0x9cb, 0x1, 0x9c7, 0x9cc,
- 0x1, 0xb47, 0xb4b, 0x1, 0xb47, 0xb48, 0x1, 0xb47,
- 0xb4c, 0x2, 0xbc6, 0xbca, 0xbc7, 0xbcb, 0x2, 0xb92,
- 0xb94, 0xbc6, 0xbcc, 0x1, 0xc46, 0xc48, 0x1, 0xcc6,
- 0xcca, 0x3, 0xcbf, 0xcc0, 0xcc6, 0xcc7, 0xcca, 0xccb,
- 0x1, 0xcc6, 0xcc8, 0x2, 0xd46, 0xd4a, 0xd47, 0xd4b,
- 0x1, 0xd46, 0xd4c, 0x2, 0xdd9, 0xdda, 0xddc, 0xddd,
- 0x1, 0xdd9, 0xddc, 0x1, 0xdd9, 0xdde, 0x1, 0x1025,
- 0x1026, 0xb, 0x1b05, 0x1b06, 0x1b07, 0x1b08, 0x1b09, 0x1b0a,
- 0x1b0b, 0x1b0c, 0x1b0d, 0x1b0e, 0x1b11, 0x1b12, 0x1b3a, 0x1b3b,
- 0x1b3c, 0x1b3d, 0x1b3e, 0x1b40, 0x1b3f, 0x1b41, 0x1b42, 0x1b43,
- 0x30, 0x3046, 0x3094, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
- 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
- 0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
- 0x3060, 0x3061, 0x3062, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068,
- 0x3069, 0x306f, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078,
- 0x3079, 0x307b, 0x307c, 0x309d, 0x309e, 0x30a6, 0x30f4, 0x30ab,
- 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3,
- 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb,
- 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c4,
- 0x30c5, 0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30cf, 0x30d0, 0x30d2,
- 0x30d3, 0x30d5, 0x30d6, 0x30d8, 0x30d9, 0x30db, 0x30dc, 0x30ef,
- 0x30f7, 0x30f0, 0x30f8, 0x30f1, 0x30f9, 0x30f2, 0x30fa, 0x30fd,
- 0x30fe, 0xa, 0x306f, 0x3071, 0x3072, 0x3074, 0x3075, 0x3077,
- 0x3078, 0x307a, 0x307b, 0x307d, 0x30cf, 0x30d1, 0x30d2, 0x30d4,
- 0x30d5, 0x30d7, 0x30d8, 0x30da, 0x30db, 0x30dd,
+ 0x54, 0x41, 0xc0, 0x45, 0xc8, 0x49, 0xcc, 0x4e,
+ 0x1f8, 0x4f, 0xd2, 0x55, 0xd9, 0x57, 0x1e80, 0x59,
+ 0x1ef2, 0x61, 0xe0, 0x65, 0xe8, 0x69, 0xec, 0x6e,
+ 0x1f9, 0x6f, 0xf2, 0x75, 0xf9, 0x77, 0x1e81, 0x79,
+ 0x1ef3, 0xa8, 0x1fed, 0xc2, 0x1ea6, 0xca, 0x1ec0, 0xd4,
+ 0x1ed2, 0xdc, 0x1db, 0xe2, 0x1ea7, 0xea, 0x1ec1, 0xf4,
+ 0x1ed3, 0xfc, 0x1dc, 0x102, 0x1eb0, 0x103, 0x1eb1, 0x112,
+ 0x1e14, 0x113, 0x1e15, 0x14c, 0x1e50, 0x14d, 0x1e51, 0x1a0,
+ 0x1edc, 0x1a1, 0x1edd, 0x1af, 0x1eea, 0x1b0, 0x1eeb, 0x391,
+ 0x1fba, 0x395, 0x1fc8, 0x397, 0x1fca, 0x399, 0x1fda, 0x39f,
+ 0x1ff8, 0x3a5, 0x1fea, 0x3a9, 0x1ffa, 0x3b1, 0x1f70, 0x3b5,
+ 0x1f72, 0x3b7, 0x1f74, 0x3b9, 0x1f76, 0x3bf, 0x1f78, 0x3c5,
+ 0x1f7a, 0x3c9, 0x1f7c, 0x3ca, 0x1fd2, 0x3cb, 0x1fe2, 0x415,
+ 0x400, 0x418, 0x40d, 0x435, 0x450, 0x438, 0x45d, 0x1f00,
+ 0x1f02, 0x1f01, 0x1f03, 0x1f08, 0x1f0a, 0x1f09, 0x1f0b, 0x1f10,
+ 0x1f12, 0x1f11, 0x1f13, 0x1f18, 0x1f1a, 0x1f19, 0x1f1b, 0x1f20,
+ 0x1f22, 0x1f21, 0x1f23, 0x1f28, 0x1f2a, 0x1f29, 0x1f2b, 0x1f30,
+ 0x1f32, 0x1f31, 0x1f33, 0x1f38, 0x1f3a, 0x1f39, 0x1f3b, 0x1f40,
+ 0x1f42, 0x1f41, 0x1f43, 0x1f48, 0x1f4a, 0x1f49, 0x1f4b, 0x1f50,
+ 0x1f52, 0x1f51, 0x1f53, 0x1f59, 0x1f5b, 0x1f60, 0x1f62, 0x1f61,
+ 0x1f63, 0x1f68, 0x1f6a, 0x1f69, 0x1f6b, 0x1fbf, 0x1fcd, 0x1ffe,
+ 0x1fdd, 0x75, 0x41, 0xc1, 0x43, 0x106, 0x45, 0xc9,
+ 0x47, 0x1f4, 0x49, 0xcd, 0x4b, 0x1e30, 0x4c, 0x139,
+ 0x4d, 0x1e3e, 0x4e, 0x143, 0x4f, 0xd3, 0x50, 0x1e54,
+ 0x52, 0x154, 0x53, 0x15a, 0x55, 0xda, 0x57, 0x1e82,
+ 0x59, 0xdd, 0x5a, 0x179, 0x61, 0xe1, 0x63, 0x107,
+ 0x65, 0xe9, 0x67, 0x1f5, 0x69, 0xed, 0x6b, 0x1e31,
+ 0x6c, 0x13a, 0x6d, 0x1e3f, 0x6e, 0x144, 0x6f, 0xf3,
+ 0x70, 0x1e55, 0x72, 0x155, 0x73, 0x15b, 0x75, 0xfa,
+ 0x77, 0x1e83, 0x79, 0xfd, 0x7a, 0x17a, 0xa8, 0x385,
+ 0xc2, 0x1ea4, 0xc5, 0x1fa, 0xc6, 0x1fc, 0xc7, 0x1e08,
+ 0xca, 0x1ebe, 0xcf, 0x1e2e, 0xd4, 0x1ed0, 0xd5, 0x1e4c,
+ 0xd8, 0x1fe, 0xdc, 0x1d7, 0xe2, 0x1ea5, 0xe5, 0x1fb,
+ 0xe6, 0x1fd, 0xe7, 0x1e09, 0xea, 0x1ebf, 0xef, 0x1e2f,
+ 0xf4, 0x1ed1, 0xf5, 0x1e4d, 0xf8, 0x1ff, 0xfc, 0x1d8,
+ 0x102, 0x1eae, 0x103, 0x1eaf, 0x112, 0x1e16, 0x113, 0x1e17,
+ 0x14c, 0x1e52, 0x14d, 0x1e53, 0x168, 0x1e78, 0x169, 0x1e79,
+ 0x1a0, 0x1eda, 0x1a1, 0x1edb, 0x1af, 0x1ee8, 0x1b0, 0x1ee9,
+ 0x391, 0x386, 0x395, 0x388, 0x397, 0x389, 0x399, 0x38a,
+ 0x39f, 0x38c, 0x3a5, 0x38e, 0x3a9, 0x38f, 0x3b1, 0x3ac,
+ 0x3b5, 0x3ad, 0x3b7, 0x3ae, 0x3b9, 0x3af, 0x3bf, 0x3cc,
+ 0x3c5, 0x3cd, 0x3c9, 0x3ce, 0x3ca, 0x390, 0x3cb, 0x3b0,
+ 0x3d2, 0x3d3, 0x413, 0x403, 0x41a, 0x40c, 0x433, 0x453,
+ 0x43a, 0x45c, 0x1f00, 0x1f04, 0x1f01, 0x1f05, 0x1f08, 0x1f0c,
+ 0x1f09, 0x1f0d, 0x1f10, 0x1f14, 0x1f11, 0x1f15, 0x1f18, 0x1f1c,
+ 0x1f19, 0x1f1d, 0x1f20, 0x1f24, 0x1f21, 0x1f25, 0x1f28, 0x1f2c,
+ 0x1f29, 0x1f2d, 0x1f30, 0x1f34, 0x1f31, 0x1f35, 0x1f38, 0x1f3c,
+ 0x1f39, 0x1f3d, 0x1f40, 0x1f44, 0x1f41, 0x1f45, 0x1f48, 0x1f4c,
+ 0x1f49, 0x1f4d, 0x1f50, 0x1f54, 0x1f51, 0x1f55, 0x1f59, 0x1f5d,
+ 0x1f60, 0x1f64, 0x1f61, 0x1f65, 0x1f68, 0x1f6c, 0x1f69, 0x1f6d,
+ 0x1fbf, 0x1fce, 0x1ffe, 0x1fde, 0x20, 0x41, 0xc2, 0x43,
+ 0x108, 0x45, 0xca, 0x47, 0x11c, 0x48, 0x124, 0x49,
+ 0xce, 0x4a, 0x134, 0x4f, 0xd4, 0x53, 0x15c, 0x55,
+ 0xdb, 0x57, 0x174, 0x59, 0x176, 0x5a, 0x1e90, 0x61,
+ 0xe2, 0x63, 0x109, 0x65, 0xea, 0x67, 0x11d, 0x68,
+ 0x125, 0x69, 0xee, 0x6a, 0x135, 0x6f, 0xf4, 0x73,
+ 0x15d, 0x75, 0xfb, 0x77, 0x175, 0x79, 0x177, 0x7a,
+ 0x1e91, 0x1ea0, 0x1eac, 0x1ea1, 0x1ead, 0x1eb8, 0x1ec6, 0x1eb9,
+ 0x1ec7, 0x1ecc, 0x1ed8, 0x1ecd, 0x1ed9, 0x1c, 0x41, 0xc3,
+ 0x45, 0x1ebc, 0x49, 0x128, 0x4e, 0xd1, 0x4f, 0xd5,
+ 0x55, 0x168, 0x56, 0x1e7c, 0x59, 0x1ef8, 0x61, 0xe3,
+ 0x65, 0x1ebd, 0x69, 0x129, 0x6e, 0xf1, 0x6f, 0xf5,
+ 0x75, 0x169, 0x76, 0x1e7d, 0x79, 0x1ef9, 0xc2, 0x1eaa,
+ 0xca, 0x1ec4, 0xd4, 0x1ed6, 0xe2, 0x1eab, 0xea, 0x1ec5,
+ 0xf4, 0x1ed7, 0x102, 0x1eb4, 0x103, 0x1eb5, 0x1a0, 0x1ee0,
+ 0x1a1, 0x1ee1, 0x1af, 0x1eee, 0x1b0, 0x1eef, 0x2c, 0x41,
+ 0x100, 0x45, 0x112, 0x47, 0x1e20, 0x49, 0x12a, 0x4f,
+ 0x14c, 0x55, 0x16a, 0x59, 0x232, 0x61, 0x101, 0x65,
+ 0x113, 0x67, 0x1e21, 0x69, 0x12b, 0x6f, 0x14d, 0x75,
+ 0x16b, 0x79, 0x233, 0xc4, 0x1de, 0xc6, 0x1e2, 0xd5,
+ 0x22c, 0xd6, 0x22a, 0xdc, 0x1d5, 0xe4, 0x1df, 0xe6,
+ 0x1e3, 0xf5, 0x22d, 0xf6, 0x22b, 0xfc, 0x1d6, 0x1ea,
+ 0x1ec, 0x1eb, 0x1ed, 0x226, 0x1e0, 0x227, 0x1e1, 0x22e,
+ 0x230, 0x22f, 0x231, 0x391, 0x1fb9, 0x399, 0x1fd9, 0x3a5,
+ 0x1fe9, 0x3b1, 0x1fb1, 0x3b9, 0x1fd1, 0x3c5, 0x1fe1, 0x418,
+ 0x4e2, 0x423, 0x4ee, 0x438, 0x4e3, 0x443, 0x4ef, 0x1e36,
+ 0x1e38, 0x1e37, 0x1e39, 0x1e5a, 0x1e5c, 0x1e5b, 0x1e5d, 0x20,
+ 0x41, 0x102, 0x45, 0x114, 0x47, 0x11e, 0x49, 0x12c,
+ 0x4f, 0x14e, 0x55, 0x16c, 0x61, 0x103, 0x65, 0x115,
+ 0x67, 0x11f, 0x69, 0x12d, 0x6f, 0x14f, 0x75, 0x16d,
+ 0x228, 0x1e1c, 0x229, 0x1e1d, 0x391, 0x1fb8, 0x399, 0x1fd8,
+ 0x3a5, 0x1fe8, 0x3b1, 0x1fb0, 0x3b9, 0x1fd0, 0x3c5, 0x1fe0,
+ 0x410, 0x4d0, 0x415, 0x4d6, 0x416, 0x4c1, 0x418, 0x419,
+ 0x423, 0x40e, 0x430, 0x4d1, 0x435, 0x4d7, 0x436, 0x4c2,
+ 0x438, 0x439, 0x443, 0x45e, 0x1ea0, 0x1eb6, 0x1ea1, 0x1eb7,
+ 0x2e, 0x41, 0x226, 0x42, 0x1e02, 0x43, 0x10a, 0x44,
+ 0x1e0a, 0x45, 0x116, 0x46, 0x1e1e, 0x47, 0x120, 0x48,
+ 0x1e22, 0x49, 0x130, 0x4d, 0x1e40, 0x4e, 0x1e44, 0x4f,
+ 0x22e, 0x50, 0x1e56, 0x52, 0x1e58, 0x53, 0x1e60, 0x54,
+ 0x1e6a, 0x57, 0x1e86, 0x58, 0x1e8a, 0x59, 0x1e8e, 0x5a,
+ 0x17b, 0x61, 0x227, 0x62, 0x1e03, 0x63, 0x10b, 0x64,
+ 0x1e0b, 0x65, 0x117, 0x66, 0x1e1f, 0x67, 0x121, 0x68,
+ 0x1e23, 0x6d, 0x1e41, 0x6e, 0x1e45, 0x6f, 0x22f, 0x70,
+ 0x1e57, 0x72, 0x1e59, 0x73, 0x1e61, 0x74, 0x1e6b, 0x77,
+ 0x1e87, 0x78, 0x1e8b, 0x79, 0x1e8f, 0x7a, 0x17c, 0x15a,
+ 0x1e64, 0x15b, 0x1e65, 0x160, 0x1e66, 0x161, 0x1e67, 0x17f,
+ 0x1e9b, 0x1e62, 0x1e68, 0x1e63, 0x1e69, 0x36, 0x41, 0xc4,
+ 0x45, 0xcb, 0x48, 0x1e26, 0x49, 0xcf, 0x4f, 0xd6,
+ 0x55, 0xdc, 0x57, 0x1e84, 0x58, 0x1e8c, 0x59, 0x178,
+ 0x61, 0xe4, 0x65, 0xeb, 0x68, 0x1e27, 0x69, 0xef,
+ 0x6f, 0xf6, 0x74, 0x1e97, 0x75, 0xfc, 0x77, 0x1e85,
+ 0x78, 0x1e8d, 0x79, 0xff, 0xd5, 0x1e4e, 0xf5, 0x1e4f,
+ 0x16a, 0x1e7a, 0x16b, 0x1e7b, 0x399, 0x3aa, 0x3a5, 0x3ab,
+ 0x3b9, 0x3ca, 0x3c5, 0x3cb, 0x3d2, 0x3d4, 0x406, 0x407,
+ 0x410, 0x4d2, 0x415, 0x401, 0x416, 0x4dc, 0x417, 0x4de,
+ 0x418, 0x4e4, 0x41e, 0x4e6, 0x423, 0x4f0, 0x427, 0x4f4,
+ 0x42b, 0x4f8, 0x42d, 0x4ec, 0x430, 0x4d3, 0x435, 0x451,
+ 0x436, 0x4dd, 0x437, 0x4df, 0x438, 0x4e5, 0x43e, 0x4e7,
+ 0x443, 0x4f1, 0x447, 0x4f5, 0x44b, 0x4f9, 0x44d, 0x4ed,
+ 0x456, 0x457, 0x4d8, 0x4da, 0x4d9, 0x4db, 0x4e8, 0x4ea,
+ 0x4e9, 0x4eb, 0x18, 0x41, 0x1ea2, 0x45, 0x1eba, 0x49,
+ 0x1ec8, 0x4f, 0x1ece, 0x55, 0x1ee6, 0x59, 0x1ef6, 0x61,
+ 0x1ea3, 0x65, 0x1ebb, 0x69, 0x1ec9, 0x6f, 0x1ecf, 0x75,
+ 0x1ee7, 0x79, 0x1ef7, 0xc2, 0x1ea8, 0xca, 0x1ec2, 0xd4,
+ 0x1ed4, 0xe2, 0x1ea9, 0xea, 0x1ec3, 0xf4, 0x1ed5, 0x102,
+ 0x1eb2, 0x103, 0x1eb3, 0x1a0, 0x1ede, 0x1a1, 0x1edf, 0x1af,
+ 0x1eec, 0x1b0, 0x1eed, 0x6, 0x41, 0xc5, 0x55, 0x16e,
+ 0x61, 0xe5, 0x75, 0x16f, 0x77, 0x1e98, 0x79, 0x1e99,
+ 0x6, 0x4f, 0x150, 0x55, 0x170, 0x6f, 0x151, 0x75,
+ 0x171, 0x423, 0x4f2, 0x443, 0x4f3, 0x25, 0x41, 0x1cd,
+ 0x43, 0x10c, 0x44, 0x10e, 0x45, 0x11a, 0x47, 0x1e6,
+ 0x48, 0x21e, 0x49, 0x1cf, 0x4b, 0x1e8, 0x4c, 0x13d,
+ 0x4e, 0x147, 0x4f, 0x1d1, 0x52, 0x158, 0x53, 0x160,
+ 0x54, 0x164, 0x55, 0x1d3, 0x5a, 0x17d, 0x61, 0x1ce,
+ 0x63, 0x10d, 0x64, 0x10f, 0x65, 0x11b, 0x67, 0x1e7,
+ 0x68, 0x21f, 0x69, 0x1d0, 0x6a, 0x1f0, 0x6b, 0x1e9,
+ 0x6c, 0x13e, 0x6e, 0x148, 0x6f, 0x1d2, 0x72, 0x159,
+ 0x73, 0x161, 0x74, 0x165, 0x75, 0x1d4, 0x7a, 0x17e,
+ 0xdc, 0x1d9, 0xfc, 0x1da, 0x1b7, 0x1ee, 0x292, 0x1ef,
+ 0xe, 0x41, 0x200, 0x45, 0x204, 0x49, 0x208, 0x4f,
+ 0x20c, 0x52, 0x210, 0x55, 0x214, 0x61, 0x201, 0x65,
+ 0x205, 0x69, 0x209, 0x6f, 0x20d, 0x72, 0x211, 0x75,
+ 0x215, 0x474, 0x476, 0x475, 0x477, 0xc, 0x41, 0x202,
+ 0x45, 0x206, 0x49, 0x20a, 0x4f, 0x20e, 0x52, 0x212,
+ 0x55, 0x216, 0x61, 0x203, 0x65, 0x207, 0x69, 0x20b,
+ 0x6f, 0x20f, 0x72, 0x213, 0x75, 0x217, 0xe, 0x391,
+ 0x1f08, 0x395, 0x1f18, 0x397, 0x1f28, 0x399, 0x1f38, 0x39f,
+ 0x1f48, 0x3a9, 0x1f68, 0x3b1, 0x1f00, 0x3b5, 0x1f10, 0x3b7,
+ 0x1f20, 0x3b9, 0x1f30, 0x3bf, 0x1f40, 0x3c1, 0x1fe4, 0x3c5,
+ 0x1f50, 0x3c9, 0x1f60, 0x10, 0x391, 0x1f09, 0x395, 0x1f19,
+ 0x397, 0x1f29, 0x399, 0x1f39, 0x39f, 0x1f49, 0x3a1, 0x1fec,
+ 0x3a5, 0x1f59, 0x3a9, 0x1f69, 0x3b1, 0x1f01, 0x3b5, 0x1f11,
+ 0x3b7, 0x1f21, 0x3b9, 0x1f31, 0x3bf, 0x1f41, 0x3c1, 0x1fe5,
+ 0x3c5, 0x1f51, 0x3c9, 0x1f61, 0x4, 0x4f, 0x1a0, 0x55,
+ 0x1af, 0x6f, 0x1a1, 0x75, 0x1b0, 0x2a, 0x41, 0x1ea0,
+ 0x42, 0x1e04, 0x44, 0x1e0c, 0x45, 0x1eb8, 0x48, 0x1e24,
+ 0x49, 0x1eca, 0x4b, 0x1e32, 0x4c, 0x1e36, 0x4d, 0x1e42,
+ 0x4e, 0x1e46, 0x4f, 0x1ecc, 0x52, 0x1e5a, 0x53, 0x1e62,
+ 0x54, 0x1e6c, 0x55, 0x1ee4, 0x56, 0x1e7e, 0x57, 0x1e88,
+ 0x59, 0x1ef4, 0x5a, 0x1e92, 0x61, 0x1ea1, 0x62, 0x1e05,
+ 0x64, 0x1e0d, 0x65, 0x1eb9, 0x68, 0x1e25, 0x69, 0x1ecb,
+ 0x6b, 0x1e33, 0x6c, 0x1e37, 0x6d, 0x1e43, 0x6e, 0x1e47,
+ 0x6f, 0x1ecd, 0x72, 0x1e5b, 0x73, 0x1e63, 0x74, 0x1e6d,
+ 0x75, 0x1ee5, 0x76, 0x1e7f, 0x77, 0x1e89, 0x79, 0x1ef5,
+ 0x7a, 0x1e93, 0x1a0, 0x1ee2, 0x1a1, 0x1ee3, 0x1af, 0x1ef0,
+ 0x1b0, 0x1ef1, 0x2, 0x55, 0x1e72, 0x75, 0x1e73, 0x2,
+ 0x41, 0x1e00, 0x61, 0x1e01, 0x4, 0x53, 0x218, 0x54,
+ 0x21a, 0x73, 0x219, 0x74, 0x21b, 0x16, 0x43, 0xc7,
+ 0x44, 0x1e10, 0x45, 0x228, 0x47, 0x122, 0x48, 0x1e28,
+ 0x4b, 0x136, 0x4c, 0x13b, 0x4e, 0x145, 0x52, 0x156,
+ 0x53, 0x15e, 0x54, 0x162, 0x63, 0xe7, 0x64, 0x1e11,
+ 0x65, 0x229, 0x67, 0x123, 0x68, 0x1e29, 0x6b, 0x137,
+ 0x6c, 0x13c, 0x6e, 0x146, 0x72, 0x157, 0x73, 0x15f,
+ 0x74, 0x163, 0xa, 0x41, 0x104, 0x45, 0x118, 0x49,
+ 0x12e, 0x4f, 0x1ea, 0x55, 0x172, 0x61, 0x105, 0x65,
+ 0x119, 0x69, 0x12f, 0x6f, 0x1eb, 0x75, 0x173, 0xc,
+ 0x44, 0x1e12, 0x45, 0x1e18, 0x4c, 0x1e3c, 0x4e, 0x1e4a,
+ 0x54, 0x1e70, 0x55, 0x1e76, 0x64, 0x1e13, 0x65, 0x1e19,
+ 0x6c, 0x1e3d, 0x6e, 0x1e4b, 0x74, 0x1e71, 0x75, 0x1e77,
+ 0x2, 0x48, 0x1e2a, 0x68, 0x1e2b, 0x6, 0x45, 0x1e1a,
+ 0x49, 0x1e2c, 0x55, 0x1e74, 0x65, 0x1e1b, 0x69, 0x1e2d,
+ 0x75, 0x1e75, 0x11, 0x42, 0x1e06, 0x44, 0x1e0e, 0x4b,
+ 0x1e34, 0x4c, 0x1e3a, 0x4e, 0x1e48, 0x52, 0x1e5e, 0x54,
+ 0x1e6e, 0x5a, 0x1e94, 0x62, 0x1e07, 0x64, 0x1e0f, 0x68,
+ 0x1e96, 0x6b, 0x1e35, 0x6c, 0x1e3b, 0x6e, 0x1e49, 0x72,
+ 0x1e5f, 0x74, 0x1e6f, 0x7a, 0x1e95, 0x2c, 0x3c, 0x226e,
+ 0x3d, 0x2260, 0x3e, 0x226f, 0x2190, 0x219a, 0x2192, 0x219b,
+ 0x2194, 0x21ae, 0x21d0, 0x21cd, 0x21d2, 0x21cf, 0x21d4, 0x21ce,
+ 0x2203, 0x2204, 0x2208, 0x2209, 0x220b, 0x220c, 0x2223, 0x2224,
+ 0x2225, 0x2226, 0x223c, 0x2241, 0x2243, 0x2244, 0x2245, 0x2247,
+ 0x2248, 0x2249, 0x224d, 0x226d, 0x2261, 0x2262, 0x2264, 0x2270,
+ 0x2265, 0x2271, 0x2272, 0x2274, 0x2273, 0x2275, 0x2276, 0x2278,
+ 0x2277, 0x2279, 0x227a, 0x2280, 0x227b, 0x2281, 0x227c, 0x22e0,
+ 0x227d, 0x22e1, 0x2282, 0x2284, 0x2283, 0x2285, 0x2286, 0x2288,
+ 0x2287, 0x2289, 0x2291, 0x22e2, 0x2292, 0x22e3, 0x22a2, 0x22ac,
+ 0x22a8, 0x22ad, 0x22a9, 0x22ae, 0x22ab, 0x22af, 0x22b2, 0x22ea,
+ 0x22b3, 0x22eb, 0x22b4, 0x22ec, 0x22b5, 0x22ed, 0x1d, 0xa8,
+ 0x1fc1, 0x3b1, 0x1fb6, 0x3b7, 0x1fc6, 0x3b9, 0x1fd6, 0x3c5,
+ 0x1fe6, 0x3c9, 0x1ff6, 0x3ca, 0x1fd7, 0x3cb, 0x1fe7, 0x1f00,
+ 0x1f06, 0x1f01, 0x1f07, 0x1f08, 0x1f0e, 0x1f09, 0x1f0f, 0x1f20,
+ 0x1f26, 0x1f21, 0x1f27, 0x1f28, 0x1f2e, 0x1f29, 0x1f2f, 0x1f30,
+ 0x1f36, 0x1f31, 0x1f37, 0x1f38, 0x1f3e, 0x1f39, 0x1f3f, 0x1f50,
+ 0x1f56, 0x1f51, 0x1f57, 0x1f59, 0x1f5f, 0x1f60, 0x1f66, 0x1f61,
+ 0x1f67, 0x1f68, 0x1f6e, 0x1f69, 0x1f6f, 0x1fbf, 0x1fcf, 0x1ffe,
+ 0x1fdf, 0x3f, 0x391, 0x1fbc, 0x397, 0x1fcc, 0x3a9, 0x1ffc,
+ 0x3ac, 0x1fb4, 0x3ae, 0x1fc4, 0x3b1, 0x1fb3, 0x3b7, 0x1fc3,
+ 0x3c9, 0x1ff3, 0x3ce, 0x1ff4, 0x1f00, 0x1f80, 0x1f01, 0x1f81,
+ 0x1f02, 0x1f82, 0x1f03, 0x1f83, 0x1f04, 0x1f84, 0x1f05, 0x1f85,
+ 0x1f06, 0x1f86, 0x1f07, 0x1f87, 0x1f08, 0x1f88, 0x1f09, 0x1f89,
+ 0x1f0a, 0x1f8a, 0x1f0b, 0x1f8b, 0x1f0c, 0x1f8c, 0x1f0d, 0x1f8d,
+ 0x1f0e, 0x1f8e, 0x1f0f, 0x1f8f, 0x1f20, 0x1f90, 0x1f21, 0x1f91,
+ 0x1f22, 0x1f92, 0x1f23, 0x1f93, 0x1f24, 0x1f94, 0x1f25, 0x1f95,
+ 0x1f26, 0x1f96, 0x1f27, 0x1f97, 0x1f28, 0x1f98, 0x1f29, 0x1f99,
+ 0x1f2a, 0x1f9a, 0x1f2b, 0x1f9b, 0x1f2c, 0x1f9c, 0x1f2d, 0x1f9d,
+ 0x1f2e, 0x1f9e, 0x1f2f, 0x1f9f, 0x1f60, 0x1fa0, 0x1f61, 0x1fa1,
+ 0x1f62, 0x1fa2, 0x1f63, 0x1fa3, 0x1f64, 0x1fa4, 0x1f65, 0x1fa5,
+ 0x1f66, 0x1fa6, 0x1f67, 0x1fa7, 0x1f68, 0x1fa8, 0x1f69, 0x1fa9,
+ 0x1f6a, 0x1faa, 0x1f6b, 0x1fab, 0x1f6c, 0x1fac, 0x1f6d, 0x1fad,
+ 0x1f6e, 0x1fae, 0x1f6f, 0x1faf, 0x1f70, 0x1fb2, 0x1f74, 0x1fc2,
+ 0x1f7c, 0x1ff2, 0x1fb6, 0x1fb7, 0x1fc6, 0x1fc7, 0x1ff6, 0x1ff7,
+ 0x1, 0x627, 0x622, 0x6, 0x627, 0x623, 0x648, 0x624,
+ 0x64a, 0x626, 0x6c1, 0x6c2, 0x6d2, 0x6d3, 0x6d5, 0x6c0,
+ 0x1, 0x627, 0x625, 0x3, 0x928, 0x929, 0x930, 0x931,
+ 0x933, 0x934, 0x1, 0x9c7, 0x9cb, 0x1, 0x9c7, 0x9cc,
+ 0x1, 0xb47, 0xb4b, 0x1, 0xb47, 0xb48, 0x1, 0xb47,
+ 0xb4c, 0x2, 0xbc6, 0xbca, 0xbc7, 0xbcb, 0x2, 0xb92,
+ 0xb94, 0xbc6, 0xbcc, 0x1, 0xc46, 0xc48, 0x1, 0xcc6,
+ 0xcca, 0x3, 0xcbf, 0xcc0, 0xcc6, 0xcc7, 0xcca, 0xccb,
+ 0x1, 0xcc6, 0xcc8, 0x2, 0xd46, 0xd4a, 0xd47, 0xd4b,
+ 0x1, 0xd46, 0xd4c, 0x2, 0xdd9, 0xdda, 0xddc, 0xddd,
+ 0x1, 0xdd9, 0xddc, 0x1, 0xdd9, 0xdde, 0x1, 0x1025,
+ 0x1026, 0xb, 0x1b05, 0x1b06, 0x1b07, 0x1b08, 0x1b09, 0x1b0a,
+ 0x1b0b, 0x1b0c, 0x1b0d, 0x1b0e, 0x1b11, 0x1b12, 0x1b3a, 0x1b3b,
+ 0x1b3c, 0x1b3d, 0x1b3e, 0x1b40, 0x1b3f, 0x1b41, 0x1b42, 0x1b43,
+ 0x30, 0x3046, 0x3094, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
+ 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
+ 0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
+ 0x3060, 0x3061, 0x3062, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068,
+ 0x3069, 0x306f, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078,
+ 0x3079, 0x307b, 0x307c, 0x309d, 0x309e, 0x30a6, 0x30f4, 0x30ab,
+ 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3,
+ 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb,
+ 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c4,
+ 0x30c5, 0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30cf, 0x30d0, 0x30d2,
+ 0x30d3, 0x30d5, 0x30d6, 0x30d8, 0x30d9, 0x30db, 0x30dc, 0x30ef,
+ 0x30f7, 0x30f0, 0x30f8, 0x30f1, 0x30f9, 0x30f2, 0x30fa, 0x30fd,
+ 0x30fe, 0xa, 0x306f, 0x3071, 0x3072, 0x3074, 0x3075, 0x3077,
+ 0x3078, 0x307a, 0x307b, 0x307d, 0x30cf, 0x30d1, 0x30d2, 0x30d4,
+ 0x30d5, 0x30d7, 0x30d8, 0x30da, 0x30db, 0x30dd,
};
struct NormalizationCorrection {
diff --git a/src/corelib/tools/qunicodetables_p.h b/src/corelib/tools/qunicodetables_p.h
index c1ed316..9dab43c 100644
--- a/src/corelib/tools/qunicodetables_p.h
+++ b/src/corelib/tools/qunicodetables_p.h
@@ -81,8 +81,8 @@ namespace QUnicodeTables {
ushort wordBreak : 8;
ushort sentenceBreak : 8;
};
- Q_CORE_EXPORT const Properties* QT_FASTCALL properties(uint ucs4);
- Q_CORE_EXPORT const Properties* QT_FASTCALL properties(ushort ucs2);
+ Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);
+ Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);
// See http://www.unicode.org/reports/tr24/tr24-5.html
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index 6777aa5..14cadd9 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -973,8 +973,15 @@ QDBusConnection QDBusConnection::systemBus()
}
/*!
+ \nonreentrant
+
Returns the connection that sent the signal, if called in a slot activated
by QDBus; otherwise it returns 0.
+
+ \note Please avoid this function. This function is not thread-safe, so if
+ there's any other thread delivering a D-Bus call, this function may return
+ the wrong connection. In new code, please use QDBusContext::connection()
+ (see that class for a description on how to use it).
*/
QDBusConnection QDBusConnection::sender()
{
diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp
index 47dd34b..9150295 100644
--- a/src/dbus/qdbusmessage.cpp
+++ b/src/dbus/qdbusmessage.cpp
@@ -108,8 +108,11 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
//qDebug() << "QDBusMessagePrivate::toDBusMessage" << "message is invalid";
break;
case DBUS_MESSAGE_TYPE_METHOD_CALL:
- msg = q_dbus_message_new_method_call(data(d_ptr->service.toUtf8()), data(d_ptr->path.toUtf8()),
- data(d_ptr->interface.toUtf8()), data(d_ptr->name.toUtf8()));
+ // only interface can be empty
+ if (d_ptr->service.isEmpty() || d_ptr->path.isEmpty() || d_ptr->name.isEmpty())
+ break;
+ msg = q_dbus_message_new_method_call(d_ptr->service.toUtf8(), d_ptr->path.toUtf8(),
+ data(d_ptr->interface.toUtf8()), d_ptr->name.toUtf8());
break;
case DBUS_MESSAGE_TYPE_METHOD_RETURN:
msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN);
@@ -119,16 +122,22 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
}
break;
case DBUS_MESSAGE_TYPE_ERROR:
+ // error name can't be empty
+ if (d_ptr->name.isEmpty())
+ break;
msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_ERROR);
- q_dbus_message_set_error_name(msg, data(d_ptr->name.toUtf8()));
+ q_dbus_message_set_error_name(msg, d_ptr->name.toUtf8());
if (!d_ptr->localMessage) {
q_dbus_message_set_destination(msg, q_dbus_message_get_sender(d_ptr->reply));
q_dbus_message_set_reply_serial(msg, q_dbus_message_get_serial(d_ptr->reply));
}
break;
case DBUS_MESSAGE_TYPE_SIGNAL:
- msg = q_dbus_message_new_signal(data(d_ptr->path.toUtf8()), data(d_ptr->interface.toUtf8()),
- data(d_ptr->name.toUtf8()));
+ // nothing can be empty here
+ if (d_ptr->path.isEmpty() || d_ptr->interface.isEmpty() || d_ptr->name.isEmpty())
+ break;
+ msg = q_dbus_message_new_signal(d_ptr->path.toUtf8(), d_ptr->interface.toUtf8(),
+ d_ptr->name.toUtf8());
break;
default:
Q_ASSERT(false);
diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp
index d5d3940..1a7c6c7 100644
--- a/src/gui/dialogs/qfilesystemmodel.cpp
+++ b/src/gui/dialogs/qfilesystemmodel.cpp
@@ -1953,4 +1953,4 @@ QT_END_NAMESPACE
#include "moc_qfilesystemmodel.cpp"
-#endif // QT_NO_FILESYSTEMMODEL \ No newline at end of file
+#endif // QT_NO_FILESYSTEMMODEL
diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp
index cd8d83f..15a48c2 100644
--- a/src/gui/dialogs/qprogressdialog.cpp
+++ b/src/gui/dialogs/qprogressdialog.cpp
@@ -626,7 +626,7 @@ int QProgressDialog::value() const
\warning If the progress dialog is modal
(see QProgressDialog::QProgressDialog()),
- this function calls QApplication::processEvents(), so take care that
+ setValue() calls QApplication::processEvents(), so take care that
this does not cause undesirable re-entrancy in your code. For example,
don't use a QProgressDialog inside a paintEvent()!
diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp
index 3fdea54..5365889 100644
--- a/src/gui/dialogs/qwizard.cpp
+++ b/src/gui/dialogs/qwizard.cpp
@@ -83,7 +83,7 @@ const int ModernHeaderTopMargin = 2;
const int ClassicHMargin = 4;
const int MacButtonTopMargin = 13;
const int MacLayoutLeftMargin = 20;
-const int MacLayoutTopMargin = 14;
+//const int MacLayoutTopMargin = 14; // Unused. Save some space and avoid warning.
const int MacLayoutRightMargin = 20;
const int MacLayoutBottomMargin = 17;
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 9e70cff..b153080 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -629,7 +629,7 @@ void QCoeFepInputContext::GetEditorContentForFep(TDes& aEditorContent, TInt aDoc
aEditorContent.Copy(qt_QString2TPtrC(text.mid(aDocumentPosition, aLengthToRetrieve)));
}
-void QCoeFepInputContext::GetFormatForFep(TCharFormat& aFormat, TInt aDocumentPosition) const
+void QCoeFepInputContext::GetFormatForFep(TCharFormat& aFormat, TInt /* aDocumentPosition */) const
{
QWidget *w = focusWidget();
if (!w)
@@ -641,12 +641,10 @@ void QCoeFepInputContext::GetFormatForFep(TCharFormat& aFormat, TInt aDocumentPo
QString name = font.defaultFamily(); // TODO! FIXME! Should be the above.
QHBufC hBufC(name);
aFormat = TCharFormat(hBufC->Des(), metrics.height());
-
- aDocumentPosition = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
}
void QCoeFepInputContext::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLine, TInt& aHeight,
- TInt& aAscent, TInt aDocumentPosition) const
+ TInt& aAscent, TInt /* aDocumentPosition */) const
{
QWidget *w = focusWidget();
if (!w)
@@ -660,8 +658,6 @@ void QCoeFepInputContext::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLin
QFontMetrics metrics(font);
aHeight = metrics.height();
aAscent = metrics.ascent();
-
- aDocumentPosition = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
}
void QCoeFepInputContext::DoCommitFepInlineEditL()
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index 2a87f1e..233150c 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -2823,16 +2823,12 @@ void QHeaderViewPrivate::setupSectionIndicator(int section, int position)
sectionIndicator = new QLabel(viewport);
}
- int x, y, w, h;
+ int w, h;
int p = q->sectionViewportPosition(section);
if (orientation == Qt::Horizontal) {
- x = p;
- y = 0;
w = q->sectionSize(section);
h = viewport->height();
} else {
- x = 0;
- y = p;
w = viewport->width();
h = q->sectionSize(section);
}
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index 9e92557..74f5da2 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -574,7 +574,7 @@ void QItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) con
}
/*!
- Gets data drom the \a editor widget and stores it in the specified
+ Gets data from the \a editor widget and stores it in the specified
\a model at the item \a index.
The default implementation gets the value to be stored in the data
diff --git a/src/gui/itemviews/qstyleditemdelegate.cpp b/src/gui/itemviews/qstyleditemdelegate.cpp
index 29cdf38..e79dafe 100644
--- a/src/gui/itemviews/qstyleditemdelegate.cpp
+++ b/src/gui/itemviews/qstyleditemdelegate.cpp
@@ -508,7 +508,7 @@ void QStyledItemDelegate::setEditorData(QWidget *editor, const QModelIndex &inde
}
/*!
- Gets data drom the \a editor widget and stores it in the specified
+ Gets data from the \a editor widget and stores it in the specified
\a model at the item \a index.
The default implementation gets the value to be stored in the data
diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp
index d89b92b..fe40ea8 100644
--- a/src/gui/kernel/qaction.cpp
+++ b/src/gui/kernel/qaction.cpp
@@ -257,7 +257,9 @@ void QActionPrivate::setShortcutEnabled(bool enable, QShortcutMap &map)
as described in the QMenuBar documentation.
\value ApplicationSpecificRole This action should be put in the application menu with an application specific role
\value AboutQtRole This action matches handles the "About Qt" menu item.
- \value AboutRole This action should be placed where the "About" menu item is in the application menu.
+ \value AboutRole This action should be placed where the "About" menu item is in the application menu. The text of
+ the menu item will be set to "About <application name>". The application name is fetched from the
+ \c{Info.plist} file in the application's bundle (See \l{Deploying an Application on Mac OS X}).
\value PreferencesRole This action should be placed where the "Preferences..." menu item is in the application menu.
\value QuitRole This action should be placed where the Quit menu item is in the application menu.
*/
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 7fee0e3..04cdcd2 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -3816,6 +3816,13 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
Qt::MouseFocusReason);
}
+ // ### Qt 5 These dynamic tool tips should be an OPT-IN feature. Some platforms
+ // like Mac OS X (probably others too), can optimize their views by not
+ // dispatching mouse move events. We have attributes to control hover,
+ // and mouse tracking, but as long as we are deciding to implement this
+ // feature without choice of opting-in or out, you ALWAYS have to have
+ // tracking enabled. Therefore, the other properties give a false sense of
+ // performance enhancement.
if (e->type() == QEvent::MouseMove && mouse->buttons() == 0) {
d->toolTipWidget = w;
d->toolTipPos = relpos;
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index ad9f220..b1aa75f 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -1316,8 +1316,13 @@ void QApplication::setOverrideCursor(const QCursor &cursor)
{
qApp->d_func()->cursor_list.prepend(cursor);
+#ifdef QT_MAC_USE_COCOA
+ QMacCocoaAutoReleasePool pool;
+ [static_cast<NSCursor *>(qt_mac_nsCursorForQCursor(cursor)) push];
+#else
if (qApp && qApp->activeWindow())
qt_mac_set_cursor(&qApp->d_func()->cursor_list.first(), QCursor::pos());
+#endif
}
void QApplication::restoreOverrideCursor()
@@ -1326,12 +1331,17 @@ void QApplication::restoreOverrideCursor()
return;
qApp->d_func()->cursor_list.removeFirst();
+#ifdef QT_MAC_USE_COCOA
+ QMacCocoaAutoReleasePool pool;
+ [NSCursor pop];
+#else
if (qApp && qApp->activeWindow()) {
const QCursor def(Qt::ArrowCursor);
qt_mac_set_cursor(qApp->d_func()->cursor_list.isEmpty() ? &def : &qApp->d_func()->cursor_list.first(), QCursor::pos());
}
-}
#endif
+}
+#endif // QT_NO_CURSOR
QWidget *QApplication::topLevelAt(const QPoint &p)
{
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 387a123..caa7075 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -72,7 +72,6 @@
QT_BEGIN_NAMESPACE
-static WId autoGrabWindow = 0; // Not the same as QWidget::grab*()
#if defined(QT_DEBUG)
static bool appNoGrab = false; // Grabbing enabled
#endif
@@ -105,12 +104,12 @@ private:
void MatoPrepareComplete(TInt aError);
void MatoPlayComplete(TInt aError);
private:
- typedef enum TBeepState
+ typedef enum
{
EBeepNotPrepared,
EBeepPrepared,
EBeepPlaying
- };
+ } TBeepState;
private:
CMdaAudioToneUtility* iToneUtil;
TBeepState iState;
@@ -416,7 +415,7 @@ void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
events.append(Event(alienWidget,mEvent));
QEventDispatcherS60 *dispatcher;
// It is theoretically possible for someone to install a different event dispatcher.
- if (dispatcher = qobject_cast<QEventDispatcherS60 *>(alienWidget->d_func()->threadData->eventDispatcher)) {
+ if ((dispatcher = qobject_cast<QEventDispatcherS60 *>(alienWidget->d_func()->threadData->eventDispatcher)) != 0) {
if (dispatcher->excludeUserInputEvents()) {
for (int i=0;i < events.count();++i)
{
@@ -509,7 +508,7 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod
QEventDispatcherS60 *dispatcher;
// It is theoretically possible for someone to install a different event dispatcher.
- if (dispatcher = qobject_cast<QEventDispatcherS60 *>(widget->d_func()->threadData->eventDispatcher)) {
+ if ((dispatcher = qobject_cast<QEventDispatcherS60 *>(widget->d_func()->threadData->eventDispatcher)) != 0) {
if (dispatcher->excludeUserInputEvents()) {
dispatcher->saveInputEvent(this, widget, new QKeyEventEx(qKeyEvent));
return EKeyWasConsumed;
@@ -650,7 +649,7 @@ void QSymbianControl::PositionChanged()
}
}
-void QSymbianControl::FocusChanged(TDrawNow aDrawNow)
+void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */)
{
if (m_ignoreFocusChanged)
return;
@@ -660,20 +659,8 @@ void QSymbianControl::FocusChanged(TDrawNow aDrawNow)
|| (qwidget->windowType() & Qt::Popup) == Qt::Popup)
return;
- if (IsFocused()) {
- QApplication::setActiveWindow(qwidget);
- // If widget is fullscreen, hide status pane and button container
- // otherwise show them.
- CEikStatusPane* statusPane = S60->statusPane();
- CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer();
- bool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen;
- if (statusPane && (statusPane->IsVisible() == isFullscreen))
- statusPane->MakeVisible(!isFullscreen);
- if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen))
- buttonGroup->MakeVisible(!isFullscreen);
- } else {
- QApplication::setActiveWindow(0);
- }
+ QEvent *deferredFocusEvent = new QEvent(QEvent::SymbianDeferredFocusChanged);
+ QApplication::postEvent(qwidget, deferredFocusEvent);
}
void QSymbianControl::HandleResourceChange(int resourceType)
@@ -715,7 +702,7 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id)
return CCoeControl::MopSupplyObject(id);
}
-void qt_init(QApplicationPrivate *priv, int)
+void qt_init(QApplicationPrivate * /* priv */, int)
{
S60 = new QS60Data;
@@ -800,12 +787,12 @@ bool QApplicationPrivate::modalState()
return false;
}
-void QApplicationPrivate::enterModal_sys(QWidget *widget)
+void QApplicationPrivate::enterModal_sys(QWidget * /* widget */)
{
// TODO: Implement QApplicationPrivate::enterModal_sys(QWidget *widget)
}
-void QApplicationPrivate::leaveModal_sys(QWidget *widget)
+void QApplicationPrivate::leaveModal_sys(QWidget * /* widget */)
{
// TODO: Implement QApplicationPrivate::leaveModal_sys(QWidget *widget)
}
@@ -821,7 +808,6 @@ void QApplicationPrivate::openPopup(QWidget *popup)
WId id = popup->effectiveWinId();
id->SetPointerCapture(true);
id->SetGloballyCapturing(true);
- autoGrabWindow = id;
}
// popups are not focus-handled by the window system (the first
@@ -858,7 +844,6 @@ void QApplicationPrivate::closePopup(QWidget *popup)
if (QWidgetPrivate::mouseGrabber != 0)
QWidgetPrivate::mouseGrabber->grabMouse();
- autoGrabWindow = 0;
if (QWidgetPrivate::keyboardGrabber != 0)
QWidgetPrivate::keyboardGrabber->grabKeyboard();
@@ -910,7 +895,7 @@ QWidget * QApplication::topLevelAt(QPoint const& point)
return found;
}
-void QApplication::alert(QWidget *widget, int duration)
+void QApplication::alert(QWidget * /* widget */, int /* duration */)
{
// TODO: Implement QApplication::alert(QWidget *widget, int duration)
}
@@ -1052,7 +1037,7 @@ int QApplication::s60ProcessEvent(TWsEvent *event)
return 0;
}
-bool QApplication::s60EventFilter(TWsEvent *aEvent)
+bool QApplication::s60EventFilter(TWsEvent * /* aEvent */)
{
return false;
}
@@ -1135,13 +1120,13 @@ void QApplication::setWheelScrollLines(int n)
}
#endif //QT_NO_WHEELEVENT
-bool QApplication::isEffectEnabled(Qt::UIEffect effect)
+bool QApplication::isEffectEnabled(Qt::UIEffect /* effect */)
{
// TODO: Implement QApplication::isEffectEnabled(Qt::UIEffect effect)
return false;
}
-void QApplication::setEffectEnabled(Qt::UIEffect effect, bool enable)
+void QApplication::setEffectEnabled(Qt::UIEffect /* effect */, bool /* enable */)
{
// TODO: Implement QApplication::setEffectEnabled(Qt::UIEffect effect, bool enable)
}
@@ -1165,7 +1150,7 @@ void QApplicationPrivate::cleanupMultitouch_sys()
{ }
#ifndef QT_NO_SESSIONMANAGER
-QSessionManager::QSessionManager(QApplication * app, QString &id, QString& key)
+QSessionManager::QSessionManager(QApplication * /* app */, QString & /* id */, QString& /* key */)
{
}
diff --git a/src/gui/kernel/qclipboard_s60.cpp b/src/gui/kernel/qclipboard_s60.cpp
index f89f3e5..db5e7f3 100644
--- a/src/gui/kernel/qclipboard_s60.cpp
+++ b/src/gui/kernel/qclipboard_s60.cpp
@@ -261,7 +261,7 @@ bool QClipboard::ownsMode(Mode mode) const
return false;
}
-bool QClipboard::event(QEvent *e)
+bool QClipboard::event(QEvent * /* e */)
{
return true;
}
@@ -274,4 +274,4 @@ void QClipboard::ownerDestroyed()
{
}
QT_END_NAMESPACE
-#endif // QT_NO_CLIPBOARD \ No newline at end of file
+#endif // QT_NO_CLIPBOARD
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 28179b7..52685ca 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -290,11 +290,18 @@ extern "C" {
{
if (qwidget->testAttribute(Qt::WA_DropSiteRegistered) == false)
return NSDragOperationNone;
+ NSPoint windowPoint = [sender draggingLocation];
+ if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents)) {
+ // pass the drag enter event to the view underneath.
+ NSView *candidateView = [[[self window] contentView] hitTest:windowPoint];
+ if (candidateView && candidateView != self)
+ return [candidateView draggingEntered:sender];
+ }
+ dragEnterSequence = [sender draggingSequenceNumber];
[self addDropData:sender];
QMimeData *mimeData = dropData;
if (QDragManager::self()->source())
mimeData = QDragManager::self()->dragPrivate()->data;
- NSPoint windowPoint = [sender draggingLocation];
NSPoint globalPoint = [[sender draggingDestinationWindow] convertBaseToScreen:windowPoint];
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
QPoint posDrag(localPoint.x, localPoint.y);
@@ -318,6 +325,9 @@ extern "C" {
[self removeDropData];
return NSDragOperationNone;
} else {
+ // save the mouse position, used by draggingExited handler.
+ DnDParams *dndParams = [QCocoaView currentMouseEvent];
+ dndParams->activeDragEnterPos = windowPoint;
// send a drag move event immediately after a drag enter event (as per documentation).
QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData, QApplication::mouseButtons(), modifiers);
qDMEvent.setDropAction(qDEEvent.dropAction());
@@ -338,11 +348,22 @@ extern "C" {
- (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender
{
- // drag enter event was rejected, so ignore the move event.
+ NSPoint windowPoint = [sender draggingLocation];
+ if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents)) {
+ // pass the drag move event to the view underneath.
+ NSView *candidateView = [[[self window] contentView] hitTest:windowPoint];
+ if (candidateView && candidateView != self)
+ return [candidateView draggingUpdated:sender];
+ }
+ // in cases like QFocusFrame, the view under the mouse might
+ // not have received the drag enter. Generate a synthetic
+ // drag enter event for that view.
+ if (dragEnterSequence != [sender draggingSequenceNumber])
+ [self draggingEntered:sender];
+ // drag enter event was rejected, so ignore the move event.
if (dropData == 0)
return NSDragOperationNone;
// return last value, if we are still in the answerRect.
- NSPoint windowPoint = [sender draggingLocation];
NSPoint globalPoint = [[sender draggingDestinationWindow] convertBaseToScreen:windowPoint];
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
NSDragOperation nsActions = [sender draggingSourceOperationMask];
@@ -381,21 +402,34 @@ extern "C" {
- (void)draggingExited:(id < NSDraggingInfo >)sender
{
- Q_UNUSED(sender)
- // drag enter event was rejected, so ignore the move event.
+ dragEnterSequence = -1;
+ if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents)) {
+ // try sending the leave event to the last view which accepted drag enter.
+ DnDParams *dndParams = [QCocoaView currentMouseEvent];
+ NSView *candidateView = [[[self window] contentView] hitTest:dndParams->activeDragEnterPos];
+ if (candidateView && candidateView != self)
+ return [candidateView draggingExited:sender];
+ }
+ // drag enter event was rejected, so ignore the move event.
if (dropData) {
QDragLeaveEvent de;
QApplication::sendEvent(qwidget, &de);
[self removeDropData];
}
-
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
+ NSPoint windowPoint = [sender draggingLocation];
+ dragEnterSequence = -1;
+ if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents)) {
+ // pass the drop event to the view underneath.
+ NSView *candidateView = [[[self window] contentView] hitTest:windowPoint];
+ if (candidateView && candidateView != self)
+ return [candidateView performDragOperation:sender];
+ }
[self addDropData:sender];
- NSPoint windowPoint = [sender draggingLocation];
NSPoint globalPoint = [[sender draggingDestinationWindow] convertBaseToScreen:windowPoint];
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
QPoint posDrop(localPoint.x, localPoint.y);
@@ -557,6 +591,13 @@ extern "C" {
return !qwidget->testAttribute(Qt::WA_MacNoClickThrough);
}
+- (NSView *)hitTest:(NSPoint)aPoint
+{
+ if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents))
+ return nil; // You cannot hit a transparent for mouse event widget.
+ return [super hitTest:aPoint];
+}
+
- (void)updateTrackingAreas
{
QMacCocoaAutoReleasePool pool;
@@ -567,11 +608,15 @@ extern "C" {
[self removeTrackingArea:t];
}
}
+
+ // Ideally, we shouldn't have NSTrackingMouseMoved events included below, it should
+ // only be turned on if mouseTracking, hover is on or a tool tip is set.
+ // Unfortunately, Qt will send "tooltip" events on mouse moves, so we need to
+ // turn it on in ALL case. That means EVERY QCocoaView gets to pay the cost of
+ // mouse moves delivered to it (Apple recommends keeping it OFF because there
+ // is a performance hit). So it goes.
NSUInteger trackingOptions = NSTrackingMouseEnteredAndExited | NSTrackingActiveInActiveApp
- | NSTrackingInVisibleRect;
- if (qwidget->hasMouseTracking() || !qwidgetprivate->toolTip.isEmpty()
- || qwidget->testAttribute(Qt::WA_Hover))
- trackingOptions |= NSTrackingMouseMoved;
+ | NSTrackingInVisibleRect | NSTrackingMouseMoved;
NSTrackingArea *ta = [[NSTrackingArea alloc] initWithRect:NSMakeRect(0, 0,
qwidget->width(),
qwidget->height())
@@ -636,62 +681,6 @@ extern "C" {
qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::NoButton);
}
-- (NSView *)viewUnderTransparentForMouseView:(NSView *)mouseView widget:(QWidget *)widgetToGetMouse
- withWindowPoint:(NSPoint)windowPoint
-{
- NSMutableArray *viewsToLookAt = [NSMutableArray arrayWithCapacity:5];
- [viewsToLookAt addObject:mouseView];
- QWidget *parentWidget = widgetToGetMouse->parentWidget();
- while (parentWidget) {
- [viewsToLookAt addObject:qt_mac_nativeview_for(parentWidget)];
- parentWidget = parentWidget->parentWidget();
- }
-
- // Now walk through the subviews of each view and determine which subview should
- // get the event. We look through all the subviews at a given level with
- // the assumption that the last item to be found the candidate has a higher z-order.
- // Unfortunately, fast enumeration doesn't go backwards in 10.5, so assume go fast
- // forward is quicker than the slow normal way backwards.
- NSView *candidateView = nil;
- for (NSView *lookView in viewsToLookAt) {
- NSPoint tmpPoint = [lookView convertPoint:windowPoint fromView:nil];
- for (NSView *view in [lookView subviews]) {
- if (view == mouseView || [view isHidden])
- continue;
- NSRect frameRect = [view frame];
- if (NSMouseInRect(tmpPoint, [view frame], [view isFlipped]))
- candidateView = view;
- }
- if (candidateView)
- break;
- }
-
-
- if (candidateView != nil) {
- // Now that we've got a candidate, we have to dig into it's tree and see where it is.
- NSView *lowerView = nil;
- NSView *viewForDescent = candidateView;
- while (viewForDescent) {
- NSPoint tmpPoint = [viewForDescent convertPoint:windowPoint fromView:nil];
- // Apply same rule as above wrt z-order.
- for (NSView *view in [viewForDescent subviews]) {
- if (![view isHidden] && NSMouseInRect(tmpPoint, [view frame], [view isFlipped]))
- lowerView = view;
- }
- if (!lowerView) // Low as we can be at this point.
- candidateView = viewForDescent;
-
- // Try to go deeper, will also exit out of the loop, if we found the point.
- viewForDescent = lowerView;
- lowerView = nil;
- }
- }
- // I am transparent, so I can't be a candidate.
- if (candidateView == mouseView)
- candidateView = nil;
- return candidateView;
-}
-
- (void)mouseDown:(NSEvent *)theEvent
{
qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseButtonPress, Qt::LeftButton);
@@ -793,16 +782,6 @@ extern "C" {
Qt::KeyboardModifiers keyMods = qt_cocoaModifiers2QtModifiers([theEvent modifierFlags]);
QWidget *widgetToGetMouse = qwidget;
- if (widgetToGetMouse->testAttribute(Qt::WA_TransparentForMouseEvents)) {
- // Simulate passing the event through since Cocoa doesn't do that for us.
- // Start by building a tree up.
- NSView *candidateView = [self viewUnderTransparentForMouseView:self
- widget:widgetToGetMouse
- withWindowPoint:windowPoint];
- if (candidateView != nil) {
- widgetToGetMouse = QWidget::find(WId(candidateView));
- }
- }
// Mouse wheel deltas seem to tick in at increments of 0.1. Qt widgets
// expect the delta to be a multiple of 120.
diff --git a/src/gui/kernel/qcocoaview_mac_p.h b/src/gui/kernel/qcocoaview_mac_p.h
index 6583139..4762b17 100644
--- a/src/gui/kernel/qcocoaview_mac_p.h
+++ b/src/gui/kernel/qcocoaview_mac_p.h
@@ -68,6 +68,7 @@ struct DnDParams
NSEvent *theEvent;
NSPoint localPoint;
NSDragOperation performedAction;
+ NSPoint activeDragEnterPos;
};
QT_END_NAMESPACE
@@ -86,6 +87,7 @@ Q_GUI_EXPORT
bool sendKeyEvents;
QString *composingText;
QStringList *currentCustomTypes;
+ NSInteger dragEnterSequence;
}
- (id)initWithQWidget:(QWidget *)widget widgetPrivate:(QWidgetPrivate *)widgetprivate;
- (void) finishInitWithQWidget:(QWidget *)widget widgetPrivate:(QWidgetPrivate *)widgetprivate;
@@ -104,8 +106,6 @@ Q_GUI_EXPORT
- (QWidget *)qt_qwidget;
- (BOOL)qt_leftButtonIsRightButton;
- (void)qt_setLeftButtonIsRightButton:(BOOL)isSwapped;
-- (NSView *)viewUnderTransparentForMouseView:(NSView *)mouseView widget:(QWidget *)widgetToGetMouse
- withWindowPoint:(NSPoint)windowPoint;
+ (DnDParams*)currentMouseEvent;
@end
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm
index 9b49efc..3905e21 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac.mm
+++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm
@@ -132,7 +132,12 @@ static void cleanupCocoaWindowDelegate()
qwidget->setAttribute(Qt::WA_PendingResizeEvent, true);
} else {
QResizeEvent qre(newSize, oldSize);
- qt_sendSpontaneousEvent(qwidget, &qre);
+ if (qwidget->testAttribute(Qt::WA_PendingResizeEvent)) {
+ qwidget->setAttribute(Qt::WA_PendingResizeEvent, false);
+ QApplication::sendEvent(qwidget, &qre);
+ } else {
+ qt_sendSpontaneousEvent(qwidget, &qre);
+ }
}
}
diff --git a/src/gui/kernel/qdesktopwidget_s60.cpp b/src/gui/kernel/qdesktopwidget_s60.cpp
index eefd0ef..a333d62 100644
--- a/src/gui/kernel/qdesktopwidget_s60.cpp
+++ b/src/gui/kernel/qdesktopwidget_s60.cpp
@@ -162,12 +162,12 @@ const QRect QDesktopWidget::screenGeometry(int /* screen */) const
return QRect(0, 0, S60->screenWidthInPixels, S60->screenHeightInPixels);
}
-int QDesktopWidget::screenNumber(const QWidget *widget) const
+int QDesktopWidget::screenNumber(const QWidget * /* widget */) const
{
return QDesktopWidgetPrivate::primaryScreen;
}
-int QDesktopWidget::screenNumber(const QPoint &point) const
+int QDesktopWidget::screenNumber(const QPoint & /* point */) const
{
return QDesktopWidgetPrivate::primaryScreen;
}
diff --git a/src/gui/kernel/qkeymapper_s60.cpp b/src/gui/kernel/qkeymapper_s60.cpp
index bb074c1..c13dd51 100644
--- a/src/gui/kernel/qkeymapper_s60.cpp
+++ b/src/gui/kernel/qkeymapper_s60.cpp
@@ -53,7 +53,7 @@ QKeyMapperPrivate::~QKeyMapperPrivate()
{
}
-QList<int> QKeyMapperPrivate::possibleKeys(QKeyEvent *e)
+QList<int> QKeyMapperPrivate::possibleKeys(QKeyEvent * /* e */)
{
QList<int> result;
return result;
@@ -64,7 +64,7 @@ void QKeyMapperPrivate::clearMappings()
// stub
}
-QString QKeyMapperPrivate::translateKeyEvent(int keySym, Qt::KeyboardModifiers modifiers)
+QString QKeyMapperPrivate::translateKeyEvent(int keySym, Qt::KeyboardModifiers /* modifiers */)
{
if (keySym >= Qt::Key_Escape)
return QString();
diff --git a/src/gui/kernel/qsound_s60.cpp b/src/gui/kernel/qsound_s60.cpp
index 00fc2fe..c9eedf5 100644
--- a/src/gui/kernel/qsound_s60.cpp
+++ b/src/gui/kernel/qsound_s60.cpp
@@ -117,7 +117,7 @@ protected:
} else {
// We don't have a way to inform about errors -> just decrement loops
// in order that QSound::isFinished will return true;
- while(decLoop(sound));
+ while(decLoop(sound)) {}
}
}
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index f5f381e..073a00e 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -894,50 +894,6 @@ bool qt_mac_handleMouseEvent(void * /* NSView * */view, void * /* NSEvent * */ev
NSPoint localPoint = [tmpView convertPoint:windowPoint fromView:nil];
QPoint qlocalPoint(localPoint.x, localPoint.y);
- if (widgetToGetMouse->testAttribute(Qt::WA_TransparentForMouseEvents)) {
- // Simulate passing the event through since Cocoa doesn't do that for us.
- // Start by building a tree up.
- NSView *candidateView = [theView viewUnderTransparentForMouseView:tmpView
- widget:widgetToGetMouse
- withWindowPoint:windowPoint];
- if (candidateView != nil) {
- // Fast-track our views, since dispatching trough the normal ways
- // would just end up going through here anyway.
- if ([candidateView isKindOfClass:[QT_MANGLE_NAMESPACE(QCocoaView) class]]) {
- return qt_mac_handleMouseEvent(candidateView, theEvent, eventType, button);
- } else {
- switch (eventType) {
- default:
- qWarning("not handled! %d", eventType);
- break;
- case QEvent::MouseMove:
- [candidateView mouseMoved:theEvent];
- break;
- case QEvent::MouseButtonPress:
- if (button == Qt::LeftButton)
- [candidateView mouseDown:theEvent];
- else if (button == Qt::RightButton)
- [candidateView rightMouseDown:theEvent];
- else
- [candidateView otherMouseDown:theEvent];
- break;
- case QEvent::MouseButtonRelease:
- if (button == Qt::LeftButton)
- [candidateView mouseUp:theEvent];
- else if (button == Qt::RightButton)
- [candidateView rightMouseUp:theEvent];
- else
- [candidateView otherMouseUp:theEvent];
- break;
- }
- return true; // We've done the dispatching, no need go further.
- }
- }
- // Nothing below me return false
- return false;
- }
-
-
EventRef carbonEvent = static_cast<EventRef>(const_cast<void *>([theEvent eventRef]));
if (qt_mac_sendMacEventToWidget(widgetToGetMouse, carbonEvent))
return true;
diff --git a/src/gui/kernel/qt_mac.cpp b/src/gui/kernel/qt_mac.cpp
index 27df5d1..0c3b707 100644
--- a/src/gui/kernel/qt_mac.cpp
+++ b/src/gui/kernel/qt_mac.cpp
@@ -134,7 +134,7 @@ QColor qcolorForThemeTextColor(ThemeTextColor themeColor)
#ifdef Q_OS_MAC32
RGBColor c;
GetThemeTextColor(themeColor, 32, true, &c);
- QColor color = QColor(c.red / 265, c.green / 256, c.blue / 256);
+ QColor color = QColor(c.red / 256, c.green / 256, c.blue / 256);
return color;
#else
// There is no equivalent to GetThemeTextColor in 64-bit and it was rather bad that
@@ -156,13 +156,13 @@ QColor qcolorForThemeTextColor(ThemeTextColor themeColor)
case kThemeTextColorAlertInactive:
case kThemeTextColorDialogInactive:
case kThemeTextColorPlacardInactive:
- return QColor(67, 69, 69, 255);
+ return QColor(69, 69, 69, 255);
case kThemeTextColorPopupButtonInactive:
case kThemeTextColorPopupLabelInactive:
case kThemeTextColorPushButtonInactive:
case kThemeTextColorTabFrontInactive:
case kThemeTextColorBevelButtonInactive:
- return QColor(123, 127, 127, 255);
+ return QColor(127, 127, 127, 255);
default: {
QNativeImage nativeImage(16,16, QNativeImage::systemFormat());
CGRect cgrect = CGRectMake(0, 0, 16, 16);
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index b93bedc..e4c7aa8 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -8012,6 +8012,12 @@ bool QWidget::event(QEvent *event)
(void) QApplication::sendEvent(this, &mouseEvent);
break;
}
+ case QEvent::SymbianDeferredFocusChanged: {
+#ifdef Q_OS_SYMBIAN
+ d->handleSymbianDeferredFocusChanged();
+#endif
+ break;
+ }
#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange: {
const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName();
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 6a473db..045bcb3 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -1513,12 +1513,16 @@ void QWidgetPrivate::toggleDrawers(bool visible)
*****************************************************************************/
bool QWidgetPrivate::qt_mac_update_sizer(QWidget *w, int up)
{
+ // I'm not sure what "up" is
if(!w || !w->isWindow())
return false;
QTLWExtra *topData = w->d_func()->topData();
QWExtra *extraData = w->d_func()->extraData();
- topData->resizer += up;
+ // topData->resizer is only 4 bits, so subtracting -1 from zero causes bad stuff
+ // to happen, prevent that here (you really want the thing hidden).
+ if (up >= 0 || topData->resizer != 0)
+ topData->resizer += up;
OSWindowRef windowRef = qt_mac_window_for(OSViewRef(w->winId()));
{
#ifndef QT_MAC_USE_COCOA
@@ -1531,7 +1535,6 @@ bool QWidgetPrivate::qt_mac_update_sizer(QWidget *w, int up)
bool remove_grip = (topData->resizer || (w->windowFlags() & Qt::FramelessWindowHint)
|| (extraData->maxw && extraData->maxh &&
extraData->maxw == extraData->minw && extraData->maxh == extraData->minh));
-
#ifndef QT_MAC_USE_COCOA
WindowAttributes attr;
GetWindowAttributes(windowRef, &attr);
@@ -2132,11 +2135,10 @@ void QWidgetPrivate::finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ voidWin
if ((popup || type == Qt::Tool || type == Qt::ToolTip) && !q->isModal()) {
[windowRef setHidesOnDeactivate:YES];
- [windowRef setHasShadow:YES];
} else {
[windowRef setHidesOnDeactivate:NO];
}
-
+ [windowRef setHasShadow:YES];
Q_UNUSED(parentWidget);
Q_UNUSED(dialog);
@@ -2691,10 +2693,15 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
createWinId();
if (q->isWindow()) {
#ifndef QT_MAC_USE_COCOA
- if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
- mwl->updateHIToolBarStatus();
+ // We do this down below for wasCreated, so avoid doing this twice
+ // (only for performance, it gets called a lot anyway).
+ if (!wasCreated) {
+ if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
+ mwl->updateHIToolBarStatus();
+ }
}
#else
+ // Simply transfer our toolbar over. Everything should stay put, unlike in Carbon.
if (oldToolbar && !(f & Qt::FramelessWindowHint)) {
OSWindowRef newWindow = qt_mac_window_for(q);
[newWindow setToolbar:oldToolbar];
@@ -2709,6 +2716,16 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
if (wasCreated) {
transferChildren();
+#ifndef QT_MAC_USE_COCOA
+ // If we were a unified window, We just transfered our toolbars out of the unified toolbar.
+ // So redo the status one more time. It apparently is not an issue with Cocoa.
+ if (q->isWindow()) {
+ if (QMainWindowLayout *mwl = qobject_cast<QMainWindowLayout *>(q->layout())) {
+ mwl->updateHIToolBarStatus();
+ }
+ }
+#endif
+
if (topData &&
(!topData->caption.isEmpty() || !topData->filePath.isEmpty()))
setWindowTitle_helper(q->windowTitle());
@@ -4012,6 +4029,8 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
setGeometry_sys_helper(x, y, w, h, isMove);
}
#else
+ QSize olds = q->size();
+ const bool isResize = (olds != QSize(w, h));
NSWindow *window = qt_mac_window_for(q);
const QRect &fStrut = frameStrut();
const QRect frameRect(QPoint(x - fStrut.left(), y - fStrut.top()),
@@ -4019,7 +4038,10 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
fStrut.top() + fStrut.bottom() + h));
NSRect cocoaFrameRect = NSMakeRect(frameRect.x(), flipYCoordinate(frameRect.bottom() + 1),
frameRect.width(), frameRect.height());
-
+ // The setFrame call will trigger a 'windowDidResize' notification for the corresponding
+ // NSWindow. The pending flag is set, so that the resize event can be send as non-spontaneous.
+ if (isResize)
+ q->setAttribute(Qt::WA_PendingResizeEvent);
QPoint currTopLeft = data.crect.topLeft();
if (currTopLeft.x() == x && currTopLeft.y() == y
&& cocoaFrameRect.size.width != 0
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index 7145364..8569e75 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -283,6 +283,9 @@ public:
QPalette naturalWidgetPalette(uint inheritedMask) const;
void setMask_sys(const QRegion &);
+#ifdef Q_OS_SYMBIAN
+ void handleSymbianDeferredFocusChanged();
+#endif
void raise_sys();
void lower_sys();
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index 3149a7e..bb81e06 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -144,7 +144,7 @@ void QWidgetPrivate::setSoftKeys_sys(const QList<QAction*> &softkeys)
nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation
}
-void QWidgetPrivate::setWSGeometry(bool, const QRect &)
+void QWidgetPrivate::setWSGeometry(bool /* dontShow */, const QRect & /* rect */)
{
}
@@ -252,7 +252,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
}
}
-void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyOldWindow)
+void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool destroyOldWindow)
{
Q_Q(QWidget);
@@ -266,17 +266,13 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|| type == Qt::Sheet
|| (flags & Qt::MSWindowsFixedSizeDialogHint));
bool desktop = (type == Qt::Desktop);
- bool tool = (type == Qt::Tool || type == Qt::Drawer);
+ //bool tool = (type == Qt::Tool || type == Qt::Drawer);
WId id = 0;
if (popup)
flags |= Qt::WindowStaysOnTopHint; // a popup stays on top
- // always initialize
- if (!window)
- initializeWindow = true;
-
TRect clientRect = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
int sw = clientRect.Width();
int sh = clientRect.Height();
@@ -425,6 +421,32 @@ void QWidgetPrivate::setFocus_sys()
q->effectiveWinId()->SetFocus(true);
}
+void QWidgetPrivate::handleSymbianDeferredFocusChanged()
+{
+ Q_Q(QWidget);
+ WId control = q->internalWinId();
+ if (!control) {
+ // This could happen if the widget was reparented, while the focuschange
+ // was in the event queue.
+ return;
+ }
+
+ if (control->IsFocused()) {
+ QApplication::setActiveWindow(q);
+ // If widget is fullscreen, hide status pane and button container
+ // otherwise show them.
+ CEikStatusPane* statusPane = S60->statusPane();
+ CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer();
+ bool isFullscreen = q->windowState() & Qt::WindowFullScreen;
+ if (statusPane && (statusPane->IsVisible() == isFullscreen))
+ statusPane->MakeVisible(!isFullscreen);
+ if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen))
+ buttonGroup->MakeVisible(!isFullscreen);
+ } else {
+ QApplication::setActiveWindow(0);
+ }
+}
+
void QWidgetPrivate::raise_sys()
{
Q_Q(QWidget);
@@ -686,7 +708,7 @@ void QWidgetPrivate::setWindowTitle_sys(const QString &caption)
}
}
-void QWidgetPrivate::setWindowIconText_sys(const QString &iconText)
+void QWidgetPrivate::setWindowIconText_sys(const QString & /*iconText */)
{
}
@@ -738,7 +760,7 @@ void QWidgetPrivate::updateSystemBackground()
}
-void QWidgetPrivate::registerDropSite(bool on)
+void QWidgetPrivate::registerDropSite(bool /* on */)
{
}
@@ -771,7 +793,7 @@ QWindowSurface *QWidgetPrivate::createDefaultWindowSurface_sys()
return new QS60WindowSurface(q_func());
}
-void QWidgetPrivate::setMask_sys(const QRegion& region)
+void QWidgetPrivate::setMask_sys(const QRegion& /* region */)
{
}
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index 85fc0b9..831d389 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -374,9 +374,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
const uchar *src = srcPixels + y * sbpl;
const uchar *srcEnd = src + srcOffset;
while (src < srcEnd) {
-#if defined(QT_ARCH_ARM) || defined(QT_ARCH_POWERPC) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_))
- // non-16-bit aligned memory access is not possible on PowerPC &
- // ARM <v6 (QT_ARCH_ARMV6)
+#if defined(QT_ARCH_ARM) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_))
+ // non-16-bit aligned memory access is not possible on PowerPC,
+ // ARM <v6 (QT_ARCH_ARMV6) & SH
quint16 spix = (quint16(src[2])<<8) + src[1];
#else
quint16 spix = *(quint16 *) (src + 1);
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 5998ed5..66a43aa 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -4237,7 +4237,7 @@ int QCustomRasterPaintDevice::bytesPerLine() const
#elif defined(Q_WS_S60)
-void QRasterBuffer::prepareBuffer(int width, int height)
+void QRasterBuffer::prepareBuffer(int /* width */, int /* height */)
{
}
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 2974227..8738f54 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -75,9 +75,6 @@ QT_BEGIN_NAMESPACE
#define QGradient_StretchToDevice 0x10000000
#define QPaintEngine_OpaqueBackground 0x40000000
-// use the same rounding as in qrasterizer.cpp (6 bit fixed point)
-static const qreal aliasedCoordinateDelta = 0.5 - 0.015625;
-
// #define QT_DEBUG_DRAW
#ifdef QT_DEBUG_DRAW
bool qt_show_painter_debug_output = true;
@@ -5699,7 +5696,6 @@ void QPainter::drawText(const QPointF &p, const QString &str, int tf, int justif
engine.justify(line);
}
QFixed x = QFixed::fromReal(p.x());
- QFixed ox = x;
for (int i = 0; i < nItems; ++i) {
int item = visualOrder[i];
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index 0019c78..2747df1 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -294,6 +294,12 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
CGContextFlush(context);
#endif
#endif
+
+#ifdef Q_WS_S60
+ Q_UNUSED(widget);
+ Q_UNUSED(rgn);
+ Q_UNUSED(offset);
+#endif
}
void QRasterWindowSurface::setGeometry(const QRect &rect)
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index 2a20b44..e81adcc 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -154,7 +154,7 @@ bool QS60WindowSurface::scroll(const QRegion &area, int dx, int dy)
return true;
}
-void QS60WindowSurface::endPaint(const QRegion &rgn)
+void QS60WindowSurface::endPaint(const QRegion & /* rgn */)
{
if(!d_ptr->bitmap)
return;
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 852d3fd..67586ac 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -684,11 +684,10 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
const QString pmKey = QString(QLS("windowframe %0")).arg(option->state);
QPixmap pixmap;
- QPixmapCache::find(pmKey, pixmap);
QRect pmRect(QPoint(0,0), QSize(pmSize, pmSize));
// Only draw through style once
- if (pixmap.isNull()) {
+ if (!QPixmapCache::find(pmKey, pixmap)) {
pixmap = QPixmap(pmSize, pmSize);
pixmap.fill(Qt::transparent);
QPainter pmPainter(&pixmap);
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 794e19f..b083f4b 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -844,7 +844,7 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag
case QS60StyleEnums::SP_QsnCpScrollHandleMiddle:
case QS60StyleEnums::SP_QsnCpScrollHandleTop:
result.setHeight(pixelMetric(QStyle::PM_ScrollBarExtent));
- result.setWidth(pixelMetric(QStyle::PM_ScrollBarExtent));
+ result.setWidth(pixelMetric(QStyle::PM_ScrollBarSliderMin));
break;
default:
// Generic frame part size gathering.
@@ -1802,27 +1802,6 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
break;
case CE_Header:
if ( const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
- QS60StylePrivate::SkinElementFlags adjFlags = flags;
- QRect mtyRect = header->rect;
- const int frameWidth = QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth);
- if (header->orientation == Qt::Horizontal) {
- if (header->position == QStyleOptionHeader::OnlyOneSection)
- mtyRect.adjust(frameWidth,1,frameWidth,-frameWidth);
- else
- mtyRect.adjust(-frameWidth,1,frameWidth,-frameWidth);
- } else {
- if ( header->direction == Qt::LeftToRight ) {
- mtyRect.adjust(1,-frameWidth,0,frameWidth);
- adjFlags |= QS60StylePrivate::SF_PointWest;
- } else {
- mtyRect.adjust(-1,frameWidth,0,-frameWidth);
- adjFlags |= QS60StylePrivate::SF_PointEast;
- }
- }
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableHeaderItem, painter, mtyRect, adjFlags);
-
- QRegion clipRegion = painter->clipRegion();
- painter->setClipRect(option->rect);
drawControl(CE_HeaderSection, header, painter, widget);
QStyleOptionHeader subopt = *header;
subopt.rect = subElementRect(SE_HeaderLabel, header, widget);
@@ -1832,7 +1811,6 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
subopt.rect = subElementRect(SE_HeaderArrow, option, widget);
drawPrimitive(PE_IndicatorHeaderArrow, &subopt, painter, widget);
}
- painter->setClipRegion(clipRegion);
}
break;
#ifndef QT_NO_TOOLBAR
@@ -1881,9 +1859,19 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
case CE_ShapedFrame:
if (qobject_cast<const QTextEdit *>(widget)) {
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_Editor, painter, option->rect, flags);
- } else if (qobject_cast<const QAbstractScrollArea *>(widget) && qobject_cast<const QTableView *>(widget)) {
+ } else if (qobject_cast<const QTableView *>(widget)) {
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableItem, painter, option->rect, flags);
+ } else if (const QHeaderView *header = qobject_cast<const QHeaderView *>(widget)) {
+ if (header->orientation() == Qt::Horizontal) {
+ QRect headerRect = option->rect;
+ const int frameWidth = QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth);
+ headerRect.adjust(0,frameWidth,-2*frameWidth,0);
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableHeaderItem, painter, headerRect, flags);
+ } else {
+ //todo: update to horizontal table graphic
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableHeaderItem, painter, option->rect, flags | QS60StylePrivate::SF_PointWest);
}
+ }
if (option->state & State_HasFocus)
drawPrimitive(PE_FrameFocusRect, option, painter, widget);
break;
@@ -2351,12 +2339,7 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple
const uint range = scrollbarOption->maximum - scrollbarOption->minimum;
sliderlen = (qint64(scrollbarOption->pageStep) * maxlen) / (range + scrollbarOption->pageStep);
- int slidermin = pixelMetric(PM_ScrollBarSliderMin, scrollbarOption, widget);
- if (isHorizontal && slidermin < scrollBarRect.height())
- slidermin = scrollBarRect.height();
- else if (!isHorizontal && slidermin < scrollBarRect.width())
- slidermin = scrollBarRect.width();
-
+ const int slidermin = pixelMetric(PM_ScrollBarSliderMin, scrollbarOption, widget);
if (sliderlen < slidermin || range > (INT_MAX>>1))
sliderlen = slidermin;
if (sliderlen > maxlen)
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 997c2ce..ea8ee87 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -122,7 +122,8 @@ static const int windowsItemHMargin = 3; // menu item hor text margin
static const int windowsItemVMargin = 2; // menu item ver text margin
static const int windowsArrowHMargin = 6; // arrow horizontal margin
static const int windowsTabSpacing = 12; // space between text and tab
-static const int windowsCheckMarkHMargin = 2; // horiz. margins of check mark
+// Save some space and avoid warning.
+//static const int windowsCheckMarkHMargin = 2; // horiz. margins of check mark
static const int windowsRightBorder = 15; // right border on windows
static const int windowsCheckMarkWidth = 12; // checkmarks width on windows
@@ -1786,8 +1787,6 @@ case PE_FrameDockWidget:
case PE_FrameTabWidget:
if (use2000style) {
- QRect rect = opt->rect;
- QPalette pal = opt->palette;
qDrawWinButton(p, opt->rect, opt->palette, false, 0);
break;
}
@@ -2527,7 +2526,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
bool floating = false;
bool active = dwOpt->state & State_Active;
- int menuOffset = 0; //used to center text when floated
QColor inactiveCaptionTextColor = d->inactiveCaptionText;
if (dwOpt->movable) {
QColor left, right;
@@ -2542,7 +2540,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
left = d->inactiveCaptionColor;
right = d->inactiveGradientCaptionColor;
}
- menuOffset = 2;
QBrush fillBrush(left);
if (left != right) {
QPoint p1(r.x(), r.top() + r.height()/2);
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index 0cd5379..198882b 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -1036,9 +1036,8 @@ quint32 QFontEngine::getTrueTypeGlyphIndex(const uchar *cmap, uint unicode)
return 0;
quint16 segCountX2 = qFromBigEndian<quint16>(cmap + 6);
const unsigned char *ends = cmap + 14;
- quint16 endIndex = 0;
int i = 0;
- for (; i < segCountX2/2 && (endIndex = qFromBigEndian<quint16>(ends + 2*i)) < unicode; i++) {}
+ for (; i < segCountX2/2 && qFromBigEndian<quint16>(ends + 2*i) < unicode; i++) {}
const unsigned char *idx = ends + segCountX2 + 2 + 2*i;
quint16 startIndex = qFromBigEndian<quint16>(idx);
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index 2e1abb2..f485afb 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -54,8 +54,6 @@
QT_BEGIN_NAMESPACE
-static const int maxFontSizeInPixels = 60;
-
QFontEngineS60Extensions::QFontEngineS60Extensions(COpenFont *font)
: m_font(font)
, m_cmap(0)
diff --git a/src/gui/widgets/qabstractspinbox_p.h b/src/gui/widgets/qabstractspinbox_p.h
index 15f5d97..0d00e04 100644
--- a/src/gui/widgets/qabstractspinbox_p.h
+++ b/src/gui/widgets/qabstractspinbox_p.h
@@ -135,8 +135,6 @@ public:
mutable QValidator::State cachedState;
mutable QSize cachedSizeHint, cachedMinimumSizeHint;
uint pendingEmit : 1;
- uint spindownEnabled : 1;
- uint spinupEnabled : 1;
uint readOnly : 1;
uint wrapping : 1;
uint ignoreCursorPositionChanged : 1;
diff --git a/src/gui/widgets/qcalendarwidget.cpp b/src/gui/widgets/qcalendarwidget.cpp
index 2586c56..7f29ec7 100644
--- a/src/gui/widgets/qcalendarwidget.cpp
+++ b/src/gui/widgets/qcalendarwidget.cpp
@@ -2142,14 +2142,11 @@ QSize QCalendarWidget::minimumSizeHint() const
int end = 53;
int rows = 7;
int cols = 8;
- int startRow = 0;
- int startCol = 0;
const int marginH = (style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1) * 2;
if (horizontalHeaderFormat() == QCalendarWidget::NoHorizontalHeader) {
rows = 6;
- startRow = 1;
} else {
for (int i = 1; i <= 7; i++) {
QFontMetrics fm(d->m_model->formatForCell(0, i).font());
@@ -2160,7 +2157,6 @@ QSize QCalendarWidget::minimumSizeHint() const
if (verticalHeaderFormat() == QCalendarWidget::NoVerticalHeader) {
cols = 7;
- startCol = 1;
} else {
for (int i = 1; i <= 6; i++) {
QFontMetrics fm(d->m_model->formatForCell(i, 0).font());
@@ -2527,13 +2523,6 @@ void QCalendarWidget::setDateRange(const QDate &min, const QDate &max)
if (!min.isValid() || !max.isValid())
return;
- QDate minimum = min;
- QDate maximum = max;
- if (min > max) {
- minimum = max;
- maximum = min;
- }
-
QDate oldDate = d->m_model->m_date;
d->m_model->setRange(min, max);
d->yearEdit->setMinimum(d->m_model->m_minimumDate.year());
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 5d7359a..c9706cf 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -1433,9 +1433,10 @@ bool QMainWindow::event(QEvent *event)
\i Toolbar breaks are not respected or preserved
\i Any custom widgets in the toolbar will not be shown if the toolbar
becomes too small (only actions will be shown)
- \i If you call showFullScreen() on the main window, the QToolbar will
- disappear since it is considered to be part of the title bar. You can
- work around this by turning off the unified toolbar before you call
+ \i Before Qt 4.5, if you called showFullScreen() on the main window, the QToolbar would
+ disappear since it is considered to be part of the title bar. Qt 4.5 and up will now work around this by pulling
+ the toolbars out and back into the regular toolbar and vice versa when you swap out.
+ However, a good practice would be that turning off the unified toolbar before you call
showFullScreen() and restoring it after you call showNormal().
\endlist
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index bf8d4f5..638e4a6 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -669,8 +669,9 @@ void QMenuBar::initStyleOption(QStyleOptionMenuItem *option, const QAction *acti
\header \i String matches \i Placement \i Notes
\row \i about.*
\i Application Menu | About <application name>
- \i If this entry is not found no About item will appear in
- the Application Menu
+ \i The application name is fetched from the \c {Info.plist} file
+ (see note below). If this entry is not found no About item
+ will appear in the Application Menu.
\row \i config, options, setup, settings or preferences
\i Application Menu | Preferences
\i If this entry is not found the Settings item will be disabled
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 5de54a4..c2ef5e4 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -1020,14 +1020,13 @@ void QPlainTextEditPrivate::ensureViewportLayouted()
QPlainText uses very much the same technology and concepts as
QTextEdit, but is optimized for plain text handling.
- QPlainTextEdit works on paragraphs and characters. A paragraph is a
- formatted string which is word-wrapped to fit into the width of
+ QPlainTextEdit works on paragraphs and characters. A paragraph is
+ a formatted string which is word-wrapped to fit into the width of
the widget. By default when reading plain text, one newline
signifies a paragraph. A document consists of zero or more
- paragraphs. The words in the paragraph are aligned in accordance
- with the paragraph's alignment. Paragraphs are separated by hard
- line breaks. Each character within a paragraph has its own
- attributes, for example, font and color.
+ paragraphs. Paragraphs are separated by hard line breaks. Each
+ character within a paragraph has its own attributes, for example,
+ font and color.
The shape of the mouse cursor on a QPlainTextEdit is
Qt::IBeamCursor by default. It can be changed through the
@@ -1168,7 +1167,8 @@ void QPlainTextEditPrivate::ensureViewportLayouted()
\sa QTextDocument, QTextCursor, {Application Example},
- {Syntax Highlighter Example}, {Rich Text Processing}
+ {Code Editor Example}, {Syntax Highlighter Example},
+ {Rich Text Processing}
*/
diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp
index 549a983..3bac94b 100644
--- a/src/gui/widgets/qtextedit.cpp
+++ b/src/gui/widgets/qtextedit.cpp
@@ -108,8 +108,9 @@ public:
QTextEditPrivate::QTextEditPrivate()
: control(0),
autoFormatting(QTextEdit::AutoNone), tabChangesFocus(false),
- lineWrap(QTextEdit::WidgetWidth), lineWrapColumnOrWidth(0), clickCausedFocus(0),
- wordWrap(QTextOption::WrapAtWordBoundaryOrAnywhere), textFormat(Qt::AutoText)
+ lineWrap(QTextEdit::WidgetWidth), lineWrapColumnOrWidth(0),
+ wordWrap(QTextOption::WrapAtWordBoundaryOrAnywhere), clickCausedFocus(0),
+ textFormat(Qt::AutoText)
{
ignoreAutomaticScrollbarAdjustment = false;
preferRichText = false;
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 1085640..827681f 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -148,7 +148,9 @@ int QHttpNetworkConnectionPrivate::indexOf(QAbstractSocket *socket) const
for (int i = 0; i < channelCount; ++i)
if (channels[i].socket == socket)
return i;
- return -1;
+
+ qFatal("Called with unknown socket object.");
+ return 0;
}
bool QHttpNetworkConnectionPrivate::isSocketBusy(QAbstractSocket *socket) const
@@ -599,7 +601,7 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN
// try to reconnect/resend before sending an error.
if (channels[i].reconnectAttempts-- > 0) {
resendCurrentRequest(socket);
- } else {
+ } else if (reply) {
reply->d_func()->errorString = errorDetail(QNetworkReply::RemoteHostClosedError, socket);
emit reply->finishedWithError(QNetworkReply::RemoteHostClosedError, reply->d_func()->errorString);
QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection);
@@ -917,6 +919,7 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket,
Q_ASSERT(socket);
int i = indexOf(socket);
+
if (channels[i].authMehtod != QAuthenticatorPrivate::None) {
if (!(channels[i].authMehtod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 401)) {
QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].authenticator);
@@ -1391,7 +1394,8 @@ void QHttpNetworkConnectionPrivate::_q_encrypted()
QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
if (!socket)
return; // ### error
- channels[indexOf(socket)].state = IdleState;
+ int i = indexOf(socket);
+ channels[i].state = IdleState;
sendRequest(socket);
}
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index 3d92cf9..a0813d4 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -243,7 +243,8 @@ public:
bool ignoreSSLErrors;
#endif
Channel() : socket(0), state(IdleState), reply(0), written(0), bytesTotal(0), resendCurrent(false),
- reconnectAttempts(2), authMehtod(QAuthenticatorPrivate::None), proxyAuthMehtod(QAuthenticatorPrivate::None)
+ lastStatus(0), pendingEncrypt(false), reconnectAttempts(2),
+ authMehtod(QAuthenticatorPrivate::None), proxyAuthMehtod(QAuthenticatorPrivate::None)
#ifndef QT_NO_OPENSSL
, ignoreSSLErrors(false)
#endif
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
index 72aec99..ef4a865 100644
--- a/src/network/access/qhttpnetworkreply.cpp
+++ b/src/network/access/qhttpnetworkreply.cpp
@@ -479,8 +479,6 @@ bool QHttpNetworkReplyPrivate::parseStatus(const QByteArray &status)
qint64 QHttpNetworkReplyPrivate::readHeader(QAbstractSocket *socket)
{
qint64 bytes = 0;
- char crlfcrlf[5];
- crlfcrlf[4] = '\0';
char c = 0;
bool allHeaders = false;
while (!allHeaders && socket->bytesAvailable()) {
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index d1dbdc9..6eacdf1 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -58,6 +58,7 @@ inline QNetworkReplyImplPrivate::QNetworkReplyImplPrivate()
cacheEnabled(false), cacheSaveDevice(0),
notificationHandlingPaused(false),
bytesDownloaded(0), lastBytesDownloaded(-1), bytesUploaded(-1),
+ httpStatusCode(0),
state(Idle)
{
}
@@ -90,7 +91,7 @@ void QNetworkReplyImplPrivate::_q_startOperation()
void QNetworkReplyImplPrivate::_q_copyReadyRead()
{
Q_Q(QNetworkReplyImpl);
- if (!copyDevice && !q->isOpen())
+ if (!copyDevice || !q->isOpen())
return;
forever {
diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
index 6820d53..876d167 100644
--- a/src/network/kernel/qhostinfo_unix.cpp
+++ b/src/network/kernel/qhostinfo_unix.cpp
@@ -41,8 +41,6 @@
//#define QHOSTINFO_DEBUG
-static const int RESOLVER_TIMEOUT = 2000;
-
#include "qplatformdefs.h"
#include "qhostinfo_p.h"
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index 1d968c2..608db65 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -366,7 +366,7 @@ static QNetworkProxy::Capabilities defaultCapabilitiesForType(QNetworkProxy::Pro
int(QNetworkProxy::HostNameLookupCapability)),
};
- if (int(type) < 0 && int(type) > int(QNetworkProxy::FtpCachingProxy))
+ if (int(type) < 0 || int(type) > int(QNetworkProxy::FtpCachingProxy))
type = QNetworkProxy::DefaultProxy;
return QNetworkProxy::Capabilities(defaults[int(type)]);
}
diff --git a/src/network/socket/qlocalserver_tcp.cpp b/src/network/socket/qlocalserver_tcp.cpp
index b248f2f..bcf822e 100644
--- a/src/network/socket/qlocalserver_tcp.cpp
+++ b/src/network/socket/qlocalserver_tcp.cpp
@@ -92,7 +92,7 @@ void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
{
if (pendingConnections.isEmpty())
tcpServer.waitForNewConnection(msec, timedOut);
- else
+ else if (timedOut)
*timedOut = false;
}
diff --git a/src/plugins/codecs/jp/qeucjpcodec.cpp b/src/plugins/codecs/jp/qeucjpcodec.cpp
index 76353a3..cdc6619 100644
--- a/src/plugins/codecs/jp/qeucjpcodec.cpp
+++ b/src/plugins/codecs/jp/qeucjpcodec.cpp
@@ -79,7 +79,6 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_TEXTCODEC
-static const uchar Esc = 0x1b;
static const uchar Ss2 = 0x8e; // Single Shift 2
static const uchar Ss3 = 0x8f; // Single Shift 3
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index 3185664..ade8554 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -81,7 +81,7 @@ template <> inline const bool* ptr<bool>(const bool &) { return 0; }
template <typename device, typename T1, typename T2, typename T3>
static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
int scale, bool matrixRotShear, bool simplePen,
- bool dfbHandledClip,
+ bool dfbHandledClip, bool unsupportedCompositionMode,
const char *nameOne, const T1 &one,
const char *nameTwo, const T2 &two,
const char *nameThree, const T3 &three)
@@ -98,7 +98,8 @@ static void rasterFallbackWarn(const char *msg, const char *func, const device *
dbg << "scale" << scale
<< "matrixRotShear" << matrixRotShear
<< "simplePen" << simplePen
- << "dfbHandledClip" << dfbHandledClip;
+ << "dfbHandledClip" << dfbHandledClip
+ << "unsupportedCompositionMode" << unsupportedCompositionMode;
const T1 *t1 = ptr(one);
const T2 *t2 = ptr(two);
@@ -124,6 +125,7 @@ static void rasterFallbackWarn(const char *msg, const char *func, const device *
__FUNCTION__, state()->painter->device(), \
d_func()->scale, d_func()->matrixRotShear, \
d_func()->simplePen, d_func()->dfbCanHandleClip(), \
+ d_func()->unsupportedCompositionMode, \
#one, one, #two, two, #three, three); \
if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
return;
@@ -138,6 +140,7 @@ static void rasterFallbackWarn(const char *msg, const char *func, const device *
__FUNCTION__, state()->painter->device(), \
d_func()->scale, d_func()->matrixRotShear, \
d_func()->simplePen, d_func()->dfbCanHandleClip(), \
+ d_func()->unsupportedCompositionMode, \
#one, one, #two, two, #three, three);
#else
#define RASTERFALLBACK(op, one, two, three)
@@ -244,9 +247,6 @@ public:
inline void updateClip();
void systemStateChanged();
- void begin(QPaintDevice *device);
- void end();
-
static IDirectFBSurface *getSurface(const QImage &img, bool *release);
#ifdef QT_DIRECTFB_IMAGECACHE
@@ -299,7 +299,34 @@ QDirectFBPaintEngine::~QDirectFBPaintEngine()
bool QDirectFBPaintEngine::begin(QPaintDevice *device)
{
Q_D(QDirectFBPaintEngine);
- d->begin(device);
+ d->lastLockedHeight = -1;
+ if (device->devType() == QInternal::CustomRaster) {
+ d->dfbDevice = static_cast<QDirectFBPaintDevice*>(device);
+ } else if (device->devType() == QInternal::Pixmap) {
+ QPixmapData *data = static_cast<QPixmap*>(device)->pixmapData();
+ Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
+ QDirectFBPixmapData *dfbPixmapData = static_cast<QDirectFBPixmapData*>(data);
+ d->dfbDevice = static_cast<QDirectFBPaintDevice*>(dfbPixmapData);
+ }
+
+ if (d->dfbDevice)
+ d->surface = d->dfbDevice->directFBSurface();
+
+ if (!d->surface) {
+ qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
+ device->devType());
+ }
+ d->lockedMemory = 0;
+
+ d->surface->GetSize(d->surface, &d->fbWidth, &d->fbHeight);
+
+ d->setTransform(QTransform());
+ d->antialiased = false;
+ d->setOpacity(255);
+ d->setCompositionMode(state()->compositionMode());
+ d->dirtyClip = true;
+ d->setPen(state()->pen);
+
const bool status = QRasterPaintEngine::begin(device);
// XXX: QRasterPaintEngine::begin() resets the capabilities
@@ -311,7 +338,13 @@ bool QDirectFBPaintEngine::begin(QPaintDevice *device)
bool QDirectFBPaintEngine::end()
{
Q_D(QDirectFBPaintEngine);
- d->end();
+ d->unlock();
+ d->dfbDevice = 0;
+#if (Q_DIRECTFB_VERSION >= 0x010000)
+ d->surface->ReleaseSource(d->surface);
+#endif
+ d->surface->SetClip(d->surface, NULL);
+ d->surface = 0;
return QRasterPaintEngine::end();
}
@@ -873,48 +906,6 @@ void QDirectFBPaintEnginePrivate::setTransform(const QTransform &m)
}
}
-void QDirectFBPaintEnginePrivate::begin(QPaintDevice *device)
-{
- lastLockedHeight = -1;
- if (device->devType() == QInternal::CustomRaster)
- dfbDevice = static_cast<QDirectFBPaintDevice*>(device);
- else if (device->devType() == QInternal::Pixmap) {
- QPixmapData *data = static_cast<QPixmap*>(device)->pixmapData();
- Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
- QDirectFBPixmapData* dfbPixmapData = static_cast<QDirectFBPixmapData*>(data);
- dfbDevice = static_cast<QDirectFBPaintDevice*>(dfbPixmapData);
- }
-
- if (dfbDevice)
- surface = dfbDevice->directFBSurface();
-
- if (!surface) {
- qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
- device->devType());
- }
- lockedMemory = 0;
-
- surface->GetSize(surface, &fbWidth, &fbHeight);
-
- setTransform(QTransform());
- antialiased = false;
- setOpacity(255);
- setCompositionMode(q->state()->compositionMode());
- dirtyClip = true;
- setPen(q->state()->pen);
-}
-
-void QDirectFBPaintEnginePrivate::end()
-{
- lockedMemory = 0;
- dfbDevice = 0;
-#if (Q_DIRECTFB_VERSION >= 0x010000)
- surface->ReleaseSource(surface);
-#endif
- surface->SetClip(surface, NULL);
- surface = 0;
-}
-
void QDirectFBPaintEnginePrivate::setPen(const QPen &p)
{
pen = p;
@@ -1071,6 +1062,8 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
{
const QRect sr = src.toRect();
const QRect dr = transform.mapRect(dest).toRect();
+ if (dr.isEmpty())
+ return;
const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
DFBResult result;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 5deca3c..86ee62c 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -252,7 +252,6 @@ void QDirectFBWindowSurface::setPermanentState(const QByteArray &state)
static inline void scrollSurface(IDirectFBSurface *surface, const QRect &r, int dx, int dy)
{
- surface->SetBlittingFlags(surface, DSBLIT_NOFX);
const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
surface->Blit(surface, surface, &rect, r.x() + dx, r.y() + dy);
}
@@ -365,6 +364,7 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
if (winOpacity != opacity)
dfbWindow->SetOpacity(dfbWindow, winOpacity);
}
+#endif
if (!(flipFlags & DSFLIP_BLIT)) {
dfbSurface->Flip(dfbSurface, 0, flipFlags);
} else {
@@ -386,7 +386,6 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
dfbSurface->Flip(dfbSurface, &dfbReg, flipFlags);
}
}
-#endif
#ifdef QT_DIRECTFB_TIMING
enum { Secs = 3 };
++frames;
diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
index e2e1a66..f8893a0 100644
--- a/src/plugins/imageformats/jpeg/jpeg.pro
+++ b/src/plugins/imageformats/jpeg/jpeg.pro
@@ -13,6 +13,10 @@ wince*: {
contains(CE_ARCH,x86):CONFIG += exceptions_off
}
+symbian: {
+ QMAKE_CXXFLAGS.CW += -W nounusedarg
+}
+
contains(QT_CONFIG, system-jpeg) {
unix:LIBS += -ljpeg
win32:LIBS += libjpeg.lib
diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
index 35cb47a..e391ebc 100644
--- a/src/plugins/imageformats/mng/mng.pro
+++ b/src/plugins/imageformats/mng/mng.pro
@@ -7,6 +7,10 @@ HEADERS += qmnghandler.h
SOURCES += main.cpp \
qmnghandler.cpp
+symbian: {
+ QMAKE_CXXFLAGS.CW += -W nounused
+}
+
contains(QT_CONFIG, system-mng) {
unix:LIBS += -lmng
win32:LIBS += libmng.lib
diff --git a/src/plugins/qpluginbase.pri b/src/plugins/qpluginbase.pri
index 6d3e266..b14f839 100644
--- a/src/plugins/qpluginbase.pri
+++ b/src/plugins/qpluginbase.pri
@@ -17,4 +17,5 @@ wince*:LIBS += $$QMAKE_LIBS_GUI
symbian: {
TARGET.EPOCALLOWDLLDATA=1
TARGET.CAPABILITY = All -Tcb
+ load(armcc_warnings)
}
diff --git a/src/qbase.pri b/src/qbase.pri
index 2b0abc2..1fb7427 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -94,6 +94,7 @@ symbian {
DEFINES+=QT_MAKEDLL
TARGET.CAPABILITY = All -Tcb
}
+ load(armcc_warnings)
}
win32-borland:INCLUDEPATH += kernel
@@ -136,7 +137,7 @@ unix:!symbian {
}
contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
-DEFINES += QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
+DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT
DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
diff --git a/src/s60main/qts60mainappui.cpp b/src/s60main/qts60mainappui.cpp
index 1ac4f5a..85badcc 100644
--- a/src/s60main/qts60mainappui.cpp
+++ b/src/s60main/qts60mainappui.cpp
@@ -170,6 +170,8 @@ void CQtS60MainAppUi::OpenCMainCallBack()
{
TInt ret;
TRAPD(err, ret = QtMainWrapper());
+ Q_UNUSED(ret);
+ Q_UNUSED(err);
Exit();
}
diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp
index d5fb10f..617f116 100644
--- a/src/sql/drivers/oci/qsql_oci.cpp
+++ b/src/sql/drivers/oci/qsql_oci.cpp
@@ -609,7 +609,7 @@ static QSqlField qFromOraInf(const OraFieldInfo &ofi)
QSqlField f(ofi.name, ofi.type);
f.setRequired(ofi.oraIsNull == 0);
- if (ofi.type == QVariant::String)
+ if (ofi.type == QVariant::String && ofi.oraType != SQLT_NUM && ofi.oraType != SQLT_VNU)
f.setLength(ofi.oraFieldLength);
else
f.setLength(ofi.oraPrecision == 0 ? 38 : int(ofi.oraPrecision));
@@ -1586,9 +1586,12 @@ void QOCICols::getValues(QVector<QVariant> &v, int index)
} else if ((d->q->numericalPrecisionPolicy() == QSql::LowPrecisionInt64)
&& (fld.typ == QVariant::LongLong)) {
qint64 qll = 0;
- OCINumberToInt(d->err, reinterpret_cast<OCINumber *>(fld.data), sizeof(qint64),
+ int r = OCINumberToInt(d->err, reinterpret_cast<OCINumber *>(fld.data), sizeof(qint64),
OCI_NUMBER_SIGNED, &qll);
- v[index + i] = qll;
+ if(r == OCI_SUCCESS)
+ v[index + i] = qll;
+ else
+ v[index + i] = QVariant();
break;
} else if ((d->q->numericalPrecisionPolicy() == QSql::LowPrecisionInt32)
&& (fld.typ == QVariant::Int)) {
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 6ceee82..e91ca56 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -255,9 +255,11 @@ static QVariant::Type qDecodeODBCType(SQLSMALLINT sqltype, const T* p, bool isSi
case SQL_SMALLINT:
case SQL_INTEGER:
case SQL_BIT:
- case SQL_TINYINT:
type = isSigned ? QVariant::Int : QVariant::UInt;
break;
+ case SQL_TINYINT:
+ type = QVariant::UInt;
+ break;
case SQL_BIGINT:
type = isSigned ? QVariant::LongLong : QVariant::ULongLong;
break;
@@ -1111,7 +1113,7 @@ QVariant QODBCResult::data(int field)
d->fieldCache[i] = qGetBinaryData(d->hStmt, i);
break;
case QVariant::String:
- d->fieldCache[i] = qGetStringData(d->hStmt, i, info.length(), true);
+ d->fieldCache[i] = qGetStringData(d->hStmt, i, info.length(), d->unicode);
break;
case QVariant::Double:
switch(numericalPrecisionPolicy()) {
@@ -1536,6 +1538,7 @@ bool QODBCResult::exec()
values[i] = QVariant(QDateTime(QDate(dt.year, dt.month, dt.day),
QTime(dt.hour, dt.minute, dt.second, dt.fraction / 1000000)));
break; }
+ case QVariant::Bool:
case QVariant::Int:
case QVariant::UInt:
case QVariant::Double:
diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp
index 0c92013..2c67c8d 100644
--- a/src/sql/drivers/psql/qsql_psql.cpp
+++ b/src/sql/drivers/psql/qsql_psql.cpp
@@ -1265,15 +1265,15 @@ QStringList QPSQLDriver::subscribedToNotificationsImplementation() const
void QPSQLDriver::_q_handleNotification(int)
{
PQconsumeInput(d->connection);
- PGnotify *notify = PQnotifies(d->connection);
- if (notify) {
- QString name(QLatin1String(notify->relname));
+ PGnotify *notify = 0;
+ while((notify = PQnotifies(d->connection)) != 0) {
+ QString name(QLatin1String(notify->relname));
if (d->seid.contains(name))
emit notification(name);
else
qWarning("QPSQLDriver: received notification for '%s' which isn't subscribed to.",
- qPrintable(name));
+ qPrintable(name));
qPQfreemem(notify);
}
diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp
index 8e1091b..1b74fb9 100644
--- a/src/sql/drivers/sqlite/qsql_sqlite.cpp
+++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp
@@ -117,8 +117,6 @@ public:
QSqlRecord rInf;
};
-static const uint initial_cache_size = 128;
-
QSQLiteResultPrivate::QSQLiteResultPrivate(QSQLiteResult* res) : q(res), access(0),
stmt(0), skippedStatus(false), skipRow(false), utf8(false)
{
diff --git a/src/sql/kernel/qsqlcachedresult.cpp b/src/sql/kernel/qsqlcachedresult.cpp
index ca51dc0..13e6d82 100644
--- a/src/sql/kernel/qsqlcachedresult.cpp
+++ b/src/sql/kernel/qsqlcachedresult.cpp
@@ -184,8 +184,11 @@ bool QSqlCachedResult::fetch(int i)
if (d->rowCacheEnd > 0)
setAt(d->cacheCount());
while (at() < i + 1) {
- if (!cacheNext())
+ if (!cacheNext()) {
+ if (d->canSeek(i))
+ break;
return false;
+ }
}
setAt(i);
diff --git a/src/src.pro b/src/src.pro
index 4e26d1d..3175916 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -5,7 +5,7 @@ unset(SRC_SUBDIRS)
win32:SRC_SUBDIRS += src_winmain
wince*:{
SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_script src_testlib
-} symbian {
+} else:symbian {
SRC_SUBDIRS += src_s60main src_corelib src_xml src_gui src_network src_sql src_script src_testlib
SRC_SUBDIRS += $$QT_SOURCE_TREE/src/s60installs/qt_libs.pro
} else {
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 35c2b4d..00e532a 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -1766,7 +1766,7 @@ bool QTest::compare_helper(bool success, const char *msg, char *val1, char *val2
\internal
*/
template <>
-bool QTest::qCompare<float>(float const &t1, float const &t2, const char *actual, const char *expected,
+Q_TESTLIB_EXPORT bool QTest::qCompare<float>(float const &t1, float const &t2, const char *actual, const char *expected,
const char *file, int line)
{
return qFuzzyCompare(t1, t2)
@@ -1779,7 +1779,7 @@ bool QTest::qCompare<float>(float const &t1, float const &t2, const char *actual
\internal
*/
template <>
-bool QTest::qCompare<double>(double const &t1, double const &t2, const char *actual, const char *expected,
+Q_TESTLIB_EXPORT bool QTest::qCompare<double>(double const &t1, double const &t2, const char *actual, const char *expected,
const char *file, int line)
{
return qFuzzyCompare(t1, t2)
@@ -1789,7 +1789,7 @@ bool QTest::qCompare<double>(double const &t1, double const &t2, const char *act
}
#define COMPARE_IMPL2(TYPE, FORMAT) \
-template <> char *QTest::toString<TYPE >(const TYPE &t) \
+template <> Q_TESTLIB_EXPORT char *QTest::toString<TYPE >(const TYPE &t) \
{ \
char *msg = new char[128]; \
qt_snprintf(msg, 128, #FORMAT, t); \
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 7d71891..95fa512 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -119,22 +119,12 @@ class QTestData;
namespace QTest
{
-#ifndef Q_CC_NOKIAX86
- template <typename T>
+ template <typename T>
inline char *toString(const T &)
{
return 0;
}
-#else
- // Nokia X86 compiler bug:
- // does not export template specializations if parent template is inline
- template <typename T>
- Q_TESTLIB_EXPORT char *toString(const T &)
- {
- return 0;
- }
-#endif
-
+
Q_TESTLIB_EXPORT char *toHexRepresentation(const char *ba, int length);
Q_TESTLIB_EXPORT char *toString(const char *);
@@ -179,7 +169,6 @@ namespace QTest
}
Q_TESTLIB_EXPORT QTestData &newRow(const char *dataTag);
-#ifndef Q_CC_NOKIAX86
template <typename T>
inline bool qCompare(T const &t1, T const &t2, const char *actual, const char *expected,
const char *file, int line)
@@ -189,19 +178,6 @@ namespace QTest
: compare_helper(false, "Compared values are not the same",
toString<T>(t1), toString<T>(t2), actual, expected, file, line);
}
-#else
- // Nokia X86 compiler bug:
- // does not export template specializations if parent template is inline
- template <typename T>
- Q_TESTLIB_EXPORT bool qCompare(T const &t1, T const &t2, const char *actual, const char *expected,
- const char *file, int line)
- {
- return (t1 == t2)
- ? compare_helper(true, "COMPARE()", file, line)
- : compare_helper(false, "Compared values are not the same",
- toString<T>(t1), toString<T>(t2), actual, expected, file, line);
- }
-#endif
template <>
@@ -316,8 +292,8 @@ namespace QTest
}
#else /* QTEST_NO_SPECIALIZATIONS */
-// In Synmbian we have QTEST_NO_SPECIALIZATIONS defined, but still float related specialization
-// Should be uses. If QTEST_NO_SPECIALIZATIONS is enabled we get ambiguous overload errors
+// In Symbian we have QTEST_NO_SPECIALIZATIONS defined, but still float related specialization
+// should be used. If QTEST_NO_SPECIALIZATIONS is enabled we get ambiguous overload errors.
#if defined(QT_ARCH_SYMBIAN)
template <typename T1, typename T2>
bool qCompare(T1 const &, T2 const &, const char *, const char *, const char *, int);
@@ -370,12 +346,12 @@ namespace QTest
return compare_string_helper(t1, t2, actual, expected, file, line);
}
- // NokiaX86 and RVCT do not like implicitly comparing bool with int
+ // NokiaX86 and RVCT do not like implicitly comparing bool with int
#ifndef QTEST_NO_SPECIALIZATIONS
template <>
#endif
inline bool qCompare(bool const &t1, int const &t2,
- const char *actual, const char *expected, const char *file, int line)
+ const char *actual, const char *expected, const char *file, int line)
{
return qCompare<int>(int(t1), t2, actual, expected, file, line);
}
@@ -387,7 +363,7 @@ namespace QTest
{
return qCompare(actual, *static_cast<const T *>(QTest::qElementData(elementName,
qMetaTypeId<T>())), actualStr, expected, file, line);
- }
+ }
}
#undef QTEST_COMPARE_DECL
diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro
index 023c94f..00780b4 100644
--- a/src/testlib/testlib.pro
+++ b/src/testlib/testlib.pro
@@ -44,7 +44,7 @@ SOURCES = qtestcase.cpp \
qtestlightxmlstreamer.cpp \
qtestlogger.cpp \
qtestfilelogger.cpp
-DEFINES += QT_NO_CAST_TO_ASCII \
+DEFINES *= QT_NO_CAST_TO_ASCII \
QT_NO_CAST_FROM_ASCII \
QTESTLIB_MAKEDLL \
QT_NO_DATASTREAM
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index c78f08d..6bc5ad8 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -11,6 +11,7 @@ SUBDIRS += _networkselftest \
compile \
compilerwarnings \
exceptionsafety \
+ linguist \
macgui \
macplist \
mediaobject \
diff --git a/tests/auto/exceptionsafety/tst_exceptionsafety.cpp b/tests/auto/exceptionsafety/tst_exceptionsafety.cpp
index b9297d9..e42eabb 100644
--- a/tests/auto/exceptionsafety/tst_exceptionsafety.cpp
+++ b/tests/auto/exceptionsafety/tst_exceptionsafety.cpp
@@ -57,8 +57,8 @@ private slots:
void exceptionMap();
void exceptionList();
void exceptionLinkedList();
- void exceptionEventLoop();
- void exceptionSignalSlot();
+// void exceptionEventLoop();
+// void exceptionSignalSlot();
};
class Emitter : public QObject
@@ -594,6 +594,8 @@ void tst_ExceptionSafety::exceptionHash() {
QCOMPARE(objCounter, 0 ); // check that every object has been freed
}
+// Disable these tests until the level of exception safety in event loops is clear
+#if 0
enum
{
ThrowEventId = QEvent::User + 42,
@@ -718,6 +720,7 @@ void tst_ExceptionSafety::exceptionSignalSlot()
QCOMPARE(r1.received, 1);
QCOMPARE(r2.received, 0);
}
+#endif
QTEST_MAIN(tst_ExceptionSafety)
#include "tst_exceptionsafety.moc"
diff --git a/tests/auto/linguist/lconvert/data/codec-cp1252.ts b/tests/auto/linguist/lconvert/data/codec-cp1252.ts
new file mode 100644
index 0000000..5ffa2f3
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/codec-cp1252.ts
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>windows-1252</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>random ascii only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut ü &amp;uuml;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>random ascii only in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message utf8="true">
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/codec-utf8.ts b/tests/auto/linguist/lconvert/data/codec-utf8.ts
new file mode 100644
index 0000000..0ebdbfd
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/codec-utf8.ts
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>random ascii only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut ü &amp;uuml;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>random ascii only in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/dual-encoding.ts b/tests/auto/linguist/lconvert/data/dual-encoding.ts
new file mode 100644
index 0000000..5023a04
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/dual-encoding.ts
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name></name>
+ <message utf8="both">
+ <source>Mühsam</source>
+ <translation>tedious</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/endless-po-loop.ts b/tests/auto/linguist/lconvert/data/endless-po-loop.ts
new file mode 100644
index 0000000..6212fbd
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/endless-po-loop.ts
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
+<context>
+ <name>Assistant</name>
+ <message>
+ <source>This is some text which introduces the DonauDampfSchifffahrtsKapitaensMuetzeMitKomischenUltraViolettenFransenUndEinemKnopf</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="this/is/a/really/really/absurdly/no,/grotesquely/long/path/supposed/to/blow/up.cpp" line="20"/>
+ <source>%n document(s) found.</source>
+ <translation></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/makeplurals.sh b/tests/auto/linguist/lconvert/data/makeplurals.sh
new file mode 100755
index 0000000..2e0f375
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/makeplurals.sh
@@ -0,0 +1,43 @@
+#! /bin/bash
+
+function makeit2()
+{
+ for ((i = 0; i < (1 << $1); i++)); do
+ echo
+ test -n "$3" && echo "$3"
+ echo "msgid \"singular $2 $i\""
+ echo "msgid_plural \"plural $2 $i\""
+ for ((j = 0; j < $1; j++)); do
+ tr=
+ if test $((i & (1 << j))) = 0; then
+ tr="translated $2 $i $j"
+ fi
+ echo "msgstr[$j] \"$tr\""
+ done
+ done
+}
+
+function makeit()
+{
+ {
+ cat <<EOF
+msgid ""
+msgstr ""
+"X-FooBar: yup\n"
+"X-Language: $2\n"
+EOF
+ makeit2 $1 one ""
+ makeit2 $1 two "#, fuzzy
+#| msgid \"old untranslated one\""
+ makeit2 $1 three "#, fuzzy
+#| msgid \"old untranslated two\"
+#| msgid_plural \"old untranslated plural two\""
+ makeit2 $1 four "#, fuzzy
+#| msgid_plural \"old untranslated only plural three\""
+ } > ${OUTDIR}plural-$1.po
+}
+
+OUTDIR=$1
+makeit 1 zh_CN
+makeit 2 de_DE
+makeit 3 pl_PL
diff --git a/tests/auto/linguist/lconvert/data/msgid.ts b/tests/auto/linguist/lconvert/data/msgid.ts
new file mode 100644
index 0000000..ab65845
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/msgid.ts
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" sourcelanguage="en">
+<context>
+ <name>Dialog2</name>
+ <message numerus="yes">
+ <source>%n files</source>
+ <translation>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message id="this_is_some_id" numerus="yes">
+ <source>%n cars</source>
+ <translation>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>Age: %1</source>
+ <translation></translation>
+ </message>
+ <message id="this_is_another_id">
+ <source>func3</source>
+ <translation></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/plurals-cn.ts b/tests/auto/linguist/lconvert/data/plurals-cn.ts
new file mode 100644
index 0000000..966ec77
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/plurals-cn.ts
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="cn">
+<context>
+ <name>Assistant</name>
+ <message>
+ <source>Source</source>
+ <translation>Translation</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n document(s) found.</source>
+ <translation>
+ <numerusform>1 Dokument gefunden.</numerusform>
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/plurals-de.ts b/tests/auto/linguist/lconvert/data/plurals-de.ts
new file mode 100644
index 0000000..6cbadff
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/plurals-de.ts
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
+<context>
+ <name>Assistant</name>
+ <message>
+ <source>Not plural</source>
+ <translation>Kein plural</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n document(s) found.</source>
+ <translation>
+ <numerusform>1 Dokument gefunden.</numerusform>
+ <numerusform>%n Dokumente gefunden.</numerusform>
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/relative.ts b/tests/auto/linguist/lconvert/data/relative.ts
new file mode 100644
index 0000000..b8eaaca
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/relative.ts
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Foo</name>
+ <message>
+ <location filename="foo.cpp" line="+13"/>
+ <source>This is the first entry.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>And a second one on the same line.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>This tr is new.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+16"/>
+ <source>This one moved in from another file.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Just as this one.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location filename="bar.cpp" line="+100"/>
+ <source>Another alien.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>They are coming!</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>They are everywhere!</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="bar.cpp" line="+20"/>
+ <source>An earthling again.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>This is from the bottom, too.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Third string from the bottom.</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Fourth one!</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <source>This string did move from the bottom.</source>
+ <translation></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/singular.po b/tests/auto/linguist/lconvert/data/singular.po
new file mode 100644
index 0000000..a0d4019
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/singular.po
@@ -0,0 +1,42 @@
+msgid ""
+msgstr ""
+
+msgid "untranslated one"
+msgstr "translated"
+
+#, fuzzy
+#| msgid "old untranslated"
+msgid "untranslated two"
+msgstr "translated"
+
+#, fuzzy
+#| msgid "old untranslated"
+msgid "untranslated two b"
+msgstr ""
+
+#, fuzzy
+#| msgid "old untranslated"
+#| msgid_plural "old untranslated plural"
+msgid "untranslated three"
+msgstr "translated"
+
+#, fuzzy
+#| msgid "old untranslated"
+#| msgid_plural "old untranslated plural"
+msgid "untranslated three b"
+msgstr ""
+
+#, fuzzy
+#| msgid_plural "old untranslated only plural"
+msgid "untranslated four"
+msgstr "translated"
+
+#, fuzzy
+#| msgid_plural "old untranslated only plural"
+msgid "untranslated four b"
+msgstr ""
+
+#, fuzzy
+#| msgctxt "old context"
+msgid "untranslated five"
+msgstr "translated"
diff --git a/tests/auto/linguist/lconvert/data/test-broken-utf8.po b/tests/auto/linguist/lconvert/data/test-broken-utf8.po
new file mode 100644
index 0000000..20b58a0
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-broken-utf8.po
@@ -0,0 +1,9 @@
+# no comment
+msgid ""
+msgstr ""
+
+msgid "this works"
+msgstr "das geht: ä"
+
+msgid "this is broken"
+msgstr "das ist kaputt: i"
diff --git a/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out b/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out
new file mode 100644
index 0000000..c00fd19
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out
@@ -0,0 +1,9 @@
+# no comment
+msgid ""
+msgstr ""
+
+msgid "this works"
+msgstr "das geht: ä"
+
+msgid "this is broken"
+msgstr "das ist kaputt: i"
diff --git a/tests/auto/linguist/lconvert/data/test-developer-comment.po b/tests/auto/linguist/lconvert/data/test-developer-comment.po
new file mode 100644
index 0000000..787f312
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-developer-comment.po
@@ -0,0 +1,23 @@
+# translation of kdmgreet.po to zh_CN
+# Simp. Chinese Translation for kdmgreet.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Gou Zhuang <gouzhuang@bigfoot.com>, 2001.
+# Xiong Jiang <jxiong@offtopic.org>, 2003.
+# Yan Shuangchun <yahzee@d3eye.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2008-04-22 16:56+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. I'm a clever developer. Right? Uhm ...
+msgid "User %u will log in in %t"
+msgstr "用户 %u 将在 %t 秒后登录"
diff --git a/tests/auto/linguist/lconvert/data/test-empty-comment.po b/tests/auto/linguist/lconvert/data/test-empty-comment.po
new file mode 100644
index 0000000..ce74c46
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-empty-comment.po
@@ -0,0 +1,24 @@
+# translation of kdmgreet.po to zh_CN
+# Simp. Chinese Translation for kdmgreet.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Gou Zhuang <gouzhuang@bigfoot.com>, 2001.
+# Xiong Jiang <jxiong@offtopic.org>, 2003.
+# Yan Shuangchun <yahzee@d3eye.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2008-04-22 16:56+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#
+#: themer/kdmlabel.cpp:236
+msgid "User %u will log in in %t"
+msgstr "用户 %u 将在 %t 秒后登录"
diff --git a/tests/auto/linguist/lconvert/data/test-escapes.po b/tests/auto/linguist/lconvert/data/test-escapes.po
new file mode 100644
index 0000000..059dc58
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-escapes.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+
+msgid "this comes\non a new line"
+msgstr "yup"
+
+msgid "come to \"quote\" me"
+msgstr "sure?"
+
+msgid "\x1a\45\r\t\v\a\b"
+msgstr "yup"
diff --git a/tests/auto/linguist/lconvert/data/test-escapes.po.out b/tests/auto/linguist/lconvert/data/test-escapes.po.out
new file mode 100644
index 0000000..10eefb2
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-escapes.po.out
@@ -0,0 +1,13 @@
+msgid ""
+msgstr ""
+
+msgid ""
+"this comes\n"
+"on a new line"
+msgstr "yup"
+
+msgid "come to \"quote\" me"
+msgstr "sure?"
+
+msgid "\x1a%\r\t\v\a\b"
+msgstr "yup"
diff --git a/tests/auto/linguist/lconvert/data/test-kde-ctxt.po b/tests/auto/linguist/lconvert/data/test-kde-ctxt.po
new file mode 100644
index 0000000..b510538
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-kde-ctxt.po
@@ -0,0 +1,25 @@
+# translation of kdmgreet.po to zh_CN
+# Simp. Chinese Translation for kdmgreet.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Gou Zhuang <gouzhuang@bigfoot.com>, 2001.
+# Xiong Jiang <jxiong@offtopic.org>, 2003.
+# Yan Shuangchun <yahzee@d3eye.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2008-04-22 16:56+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: kgdialog.cpp:231
+#, kde-format
+msgctxt "session (location)"
+msgid "%1 (%2)"
+msgstr "%1(%2)"
diff --git a/tests/auto/linguist/lconvert/data/test-kde-fuzzy.po b/tests/auto/linguist/lconvert/data/test-kde-fuzzy.po
new file mode 100644
index 0000000..b3f6e03
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-kde-fuzzy.po
@@ -0,0 +1,31 @@
+# translation of kdmgreet.po to German
+# Übersetzung von kdmgreet.po ins Deutsche
+# Copyright (C)
+# Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
+# Stephan Johach <hunsum@gmx.de>, 2005.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2007-12-06 20:50+0100\n"
+"Last-Translator: Thomas Reitelbach <tr@erdfunkstelle.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KAider 0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: kgverify.cpp:459
+#, fuzzy, kde-format
+#| msgid ""
+#| "Logging in %1 ...\n"
+#| "\n"
+msgid ""
+"Logging in %1...\n"
+"\n"
+msgstr ""
+"%1 wird angemeldet ...\n"
+"\n"
diff --git a/tests/auto/linguist/lconvert/data/test-kde-multiline.po b/tests/auto/linguist/lconvert/data/test-kde-multiline.po
new file mode 100644
index 0000000..0ca714c
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-kde-multiline.po
@@ -0,0 +1,32 @@
+# translation of kdmgreet.po to German
+# Übersetzung von kdmgreet.po ins Deutsche
+# Copyright (C)
+# Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
+# Stephan Johach <hunsum@gmx.de>, 2005.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2007-12-06 20:50+0100\n"
+"Last-Translator: Thomas Reitelbach <tr@erdfunkstelle.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KAider 0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: kdmshutdown.cpp:706
+#, kde-format
+msgid ""
+"Owner: %1\n"
+"Type: %2%5\n"
+"Start: %3\n"
+"Timeout: %4"
+msgstr ""
+"Eigentümer: %1\n"
+"Typ: %2%5\n"
+"Start: %3\n"
+"Zeitlimit: %4"
diff --git a/tests/auto/linguist/lconvert/data/test-kde-plurals.po b/tests/auto/linguist/lconvert/data/test-kde-plurals.po
new file mode 100644
index 0000000..6c85d74
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-kde-plurals.po
@@ -0,0 +1,27 @@
+# translation of kdmgreet.po to German
+# Übersetzung von kdmgreet.po ins Deutsche
+# Copyright (C)
+# Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
+# Stephan Johach <hunsum@gmx.de>, 2005.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2007-12-06 20:50+0100\n"
+"Last-Translator: Thomas Reitelbach <tr@erdfunkstelle.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KAider 0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Language: de_DE\n"
+
+#: kgverify.cpp:505
+#, kde-format
+msgid "Your account expires tomorrow."
+msgid_plural "Your account expires in %1 days."
+msgstr[0] "Ihre Zugangsberechtigung läuft morgen ab."
+msgstr[1] "Ihre Zugangsberechtigung läuft in %1 Tagen ab."
diff --git a/tests/auto/linguist/lconvert/data/test-slurp.po b/tests/auto/linguist/lconvert/data/test-slurp.po
new file mode 100644
index 0000000..67bc239
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-slurp.po
@@ -0,0 +1,19 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+
+msgid "just a line"
+msgstr "indeed"
+
+msgid ""
+"another "
+"line"
+msgstr "certainly"
+
+msgid "a somewhat longer line that will certainly require re-wrapping, and will be re-wrapped if our algorithm is not completely broken.\n"
+"this comes on a new line.\n"
+msgstr "whatever ..."
+
+msgid "bi-""segmented"
+msgstr "aye"
diff --git a/tests/auto/linguist/lconvert/data/test-slurp.po.out b/tests/auto/linguist/lconvert/data/test-slurp.po.out
new file mode 100644
index 0000000..8859a70
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-slurp.po.out
@@ -0,0 +1,19 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+
+msgid "just a line"
+msgstr "indeed"
+
+msgid "another line"
+msgstr "certainly"
+
+msgid ""
+"a somewhat longer line that will certainly require re-wrapping, and will be "
+"re-wrapped if our algorithm is not completely broken.\n"
+"this comes on a new line.\n"
+msgstr "whatever ..."
+
+msgid "bi-segmented"
+msgstr "aye"
diff --git a/tests/auto/linguist/lconvert/data/test-translator-comment.po b/tests/auto/linguist/lconvert/data/test-translator-comment.po
new file mode 100644
index 0000000..bc4df5c
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test-translator-comment.po
@@ -0,0 +1,41 @@
+# translation of kdmgreet.po to zh_CN
+# Simp. Chinese Translation for kdmgreet.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Gou Zhuang <gouzhuang@bigfoot.com>, 2001.
+# Xiong Jiang <jxiong@offtopic.org>, 2003.
+# Yan Shuangchun <yahzee@d3eye.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2008-04-22 16:56+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "no comment"
+msgstr "indeed"
+
+#
+msgid "just empty"
+msgstr "indeed"
+
+#
+# This is some comment.
+#
+# This is another comment.
+#
+msgid "User %u will log in in %t"
+msgstr "用户 %u 将在 %t 秒后登录"
+
+# A fooish bar.
+# Hey-ho, sucker.
+#
+# Babbling gully.
+msgid "Foo"
+msgstr "Bar"
diff --git a/tests/auto/linguist/lconvert/data/test1-cn.po b/tests/auto/linguist/lconvert/data/test1-cn.po
new file mode 100644
index 0000000..529eca3
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test1-cn.po
@@ -0,0 +1,67 @@
+# translation of kdmgreet.po to zh_CN
+# Simp. Chinese Translation for kdmgreet.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Gou Zhuang <gouzhuang@bigfoot.com>, 2001.
+# Xiong Jiang <jxiong@offtopic.org>, 2003.
+# Yan Shuangchun <yahzee@d3eye.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2008-04-22 16:56+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Language: zh_CN\n"
+
+#: kdmconfig.cpp:147
+msgid "[fix kdmrc]"
+msgstr "[修复 kdmrc]"
+
+#: krootimage.cpp:39
+msgid "Fancy desktop background for kdm"
+msgstr "kdm 的梦幻桌面背景"
+
+#: kgreeter.cpp:558
+#, kde-format
+msgid ""
+"Your saved session type '%1' is not valid any more.\n"
+"Please select a new one, otherwise 'default' will be used."
+msgstr ""
+"你保存的“%1”会话类型不再有效。\n"
+"请选择一个新的类型,否则将使用“默认”。"
+
+#: kgdialog.cpp:231
+#, kde-format
+msgctxt "session (location)"
+msgid "%1 (%2)"
+msgstr "%1(%2)"
+
+#: kgverify.cpp:505
+#, kde-format
+msgid "Your account expires tomorrow."
+msgid_plural "Your account expires in %1 days."
+msgstr[0] "您的账户将于 %1 天后过期。"
+
+#: kdmshutdown.cpp:510
+#, kde-format
+msgctxt "current option in boot loader"
+msgid "%1 (current)"
+msgstr "%1 (当前)"
+
+#: themer/kdmlabel.cpp:285
+#, no-c-format
+msgctxt "date format"
+msgid "%a %d %B"
+msgstr "%B月%d日,%a"
+
+#~ msgid "_Suspend"
+#~ msgstr "挂起(_S)"
+
+#~ msgid "Confi_gure"
+#~ msgstr "配置(_G)"
diff --git a/tests/auto/linguist/lconvert/data/test1-de.po b/tests/auto/linguist/lconvert/data/test1-de.po
new file mode 100644
index 0000000..256b8e9
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test1-de.po
@@ -0,0 +1,75 @@
+# translation of kdmgreet.po to German
+# translation of kdmgreet.po to
+# Übersetzung von kdmgreet.po ins Deutsche
+# Copyright (C)
+# Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
+# Stephan Johach <hunsum@gmx.de>, 2005.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdmgreet\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-04-28 18:47+0200\n"
+"PO-Revision-Date: 2007-12-06 20:50+0100\n"
+"Last-Translator: Thomas Reitelbach <tr@erdfunkstelle.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KAider 0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Language: de_DE\n"
+
+#: lib/acl.c:107 lib/acl.c:121 lib/acl.c:138 lib/acl.c:165 lib/acl.c:174
+#: src/copy.c:695 src/copy.c:2017
+#, c-format
+msgid "preserving permissions for %s"
+msgstr "a preservar as permissões de %s"
+
+#: kdmconfig.cpp:147
+msgid "[fix kdmrc]"
+msgstr "[fix kdmrc]"
+
+#: krootimage.cpp:39
+msgid "Fancy desktop background for kdm"
+msgstr "Schicker Arbeitsflächenhintergrund für KDM"
+
+#: kgreeter.cpp:558
+#, kde-format
+msgid ""
+"Your saved session type '%1' is not valid any more.\n"
+"Please select a new one, otherwise 'default' will be used."
+msgstr ""
+"Der gespeicherte Sitzungstyp „%1“ ist nicht mehr gültig.\n"
+"Bitte wählen Sie einen neuen. Sonst wird die Voreinstellung verwendet."
+
+#: kgdialog.cpp:231
+#, kde-format
+msgctxt "session (location)"
+msgid "%1 (%2)"
+msgstr "%1 (%2)"
+
+#: kgverify.cpp:505
+#, kde-format
+msgid "Your account expires tomorrow."
+msgid_plural "Your account expires in %1 days."
+msgstr[0] "Ihre Zugangsberechtigung läuft morgen ab."
+msgstr[1] "Ihre Zugangsberechtigung läuft in %1 Tagen ab."
+
+#: kdmshutdown.cpp:510
+#, kde-format
+msgctxt "current option in boot loader"
+msgid "%1 (current)"
+msgstr "%1 (Aktuelle)"
+
+#: themer/kdmlabel.cpp:285
+#, no-c-format
+msgctxt "date format"
+msgid "%a %d %B"
+msgstr "%a %d %B"
+
+#~ msgid "_Suspend"
+#~ msgstr "_Ruhezustand"
+
+#~ msgid "Confi_gure"
+#~ msgstr "Ein_richten"
diff --git a/tests/auto/linguist/lconvert/data/test11.ts b/tests/auto/linguist/lconvert/data/test11.ts
new file mode 100644
index 0000000..aeb46af
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test11.ts
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="1.1" language="de_DE">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="finddialog.cpp" line="57"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="122"/>
+ <source>Should be obsolete</source>
+ <translation type="unfinished">SHOULD BE OBSOLETE</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/test20.ts b/tests/auto/linguist/lconvert/data/test20.ts
new file mode 100644
index 0000000..542cdee
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/test20.ts
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Dialog2</name>
+ <message numerus="yes">
+ <location filename="main.cpp" line="29"/>
+ <source>%n files</source>
+ <comment>plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="30"/>
+ <source>%n cars</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="31"/>
+ <source>&amp;Find %n cars</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="32"/>
+ <source>Search in %n items?</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="33"/>
+ <source>%1. Search in %n items?</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="34"/>
+ <source>Age: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="35"/>
+ <source>There are %n house(s)</source>
+ <comment>Plurals and function call</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="53"/>
+ <source>QTranslator</source>
+ <comment>Simple</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="54"/>
+ <source>QTranslator</source>
+ <comment>Simple with comment</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="55"/>
+ <source>QTranslator</source>
+ <comment>Plural without comment</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="57"/>
+ <source>QTranslator</source>
+ <comment>Plural with comment</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="102"/>
+ <source>func3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QCoreApplication</name>
+ <message numerus="yes">
+ <location filename="main.cpp" line="40"/>
+ <source>Plurals, QCoreApplication</source>
+ <comment>%n house(s)</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="41"/>
+ <source>Plurals, QCoreApplication</source>
+ <comment>%n car(s)</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="42"/>
+ <source>Plurals, QCoreApplication</source>
+ <comment>%n horse(s)</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>TestClass</name>
+ <message>
+ <location filename="main.cpp" line="116"/>
+ <source>inline function</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="120"/>
+ <source>inline function 2</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="124"/>
+ <source>static inline function</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/variants.ts b/tests/auto/linguist/lconvert/data/variants.ts
new file mode 100644
index 0000000..52bb2d4
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/variants.ts
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
+<context>
+ <name>Assistant</name>
+ <message>
+ <source>Source</source>
+ <translation variants="yes">
+ <lengthvariant>A really very long translation</lengthvariant>
+ <lengthvariant>Short translation</lengthvariant>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n document(s) found.</source>
+ <translation>
+ <numerusform>1 Dokument gefunden.</numerusform>
+ <numerusform variants="yes">
+ <lengthvariant>%n Dokumente gefunden.</lengthvariant>
+ <lengthvariant>%n Dok. gefunden.</lengthvariant>
+ </numerusform>
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lconvert/data/wrapping.po b/tests/auto/linguist/lconvert/data/wrapping.po
new file mode 100644
index 0000000..39b7fbe
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/wrapping.po
@@ -0,0 +1,58 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-05-14 14:01+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, no-wrap
+msgid "one two three four five six seven eight nine ten eleven twelve thirteen a 12 foo bar\n"
+msgstr ""
+
+#, no-wrap
+msgid ""
+"one two three four five six seven eight nine ten eleven twelve thirteen a 13 foo bar\n"
+"second line"
+msgstr ""
+
+#: gettxt.c:3
+msgid ""
+"one two three four five six seven eight nine ten eleven twelve thirteen a 14 "
+"foo bar\n"
+msgstr ""
+
+#: gettxt.c:4
+msgid ""
+"one two three four five six seven eight nine ten eleven twelve thirteen a "
+"15\n"
+msgstr ""
+
+#: gettxt.c:5
+msgid ""
+"one two three four five six seven eight nine ten eleven twelve thirteen a "
+"123 foo bar\n"
+msgstr ""
+
+#: gettxt.c:6
+msgid "one two three four five six seven eight nine ten eleven twelve thirteen"
+msgstr ""
+
+#: gettxt.c:7
+msgid ""
+"one two three four five six seven eight nine ten eleven twelve th1rt33n\n"
+msgstr ""
+
+#: gettxt.c:8
+msgid "one two three four five six\n"
+msgstr ""
diff --git a/tests/auto/linguist/lconvert/lconvert.pro b/tests/auto/linguist/lconvert/lconvert.pro
new file mode 100644
index 0000000..517dacd
--- /dev/null
+++ b/tests/auto/linguist/lconvert/lconvert.pro
@@ -0,0 +1,8 @@
+CONFIG += qttest_p4
+
+TARGET = tst_lconvert
+
+#HEADERS += testlupdate.h
+SOURCES += tst_lconvert.cpp
+# testlupdate.cpp
+
diff --git a/tests/auto/linguist/lconvert/tst_lconvert.cpp b/tests/auto/linguist/lconvert/tst_lconvert.cpp
new file mode 100644
index 0000000..40be55a
--- /dev/null
+++ b/tests/auto/linguist/lconvert/tst_lconvert.cpp
@@ -0,0 +1,341 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/QFile>
+
+class tst_lconvert : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_lconvert() : dataDir("data/") {}
+
+private slots:
+ void initTestCase();
+ void readverifies_data();
+ void readverifies();
+ void converts_data();
+ void converts();
+ void roundtrips_data();
+ void roundtrips();
+#if 0
+ void chains_data();
+ void chains();
+#endif
+
+private:
+ void doWait(QProcess *cvt, int stage);
+ void doCompare(QIODevice *actual, const QString &expectedFn);
+ void verifyReadFail(const QString &fn);
+ // args can be empty or have one element less than stations
+ void convertChain(const QString &inFileName, const QString &outFileName,
+ const QStringList &stations, const QList<QStringList> &args);
+ void convertRoundtrip(const QString &fileName, const QStringList &stations,
+ const QList<QStringList> &args);
+
+ QString dataDir;
+};
+
+void tst_lconvert::initTestCase()
+{
+ if (!QFile::exists(QLatin1String("data/plural-1.po")))
+ QProcess::execute(QLatin1String("data/makeplurals.sh"), QStringList() << QLatin1String("data/"));
+ QVERIFY(QFile::exists(QLatin1String("data/plural-1.po")));
+}
+
+void tst_lconvert::doWait(QProcess *cvt, int stage)
+{
+ if (QTest::currentTestFailed()) {
+ cvt->kill();
+ cvt->waitForFinished();
+ } else {
+ QVERIFY2(cvt->waitForFinished(3000),
+ qPrintable(QString("Process %1 hung").arg(stage)));
+ QVERIFY2(cvt->exitStatus() == QProcess::NormalExit,
+ qPrintable(QString("Process %1 crashed").arg(stage)));
+ QVERIFY2(cvt->exitCode() == 0,
+ qPrintable(QString("Process %1 exited with status %2. Errors:\n%3")
+ .arg(stage).arg(cvt->exitCode())
+ .arg(QString::fromUtf8(cvt->readAllStandardError()))));
+ }
+}
+
+void tst_lconvert::doCompare(QIODevice *actualDev, const QString &expectedFn)
+{
+ QList<QByteArray> actual = actualDev->readAll().split('\n');
+
+ QFile file(expectedFn);
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QList<QByteArray> expected = file.readAll().split('\n');
+
+ int i = 0, ei = expected.size(), gi = actual.size();
+ for (; ; i++) {
+ if (i == gi) {
+ if (i == ei)
+ return;
+ gi = 0;
+ break;
+ } else if (i == ei) {
+ ei = 0;
+ break;
+ } else if (actual.at(i) != expected.at(i)) {
+ while ((ei - 1) >= i && (gi - 1) >= i && actual.at(gi - 1) == expected.at(ei - 1))
+ ei--, gi--;
+ break;
+ }
+ }
+ QByteArray diff;
+ for (int j = qMax(0, i - 3); j < i; j++)
+ diff += expected.at(j) + '\n';
+ diff += "<<<<<<< got\n";
+ for (int j = i; j < gi; j++) {
+ diff += actual.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += "=========\n";
+ for (int j = i; j < ei; j++) {
+ diff += expected.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += ">>>>>>> expected\n";
+ for (int j = ei; j < qMin(ei + 3, expected.size()); j++)
+ diff += expected.at(j) + '\n';
+ QFAIL(qPrintable("Output for " + expectedFn + " does not meet expectations:\n" + diff));
+}
+
+void tst_lconvert::verifyReadFail(const QString &fn)
+{
+ QProcess cvt;
+ cvt.start("lconvert", QStringList() << (dataDir + fn));
+ QVERIFY(cvt.waitForFinished(1000));
+ QVERIFY(cvt.exitStatus() == QProcess::NormalExit);
+ QVERIFY2(cvt.exitCode() == 2, "Accepted invalid input");
+}
+
+void tst_lconvert::convertChain(const QString &_inFileName, const QString &_outFileName,
+ const QStringList &stations, const QList<QStringList> &argList)
+{
+ QList<QProcess *> cvts;
+
+ QString fileName = dataDir + _inFileName;
+ QString outFileName = dataDir + _outFileName;
+
+ for (int i = 0; i < stations.size() - 1; i++) {
+ QProcess *cvt = new QProcess(this);
+ if (cvts.isEmpty())
+ cvt->setStandardInputFile(fileName);
+ else
+ cvts.last()->setStandardOutputProcess(cvt);
+ cvts.append(cvt);
+ }
+ for (int i = 0; i < stations.size() - 1; i++) {
+ QStringList args;
+ if (!argList.isEmpty())
+ args += argList[i];
+ args << "-if" << stations[i] << "-i" << "-" << "-of" << stations[i + 1];
+ cvts.at(i)->start("lconvert", args);
+ }
+ int st = 0;
+ foreach (QProcess *cvt, cvts)
+ doWait(cvt, ++st);
+
+ if (!QTest::currentTestFailed())
+ doCompare(cvts.last(), outFileName);
+
+ qDeleteAll(cvts);
+}
+
+void tst_lconvert::convertRoundtrip(const QString &_fileName, const QStringList &stations,
+ const QList<QStringList> &argList)
+{
+ convertChain(_fileName, _fileName, stations, argList);
+}
+
+void tst_lconvert::readverifies_data()
+{
+ QTest::addColumn<QString>("fileName");
+ QTest::addColumn<QString>("format");
+
+ QTest::newRow("empty comment") << "test-empty-comment.po" << "po";
+ QTest::newRow("translator comment") << "test-translator-comment.po" << "po";
+ QTest::newRow("developer comment") << "test-developer-comment.po" << "po";
+ QTest::newRow("kde context") << "test-kde-ctxt.po" << "po";
+ QTest::newRow("kde fuzzy") << "test-kde-fuzzy.po" << "po";
+ QTest::newRow("kde plurals") << "test-kde-plurals.po" << "po";
+ QTest::newRow("kde multiline") << "test-kde-multiline.po" << "po";
+ QTest::newRow("po linewrapping") << "wrapping.po" << "po";
+ QTest::newRow("relative locations") << "relative.ts" << "ts";
+ QTest::newRow("message ids") << "msgid.ts" << "ts";
+ QTest::newRow("length variants") << "variants.ts" << "ts";
+}
+
+void tst_lconvert::readverifies()
+{
+ QFETCH(QString, fileName);
+ QFETCH(QString, format);
+
+ convertRoundtrip(fileName, QStringList() << format << format, QList<QStringList>());
+}
+
+void tst_lconvert::converts_data()
+{
+ QTest::addColumn<QString>("inFileName");
+ QTest::addColumn<QString>("outFileName");
+ QTest::addColumn<QString>("format");
+
+ QTest::newRow("broken utf8") << "test-broken-utf8.po" << "test-broken-utf8.po.out" << "po";
+ QTest::newRow("line joins") << "test-slurp.po" << "test-slurp.po.out" << "po";
+ QTest::newRow("escapes") << "test-escapes.po" << "test-escapes.po.out" << "po";
+}
+
+void tst_lconvert::converts()
+{
+ QFETCH(QString, inFileName);
+ QFETCH(QString, outFileName);
+ QFETCH(QString, format);
+
+ QString outFileNameFq = dataDir + outFileName;
+
+ QProcess cvt;
+ cvt.start("lconvert", QStringList() << "-i" << (dataDir + inFileName) << "-of" << format);
+ doWait(&cvt, 0);
+ if (QTest::currentTestFailed())
+ return;
+
+ doCompare(&cvt, outFileNameFq);
+}
+
+Q_DECLARE_METATYPE(QList<QStringList>);
+
+#if 0
+void tst_lconvert::chains_data()
+{
+ QTest::addColumn<QString>("inFileName");
+ QTest::addColumn<QString>("outFileName");
+ QTest::addColumn<QStringList>("stations");
+ QTest::addColumn<QList<QStringList> >("args");
+
+}
+
+void tst_lconvert::chains()
+{
+ QFETCH(QString, inFileName);
+ QFETCH(QString, outFileName);
+ QFETCH(QStringList, stations);
+ QFETCH(QList<QStringList>, args);
+
+ convertChain(inFileName, outFileName, stations, args);
+}
+#endif
+
+void tst_lconvert::roundtrips_data()
+{
+ QTest::addColumn<QString>("fileName");
+ QTest::addColumn<QStringList>("stations");
+ QTest::addColumn<QList<QStringList> >("args");
+
+ QStringList poTsPo; poTsPo << "po" << "ts" << "po";
+ QStringList poXlfPo; poXlfPo << "po" << "xlf" << "po";
+ QStringList tsTs11Ts; tsTs11Ts << "ts" << "ts11" << "ts";
+ QStringList tsPoTs; tsPoTs << "ts" << "po" << "ts";
+ QStringList ts11PoTs11; ts11PoTs11 << "ts11" << "po" << "ts11";
+ QStringList tsXlfTs; tsXlfTs << "ts" << "xlf" << "ts";
+ QStringList tsQmTs; tsQmTs << "ts" << "qm" << "ts";
+
+ QList<QStringList> noArgs;
+ QList<QStringList> filterPoArgs; filterPoArgs << QStringList() << (QStringList() << "-drop-tag" << "po:*");
+ QList<QStringList> outDeArgs; outDeArgs << QStringList() << (QStringList() << "-target-language" << "de");
+ QList<QStringList> outCnArgs; outCnArgs << QStringList() << (QStringList() << "-target-language" << "cn");
+
+ QTest::newRow("po-ts-po (translator comment)") << "test-translator-comment.po" << poTsPo << noArgs;
+ QTest::newRow("po-xliff-po (translator comment)") << "test-translator-comment.po" << poXlfPo << noArgs;
+ QTest::newRow("po-ts-po (developer comment)") << "test-developer-comment.po" << poTsPo << noArgs;
+ QTest::newRow("po-xliff-po (developer comment)") << "test-developer-comment.po" << poXlfPo << noArgs;
+
+ QTest::newRow("ts11-po-ts11") << "test11.ts" << ts11PoTs11 << filterPoArgs;
+ QTest::newRow("ts20-po-ts20") << "test20.ts" << tsPoTs << filterPoArgs;
+ QTest::newRow("po-ts-po (de)") << "test1-de.po" << poTsPo << noArgs;
+ QTest::newRow("po-ts-po (cn)") << "test1-cn.po" << poTsPo << noArgs;
+ QTest::newRow("po-xliff-po (de)") << "test1-de.po" << poXlfPo << noArgs;
+ QTest::newRow("po-xliff-po (cn)") << "test1-cn.po" << poXlfPo << noArgs;
+
+ QTest::newRow("po-ts-po (singular)") << "singular.po" << poTsPo << noArgs;
+ QTest::newRow("po-ts-po (plural-1)") << "plural-1.po" << poTsPo << noArgs;
+ QTest::newRow("po-ts-po (plural-2)") << "plural-2.po" << poTsPo << noArgs;
+ QTest::newRow("po-ts-po (plural-3)") << "plural-3.po" << poTsPo << noArgs;
+ QTest::newRow("po-xliff-po (singular)") << "singular.po" << poXlfPo << noArgs;
+ QTest::newRow("po-xliff-po (plural-1)") << "plural-1.po" << poXlfPo << noArgs;
+ QTest::newRow("po-xliff-po (plural-2)") << "plural-2.po" << poXlfPo << noArgs;
+ QTest::newRow("po-xliff-po (plural-3)") << "plural-3.po" << poXlfPo << noArgs;
+
+ QTest::newRow("ts20-ts11-ts20 (utf8)") << "codec-utf8.ts" << tsTs11Ts << noArgs;
+ QTest::newRow("ts20-ts11-ts20 (cp1252)") << "codec-cp1252.ts" << tsTs11Ts << noArgs;
+ QTest::newRow("ts20-ts11-ts20 (dual-encoding)") << "dual-encoding.ts" << tsTs11Ts << noArgs;
+
+ QTest::newRow("ts-qm-ts (dual-encoding)") << "dual-encoding.ts" << tsQmTs << noArgs;
+ QTest::newRow("ts-qm-ts (plurals-de)") << "plurals-de.ts" << tsQmTs << outDeArgs;
+ QTest::newRow("ts-qm-ts (plurals-cn)") << "plurals-cn.ts" << tsQmTs << outCnArgs;
+ QTest::newRow("ts-qm-ts (variants)") << "variants.ts" << tsQmTs << outDeArgs;
+ QTest::newRow("ts-po-ts (msgid)") << "msgid.ts" << tsPoTs << noArgs;
+ QTest::newRow("ts-xliff-ts (msgid)") << "msgid.ts" << tsXlfTs << noArgs;
+
+ QTest::newRow("ts-po-ts (endless loop)") << "endless-po-loop.ts" << tsPoTs << noArgs;
+}
+
+void tst_lconvert::roundtrips()
+{
+ QFETCH(QString, fileName);
+ QFETCH(QStringList, stations);
+ QFETCH(QList<QStringList>, args);
+
+ convertRoundtrip(fileName, stations, args);
+}
+
+QTEST_APPLESS_MAIN(tst_lconvert)
+
+#include "tst_lconvert.moc"
diff --git a/tests/auto/linguist/linguist.pro b/tests/auto/linguist/linguist.pro
new file mode 100644
index 0000000..90e2d36
--- /dev/null
+++ b/tests/auto/linguist/linguist.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = lrelease lconvert lupdate
diff --git a/tests/auto/linguist/lrelease/lrelease.pro b/tests/auto/linguist/lrelease/lrelease.pro
new file mode 100644
index 0000000..8006042
--- /dev/null
+++ b/tests/auto/linguist/lrelease/lrelease.pro
@@ -0,0 +1,5 @@
+CONFIG += qttest_p4
+CONFIG -= gui
+TARGET = tst_lrelease
+
+SOURCES += tst_lrelease.cpp
diff --git a/tests/auto/linguist/lrelease/testdata/compressed.ts b/tests/auto/linguist/lrelease/testdata/compressed.ts
new file mode 100644
index 0000000..9579269
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/compressed.ts
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Context1</name>
+ <message>
+ <source>Foo</source>
+ <translation>in first context</translation>
+ </message>
+</context>
+<context>
+ <name>Context2</name>
+ <message>
+ <source>Bar</source>
+ <translation>in second context</translation>
+ </message>
+</context>
+<context>
+ <name>Action1</name>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source>Component Name</source>
+ <translation>translation in first context</translation>
+ </message>
+ <message>
+ <source>Fooish bar</source>
+ <translation>the bar is fooish</translation>
+ </message>
+</context>
+<context>
+ <name>Action2</name>
+ <message>
+ <location filename="main.cpp" line="20"/>
+ <source>Component Name</source>
+ <translation>translation in second context</translation>
+ </message>
+</context>
+<context>
+ <name>Action3</name>
+ <message>
+ <location filename="main.cpp" line="26"/>
+ <source>Component Name</source>
+ <translation>translation in third context</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/testdata/dupes.errors b/tests/auto/linguist/lrelease/testdata/dupes.errors
new file mode 100644
index 0000000..74fcbbb
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/dupes.errors
@@ -0,0 +1,4 @@
+Warning: dropping duplicate messages in 'testdata/dupes\.qm':
+
+\* Context: FindDialog
+\* Source: Text not found
diff --git a/tests/auto/linguist/lrelease/testdata/dupes.ts b/tests/auto/linguist/lrelease/testdata/dupes.ts
new file mode 100644
index 0000000..ec368c3
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/dupes.ts
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS>
+<TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message utf8="true">
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text not found</source>
+ <translation type="obsolete"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts11.ts b/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts11.ts
new file mode 100644
index 0000000..991f354
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts11.ts
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="1.1">
+<defaultcodec>windows-1252</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut &#xfc; &amp;uuml;</source>
+ <translation>random stuff with umlaut</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation>more random stuff with umlaut</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts20.ts b/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts20.ts
new file mode 100644
index 0000000..8bb56d4
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/mixedcodecs-ts20.ts
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>windows-1252</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut ü &amp;uuml;</source>
+ <translation>random stuff with umlaut</translation>
+ </message>
+ <message utf8="true">
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation>more random stuff with umlaut</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/testdata/translate.ts b/tests/auto/linguist/lrelease/testdata/translate.ts
new file mode 100644
index 0000000..ad3015d
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/translate.ts
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="1.1" language="en">
+<context>
+ <name></name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="32"/>
+ <source>Test</source>
+ <translation>AAAA</translation>
+ <comment>Empty context</comment>
+ </message>
+</context>
+<context>
+ <name>CubeForm</name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="31"/>
+ <source>Test</source>
+ <translation>BBBB</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="22"/>
+ <source>
+newline at the start</source>
+ <translation>
+NEWLINE AT THE START</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="23"/>
+ <source>newline at the end
+</source>
+ <translation>NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="24"/>
+ <source>newline and space at the end
+ </source>
+ <translation>NEWLINE AND SPACE AT THE END
+ </translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="25"/>
+ <source>space and newline at the end
+</source>
+ <translation>SPACE AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="26"/>
+ <source><byte value="x9"/>tab at the start and newline at the end
+</source>
+ <translation><byte value="x9"/>TAB AT THE START AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="27"/>
+ <source>
+<byte value="x9"/>newline and tab at the start</source>
+ <translation>
+<byte value="x9"/>NEWLINE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="28"/>
+ <source> <byte value="x9"/>space and tab at the start</source>
+ <translation> <byte value="x9"/>SPACE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="29"/>
+ <source> space first</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="tst_lrelease.cpp" line="29"/>
+ <source> string that does not exist</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Plurals</name>
+ <message numerus="yes">
+ <location filename="tst_lrelease.cpp" line="35"/>
+ <source>There are %n houses</source>
+ <translation>
+ <numerusform>There is %n house</numerusform>
+ <numerusform>There are %n houses</numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>tst_lrelease</name>
+ <message numerus="yes">
+ <location filename="tst_lrelease.cpp" line="43"/>
+ <source>There are %n cars</source>
+ <comment>More Plurals</comment>
+ <translation>
+ <numerusform>There is %n car</numerusform>
+ <numerusform>There are %n cars</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>Completely random string</source>
+ <translation variants="yes">
+ <lengthvariant>Super-lange Uebersetzung mit Schikanen</lengthvariant>
+ <lengthvariant>Mittlere Uebersetung</lengthvariant>
+ <lengthvariant>Kurze Uebers.</lengthvariant>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>no_en</name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="49"/>
+ <source>Kj&#xf8;r K&#xe5;re, kj&#xe6;re</source>
+ <translation>Drive K&#xe5;re, dear</translation>
+ </message>
+</context>
+<context>
+ <name>en_no</name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="50"/>
+ <source>Drive K&#xe5;re, dear</source>
+ <translation>Kj&#xf8;r K&#xe5;re, kj&#xe6;re</translation>
+ </message>
+</context>
+<context>
+ <name>en_ch</name>
+ <message>
+ <location filename="tst_lrelease.cpp" line="51"/>
+ <source>Chinese symbol:</source>
+ <translation>Chinese symbol:&#x7c1f;</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/tst_lrelease.cpp b/tests/auto/linguist/lrelease/tst_lrelease.cpp
new file mode 100644
index 0000000..512987d
--- /dev/null
+++ b/tests/auto/linguist/lrelease/tst_lrelease.cpp
@@ -0,0 +1,204 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QDir>
+#include <QtCore/QDebug>
+#include <QtCore/QFile>
+#include <QtCore/QByteArray>
+
+#include <QtTest/QtTest>
+
+class tst_lrelease : public QObject
+{
+ Q_OBJECT
+private:
+
+private slots:
+ void translate();
+ void mixedcodecs();
+ void compressed();
+ void dupes();
+
+private:
+ void doCompare(const QStringList &actual, const QString &expectedFn);
+};
+
+void tst_lrelease::doCompare(const QStringList &actual, const QString &expectedFn)
+{
+ QFile file(expectedFn);
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QStringList expected = QString(file.readAll()).trimmed().remove('\r').split('\n');
+
+ int i = 0, ei = expected.size(), gi = actual.size();
+ for (; ; i++) {
+ if (i == gi) {
+ if (i == ei)
+ return;
+ gi = 0;
+ break;
+ } else if (i == ei) {
+ ei = 0;
+ break;
+ } else if (!QRegExp(expected.at(i)).exactMatch(actual.at(i))) {
+ while ((ei - 1) >= i && (gi - 1) >= i &&
+ (QRegExp(expected.at(ei - 1)).exactMatch(actual.at(gi - 1))))
+ ei--, gi--;
+ break;
+ }
+ }
+ QByteArray diff;
+ for (int j = qMax(0, i - 3); j < i; j++)
+ diff += expected.at(j) + '\n';
+ diff += "<<<<<<< got\n";
+ for (int j = i; j < gi; j++) {
+ diff += actual.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += "=========\n";
+ for (int j = i; j < ei; j++) {
+ diff += expected.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += ">>>>>>> expected\n";
+ for (int j = ei; j < qMin(ei + 3, expected.size()); j++)
+ diff += expected.at(j) + '\n';
+ QFAIL(qPrintable("Output for " + expectedFn + " does not meet expectations:\n" + diff));
+}
+
+void tst_lrelease::translate()
+{
+ QVERIFY(!QProcess::execute("lrelease testdata/translate.ts"));
+
+ QTranslator translator;
+ QVERIFY(translator.load("testdata/translate.qm"));
+ qApp->installTranslator(&translator);
+
+ QCOMPARE(QObject::tr("\nnewline at the start"), QString("\nNEWLINE AT THE START"));
+ QCOMPARE(QObject::tr("newline at the end\n"), QString("NEWLINE AT THE END\n"));
+ QCOMPARE(QObject::tr("newline and space at the end\n "), QString("NEWLINE AND SPACE AT THE END\n "));
+ QCOMPARE(QObject::tr("space and newline at the end \n"), QString("SPACE AND NEWLINE AT THE END \n"));
+ QCOMPARE(QObject::tr("\ttab at the start and newline at the end\n"), QString("\tTAB AT THE START AND NEWLINE AT THE END\n"));
+ QCOMPARE(QObject::tr("\n\tnewline and tab at the start"), QString("\n\tNEWLINE AND TAB AT THE START"));
+ QCOMPARE(QObject::tr(" \tspace and tab at the start"), QString(" \tSPACE AND TAB AT THE START"));
+ QCOMPARE(QObject::tr(" string that does not exist"), QString(" string that does not exist"));
+
+ QCOMPARE(QCoreApplication::translate("CubeForm", "Test"), QString::fromAscii("BBBB"));
+ QCOMPARE(QCoreApplication::translate("", "Test", "Empty context"), QString("AAAA"));
+
+ // Test plurals
+ QString txed = QCoreApplication::translate("Plurals", "There are %n houses", 0, QCoreApplication::UnicodeUTF8, 0);
+ QCOMPARE(QString::fromAscii("[%1]").arg(txed), QString("[There are 0 houses]"));
+ QCOMPARE(QCoreApplication::translate("Plurals", "There are %n houses", 0, QCoreApplication::UnicodeUTF8, 1), QString("There is 1 house"));
+ QCOMPARE(QCoreApplication::translate("Plurals", "There are %n houses", 0, QCoreApplication::UnicodeUTF8, 2), QString("There are 2 houses"));
+ QCOMPARE(QCoreApplication::translate("Plurals", "There are %n houses", 0, QCoreApplication::UnicodeUTF8, 3), QString("There are 3 houses"));
+
+
+ // More plurals
+ QCOMPARE(tr("There are %n cars", "More Plurals", 0) , QString("There are 0 cars"));
+ QCOMPARE(tr("There are %n cars", "More Plurals", 1) , QString("There is 1 car"));
+ QCOMPARE(tr("There are %n cars", "More Plurals", 2) , QString("There are 2 cars"));
+ QCOMPARE(tr("There are %n cars", "More Plurals", 3) , QString("There are 3 cars"));
+
+
+ QCOMPARE(QCoreApplication::translate("no_en", "Kj\370r K\345re, kj\346re"), QString::fromAscii("Drive K\345re, dear"));
+ QCOMPARE(QCoreApplication::translate("en_no", "Drive K\345re, dear"), QString::fromAscii("Kj\370r K\345re, kj\346re"));
+ QCOMPARE(QCoreApplication::translate("en_ch", "Chinese symbol:"), QString::fromAscii("Chinese symbol:%1").arg(QChar(0x7c1f)));
+
+// printf("halo\r\nhallo");
+ // QCOMPARE(tr("This\r\nwill fail"), QString("THIS\nWILL FAIL")); // \r\n = 0d 0a
+
+ QCOMPARE(tr("Completely random string"),
+ QString::fromLatin1("Super-lange Uebersetzung mit Schikanen\x9c"
+ "Mittlere Uebersetung\x9c"
+ "Kurze Uebers."));
+
+ qApp->removeTranslator(&translator);
+}
+
+void tst_lrelease::mixedcodecs()
+{
+ QVERIFY(!QProcess::execute("lrelease testdata/mixedcodecs-ts11.ts"));
+ QVERIFY(!QProcess::execute("lrelease testdata/mixedcodecs-ts20.ts"));
+ QVERIFY(!QProcess::execute("cmp testdata/mixedcodecs-ts11.qm testdata/mixedcodecs-ts20.qm"));
+ QTranslator translator;
+ QVERIFY(translator.load("testdata/mixedcodecs-ts11.qm"));
+ qApp->installTranslator(&translator);
+
+ QCOMPARE(QCoreApplication::translate("FooBar", "this contains an umlaut \xfc &uuml;"),
+ QString::fromAscii("random stuff with umlaut"));
+ QCOMPARE(QCoreApplication::translate("FooBar", "umlaut \xc3\xbc &uuml; in utf8"),
+ QString::fromAscii("more random stuff with umlaut"));
+}
+
+void tst_lrelease::compressed()
+{
+ QVERIFY(!QProcess::execute("lrelease -compress testdata/compressed.ts"));
+
+ QTranslator translator;
+ QVERIFY(translator.load("testdata/compressed.qm"));
+ qApp->installTranslator(&translator);
+
+ QCOMPARE(QCoreApplication::translate("Context1", "Foo"), QString::fromAscii("in first context"));
+ QCOMPARE(QCoreApplication::translate("Context2", "Bar"), QString::fromAscii("in second context"));
+
+ QCOMPARE(QCoreApplication::translate("Action1", "Component Name"), QString::fromAscii("translation in first context"));
+ QCOMPARE(QCoreApplication::translate("Action2", "Component Name"), QString::fromAscii("translation in second context"));
+ QCOMPARE(QCoreApplication::translate("Action3", "Component Name"), QString::fromAscii("translation in third context"));
+
+}
+
+void tst_lrelease::dupes()
+{
+ QProcess proc;
+ proc.start("lrelease testdata/dupes.ts");
+ QVERIFY(proc.waitForFinished());
+ QVERIFY(proc.exitStatus() == QProcess::NormalExit);
+ doCompare(QString(proc.readAllStandardError()).trimmed().remove('\r').split('\n'), "testdata/dupes.errors");
+}
+
+QTEST_MAIN(tst_lrelease)
+#include "tst_lrelease.moc"
diff --git a/tests/auto/linguist/lupdate/lupdate.pro b/tests/auto/linguist/lupdate/lupdate.pro
new file mode 100644
index 0000000..19259dc
--- /dev/null
+++ b/tests/auto/linguist/lupdate/lupdate.pro
@@ -0,0 +1,7 @@
+CONFIG += qttest_p4
+
+TARGET = tst_lupdate
+
+HEADERS += testlupdate.h
+SOURCES += tst_lupdate.cpp testlupdate.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd
new file mode 100644
index 0000000..9b83a04
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/lupdatecmd
@@ -0,0 +1,3 @@
+# Add the command that lupdate should run here. If it can't find anything it will default to
+TRANSLATION: ts\project.ts
+lupdate -silent project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
new file mode 100644
index 0000000..3584c89
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
@@ -0,0 +1,19 @@
+######################################################################
+# Automatically generated by qmake (2.01a) ma 22. jan 10:10:16 2007
+######################################################################
+
+TEMPLATE = app
+TARGET =
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += src\main.cpp
+
+TRANSLATIONS = ts\project.ts
+
+
+!exists(ts) {
+ win32: system(md ts)
+ else: system(mkdir ts)
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result
new file mode 100644
index 0000000..151a18e
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.ts.result
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="1.1">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="../src/main.cpp" line="13"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/src/main.cpp b/tests/auto/linguist/lupdate/testdata/good/backslashes/src/main.cpp
new file mode 100644
index 0000000..348a6be
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/src/main.cpp
@@ -0,0 +1,15 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+//
+//
+//
+//
+
+QString qt_detectRTLLanguage()
+{
+ return QApplication::tr("QT_LAYOUT_DIRECTION",
+ "Translate this string to the string 'LTR' in left-to-right"
+ " languages or to 'RTL' in right-to-left languages (such as Hebrew"
+ " and Arabic) to get proper widget layout.") == QLatin1String("RTL");
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp
new file mode 100644
index 0000000..2573fbb
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/main.cpp
@@ -0,0 +1,18 @@
+#include <QApplication>
+#include <QtGui>
+#include <QtCore>
+#include <QTextCodec>
+
+int main(int argc, char **argv)
+{
+ QApplication a(argc, argv);
+ QWidget w;
+ QLabel label1(QObject::tr("abc", "ascii"), &w);
+ QLabel label2(QObject::tr("æøå", "utf-8"), &w);
+
+// I would expect the following to work !?
+// QLabel label3(QObject::trUtf8("F\374r \310lise", "trUtf8"), &w);
+
+ w.show();
+ return a.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro
new file mode 100644
index 0000000..848ebda
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.pro
@@ -0,0 +1,20 @@
+TEMPLATE = app
+TARGET +=
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += main.cpp
+
+TRANSLATIONS = project.ts
+CONFIG+= console
+
+CODECFORTR = utf-8
+CODECFORSRC = utf-8
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result
new file mode 100644
index 0000000..e746c7e
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecforsrc/project.ts.result
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>abc</source>
+ <comment>ascii</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>æøå</source>
+ <comment>utf-8</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecfortr/main.cpp
new file mode 100644
index 0000000..79b0503
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr/main.cpp
@@ -0,0 +1,24 @@
+#include <QApplication>
+#include <QtGui>
+#include <QtCore>
+#include <QTextCodec>
+
+int main(int argc, char **argv)
+{
+ QApplication a(argc, argv);
+ QTranslator trans(0);
+
+ trans.load("t1_en", ".");
+
+ a.installTranslator(&trans);
+ QWidget w;
+/*
+ QLabel label1(QObject::tr("\33"), &w);
+ QLabel label2(QObject::tr("\32"), &w);
+ QLabel label3(QObject::tr("\176"), &w);
+*/
+ QLabel label4(QObject::tr("\301"), &w);
+
+ w.show();
+ return a.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro
new file mode 100644
index 0000000..81273ee
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.pro
@@ -0,0 +1,19 @@
+TEMPLATE = app
+TARGET +=
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += main.cpp
+
+TRANSLATIONS = project.ts
+CONFIG+= console
+
+CODECFORTR = CP1251
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result
new file mode 100644
index 0000000..9a082ef
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr/project.ts.result
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>windows-1251</defaultcodec>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="20"/>
+ <source>Á</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp
new file mode 100644
index 0000000..91af165
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/main.cpp
@@ -0,0 +1,20 @@
+#include <QtCore>
+
+class FooBar : QObject
+{
+ Q_OBJECT
+
+public:
+ void doFoo()
+ {
+ tr("random ascii only");
+ tr("this contains an umlaut &uuml;");
+ trUtf8("random ascii only in utf8");
+ trUtf8("umlaut \xfc &uuml; in utf8");
+ }
+};
+
+int main(int argc, char **argv)
+{
+ return 0;
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro
new file mode 100644
index 0000000..1d5b071
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+
+SOURCES += main.cpp
+
+TRANSLATIONS = project.ts
+CONFIG += console
+
+CODECFORTR = CP1252
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result
new file mode 100644
index 0000000..5ffa2f3
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr1/project.ts.result
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>windows-1252</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>random ascii only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut ü &amp;uuml;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>random ascii only in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message utf8="true">
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp
new file mode 100644
index 0000000..91af165
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/main.cpp
@@ -0,0 +1,20 @@
+#include <QtCore>
+
+class FooBar : QObject
+{
+ Q_OBJECT
+
+public:
+ void doFoo()
+ {
+ tr("random ascii only");
+ tr("this contains an umlaut &uuml;");
+ trUtf8("random ascii only in utf8");
+ trUtf8("umlaut \xfc &uuml; in utf8");
+ }
+};
+
+int main(int argc, char **argv)
+{
+ return 0;
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro
new file mode 100644
index 0000000..f4975f2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+
+SOURCES += main.cpp
+
+TRANSLATIONS = project.ts
+CONFIG += console
+
+CODECFORSRC = CP1252
+CODECFORTR = UTF-8
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result
new file mode 100644
index 0000000..0ebdbfd
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/codecfortr2/project.ts.result
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>FooBar</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>random ascii only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>this contains an umlaut ü &amp;uuml;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>random ascii only in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>umlaut ü &amp;uuml; in utf8</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
new file mode 100644
index 0000000..8a0bd11
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
@@ -0,0 +1,4 @@
+.*/lupdate/testdata/good/lacksqobject/main.cpp:17: Class 'B' lacks Q_OBJECT macro
+.*/lupdate/testdata/good/lacksqobject/main.cpp:26: Class 'C' lacks Q_OBJECT macro
+.*/lupdate/testdata/good/lacksqobject/main.cpp:37: Class 'nsB::B' lacks Q_OBJECT macro
+.*/lupdate/testdata/good/lacksqobject/main.cpp:45: Class 'nsB::C' lacks Q_OBJECT macro
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp
new file mode 100644
index 0000000..05fcd79
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp
@@ -0,0 +1,47 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+#include <QtCore>
+
+
+//
+// Test 'lacks Q_OBJECT' reporting on namespace scopes
+//
+
+class B : public QObject {
+ //Q_OBJECT
+ void foo();
+};
+
+void B::foo() {
+ tr("Bla", "::B");
+}
+
+
+class C : public QObject {
+ //Q_OBJECT
+ void foo() {
+ tr("Bla", "::C");
+ }
+};
+
+
+namespace nsB {
+
+ class B : public QObject {
+ //Q_OBJECT
+ void foo();
+ };
+
+ void B::foo() {
+ tr("Bla", "nsB::B");
+ }
+
+ class C : public QObject {
+ //Q_OBJECT
+ void foo() {
+ tr("Bla", "nsB::C");
+ }
+ };
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro
new file mode 100644
index 0000000..7547a8d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES = main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.ts.result
new file mode 100644
index 0000000..bab0881
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/project.ts.result
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>B</name>
+ <message>
+ <location filename="main.cpp" line="17"/>
+ <source>Bla</source>
+ <comment>::B</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>C</name>
+ <message>
+ <location filename="main.cpp" line="24"/>
+ <source>Bla</source>
+ <comment>::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>nsB::B</name>
+ <message>
+ <location filename="main.cpp" line="37"/>
+ <source>Bla</source>
+ <comment>nsB::B</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>nsB::C</name>
+ <message>
+ <location filename="main.cpp" line="43"/>
+ <source>Bla</source>
+ <comment>nsB::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/foo.cpp b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/foo.cpp
new file mode 100644
index 0000000..af8534d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/foo.cpp
@@ -0,0 +1,28 @@
+
+// The first line in this file should always be empty, its part of the test!!
+class Foo : public QObject
+{
+ Q_OBJECT
+public:
+ Foo();
+};
+
+Foo::Foo(MainWindow *parent)
+ : QObject(parent)
+{
+ tr("This is the first entry.");
+ tr("A second message."); tr("And a second one on the same line.");
+ tr("This string did move from the bottom.");
+ tr("This tr is new.");
+ tr("This one moved in from another file.");
+ tr("Now again one which is just where it was.");
+
+ tr("Just as this one.");
+ tr("Another alien.");
+ tr("This is from the bottom, too.");
+ tr("Third string from the bottom.");
+ tr("Fourth one!");
+ tr("They are coming!");
+ tr("They are everywhere!");
+ tr("An earthling again.");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd
new file mode 100644
index 0000000..91a4800
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/lupdatecmd
@@ -0,0 +1,5 @@
+# Add the command that lupdate should run here. If it can't find anything it will default to
+# 'lupdate project.pro -ts project.ts'
+
+# lupdate project.pro
+lupdate -silent -locations relative project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro
new file mode 100644
index 0000000..e79456f
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += foo.cpp
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.before
new file mode 100644
index 0000000..d70193f
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.before
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="2.0">
+<context>
+ <name>Bar</name>
+ <message>
+ <location filename="bar1.cpp" line="13"/>
+ <source>Another alien.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="bar1.cpp" line="14"/>
+ <source>They are coming!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="bar1.cpp" line="16"/>
+ <source>They are everywhere!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="bar1.cpp" line="18"/>
+ <source>This one moved in from another file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Foo</name>
+ <message>
+ <location filename="foo1.cpp" line="13"/>
+ <source>This is the first entry.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="14"/>
+ <source>A second message.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="15"/>
+ <source>Now again one which is just where it was.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="16"/>
+ <source>Just as this one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="17"/>
+ <source>An earthling again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="18"/>
+ <source>This is from the bottom, too.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="19"/>
+ <source>Third string from the bottom.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="20"/>
+ <source>Fourth one!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo1.cpp" line="21"/>
+ <source>This string did move from the bottom.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result
new file mode 100644
index 0000000..2027efd
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Foo</name>
+ <message>
+ <location filename="foo.cpp" line="+13"/>
+ <source>This is the first entry.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>A second message.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>And a second one on the same line.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>This tr is new.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This one moved in from another file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Now again one which is just where it was.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Just as this one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Another alien.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>They are coming!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>They are everywhere!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>An earthling again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>This is from the bottom, too.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Third string from the bottom.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Fourth one!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <source>This string did move from the bottom.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro
new file mode 100644
index 0000000..6c704c2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+FORMS += project.ui
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.before
new file mode 100644
index 0000000..fdc2a99
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.before
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source>Qt Assistant - Finn text</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Finn tekst</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.result
new file mode 100644
index 0000000..f9d26df
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ts.result
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source>Qt Assistant - Finn text</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Finn tekst</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ui b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ui
new file mode 100644
index 0000000..7adb650
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ui
@@ -0,0 +1,44 @@
+<ui version="4.0" >
+ <author></author>
+ <comment>*********************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+*********************************************************************</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>172</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Qt Assistant - Finn text</string><!-- changed to uppercase -->
+ </property>
+ <property name="height" >
+ <string>Finn tekst</string>
+ </property>
+ </widget>
+ <tabstops>
+ <tabstop>comboFind</tabstop>
+ <tabstop>checkWords</tabstop>
+ <tabstop>checkCase</tabstop>
+ <tabstop>radioForward</tabstop>
+ <tabstop>radioBackward</tabstop>
+ <tabstop>findButton</tabstop>
+ <tabstop>closeButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/main.cpp b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/main.cpp
new file mode 100644
index 0000000..e058da0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/main.cpp
@@ -0,0 +1,23 @@
+#include <QApplication>
+#include <QDebug>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ QTranslator translator;
+ translator.load("whitespace");
+ app.installTranslator(&translator);
+
+ QObject::tr("\nnewline at the start");
+ QObject::tr("newline at the end\n");
+ QObject::tr("newline and space at the end\n ");
+ QObject::tr("space and newline at the end \n");
+ QObject::tr("\tTab at the start and newline at the end\n");
+ QObject::tr("\n\tnewline and tab at the start");
+ QObject::tr(" \tspace and tab at the start");
+ QObject::tr(" space_first");
+ QObject::tr("space_last ");
+ QObject::tr("carriage return and line feed last\r\n");
+ return app.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro
new file mode 100644
index 0000000..f4faf2f
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES = main.cpp
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.before
new file mode 100644
index 0000000..3acae3e
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.before
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="7"/>
+ <source>
+newline at the start</source>
+ <translation>
+NEWLINE AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="8"/>
+ <source>newline at the end
+</source>
+ <translation>NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="9"/>
+ <source>newline and space at the end
+ </source>
+ <translation>NEWLINE AND SPACE AT THE END
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>space and newline at the end
+</source>
+ <translation>SPACE AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source><byte value="x9"/>Tab at the start and newline at the end
+</source>
+ <translation><byte value="x9"/>TAB AT THE START AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>
+<byte value="x9"/>newline and tab at the start</source>
+ <translation>
+<byte value="x9"/>NEWLINE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source> <byte value="x9"/>space and tab at the start</source>
+ <translation> <byte value="x9"/>SPACE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source> space_first</source>
+ <translation> SPACE_FIRST</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="15"/>
+ <source>space_last </source>
+ <translation>SPACE_LAST </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="21"/>
+ <source>carriage return and line feed last<byte value="xd"/>
+</source>
+ <translation type="unfinished">CARRIAGE RETURN AND LINE FEED LAST<byte value="xd"/>
+</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.result
new file mode 100644
index 0000000..6d6b469
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_whitespace/project.ts.result
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>
+newline at the start</source>
+ <translation>
+NEWLINE AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>newline at the end
+</source>
+ <translation>NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source>newline and space at the end
+ </source>
+ <translation>NEWLINE AND SPACE AT THE END
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="15"/>
+ <source>space and newline at the end
+</source>
+ <translation>SPACE AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="16"/>
+ <source> Tab at the start and newline at the end
+</source>
+ <translation> TAB AT THE START AND NEWLINE AT THE END
+</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="17"/>
+ <source>
+ newline and tab at the start</source>
+ <translation>
+ NEWLINE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="18"/>
+ <source> space and tab at the start</source>
+ <translation> SPACE AND TAB AT THE START</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="19"/>
+ <source> space_first</source>
+ <translation> SPACE_FIRST</translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="20"/>
+ <source>space_last </source>
+ <translation>SPACE_LAST </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="21"/>
+ <source>carriage return and line feed last
+</source>
+ <translation type="unfinished">CARRIAGE RETURN AND LINE FEED LAST
+</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/good/mergecpp/finddialog.cpp
new file mode 100644
index 0000000..7edb923
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp/finddialog.cpp
@@ -0,0 +1,25 @@
+
+// The first line in this file should always be empty, its part of the test!!
+class FindDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ FindDialog(MainWindow *parent);
+ void reset();
+};
+
+FindDialog::FindDialog(MainWindow *parent)
+ : QDialog(parent)
+{
+ QString trans = tr("Enter the text you want to find.");
+ trans = tr("Search reached end of the document");
+ trans = tr("Search reached start of the document");
+ trans = tr( "Text not found" );
+}
+
+void FindDialog::reset()
+{
+ tr("%n item(s)", "merge from singular to plural form", 4);
+ tr("%n item(s)", "merge from a finished singular form to an unfinished plural form", 4);
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro
new file mode 100644
index 0000000..e988c0a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += finddialog.cpp
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.before
new file mode 100644
index 0000000..474444f
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.before
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="zh_CN">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source></source>
+ <comment>magic context comment</comment>
+ <translatorcomment>random translator comment</translatorcomment>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="14"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="15"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="16"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="17"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="finddialog.cpp" line="22"/>
+ <source>%n item(s)</source>
+ <comment>merge from singular to plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="finddialog.cpp" line="23"/>
+ <source>%n item(s)</source>
+ <comment>merge from a finished singular form to an unfinished plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.result
new file mode 100644
index 0000000..152b568
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.result
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source></source>
+ <comment>magic context comment</comment>
+ <translatorcomment>random translator comment</translatorcomment>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="14"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="15"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="16"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="17"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="finddialog.cpp" line="22"/>
+ <source>%n item(s)</source>
+ <comment>merge from singular to plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="finddialog.cpp" line="23"/>
+ <source>%n item(s)</source>
+ <comment>merge from a finished singular form to an unfinished plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/finddialog.cpp
new file mode 100644
index 0000000..f587618
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/finddialog.cpp
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "finddialog.h"
+#include "mainwindow.h"
+#include "tabbedbrowser.h"
+#include "helpwindow.h"
+
+#include <QTextBrowser>
+#include <QTextCursor>
+#include <QStatusBar>
+#include <QLineEdit>
+#include <QDateTime>
+#include <QGridLayout>
+
+CaseSensitiveModel::CaseSensitiveModel(int rows, int columns, QObject *parent)
+ : QStandardItemModel(rows, columns, parent)
+{}
+QModelIndexList CaseSensitiveModel::match(const QModelIndex &start, int role, const QVariant &value,
+ int hits, Qt::MatchFlags flags) const
+{
+ if (flags == Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap))
+ flags |= Qt::MatchCaseSensitive;
+
+ return QStandardItemModel::match(start, role, value, hits, flags);
+}
+
+FindDialog::FindDialog(MainWindow *parent)
+ : QDialog(parent)
+{
+ contentsWidget = new QWidget(this);
+ ui.setupUi(contentsWidget);
+ ui.comboFind->setModel(new CaseSensitiveModel(0, 1, ui.comboFind));
+
+ QVBoxLayout *l = new QVBoxLayout(this);
+ l->setMargin(0);
+ l->setSpacing(0);
+ l->addWidget(contentsWidget);
+
+ lastBrowser = 0;
+ onceFound = false;
+ findExpr.clear();
+
+ sb = new QStatusBar(this);
+ l->addWidget(sb);
+
+ sb->showMessage(tr("Enter the text you want to find."));
+
+ connect(ui.findButton, SIGNAL(clicked()), this, SLOT(findButtonClicked()));
+ connect(ui.closeButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+FindDialog::~FindDialog()
+{
+}
+
+void FindDialog::findButtonClicked()
+{
+ doFind(ui.radioForward->isChecked());
+}
+
+void FindDialog::doFind(bool forward)
+{
+ QTextBrowser *browser = static_cast<QTextBrowser*>(mainWindow()->browsers()->currentBrowser());
+ sb->clearMessage();
+
+ if (ui.comboFind->currentText() != findExpr || lastBrowser != browser)
+ onceFound = false;
+ findExpr = ui.comboFind->currentText();
+
+ QTextDocument::FindFlags flags = 0;
+
+ if (ui.checkCase->isChecked())
+ flags |= QTextDocument::FindCaseSensitively;
+
+ if (ui.checkWords->isChecked())
+ flags |= QTextDocument::FindWholeWords;
+
+ QTextCursor c = browser->textCursor();
+ if (!c.hasSelection()) {
+ if (forward)
+ c.movePosition(QTextCursor::Start);
+ else
+ c.movePosition(QTextCursor::End);
+
+ browser->setTextCursor(c);
+ }
+
+ QTextDocument::FindFlags options;
+ if (forward == false)
+ flags |= QTextDocument::FindBackward;
+
+ QTextCursor found = browser->document()->find(findExpr, c, flags);
+ if (found.isNull()) {
+ if (onceFound) {
+ if (forward)
+ statusMessage(tr("Search reached end of the document"));
+ else
+ statusMessage(tr("Search reached start of the document"));
+ } else {
+ statusMessage(tr( "Text not found" ));
+ }
+ } else {
+ browser->setTextCursor(found);
+ }
+ onceFound |= !found.isNull();
+ lastBrowser = browser;
+}
+
+bool FindDialog::hasFindExpression() const
+{
+ // statusMessage(tr( "Should be obsolete" ));
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd
new file mode 100644
index 0000000..d200143
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/lupdatecmd
@@ -0,0 +1,5 @@
+# Add the command that lupdate should run here. If it can't find anything it will default to
+# 'lupdate project.pro -ts project.ts'
+
+# lupdate project.pro
+lupdate -silent -noobsolete project.pro
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro
new file mode 100644
index 0000000..e988c0a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += finddialog.cpp
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.before
new file mode 100644
index 0000000..12e30b5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.before
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="finddialog.cpp" line="57"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="122"/>
+ <source>Should be obsolete</source>
+ <translation type="unfinished">SHOULD BE OBSOLETE</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.result
new file mode 100644
index 0000000..21d1ca0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_noobsolete/project.ts.result
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="finddialog.cpp" line="57"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/finddialog.cpp
new file mode 100644
index 0000000..e23d129
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/finddialog.cpp
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "finddialog.h"
+#include "mainwindow.h"
+#include "tabbedbrowser.h"
+#include "helpwindow.h"
+
+#include <QTextBrowser>
+#include <QTextCursor>
+#include <QStatusBar>
+#include <QLineEdit>
+#include <QDateTime>
+#include <QGridLayout>
+
+CaseSensitiveModel::CaseSensitiveModel(int rows, int columns, QObject *parent)
+ : QStandardItemModel(rows, columns, parent)
+{}
+QModelIndexList CaseSensitiveModel::match(const QModelIndex &start, int role, const QVariant &value,
+ int hits, Qt::MatchFlags flags) const
+{
+ if (flags == Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap))
+ flags |= Qt::MatchCaseSensitive;
+
+ return QStandardItemModel::match(start, role, value, hits, flags);
+}
+
+FindDialog::FindDialog(MainWindow *parent)
+ : QDialog(parent)
+{
+ contentsWidget = new QWidget(this);
+ ui.setupUi(contentsWidget);
+ ui.comboFind->setModel(new CaseSensitiveModel(0, 1, ui.comboFind));
+
+ QVBoxLayout *l = new QVBoxLayout(this);
+ l->setMargin(0);
+ l->setSpacing(0);
+ l->addWidget(contentsWidget);
+
+ lastBrowser = 0;
+ onceFound = false;
+ findExpr.clear();
+
+ sb = new QStatusBar(this);
+ l->addWidget(sb);
+
+
+ // Move it to another line and change the text,
+ // then lupdate should add this one as a new one, and mark the old one as obsolete.
+ sb->showMessage(tr("Enter the text you want to find."));
+
+ connect(ui.findButton, SIGNAL(clicked()), this, SLOT(findButtonClicked()));
+ connect(ui.closeButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+FindDialog::~FindDialog()
+{
+}
+
+void FindDialog::findButtonClicked()
+{
+ doFind(ui.radioForward->isChecked());
+}
+
+void FindDialog::doFind(bool forward)
+{
+ QTextBrowser *browser = static_cast<QTextBrowser*>(mainWindow()->browsers()->currentBrowser());
+ sb->clearMessage();
+
+ if (ui.comboFind->currentText() != findExpr || lastBrowser != browser)
+ onceFound = false;
+ findExpr = ui.comboFind->currentText();
+
+ QTextDocument::FindFlags flags = 0;
+
+ if (ui.checkCase->isChecked())
+ flags |= QTextDocument::FindCaseSensitively;
+
+ if (ui.checkWords->isChecked())
+ flags |= QTextDocument::FindWholeWords;
+
+ QTextCursor c = browser->textCursor();
+ if (!c.hasSelection()) {
+ if (forward)
+ c.movePosition(QTextCursor::Start);
+ else
+ c.movePosition(QTextCursor::End);
+
+ browser->setTextCursor(c);
+ }
+
+ QTextDocument::FindFlags options;
+ if (forward == false)
+ flags |= QTextDocument::FindBackward;
+
+ QTextCursor found = browser->document()->find(findExpr, c, flags);
+ if (found.isNull()) {
+ if (onceFound) {
+ if (forward)
+ statusMessage(tr("Search reached end of the document"));
+ else
+ statusMessage(tr("Search reached start of the document"));
+ } else {
+ statusMessage(tr( "Text not found" ));
+ }
+ } else {
+ browser->setTextCursor(found);
+ }
+ onceFound |= !found.isNull();
+ lastBrowser = browser;
+}
+
+bool FindDialog::hasFindExpression() const
+{
+ return !findExpr.isEmpty();
+}
+
+void FindDialog::statusMessage(const QString &message)
+{
+ if (isVisible())
+ sb->showMessage(message);
+ else
+ static_cast<MainWindow*>(parent())->statusBar()->showMessage(message, 2000);
+}
+
+MainWindow *FindDialog::mainWindow() const
+{
+ return static_cast<MainWindow*>(parentWidget());
+}
+
+void FindDialog::reset()
+{
+ ui.comboFind->setFocus();
+ ui.comboFind->lineEdit()->setSelection(
+ 0, ui.comboFind->lineEdit()->text().length());
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro
new file mode 100644
index 0000000..e988c0a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += finddialog.cpp
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.before
new file mode 100644
index 0000000..271cc39
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.before
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="finddialog.cpp" line="57"/>
+ <source>Enter the text you are looking for.</source>
+ <translation type="unfinished">Skriv inn teksten du soker etter</translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.result
new file mode 100644
index 0000000..b7074fe
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergecpp_obsolete/project.ts.result
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source>Enter the text you are looking for.</source>
+ <translation type="obsolete">Skriv inn teksten du soker etter</translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="60"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="110"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="112"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="114"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro
new file mode 100644
index 0000000..28ba291
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+FORMS += project.ui
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
new file mode 100644
index 0000000..e297784
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="27"/>
+ <source>Qt Assistant - Find text</source>
+ <!--should be changed to unfinished, since we are changing the sourcetext in the ui file-->
+ <translation>Qt Assistant - Finn tekst</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="30"/>
+ <source>300px</source>
+ <translation>300px</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="33"/>
+ <source>400px</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result
new file mode 100644
index 0000000..b21f583
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="27"/>
+ <source>Qt Assistant - Find Text</source>
+ <oldsource>Qt Assistant - Find text</oldsource>
+ <translation type="unfinished">Qt Assistant - Finn tekst</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="30"/>
+ <source>300px</source>
+ <translation>300px</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="33"/>
+ <source>401 pixels</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ui b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ui
new file mode 100644
index 0000000..c10545d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ui
@@ -0,0 +1,47 @@
+<ui version="4.0" >
+ <author></author>
+ <comment>*********************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+*********************************************************************</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>172</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Qt Assistant - Find Text</string><!-- changed to uppercase, marked as finished -->
+ </property>
+ <property name="height" >
+ <string>300px</string>
+ </property>
+ <property name="width" >
+ <string>401 pixels</string><!-- Changed from 400px to 401 pixels, but this is marked as unfinished -->
+ </property>
+ </widget>
+ <tabstops>
+ <tabstop>comboFind</tabstop>
+ <tabstop>checkWords</tabstop>
+ <tabstop>checkCase</tabstop>
+ <tabstop>radioForward</tabstop>
+ <tabstop>radioBackward</tabstop>
+ <tabstop>findButton</tabstop>
+ <tabstop>closeButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro
new file mode 100644
index 0000000..28ba291
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+FORMS += project.ui
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.before
new file mode 100644
index 0000000..f06c22c
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.before
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="20"/>
+ <source>Test similarity</source>
+ <translation type="unfinished">Test likhet (test1)</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="23"/>
+ <source>Similarity should have kicked in here!</source>
+ <translation type="unfinished">Test likhet (test2)</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result
new file mode 100644
index 0000000..d65110a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source>Test similarity</source>
+ <translation type="obsolete">Test likhet (test1)</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="20"/>
+ <source>This should not be considered to be more or less equal to the corresponding one in the ts file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="23"/>
+ <source>Here, similarity should kick in!</source>
+ <oldsource>Similarity should have kicked in here!</oldsource>
+ <translation type="unfinished">Test likhet (test2)</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui
new file mode 100644
index 0000000..0d0defd
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui
@@ -0,0 +1,26 @@
+<ui version="4.0" >
+ <author></author>
+ <comment><!--
+*********************************************************************
+**
+** Do not change the location (linenumber) of the <string> elements in this file!
+** That will make the test break!
+**
+** If you need to add some tests, please add them to the end of the file!
+**
+**
+*********************************************************************
+-->
+</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="test1">
+ <!-- If the sourcetext is not similar to the vernacular sourcetext, mark the old one as obsolete and the new one as unfinished -->
+ <string>This should not be considered to be more or less equal to the corresponding one in the ts file.</string>
+ </property>
+ <property name="test2">
+ <string>Here, similarity should kick in!</string>
+ </property>
+ </widget>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/finddialog.cpp
new file mode 100644
index 0000000..c3881d3
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/finddialog.cpp
@@ -0,0 +1,7 @@
+
+QT_TRANSLATE_NOOP("context", "just a message")
+
+
+
+//: This is one comment
+QT_TRANSLATE_NOOP("context", "just a message")
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp
new file mode 100644
index 0000000..71d9085
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp
@@ -0,0 +1,13 @@
+
+
+
+
+//: This is a comment, too.
+QT_TRANSLATE_NOOP("context", "just a message")
+
+
+
+
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro
new file mode 100644
index 0000000..4582705
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+SOURCES += finddialog.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
new file mode 100644
index 0000000..dd013fa
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>context</name>
+ <message>
+ <location filename="finddialog.cpp" line="2"/>
+ <location filename="finddialog.cpp" line="7"/>
+ <location filename="main.cpp" line="6"/>
+ <source>just a message</source>
+ <extracomment>This is one comment
+----------
+This is a comment, too.</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp b/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp
new file mode 100644
index 0000000..9f5a98c
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/main.cpp
@@ -0,0 +1,97 @@
+#include <QtCore>
+
+class Class : public QObject
+{
+ Q_OBJECT
+
+ class SubClass
+ {
+ void f()
+ {
+ tr("nested class context");
+ }
+ };
+
+ void f()
+ {
+ tr("just class context");
+ }
+};
+
+namespace Outer {
+
+class Class : public QObject { Q_OBJECT };
+
+namespace Middle1 {
+
+class Class : public QObject { Q_OBJECT };
+
+namespace Inner1 {
+
+class Class : public QObject { Q_OBJECT };
+
+}
+
+namespace I = Inner1;
+
+class Something;
+class Different;
+
+}
+
+namespace Middle2 {
+
+class Class : public QObject { Q_OBJECT };
+
+namespace Inner2 {
+
+class Class : public QObject { Q_OBJECT };
+
+namespace IO = Middle2;
+
+}
+
+namespace I = Inner2;
+
+}
+
+namespace MI = Middle1::Inner1;
+
+namespace O = ::Outer;
+
+class Middle1::Different : QObject {
+Q_OBJECT
+ void f() {
+ tr("different namespaced class def");
+ }
+};
+
+}
+
+namespace O = Outer;
+namespace OM = Outer::Middle1;
+namespace OMI = Outer::Middle1::I;
+
+int main()
+{
+ Class::tr("outestmost class");
+ Outer::Class::tr("outer class");
+ Outer::MI::Class::tr("innermost one");
+ OMI::Class::tr("innermost two");
+ O::Middle1::I::Class::tr("innermost three");
+ O::Middle2::I::Class::tr("innermost three b");
+ OM::I::Class::tr("innermost four");
+ return 0;
+}
+
+class OM::Something : QObject {
+Q_OBJECT
+ void f() {
+ tr("namespaced class def");
+ }
+ void g() {
+ tr("namespaced class def 2");
+ }
+};
+
+#include "main.moc"
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro
new file mode 100644
index 0000000..56d472c
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
new file mode 100644
index 0000000..d1193d3
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Class</name>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>nested class context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="17"/>
+ <source>just class context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="77"/>
+ <source>outestmost class</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Outer::Class</name>
+ <message>
+ <location filename="main.cpp" line="78"/>
+ <source>outer class</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Outer::Middle1::Different</name>
+ <message>
+ <location filename="main.cpp" line="65"/>
+ <source>different namespaced class def</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Outer::Middle1::Inner1::Class</name>
+ <message>
+ <location filename="main.cpp" line="79"/>
+ <source>innermost one</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="80"/>
+ <source>innermost two</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="81"/>
+ <source>innermost three</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="83"/>
+ <source>innermost four</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Outer::Middle1::Something</name>
+ <message>
+ <location filename="main.cpp" line="90"/>
+ <source>namespaced class def</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="93"/>
+ <source>namespaced class def 2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Outer::Middle2::Inner2::Class</name>
+ <message>
+ <location filename="main.cpp" line="82"/>
+ <source>innermost three b</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/main.cpp
new file mode 100644
index 0000000..72a1590
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/main.cpp
@@ -0,0 +1,18 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+class Dialog2 : public QDialog
+{
+ Q_OBJECT
+ void func();
+
+};
+
+void Dialog2::func()
+{
+ tr("cat\351gorie");
+
+ tr("F\374r \310lise")
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro
new file mode 100644
index 0000000..cb18ea4
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.ts.result
new file mode 100644
index 0000000..a49b47a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parse_special_chars/project.ts.result
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Dialog2</name>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>catégorie</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="15"/>
+ <source>Für Èlise</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecontexts/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/main.cpp
new file mode 100644
index 0000000..65eeed5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/main.cpp
@@ -0,0 +1,229 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+#include <QtCore>
+#include <QtGui>
+
+//
+// Test namespace scoping
+//
+
+class D : public QObject {
+ Q_OBJECT
+ public:
+ QString foo() {
+ return tr("test", "D");
+ }
+
+};
+
+namespace A {
+
+ class C : public QObject {
+ Q_OBJECT
+ public:
+ void foo();
+ };
+
+ void C::foo() {
+ tr("Bla", "A::C");
+ }
+
+ void goo() {
+ C::tr("Bla", "A::C"); // Is identical to the previous tr(), (same context, sourcetext and comment,
+ // so it should not add another entry to the list of messages)
+ }
+
+ void goo2() {
+ C::tr("Bla 2", "A::C"); //Should be in the same namespace as the previous tr()
+ }
+
+}
+
+
+namespace X {
+
+ class D : public QObject {
+ Q_OBJECT
+ public:
+
+ };
+
+ class E : public QObject {
+ Q_OBJECT
+ public:
+ void foo() { D::tr("foo", "D"); } // Note that this is X::D from 440 on
+ };
+
+
+ namespace Y {
+ class E : public QObject {
+ Q_OBJECT
+
+ };
+
+ class C : public QObject {
+ Q_OBJECT
+ void foo();
+ };
+
+ void C::foo() {
+ tr("Bla", "X::Y::C");
+ }
+
+ void goo() {
+ D::tr("Bla", "X::D"); //This should be assigned to the X::D context
+ }
+
+ void goo2() {
+ E::tr("Bla", "X::Y::E"); //This should be assigned to the X::Y::E context
+ Y::E::tr("Bla", "X::Y::E"); //This should be assigned to the X::Y::E context
+ }
+
+ }; // namespace Y
+
+ class F : public QObject {
+ Q_OBJECT
+ inline void inlinefunc() {
+ tr("inline function", "X::F");
+ }
+ };
+} // namespace X
+
+namespace ico {
+ namespace foo {
+ class A : public QObject {
+ A();
+ };
+
+ A::A() {
+ tr("myfoo", "ico::foo::A");
+ QObject::tr("task 161186", "QObject");
+ }
+ }
+}
+
+namespace AA {
+class C {};
+}
+
+/**
+ * the context of a message should not be affected by any inherited classes
+ *
+ * Keep this disabled for now, but at a long-term range it should work.
+ */
+namespace Gui {
+ class MainWindow : public QMainWindow,
+ public AA::C
+ {
+ Q_OBJECT
+public:
+ MainWindow()
+ {
+ tr("More bla", "Gui::MainWindow");
+ }
+
+ };
+} //namespace Gui
+
+
+namespace A1 {
+ class AB : public QObject {
+ Q_OBJECT
+ public:
+
+ friend class OtherClass;
+
+ QString inlineFuncAfterFriendDeclaration() const {
+ return tr("inlineFuncAfterFriendDeclaration", "A1::AB");
+ }
+ };
+ class B : AB {
+ Q_OBJECT
+ public:
+ QString foo() const { return tr("foo", "A1::B"); }
+ };
+
+ // This is valid C++ too....
+ class V : virtual AB {
+ Q_OBJECT
+ public:
+ QString bar() const { return tr("bar", "A1::V"); }
+ };
+
+ class W : virtual public AB {
+ Q_OBJECT
+ public:
+ QString baz() const { return tr("baz", "A1::W"); }
+ };
+}
+
+class ForwardDecl;
+
+
+class B1 : public QObject {
+};
+
+class C1 : public QObject {
+};
+
+namespace A1 {
+
+class B2 : public QObject {
+};
+
+}
+
+void func1()
+{
+ B1::tr("test TRANSLATOR comment (1)", "B1");
+
+}
+
+using namespace A1;
+/*
+ TRANSLATOR A1::B2
+*/
+void func2()
+{
+ B2::tr("test TRANSLATOR comment (2)", "A1::B2");
+ C1::tr("test TRANSLATOR comment (3)", "C1");
+}
+
+void func3()
+{
+ B2::tr("test TRANSLATOR comment (4)", "A1::B2");
+}
+
+/*
+ TRANSLATOR B2
+ This is a comment to the translator.
+*/
+void func4()
+{
+ B2::tr("test TRANSLATOR comment (5)", "A1::B2");
+}
+
+namespace A1 {
+namespace B3 {
+class C2 : public QObject {
+QString foo();
+};
+}
+}
+
+namespace D1 = A1::B3;
+using namespace D1;
+
+// TRANSLATOR A1::B3::C2
+QString C2::foo()
+{
+ return tr("test TRANSLATOR comment (6)", "A1::B3::C2"); // 4.4 screws up
+}
+
+
+
+int main(int /*argc*/, char ** /*argv*/) {
+ return 0;
+}
+
+#include "main.moc"
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro
new file mode 100644
index 0000000..7547a8d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES = main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.ts.result
new file mode 100644
index 0000000..04bb3ae
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecontexts/project.ts.result
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>A1::AB</name>
+ <message>
+ <location filename="main.cpp" line="137"/>
+ <source>inlineFuncAfterFriendDeclaration</source>
+ <comment>A1::AB</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A1::B</name>
+ <message>
+ <location filename="main.cpp" line="143"/>
+ <source>foo</source>
+ <comment>A1::B</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A1::B2</name>
+ <message>
+ <location filename="main.cpp" line="188"/>
+ <source>test TRANSLATOR comment (2)</source>
+ <comment>A1::B2</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="194"/>
+ <source>test TRANSLATOR comment (4)</source>
+ <comment>A1::B2</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="203"/>
+ <source>test TRANSLATOR comment (5)</source>
+ <comment>A1::B2</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A1::B3::C2</name>
+ <message>
+ <location filename="main.cpp" line="220"/>
+ <source>test TRANSLATOR comment (6)</source>
+ <comment>A1::B3::C2</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A1::V</name>
+ <message>
+ <location filename="main.cpp" line="150"/>
+ <source>bar</source>
+ <comment>A1::V</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A1::W</name>
+ <message>
+ <location filename="main.cpp" line="156"/>
+ <source>baz</source>
+ <comment>A1::W</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>A::C</name>
+ <message>
+ <location filename="main.cpp" line="28"/>
+ <location filename="main.cpp" line="32"/>
+ <source>Bla</source>
+ <comment>A::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="37"/>
+ <source>Bla 2</source>
+ <comment>A::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>B1</name>
+ <message>
+ <location filename="main.cpp" line="178"/>
+ <source>test TRANSLATOR comment (1)</source>
+ <comment>B1</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>B2</name>
+ <message>
+ <location filename="main.cpp" line="197"/>
+ <source></source>
+ <comment>This is a comment to the translator.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>C1</name>
+ <message>
+ <location filename="main.cpp" line="189"/>
+ <source>test TRANSLATOR comment (3)</source>
+ <comment>C1</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>D</name>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source>test</source>
+ <comment>D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Gui::MainWindow</name>
+ <message>
+ <location filename="main.cpp" line="122"/>
+ <source>More bla</source>
+ <comment>Gui::MainWindow</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="100"/>
+ <source>task 161186</source>
+ <comment>QObject</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>X::D</name>
+ <message>
+ <location filename="main.cpp" line="54"/>
+ <source>foo</source>
+ <comment>D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="74"/>
+ <source>Bla</source>
+ <comment>X::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>X::F</name>
+ <message>
+ <location filename="main.cpp" line="87"/>
+ <source>inline function</source>
+ <comment>X::F</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>X::Y::C</name>
+ <message>
+ <location filename="main.cpp" line="70"/>
+ <source>Bla</source>
+ <comment>X::Y::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>X::Y::E</name>
+ <message>
+ <location filename="main.cpp" line="78"/>
+ <location filename="main.cpp" line="79"/>
+ <source>Bla</source>
+ <comment>X::Y::E</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ico::foo::A</name>
+ <message>
+ <location filename="main.cpp" line="99"/>
+ <source>myfoo</source>
+ <comment>ico::foo::A</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/finddialog.cpp
new file mode 100644
index 0000000..454c173
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/finddialog.cpp
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "finddialog.h"
+#include "mainwindow.h"
+#include "tabbedbrowser.h"
+#include "helpwindow.h"
+
+#include <QTextBrowser>
+#include <QTextCursor>
+#include <QStatusBar>
+#include <QLineEdit>
+#include <QDateTime>
+#include <QGridLayout>
+
+CaseSensitiveModel::CaseSensitiveModel(int rows, int columns, QObject *parent)
+ : QStandardItemModel(rows, columns, parent)
+{}
+QModelIndexList CaseSensitiveModel::match(const QModelIndex &start, int role, const QVariant &value,
+ int hits, Qt::MatchFlags flags) const
+{
+ if (flags == Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap))
+ flags |= Qt::MatchCaseSensitive;
+
+ return QStandardItemModel::match(start, role, value, hits, flags);
+}
+
+FindDialog::FindDialog(MainWindow *parent)
+ : QDialog(parent)
+{
+ contentsWidget = new QWidget(this);
+ ui.setupUi(contentsWidget);
+ ui.comboFind->setModel(new CaseSensitiveModel(0, 1, ui.comboFind));
+
+ QVBoxLayout *l = new QVBoxLayout(this);
+ l->setMargin(0);
+ l->setSpacing(0);
+ l->addWidget(contentsWidget);
+
+ lastBrowser = 0;
+ onceFound = false;
+ findExpr.clear();
+
+ sb = new QStatusBar(this);
+ l->addWidget(sb);
+
+ sb->showMessage(tr("Enter the text you are looking for."));
+
+ connect(ui.findButton, SIGNAL(clicked()), this, SLOT(findButtonClicked()));
+ connect(ui.closeButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+FindDialog::~FindDialog()
+{
+}
+
+void FindDialog::findButtonClicked()
+{
+ doFind(ui.radioForward->isChecked());
+}
+
+void FindDialog::doFind(bool forward)
+{
+ QTextBrowser *browser = static_cast<QTextBrowser*>(mainWindow()->browsers()->currentBrowser());
+ sb->clearMessage();
+
+ if (ui.comboFind->currentText() != findExpr || lastBrowser != browser)
+ onceFound = false;
+ findExpr = ui.comboFind->currentText();
+
+ QTextDocument::FindFlags flags = 0;
+
+ if (ui.checkCase->isChecked())
+ flags |= QTextDocument::FindCaseSensitively;
+
+ if (ui.checkWords->isChecked())
+ flags |= QTextDocument::FindWholeWords;
+
+ QTextCursor c = browser->textCursor();
+ if (!c.hasSelection()) {
+ if (forward)
+ c.movePosition(QTextCursor::Start);
+ else
+ c.movePosition(QTextCursor::End);
+
+ browser->setTextCursor(c);
+ }
+
+ QTextDocument::FindFlags options;
+ if (forward == false)
+ flags |= QTextDocument::FindBackward;
+
+ QTextCursor found = browser->document()->find(findExpr, c, flags);
+ if (found.isNull()) {
+ if (onceFound) {
+ if (forward)
+ statusMessage(tr("Search reached end of the document"));
+ else
+ statusMessage(tr("Search reached start of the document"));
+ } else {
+ statusMessage(tr( "Text not found" ));
+ }
+ } else {
+ browser->setTextCursor(found);
+ }
+ onceFound |= !found.isNull();
+ lastBrowser = browser;
+}
+
+bool FindDialog::hasFindExpression() const
+{
+ return !findExpr.isEmpty();
+}
+
+void FindDialog::statusMessage(const QString &message)
+{
+ if (isVisible())
+ sb->showMessage(message);
+ else
+ static_cast<MainWindow*>(parent())->statusBar()->showMessage(message, 2000);
+}
+
+MainWindow *FindDialog::mainWindow() const
+{
+ return static_cast<MainWindow*>(parentWidget());
+}
+
+void FindDialog::reset()
+{
+ ui.comboFind->setFocus();
+ ui.comboFind->lineEdit()->setSelection(
+ 0, ui.comboFind->lineEdit()->text().length());
+
+ QString s = QApplication::translate("QCoreApplication", "with comment", "comment");
+ QString s = QApplication::translate("QCoreApplication", "empty comment", "");
+ QString s = QApplication::translate("QCoreApplication", "null comment", 0);
+ QString s = tr("null comment");
+
+ QString s = QApplication::translate("QCoreApplication", "encoding, using QCoreApplication", 0, QCoreApplication::UnicodeUTF8);
+ QString s = QApplication::translate("QCoreApplication", "encoding, using QApplication", 0, QApplication::UnicodeUTF8);
+
+ QString s = QApplication::translate("Kåntekst", "encoding, using QApplication", 0, QApplication::UnicodeUTF8);
+
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
new file mode 100644
index 0000000..df75baf
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
@@ -0,0 +1,158 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+int main(char **argv, int argc)
+{
+ Size size = QSize(1,1);
+}
+
+QString qt_detectRTLLanguage()
+{
+ return QApplication::tr("QT_LAYOUT_DIRECTION",
+ "Translate this string to the string 'LTR' in left-to-right"
+ " languages or to 'RTL' in right-to-left languages (such as Hebrew"
+ " and Arabic) to get proper widget layout.") == QLatin1String("RTL");
+}
+
+
+class Dialog2 : public QDialog
+{
+ Q_OBJECT
+ void func();
+ void func3();
+ int getCount() const { return 2; }
+
+};
+
+void Dialog2::func()
+{
+ int n = getCount();
+ tr("%n files", "plural form", n);
+ tr("%n cars", 0, n);
+ tr("&Find %n cars", 0, n);
+ tr("Search in %n items?", 0, n);
+ tr("%1. Search in %n items?", 0, n);
+ tr("Age: %1");
+ tr("There are %n house(s)", "Plurals and function call", getCount());
+
+
+
+
+ QCoreApplication::translate("Plurals, QCoreApplication", "%n house(s)", "Plurals and identifier", QCoreApplication::UnicodeUTF8, n);
+ QCoreApplication::translate("Plurals, QCoreApplication", "%n car(s)", "Plurals and literal number", QCoreApplication::UnicodeUTF8, 1);
+ QCoreApplication::translate("Plurals, QCoreApplication", "%n horse(s)", "Plurals and function call", QCoreApplication::UnicodeUTF8, getCount());
+
+
+
+
+
+
+
+
+ QTranslator trans;
+ trans.translate("QTranslator", "Simple");
+ trans.translate("QTranslator", "Simple", 0);
+ trans.translate("QTranslator", "Simple with comment", "with comment");
+ trans.translate("QTranslator", "Plural without comment", 0, 1);
+ trans.translate("QTranslator", "Plural with comment", "comment 1", n);
+ trans.translate("QTranslator", "Plural with comment", "comment 2", getCount());
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+/* This is actually a test of how many alternative ways a struct/class can be found in a source file.
+ * Due to the simple parser in lupdate, it will actually not treat the remaining lines in the define
+ * as a macro, which is a case the 'Tok_Class' parser block might not consider, and it might loop infinite
+ * if it just tries to fetch the next token until it gets a '{' or a ';'. Another pitfall is that the
+ * context of tr("func3") might not be parsed, it won't resume normal evaluation until the '{' after the function
+ * signature.
+ *
+ */
+typedef struct S_
+{
+int a;
+} S, *SPtr;
+class ForwardDecl;
+
+
+#define FT_DEFINE_SERVICE( name ) \
+ typedef struct FT_Service_ ## name ## Rec_ \
+ FT_Service_ ## name ## Rec ; \
+ typedef struct FT_Service_ ## name ## Rec_ \
+ const * FT_Service_ ## name ; \
+ struct FT_Service_ ## name ## Rec_
+
+
+/* removing this comment will break this test */
+
+void Dialog2::func3()
+{
+ tr("func3");
+}
+
+
+
+
+namespace Gui { class BaseClass {}; }
+
+
+class TestClass : QObject {
+ Q_OBJECT
+
+
+ inline QString inlineFunc1() {
+ return tr("inline function", "TestClass");
+ }
+
+ QString inlineFunc2() {
+ return tr("inline function 2", "TestClass");
+ }
+
+ static inline QString staticInlineFunc() {
+ return tr("static inline function", "TestClass");
+ }
+
+ class NoQObject : public Gui::BaseClass {
+ public:
+ inline QString hello() { return QString("hello"); }
+
+ };
+
+};
+
+
+class Testing : QObject {
+ Q_OBJECT
+
+ inline QString f1() {
+ //: this is an extra comment for the translator
+ return tr("extra-commented string");
+ return tr("not extra-commented string");
+ /*: another extra-comment */
+ return tr("another extra-commented string");
+ /*: blah! */
+ return QApplication::translate("scope", "works in translate, too", "blabb", 0);
+ }
+
+};
+
+//: extra comment for NOOP
+//: which spans multiple lines
+QT_TRANSLATE_NOOP("scope", "string") // 4.4 says the line of this is at the next statement
+//: extra comment for NOOP3
+QT_TRANSLATE_NOOP3_UTF8("scope", "string", "comment") // 4.4 doesn't see this
+
+QT_TRANSLATE_NOOP("scope", "string " // this is an interleaved comment
+ "continuation on next line")
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro
new file mode 100644
index 0000000..4582705
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+SOURCES += finddialog.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
new file mode 100644
index 0000000..9386c19
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Dialog2</name>
+ <message numerus="yes">
+ <location filename="main.cpp" line="29"/>
+ <source>%n files</source>
+ <comment>plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="30"/>
+ <source>%n cars</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="31"/>
+ <source>&amp;Find %n cars</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="32"/>
+ <source>Search in %n items?</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="33"/>
+ <source>%1. Search in %n items?</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="34"/>
+ <source>Age: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="35"/>
+ <source>There are %n house(s)</source>
+ <comment>Plurals and function call</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="102"/>
+ <source>func3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="finddialog.cpp" line="57"/>
+ <source>Enter the text you are looking for.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="147"/>
+ <source>null comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Kåntekst</name>
+ <message utf8="true">
+ <location filename="finddialog.cpp" line="152"/>
+ <source>encoding, using QApplication</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Plurals, QCoreApplication</name>
+ <message numerus="yes">
+ <location filename="main.cpp" line="40"/>
+ <source>%n house(s)</source>
+ <comment>Plurals and identifier</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="41"/>
+ <source>%n car(s)</source>
+ <comment>Plurals and literal number</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="42"/>
+ <source>%n horse(s)</source>
+ <comment>Plurals and function call</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="main.cpp" line="10"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="finddialog.cpp" line="144"/>
+ <source>with comment</source>
+ <comment>comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="145"/>
+ <source>empty comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="146"/>
+ <source>null comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="149"/>
+ <source>encoding, using QCoreApplication</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="finddialog.cpp" line="150"/>
+ <source>encoding, using QApplication</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QTranslator</name>
+ <message>
+ <location filename="main.cpp" line="52"/>
+ <location filename="main.cpp" line="53"/>
+ <source>Simple</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="54"/>
+ <source>Simple with comment</source>
+ <comment>with comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="55"/>
+ <source>Plural without comment</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="56"/>
+ <source>Plural with comment</source>
+ <comment>comment 1</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.cpp" line="57"/>
+ <source>Plural with comment</source>
+ <comment>comment 2</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>TestClass</name>
+ <message>
+ <location filename="main.cpp" line="116"/>
+ <source>inline function</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="120"/>
+ <source>inline function 2</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="124"/>
+ <source>static inline function</source>
+ <comment>TestClass</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Testing</name>
+ <message>
+ <location filename="main.cpp" line="141"/>
+ <source>extra-commented string</source>
+ <extracomment>this is an extra comment for the translator</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="142"/>
+ <source>not extra-commented string</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="144"/>
+ <source>another extra-commented string</source>
+ <extracomment>another extra-comment</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>scope</name>
+ <message numerus="yes">
+ <location filename="main.cpp" line="146"/>
+ <source>works in translate, too</source>
+ <comment>blabb</comment>
+ <extracomment>blah!</extracomment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="153"/>
+ <source>string</source>
+ <extracomment>extra comment for NOOP which spans multiple lines</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="155"/>
+ <source>string</source>
+ <comment>comment</comment>
+ <extracomment>extra comment for NOOP3</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="157"/>
+ <source>string continuation on next line</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejava/main.java b/tests/auto/linguist/lupdate/testdata/good/parsejava/main.java
new file mode 100644
index 0000000..07681d2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsejava/main.java
@@ -0,0 +1,54 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+package com.trolltech.examples;
+
+public class I18N extends QDialog {
+
+ private class MainWindow extends QMainWindow {
+ private String foo = tr("pack class class");
+
+ //: extra comment for t-tor
+ private String bar = tr("pack class class extra");
+
+ public MainWindow(QWidget parent) {
+ super(parent);
+
+ listWidget = new QListWidget();
+ listWidget.addItem(tr("pack class class method"));
+
+ }
+ }
+
+ public I18N(QWidget parent) {
+ super(parent, new Qt.WindowFlags(Qt.WindowType.WindowStaysOnTopHint));
+
+ tr("pack class method");
+
+ tr("QT_LAYOUT_DIRECTION",
+ "Translate this string to the string 'LTR' in left-to-right" +
+ " languages or to 'RTL' in right-to-left languages (such as Hebrew" +
+ " and Arabic) to get proper widget layout.");
+
+ tr("%n files", "plural form", n);
+ tr("%n cars", null, n);
+ tr("Age: %1");
+ tr("There are %n house(s)", "Plurals and function call", getCount());
+
+ QTranslator trans;
+ trans.translate("QTranslator", "Simple");
+ trans.translate("QTranslator", "Simple", null);
+ trans.translate("QTranslator", "Simple with comment", "with comment");
+ trans.translate("QTranslator", "Plural without comment", null, 1);
+ trans.translate("QTranslator", "Plural with comment", "comment 1", n);
+ trans.translate("QTranslator", "Plural with comment", "comment 2", getCount());
+
+ /*: with extra comment! */
+ QCoreApplication.translate("Plurals, QCoreApplication", "%n house(s)", "Plurals and identifier", n);
+
+ // FIXME: This will fail.
+ //QApplication.tr("QT_LAYOUT_DIRECTION", "scoped to qapp");
+
+ }
+
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro
new file mode 100644
index 0000000..7e64c80
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = Java
+
+SOURCES += main.java
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejava/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.ts.result
new file mode 100644
index 0000000..69c0a00
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsejava/project.ts.result
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Plurals, QCoreApplication</name>
+ <message numerus="yes">
+ <location filename="main.java" line="47"/>
+ <source>%n house(s)</source>
+ <comment>Plurals and identifier</comment>
+ <extracomment>with extra comment!</extracomment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>QTranslator</name>
+ <message>
+ <location filename="main.java" line="39"/>
+ <location filename="main.java" line="40"/>
+ <source>Simple</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.java" line="41"/>
+ <source>Simple with comment</source>
+ <comment>with comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="42"/>
+ <source>Plural without comment</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="43"/>
+ <source>Plural with comment</source>
+ <comment>comment 1</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="44"/>
+ <source>Plural with comment</source>
+ <comment>comment 2</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>com.trolltech.examples.I18N</name>
+ <message>
+ <location filename="main.java" line="26"/>
+ <source>pack class method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.java" line="31"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="33"/>
+ <source>%n files</source>
+ <comment>plural form</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="34"/>
+ <source>%n cars</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="main.java" line="35"/>
+ <source>Age: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.java" line="36"/>
+ <source>There are %n house(s)</source>
+ <comment>Plurals and function call</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>com.trolltech.examples.I18N$MainWindow</name>
+ <message>
+ <location filename="main.java" line="9"/>
+ <source>pack class class</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.java" line="12"/>
+ <source>pack class class extra</source>
+ <extracomment>extra comment for t-tor</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.java" line="18"/>
+ <source>pack class class method</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro b/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro
new file mode 100644
index 0000000..bdc06e7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parseui/project.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+FORMS += project.ui
+
+TRANSLATIONS = project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32 : system(del $$TRANSLATIONS)
+ unix : system(rm $$TRANSLATIONS)
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result
new file mode 100644
index 0000000..ddf58c3
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="27"/>
+ <source>Qt Assistant - Finn text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message utf8="true">
+ <location filename="project.ui" line="30"/>
+ <source>Finn tekst - Der Bjørn möchte auch mal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parseui/project.ui b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ui
new file mode 100644
index 0000000..19fcaf5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ui
@@ -0,0 +1,44 @@
+<ui version="4.0" >
+ <author></author>
+ <comment>*********************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+*********************************************************************</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>172</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Qt Assistant - Finn text</string>
+ </property>
+ <property name="height" >
+ <string>Finn tekst - Der Bjørn möchte auch mal.</string>
+ </property>
+ </widget>
+ <tabstops>
+ <tabstop>comboFind</tabstop>
+ <tabstop>checkWords</tabstop>
+ <tabstop>checkCase</tabstop>
+ <tabstop>radioForward</tabstop>
+ <tabstop>radioBackward</tabstop>
+ <tabstop>findButton</tabstop>
+ <tabstop>closeButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/good/prefix/main.cpp b/tests/auto/linguist/lupdate/testdata/good/prefix/main.cpp
new file mode 100644
index 0000000..d845853
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/prefix/main.cpp
@@ -0,0 +1,17 @@
+
+
+
+QString foo()
+{
+ QCoreApplication::translate("Foo","XXX","YYY");
+}
+
+Foo::Foo()
+{
+ tr("CTOR");
+}
+
+void Foo::bar()
+{
+ tr("BAR");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro b/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro
new file mode 100644
index 0000000..7547a8d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/prefix/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES = main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result
new file mode 100644
index 0000000..5ced00d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>Foo</name>
+ <message>
+ <location filename="main.cpp" line="6"/>
+ <source>XXX</source>
+ <comment>YYY</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="11"/>
+ <source>CTOR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="16"/>
+ <source>BAR</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/preprocess/main.cpp b/tests/auto/linguist/lupdate/testdata/good/preprocess/main.cpp
new file mode 100644
index 0000000..9abfa5e
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/preprocess/main.cpp
@@ -0,0 +1,37 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "Platform-independent file");
+}
+
+
+
+
+void func2() {
+#ifdef Q_OS_WIN
+ QApplication::tr("Kind", "Windows only, see Type");
+#else
+ QApplication::tr("Type", "Not used on windows, see Kind");
+#endif
+
+}
+
+
+
+void stringconcatenation()
+{
+ QApplication::tr("One string,"
+ " three"
+ " lines");
+
+ QApplication::tr("a backslash followed by newline \
+should be ignored \
+and the next line should be syntactically considered to be \
+on the same line");
+
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro
new file mode 100644
index 0000000..012c7e0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm -f $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/preprocess/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.ts.result
new file mode 100644
index 0000000..3aec045
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/preprocess/project.ts.result
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="main.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source>Kind</source>
+ <comment>Windows only, see Type</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="16"/>
+ <source>Type</source>
+ <comment>Not used on windows, see Kind</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="25"/>
+ <source>One string, three lines</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="29"/>
+ <source>a backslash followed by newline should be ignored and the next line should be syntactically considered to be on the same line</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/main.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/main.cpp
new file mode 100644
index 0000000..236bbe7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/main.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "Platform-independent file");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/main_mac.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_mac.cpp
new file mode 100644
index 0000000..845aaa6
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_mac.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello macworld", "mac-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/main_unix.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_unix.cpp
new file mode 100644
index 0000000..229e154
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_unix.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello unixworld", "unix-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/main_win.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_win.cpp
new file mode 100644
index 0000000..4eb39f7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/main_win.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello windowsworld", "Windows-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro
new file mode 100644
index 0000000..3078817
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.pro
@@ -0,0 +1,40 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+# Try to reference a variable that does not exist:
+MYVAR=$$THIS_VARIABLE_IS_NOT_DEFINED
+
+SOURCES += main.cpp
+
+win32 {
+ SOURCES += main_win.cpp
+}
+
+unix {
+ SOURCES += main_unix.cpp
+}
+
+mac {
+ SOURCES += main_mac.cpp
+}
+
+SOURCES += wildcard/main*.cpp \
+# yadiyada it should also parse the next line
+ wildcard*.cpp
+
+
+DEPENDPATH = vpaths/dependpath
+
+# The purpose of this test is to test expansion of environment variables,
+# and to test if the DEPENDPATH variable is considered correctly.
+if (exists($$member($$(PATH), 0))) {
+ SOURCES += main_dependpath.cpp
+}
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm -f $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.ts.result
new file mode 100644
index 0000000..ef98596
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/project.ts.result
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="main.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main_mac.cpp" line="6"/>
+ <source>Hello macworld</source>
+ <comment>mac-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main_unix.cpp" line="6"/>
+ <source>Hello unixworld</source>
+ <comment>unix-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main_win.cpp" line="6"/>
+ <source>Hello windowsworld</source>
+ <comment>Windows-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wildcard/main1.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>wildcard/main1.cpp</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wildcard/mainfile.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>wildcard/main2.cpp</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wildcard1.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>wildcard1.cpp</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wildcard99.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>wildcard99.cpp</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="vpaths/dependpath/main_dependpath.cpp" line="7"/>
+ <source>Hello from a DEPENDPATH</source>
+ <comment>See if the DEPENDPATH thing works</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/vpaths/dependpath/main_dependpath.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/vpaths/dependpath/main_dependpath.cpp
new file mode 100644
index 0000000..f019c79
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/vpaths/dependpath/main_dependpath.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+int main(int argc, char **argv)
+{
+ QCoreApplication::tr("Hello from a DEPENDPATH", "See if the DEPENDPATH thing works");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/main1.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/main1.cpp
new file mode 100644
index 0000000..506ae42
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/main1.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "wildcard/main1.cpp");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/mainfile.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/mainfile.cpp
new file mode 100644
index 0000000..f4cd00a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard/mainfile.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "wildcard/main2.cpp");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard1.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard1.cpp
new file mode 100644
index 0000000..c7790c5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard1.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "wildcard1.cpp");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard99.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard99.cpp
new file mode 100644
index 0000000..93febda
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing/wildcard99.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "wildcard99.cpp");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/a b/tests/auto/linguist/lupdate/testdata/good/proparsing2/a
new file mode 100644
index 0000000..5966392
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/a
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("a");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/a.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing2/a.cpp
new file mode 100644
index 0000000..1d80ed3
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/a.cpp
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("a.cpp");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/b b/tests/auto/linguist/lupdate/testdata/good/proparsing2/b
new file mode 100644
index 0000000..d0fe066
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/b
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("b");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/b.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing2/b.cpp
new file mode 100644
index 0000000..a5c386d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/b.cpp
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("b.cpp");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/e b/tests/auto/linguist/lupdate/testdata/good/proparsing2/e
new file mode 100644
index 0000000..66e89a8
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/e
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("e");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/f/g.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsing2/f/g.cpp
new file mode 100644
index 0000000..d86bee2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/f/g.cpp
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("f/g.cpp");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/files-cc.txt b/tests/auto/linguist/lupdate/testdata/good/proparsing2/files-cc.txt
new file mode 100644
index 0000000..5bd8d03
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/files-cc.txt
@@ -0,0 +1 @@
+a.cpp b.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro
new file mode 100644
index 0000000..1d6895a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.pro
@@ -0,0 +1,42 @@
+# This is to test if quoted elements with spaces are treated as elements (and not splitted up due
+# to the spaces.)
+# It also tries to verify the behaviour of combining quoted and non-quoted elements with literals.
+#
+
+TEMPLATE = app
+LANGUAGE = C++
+
+QUOTED = $$quote(variable with spaces)
+VERSIONAB = "a.b"
+VAB = $$split(VERSIONAB, ".")
+V += $$VAB
+V += $$QUOTED
+
+# this is just to make p4 happy with no spaces in filename
+SOURCES += $$member(V,0,1)
+V2 = $$member(V,2)
+V2S = $$split(V2, " ")
+SOURCES += $$join(V2S,"_")
+message($$SOURCES)
+# SOURCES += [a, b, variable_with_spaces]
+
+LIST = d e f
+L2 = x/$$LIST/g.cpp
+SOURCES += $$L2
+# SOURCES += [x/d, e, f/g.cpp]
+
+QUOTEDEXTRA = x/$$QUOTED/z
+Q3 = $$split(QUOTEDEXTRA, " ")
+SOURCES += $$Q3
+# SOURCES += [x/variable, with, spaces/z]
+
+win32: SOURCES += $$system(type files-cc.txt)
+unix: SOURCES += $$system(cat files-cc.txt)
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.ts.result
new file mode 100644
index 0000000..2e60696
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/project.ts.result
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QLineEdit</name>
+ <message>
+ <location filename="a" line="3"/>
+ <source>a</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="a.cpp" line="3"/>
+ <source>a.cpp</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="b" line="3"/>
+ <source>b</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="b.cpp" line="3"/>
+ <source>b.cpp</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="e" line="3"/>
+ <source>e</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="f/g.cpp" line="3"/>
+ <source>f/g.cpp</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="spaces/z" line="3"/>
+ <source>spaces/z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="variable_with_spaces" line="3"/>
+ <source>variable with spaces</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="with" line="3"/>
+ <source>with</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="x/d" line="3"/>
+ <source>x/d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="x/variable" line="3"/>
+ <source>x/variable</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/spaces/z b/tests/auto/linguist/lupdate/testdata/good/proparsing2/spaces/z
new file mode 100644
index 0000000..34364d6
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/spaces/z
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("spaces/z");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/variable_with_spaces b/tests/auto/linguist/lupdate/testdata/good/proparsing2/variable_with_spaces
new file mode 100644
index 0000000..cf56fc4
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/variable_with_spaces
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("variable with spaces");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/with b/tests/auto/linguist/lupdate/testdata/good/proparsing2/with
new file mode 100644
index 0000000..a156ca1
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/with
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("with");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/d b/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/d
new file mode 100644
index 0000000..e2effde
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/d
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("x/d");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/variable b/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/variable
new file mode 100644
index 0000000..a86e387
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsing2/x/variable
@@ -0,0 +1,4 @@
+QString func()
+{
+ return QLineEdit::tr("x/variable");
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/common.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/common.pri
new file mode 100644
index 0000000..ba3169d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/common.pri
@@ -0,0 +1 @@
+include(main.pri)
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.cpp
new file mode 100644
index 0000000..236bbe7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "Platform-independent file");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.pri
new file mode 100644
index 0000000..a8d4a2b
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/common/main.pri
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += $$PWD/main.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/mac.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/mac.pri
new file mode 100644
index 0000000..549eab5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/mac.pri
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += $$PWD/main_mac.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/main_mac.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/main_mac.cpp
new file mode 100644
index 0000000..845aaa6
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/mac/main_mac.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello macworld", "mac-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro
new file mode 100644
index 0000000..3810a02
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+include(win/win.pri)
+include(mac/mac.pri)
+include(unix/unix.pri)
+include (common/common.pri) # Important: keep the space before the '('
+include(relativity/relativity.pri)
+
+message($$SOURCES)
+TRANSLATIONS = project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.ts.result
new file mode 100644
index 0000000..c64ba82
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/project.ts.result
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="common/main.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mac/main_mac.cpp" line="6"/>
+ <source>Hello macworld</source>
+ <comment>mac-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="relativity/relativity.cpp" line="6"/>
+ <source>relativity.pri</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="unix/main_unix.cpp" line="6"/>
+ <source>Hello unixworld</source>
+ <comment>unix-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="win/main_win.cpp" line="6"/>
+ <source>Hello windowsworld</source>
+ <comment>Windows-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.cpp
new file mode 100644
index 0000000..83ae7d5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("relativity.pri", "Platform-independent file");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.pri
new file mode 100644
index 0000000..42658f0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/relativity.pri
@@ -0,0 +1,3 @@
+# Lets test how well the proparser can walk the tree of includes...
+
+include(sub/sub.pri)
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub/sub.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub/sub.pri
new file mode 100644
index 0000000..17055a7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub/sub.pri
@@ -0,0 +1 @@
+include(../sub2/sub2.pri)
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub2/sub2.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub2/sub2.pri
new file mode 100644
index 0000000..e2876b1
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/relativity/sub2/sub2.pri
@@ -0,0 +1,2 @@
+SOURCES += $$PWD/../relativity.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/main_unix.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/main_unix.cpp
new file mode 100644
index 0000000..229e154
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/main_unix.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello unixworld", "unix-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/unix.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/unix.pri
new file mode 100644
index 0000000..99777d7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/unix/unix.pri
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += $$PWD/main_unix.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/main_win.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/main_win.cpp
new file mode 100644
index 0000000..4eb39f7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/main_win.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello windowsworld", "Windows-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/win.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/win.pri
new file mode 100644
index 0000000..742417c
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpri/win/win.pri
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += $$PWD/main_win.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro
new file mode 100644
index 0000000..4de6622
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.pro
@@ -0,0 +1,3 @@
+TEMPLATE =subdirs
+
+SUBDIRS = sub1
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.ts.result
new file mode 100644
index 0000000..5914d0b
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/project.ts.result
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="sub1/main.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/main.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/main.cpp
new file mode 100644
index 0000000..236bbe7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/main.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "Platform-independent file");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro
new file mode 100644
index 0000000..1d50c2b
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubdirs/sub1/sub1.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
+TRANSLATIONS += ../project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm -f $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro
new file mode 100644
index 0000000..a8b3106
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/common.pro
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/main.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/main.cpp
new file mode 100644
index 0000000..236bbe7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/common/main.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "Platform-independent file");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro
new file mode 100644
index 0000000..87478bf
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/mac.pro
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main_mac.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/main_mac.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/main_mac.cpp
new file mode 100644
index 0000000..845aaa6
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/mac/main_mac.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello macworld", "mac-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
new file mode 100644
index 0000000..668ecf4
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+SUBDIRS = win mac unix common
+
+exists( project.ts ) {
+ win32: system(del project.ts)
+ unix: system(rm project.ts)
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.ts.result
new file mode 100644
index 0000000..c0352fb
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.ts.result
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="win/main_win.cpp" line="6"/>
+ <source>Hello windowsworld</source>
+ <comment>Windows-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mac/main_mac.cpp" line="6"/>
+ <source>Hello macworld</source>
+ <comment>mac-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="unix/main_unix.cpp" line="6"/>
+ <source>Hello unixworld</source>
+ <comment>unix-only file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="common/main.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>Platform-independent file</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/main_unix.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/main_unix.cpp
new file mode 100644
index 0000000..229e154
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/main_unix.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello unixworld", "unix-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro
new file mode 100644
index 0000000..d0ebec7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/unix/unix.pro
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main_unix.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/main_win.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/main_win.cpp
new file mode 100644
index 0000000..4eb39f7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/main_win.cpp
@@ -0,0 +1,10 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello windowsworld", "Windows-only file");
+}
+
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro
new file mode 100644
index 0000000..a9a9751
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/win/win.pro
@@ -0,0 +1,5 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main_win.cpp
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro
new file mode 100644
index 0000000..28ba291
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+FORMS += project.ui
+
+TRANSLATIONS = project.ts
+
+# Copy the ts to a temp file because:
+# 1. The depot file is usually read-only
+# 2. We don't want to modify the original file, since then it won't be possible to run the test twice
+# without reverting the original file again.
+
+win32: system(copy /Y project.ts.before $$TRANSLATIONS)
+unix: system(cp -f project.ts.before $$TRANSLATIONS && chmod a+w $$TRANSLATIONS)
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.before
new file mode 100644
index 0000000..f06c22c
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.before
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="20"/>
+ <source>Test similarity</source>
+ <translation type="unfinished">Test likhet (test1)</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="23"/>
+ <source>Similarity should have kicked in here!</source>
+ <translation type="unfinished">Test likhet (test2)</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result
new file mode 100644
index 0000000..d65110a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <source>Test similarity</source>
+ <translation type="obsolete">Test likhet (test1)</translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="20"/>
+ <source>This should not be considered to be more or less equal to the corresponding one in the ts file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="23"/>
+ <source>Here, similarity should kick in!</source>
+ <oldsource>Similarity should have kicked in here!</oldsource>
+ <translation type="unfinished">Test likhet (test2)</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui
new file mode 100644
index 0000000..0d0defd
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui
@@ -0,0 +1,26 @@
+<ui version="4.0" >
+ <author></author>
+ <comment><!--
+*********************************************************************
+**
+** Do not change the location (linenumber) of the <string> elements in this file!
+** That will make the test break!
+**
+** If you need to add some tests, please add them to the end of the file!
+**
+**
+*********************************************************************
+-->
+</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="test1">
+ <!-- If the sourcetext is not similar to the vernacular sourcetext, mark the old one as obsolete and the new one as unfinished -->
+ <string>This should not be considered to be more or less equal to the corresponding one in the ts file.</string>
+ </property>
+ <property name="test2">
+ <string>Here, similarity should kick in!</string>
+ </property>
+ </widget>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd b/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd
new file mode 100644
index 0000000..80319de
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/output_ts/lupdatecmd
@@ -0,0 +1,5 @@
+# Add the command that lupdate should run here. If it can't find anything it will default to
+# 'lupdate project.pro -ts project.ts'
+
+# lupdate project.pro
+lupdate toplevel/library/tools/tools.pro
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result b/tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result
new file mode 100644
index 0000000..7fde820
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/output_ts/project.ts.result
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="../main.cpp" line="6"/>
+ <source>Hello world</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp
new file mode 100644
index 0000000..477f5ec
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/main.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro
new file mode 100644
index 0000000..ec6c01d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/tools.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES += main.cpp
+
+TRANSLATIONS += translations/project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm -f $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt
new file mode 100644
index 0000000..83adcd2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/output_ts/toplevel/library/tools/translations/readme.txt
@@ -0,0 +1,2 @@
+This is just a dummy file so that GIT creates this folder
+
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/bar.ts.result b/tests/auto/linguist/lupdate/testdata/recursivescan/bar.ts.result
new file mode 100644
index 0000000..e132342
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/bar.ts.result
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="sub/finddialog.cpp" line="57"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/foo.ts.result b/tests/auto/linguist/lupdate/testdata/recursivescan/foo.ts.result
new file mode 100644
index 0000000..6646014
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/foo.ts.result
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>FindDialog</name>
+ <message>
+ <location filename="project.ui" line="27"/>
+ <source>Qt Assistant - Finn text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="project.ui" line="30"/>
+ <source>Finn tekst</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="57"/>
+ <source>Enter the text you want to find.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="107"/>
+ <source>Search reached end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="109"/>
+ <source>Search reached start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/finddialog.cpp" line="111"/>
+ <source>Text not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="main.cpp" line="12"/>
+ <source>
+newline at the start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="13"/>
+ <source>newline at the end
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="14"/>
+ <source>newline and space at the end
+ </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="15"/>
+ <source>space and newline at the end
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="16"/>
+ <source> Tab at the start and newline at the end
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="17"/>
+ <source>
+ newline and tab at the start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="18"/>
+ <source> space and tab at the start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="19"/>
+ <source> space_first</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="20"/>
+ <source>space_last </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>text/c++</name>
+ <message>
+ <location filename="sub/filetypes/main.c++" line="6"/>
+ <source>test</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>text/cpp</name>
+ <message>
+ <location filename="sub/filetypes/main.cpp" line="6"/>
+ <source>test</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>text/cxx</name>
+ <message>
+ <location filename="sub/filetypes/main.cxx" line="6"/>
+ <source>test</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/main.cpp b/tests/auto/linguist/lupdate/testdata/recursivescan/main.cpp
new file mode 100644
index 0000000..905cccd
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/main.cpp
@@ -0,0 +1,22 @@
+#include <QApplication>
+#include <QDebug>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ QTranslator translator;
+ translator.load("whitespace");
+ app.installTranslator(&translator);
+
+ QObject::tr("\nnewline at the start");
+ QObject::tr("newline at the end\n");
+ QObject::tr("newline and space at the end\n ");
+ QObject::tr("space and newline at the end \n");
+ QObject::tr("\tTab at the start and newline at the end\n");
+ QObject::tr("\n\tnewline and tab at the start");
+ QObject::tr(" \tspace and tab at the start");
+ QObject::tr(" space_first");
+ QObject::tr("space_last ");
+ return app.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/project.ui b/tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
new file mode 100644
index 0000000..e03a66e
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
@@ -0,0 +1,44 @@
+<ui version="4.0" >
+ <author></author>
+ <comment>*********************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+*********************************************************************</comment>
+ <exportmacro></exportmacro>
+ <class>FindDialog</class>
+ <widget class="QWidget" name="FindDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>172</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Qt Assistant - Finn text</string>
+ </property>
+ <property name="height" >
+ <string>Finn tekst</string>
+ </property>
+ </widget>
+ <tabstops>
+ <tabstop>comboFind</tabstop>
+ <tabstop>checkWords</tabstop>
+ <tabstop>checkCase</tabstop>
+ <tabstop>radioForward</tabstop>
+ <tabstop>radioBackward</tabstop>
+ <tabstop>findButton</tabstop>
+ <tabstop>closeButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.c++ b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.c++
new file mode 100644
index 0000000..4da3ded
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.c++
@@ -0,0 +1,8 @@
+#include <QApplication>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ QApplication::translate("text/c++", "test");
+ return app.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cpp b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cpp
new file mode 100644
index 0000000..9b3207d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cpp
@@ -0,0 +1,8 @@
+#include <QApplication>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ QApplication::translate("text/cpp", "test");
+ return app.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cxx b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cxx
new file mode 100644
index 0000000..b741ff0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/filetypes/main.cxx
@@ -0,0 +1,8 @@
+#include <QApplication>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ QApplication::translate("text/cxx", "test");
+ return app.exec();
+}
diff --git a/tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
new file mode 100644
index 0000000..8e92a2a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $LICENSE$
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "finddialog.h"
+#include "mainwindow.h"
+#include "tabbedbrowser.h"
+#include "helpwindow.h"
+
+#include <QTextBrowser>
+#include <QTextCursor>
+#include <QStatusBar>
+#include <QLineEdit>
+#include <QDateTime>
+#include <QGridLayout>
+
+CaseSensitiveModel::CaseSensitiveModel(int rows, int columns, QObject *parent)
+ : QStandardItemModel(rows, columns, parent)
+{}
+QModelIndexList CaseSensitiveModel::match(const QModelIndex &start, int role, const QVariant &value,
+ int hits, Qt::MatchFlags flags) const
+{
+ if (flags == Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap))
+ flags |= Qt::MatchCaseSensitive;
+
+ return QStandardItemModel::match(start, role, value, hits, flags);
+}
+
+FindDialog::FindDialog(MainWindow *parent)
+ : QDialog(parent)
+{
+ contentsWidget = new QWidget(this);
+ ui.setupUi(contentsWidget);
+ ui.comboFind->setModel(new CaseSensitiveModel(0, 1, ui.comboFind));
+
+ QVBoxLayout *l = new QVBoxLayout(this);
+ l->setMargin(0);
+ l->setSpacing(0);
+ l->addWidget(contentsWidget);
+
+ lastBrowser = 0;
+ onceFound = false;
+ findExpr.clear();
+
+ sb = new QStatusBar(this);
+ l->addWidget(sb);
+
+ sb->showMessage(tr("Enter the text you want to find."));
+
+ connect(ui.findButton, SIGNAL(clicked()), this, SLOT(findButtonClicked()));
+ connect(ui.closeButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+FindDialog::~FindDialog()
+{
+}
+
+void FindDialog::findButtonClicked()
+{
+ doFind(ui.radioForward->isChecked());
+}
+
+void FindDialog::doFind(bool forward)
+{
+ QTextBrowser *browser = static_cast<QTextBrowser*>(mainWindow()->browsers()->currentBrowser());
+ sb->clearMessage();
+
+ if (ui.comboFind->currentText() != findExpr || lastBrowser != browser)
+ onceFound = false;
+ findExpr = ui.comboFind->currentText();
+
+ QTextDocument::FindFlags flags = 0;
+
+ if (ui.checkCase->isChecked())
+ flags |= QTextDocument::FindCaseSensitively;
+
+ if (ui.checkWords->isChecked())
+ flags |= QTextDocument::FindWholeWords;
+
+ QTextCursor c = browser->textCursor();
+ if (!c.hasSelection()) {
+ if (forward)
+ c.movePosition(QTextCursor::Start);
+ else
+ c.movePosition(QTextCursor::End);
+
+ browser->setTextCursor(c);
+ }
+
+ QTextDocument::FindFlags options;
+ if (forward == false)
+ flags |= QTextDocument::FindBackward;
+
+ QTextCursor found = browser->document()->find(findExpr, c, flags);
+ if (found.isNull()) {
+ if (onceFound) {
+ if (forward)
+ statusMessage(tr("Search reached end of the document"));
+ else
+ statusMessage(tr("Search reached start of the document"));
+ } else {
+ statusMessage(tr( "Text not found" ));
+ }
+ } else {
+ browser->setTextCursor(found);
+ }
+ onceFound |= !found.isNull();
+ lastBrowser = browser;
+}
+
+bool FindDialog::hasFindExpression() const
+{
+ return !findExpr.isEmpty();
+}
+
+void FindDialog::statusMessage(const QString &message)
+{
+ if (isVisible())
+ sb->showMessage(message);
+ else
+ static_cast<MainWindow*>(parent())->statusBar()->showMessage(message, 2000);
+}
+
+MainWindow *FindDialog::mainWindow() const
+{
+ return static_cast<MainWindow*>(parentWidget());
+}
+
+void FindDialog::reset()
+{
+ ui.comboFind->setFocus();
+ ui.comboFind->lineEdit()->setSelection(
+ 0, ui.comboFind->lineEdit()->text().length());
+}
diff --git a/tests/auto/linguist/lupdate/testlupdate.cpp b/tests/auto/linguist/lupdate/testlupdate.cpp
new file mode 100644
index 0000000..8abc2b0
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testlupdate.cpp
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "testlupdate.h"
+#include <stdlib.h>
+#include <QtGui/QApplication>
+#include <QtCore/QProcess>
+#include <QtCore/QTimer>
+#include <QtCore/QDir>
+
+#ifdef Q_OS_WIN32
+# include <windows.h>
+#endif
+
+#include <QtTest/QtTest>
+
+
+TestLUpdate::TestLUpdate()
+{
+ childProc = 0;
+ m_cmdLupdate = QLatin1String("lupdate");
+ m_cmdQMake = QLatin1String("qmake");
+}
+
+TestLUpdate::~TestLUpdate()
+{
+ if (childProc)
+ delete childProc;
+}
+
+void TestLUpdate::setWorkingDirectory(const QString &workDir)
+{
+ m_workDir = workDir;
+ QDir::setCurrent(m_workDir);
+}
+
+void TestLUpdate::addMakeResult( const QString &result )
+{
+ make_result.append( result );
+}
+
+bool TestLUpdate::runChild( bool showOutput, const QString &program, const QStringList &argList)
+{
+ make_result.clear();
+ exit_ok = FALSE;
+ if (childProc)
+ delete childProc;
+
+ child_show = showOutput;
+ if ( showOutput ) {
+ QString S = argList.join(" ");
+ addMakeResult( program + QLatin1String(" ") + S );
+ }
+
+ childProc = new QProcess();
+ Q_ASSERT(childProc);
+
+ childProc->setWorkingDirectory(m_workDir);
+ connect(childProc, SIGNAL(finished(int)), this, SLOT(childReady(int)));
+ childProc->setProcessChannelMode(QProcess::MergedChannels);
+ if (argList.isEmpty()) {
+ childProc->start( program );
+ } else {
+ childProc->start( program, argList );
+ }
+ bool ok;
+
+ ok = childProc->waitForStarted();
+
+ if (ok)
+ ok = childProc->waitForFinished();
+
+ if (!ok)
+ addMakeResult( "Error executing '" + program + "'." );
+
+ childReady(ok ? 0 : -1);
+
+ return ok;
+}
+
+void TestLUpdate::childReady(int /*exitCode*/)
+{
+ if (childProc != 0) {
+ childHasData();
+ exit_ok = childProc->state() == QProcess::NotRunning
+ && childProc->exitStatus() == 0;
+ childProc->deleteLater();
+ }
+ childProc = 0;
+}
+
+void TestLUpdate::childHasData()
+{
+ //QByteArray ba = childProc->readAllStandardError();
+ //qDebug() << "ERROR:" << ba;
+ QString stdoutput = childProc->readAllStandardOutput();
+ stdoutput = stdoutput.replace("\t", " ");
+ if (child_show)
+ addMakeResult(stdoutput);
+}
+
+bool TestLUpdate::run(const QString &commandline)
+{
+ return runChild(true, m_cmdLupdate + QLatin1String(" ") + commandline);
+}
+
+
+bool TestLUpdate::updateProFile(const QString &arguments)
+{
+ QStringList args = arguments.split(QChar(' '));
+ return runChild( true, m_cmdLupdate, args );
+}
+
+bool TestLUpdate::qmake()
+{
+ QStringList args;
+ args << "-r";
+ return runChild(true, m_cmdQMake, args);
+}
diff --git a/tests/auto/linguist/lupdate/testlupdate.h b/tests/auto/linguist/lupdate/testlupdate.h
new file mode 100644
index 0000000..efe9d85
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testlupdate.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TESTLUPDATE_H
+#define TESTLUPDATE_H
+
+#include <QObject>
+#include <QProcess>
+#include <QStringList>
+
+class TestLUpdate : public QObject
+{
+ Q_OBJECT
+
+public:
+ TestLUpdate();
+ virtual ~TestLUpdate();
+
+ void setWorkingDirectory( const QString &workDir);
+ bool run( const QString &commandline);
+ bool updateProFile( const QString &arguments);
+ bool qmake();
+ QStringList getErrorMessages() {
+ return make_result;
+ }
+ void clearResult() {
+ make_result.clear();
+ }
+private:
+ QString m_cmdLupdate;
+ QString m_cmdQMake;
+ QString m_workDir;
+ QProcess *childProc;
+ QStringList env_list;
+ QStringList make_result;
+
+ bool child_show;
+ bool qws_mode;
+ bool exit_ok;
+
+ bool runChild( bool showOutput, const QString &program, const QStringList &argList = QStringList());
+ void addMakeResult( const QString &result );
+ void childHasData();
+
+private slots:
+ void childReady(int exitCode);
+};
+
+#endif // TESTLUPDATE_H
diff --git a/tests/auto/linguist/lupdate/tst_lupdate.cpp b/tests/auto/linguist/lupdate/tst_lupdate.cpp
new file mode 100644
index 0000000..fcf8582
--- /dev/null
+++ b/tests/auto/linguist/lupdate/tst_lupdate.cpp
@@ -0,0 +1,318 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "testlupdate.h"
+#if CHECK_SIMTEXTH
+#include "../shared/simtexth.h"
+#endif
+
+#include <QtCore/QDir>
+#include <QtCore/QDebug>
+#include <QtCore/QFile>
+#include <QtCore/QByteArray>
+
+#include <QtTest/QtTest>
+
+class tst_lupdate : public QObject
+{
+ Q_OBJECT
+public:
+ tst_lupdate() { m_basePath = QDir::currentPath() + QLatin1String("/testdata/"); }
+
+private slots:
+ void good_data();
+ void good();
+ void output_ts();
+ void commandline_data();
+ void commandline();
+#if CHECK_SIMTEXTH
+ void simtexth();
+ void simtexth_data();
+#endif
+
+private:
+ TestLUpdate m_lupdate;
+ QString m_basePath;
+
+ void doCompare(const QStringList &actual, const QString &expectedFn, bool err);
+ void doCompare(const QString &actualFn, const QString &expectedFn, bool err);
+};
+
+
+void tst_lupdate::doCompare(const QStringList &actual, const QString &expectedFn, bool err)
+{
+ QFile file(expectedFn);
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QStringList expected = QString(file.readAll()).trimmed().remove('\r').split('\n');
+
+ int i = 0, ei = expected.size(), gi = actual.size();
+ for (; ; i++) {
+ if (i == gi) {
+ if (i == ei)
+ return;
+ gi = 0;
+ break;
+ } else if (i == ei) {
+ ei = 0;
+ break;
+ } else if (err ? !QRegExp(expected.at(i)).exactMatch(actual.at(i)) :
+ (actual.at(i) != expected.at(i))) {
+ while ((ei - 1) >= i && (gi - 1) >= i &&
+ (err ? QRegExp(expected.at(ei - 1)).exactMatch(actual.at(gi - 1)) :
+ (actual.at(gi - 1) == expected.at(ei - 1))))
+ ei--, gi--;
+ break;
+ }
+ }
+ QByteArray diff;
+ for (int j = qMax(0, i - 3); j < i; j++)
+ diff += expected.at(j) + '\n';
+ diff += "<<<<<<< got\n";
+ for (int j = i; j < gi; j++) {
+ diff += actual.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += "=========\n";
+ for (int j = i; j < ei; j++) {
+ diff += expected.at(j) + '\n';
+ if (j >= i + 5) {
+ diff += "...\n";
+ break;
+ }
+ }
+ diff += ">>>>>>> expected\n";
+ for (int j = ei; j < qMin(ei + 3, expected.size()); j++)
+ diff += expected.at(j) + '\n';
+ QFAIL(qPrintable((err ? "Output for " : "Result for ") + expectedFn + " does not meet expectations:\n" + diff));
+}
+
+void tst_lupdate::doCompare(const QString &actualFn, const QString &expectedFn, bool err)
+{
+ QFile afile(actualFn);
+ QVERIFY(afile.open(QIODevice::ReadOnly));
+ QStringList actual = QString(afile.readAll()).trimmed().remove('\r').split('\n');
+
+ doCompare(actual, expectedFn, err);
+}
+
+void tst_lupdate::good_data()
+{
+ QTest::addColumn<QString>("directory");
+
+ QDir parsingDir(m_basePath + "good");
+ QStringList dirs = parsingDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
+
+#ifndef Q_OS_WIN
+ dirs.removeAll(QLatin1String("backslashes"));
+#endif
+
+ foreach (const QString &dir, dirs)
+ QTest::newRow(dir.toLocal8Bit()) << dir;
+}
+
+void tst_lupdate::good()
+{
+ QFETCH(QString, directory);
+
+ QString dir = m_basePath + "good/" + directory;
+ QString expectedFile = dir + QLatin1String("/project.ts.result");
+
+ qDebug() << "Checking...";
+
+ // qmake will delete the previous one, to ensure that we don't do any merging....
+ QString generatedtsfile(QLatin1String("project.ts"));
+
+ m_lupdate.setWorkingDirectory(dir);
+ m_lupdate.qmake();
+ // look for a command
+ QString lupdatecmd;
+ QFile file(dir + "/lupdatecmd");
+ if (file.exists()) {
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ while (!file.atEnd()) {
+ QByteArray cmdstring = file.readLine().simplified();
+ if (cmdstring.startsWith('#'))
+ continue;
+ if (cmdstring.startsWith("lupdate")) {
+ cmdstring.remove(0, 8);
+ lupdatecmd.append(cmdstring);
+ break;
+ } else if (cmdstring.startsWith("TRANSLATION:")) {
+ cmdstring.remove(0, 12);
+ generatedtsfile = dir + QLatin1Char('/') + cmdstring.trimmed();
+ }
+ }
+ file.close();
+ }
+
+ if (lupdatecmd.isEmpty()) {
+ lupdatecmd = QLatin1String("project.pro -ts project.ts");
+ }
+ lupdatecmd.prepend("-silent ");
+ m_lupdate.updateProFile(lupdatecmd);
+
+ // If the file expectedoutput.txt exists, compare the
+ // console output with the content of that file
+ QFile outfile(dir + "/expectedoutput.txt");
+ if (outfile.exists()) {
+ QString errs = m_lupdate.getErrorMessages().at(1).trimmed();
+ QStringList errslist = errs.split(QLatin1Char('\n'));
+ doCompare(errslist, outfile.fileName(), true);
+ if (QTest::currentTestFailed())
+ return;
+ }
+
+ doCompare(generatedtsfile, expectedFile, false);
+}
+
+void tst_lupdate::output_ts()
+{
+ QString dir = m_basePath + "output_ts";
+ m_lupdate.setWorkingDirectory(dir);
+
+ // look for a command
+ QString lupdatecmd;
+ QFile file(dir + "/lupdatecmd");
+ if (file.exists()) {
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ while (!file.atEnd()) {
+ QByteArray cmdstring = file.readLine().simplified();
+ if (cmdstring.startsWith('#'))
+ continue;
+ if (cmdstring.startsWith("lupdate")) {
+ cmdstring.remove(0, 8);
+ lupdatecmd.append(cmdstring);
+ break;
+ }
+ }
+ file.close();
+ }
+
+ QDir parsingDir(m_basePath + "output_ts");
+
+ QString generatedtsfile =
+ dir + QLatin1String("/toplevel/library/tools/translations/project.ts");
+
+ QFile::remove(generatedtsfile);
+
+ lupdatecmd.prepend("-silent ");
+ m_lupdate.qmake();
+ m_lupdate.updateProFile(lupdatecmd);
+
+ // If the file expectedoutput.txt exists, compare the
+ // console output with the content of that file
+ QFile outfile(dir + "/expectedoutput.txt");
+ if (outfile.exists()) {
+ QString errs = m_lupdate.getErrorMessages().at(1).trimmed();
+ QStringList errslist = errs.split(QLatin1Char('\n'));
+ doCompare(errslist, outfile.fileName(), true);
+ if (QTest::currentTestFailed())
+ return;
+ }
+
+ doCompare(generatedtsfile, dir + QLatin1String("/project.ts.result"), false);
+}
+
+void tst_lupdate::commandline_data()
+{
+ QTest::addColumn<QString>("currentPath");
+ QTest::addColumn<QString>("commandline");
+ QTest::addColumn<QString>("generatedtsfile");
+ QTest::addColumn<QString>("expectedtsfile");
+
+ QTest::newRow("Recursive scan") << QString("recursivescan")
+ << QString(". -ts foo.ts") << QString("foo.ts") << QString("foo.ts.result");
+ QTest::newRow("Deep path argument") << QString("recursivescan")
+ << QString("sub/finddialog.cpp -ts bar.ts") << QString("bar.ts") << QString("bar.ts.result");
+}
+
+void tst_lupdate::commandline()
+{
+ QFETCH(QString, currentPath);
+ QFETCH(QString, commandline);
+ QFETCH(QString, generatedtsfile);
+ QFETCH(QString, expectedtsfile);
+
+ m_lupdate.setWorkingDirectory(m_basePath + currentPath);
+ QString generated =
+ m_basePath + currentPath + QLatin1Char('/') + generatedtsfile;
+ QFile gen(generated);
+ if (gen.exists())
+ QVERIFY(gen.remove());
+ if (!m_lupdate.run("-silent " + commandline))
+ qDebug() << m_lupdate.getErrorMessages().last();
+
+ doCompare(generated, m_basePath + currentPath + QLatin1Char('/') + expectedtsfile, false);
+}
+
+#if CHECK_SIMTEXTH
+void tst_lupdate::simtexth()
+{
+ QFETCH(QString, one);
+ QFETCH(QString, two);
+ QFETCH(int, expected);
+
+ int measured = getSimilarityScore(one, two.toLatin1());
+ QCOMPARE(measured, expected);
+}
+
+
+void tst_lupdate::simtexth_data()
+{
+ using namespace QTest;
+
+ addColumn<QString>("one");
+ addColumn<QString>("two");
+ addColumn<int>("expected");
+
+ newRow("00") << "" << "" << 1024;
+ newRow("01") << "a" << "a" << 1024;
+ newRow("02") << "ab" << "ab" << 1024;
+ newRow("03") << "abc" << "abc" << 1024;
+ newRow("04") << "abcd" << "abcd" << 1024;
+}
+#endif
+
+QTEST_MAIN(tst_lupdate)
+#include "tst_lupdate.moc"
diff --git a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
index 2d89639..020f41d 100644
--- a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
+++ b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
@@ -156,11 +156,9 @@ void tst_Q3SqlCursor::createTestTables( QSqlDatabase db )
}
if (tst_Databases::isMSAccess(db)) {
- QVERIFY_SQL(q, exec("create table " + qTableName("qtest_precision") + " (col1 number)"));
- } else if (db.driverName().startsWith("QIBASE")) {
- QVERIFY_SQL(q, exec("create table " + qTableName("qtest_precision") + " (col1 numeric(15, 14))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("qtest_precision") + " (col1 number)"));
} else {
- QVERIFY_SQL(q, exec("create table " + qTableName("qtest_precision") + " (col1 numeric(15, 14))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("qtest_precision") + " (col1 numeric(15, 14))"));
}
}
@@ -556,7 +554,7 @@ void tst_Q3SqlCursor::unicode()
void tst_Q3SqlCursor::precision()
{
- static const QString precStr = "1.23456789012345";
+ static const QString precStr = QLatin1String("1.23456789012345");
static const double precDbl = 2.23456789012345;
QFETCH( QString, dbName );
@@ -575,7 +573,10 @@ void tst_Q3SqlCursor::precision()
QVERIFY_SQL(cur, select());
QVERIFY( cur.next() );
- QCOMPARE( cur.value( 0 ).asString(), QString( precStr ) );
+ if(!tst_Databases::isSqlServer(db))
+ QCOMPARE( cur.value( 0 ).asString(), precStr );
+ else
+ QCOMPARE( cur.value( 0 ).asString(), precStr.left(precStr.size()-1) ); // Sql server fails at counting.
QVERIFY( cur.next() );
QCOMPARE( cur.value( 0 ).asDouble(), precDbl );
}
@@ -760,8 +761,15 @@ void tst_Q3SqlCursor::insertFieldNameContainsWS() {
QSqlQuery q(db);
tst_Databases::safeDropTable(db, tableName);
QString query = QString("CREATE TABLE %1 (id int, \"first Name\" varchar(20), "
+ "lastName varchar(20))");
+ QVERIFY_SQL(q, exec(query.arg(tableName)));
+ QString query = QString("CREATE TABLE %1 (id int, \"first Name\" varchar(20), "
"lastName varchar(20))").arg(tableName);
QVERIFY_SQL(q, exec(query));
+ QString query = "CREATE TABLE %1 (id int, "
+ + db.driver()->escapeIdentifier("first Name", QSqlDriver::FieldName)
+ + " varchar(20), lastName varchar(20))";
+ QVERIFY_SQL(q, exec(query.arg(tableName)));
Q3SqlCursor cur(tableName, true, db);
cur.select();
diff --git a/tests/auto/qeventloop/tst_qeventloop.cpp b/tests/auto/qeventloop/tst_qeventloop.cpp
index 99d4d2f..6b113e0 100644
--- a/tests/auto/qeventloop/tst_qeventloop.cpp
+++ b/tests/auto/qeventloop/tst_qeventloop.cpp
@@ -369,6 +369,14 @@ void tst_QEventLoop::processEvents()
killTimer(timerId);
}
+#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
+// Symbian needs bit longer timeout for emulator, as emulator startup causes additional delay
+# define EXEC_TIMEOUT 1000
+#else
+# define EXEC_TIMEOUT 100
+#endif
+
+
void tst_QEventLoop::exec()
{
{
@@ -376,15 +384,15 @@ void tst_QEventLoop::exec()
EventLoopExiter exiter(&eventLoop);
int returnCode;
- QTimer::singleShot(100, &exiter, SLOT(exit()));
+ QTimer::singleShot(EXEC_TIMEOUT, &exiter, SLOT(exit()));
returnCode = eventLoop.exec();
QCOMPARE(returnCode, 0);
- QTimer::singleShot(100, &exiter, SLOT(exit1()));
+ QTimer::singleShot(EXEC_TIMEOUT, &exiter, SLOT(exit1()));
returnCode = eventLoop.exec();
QCOMPARE(returnCode, 1);
- QTimer::singleShot(100, &exiter, SLOT(exit2()));
+ QTimer::singleShot(EXEC_TIMEOUT, &exiter, SLOT(exit2()));
returnCode = eventLoop.exec();
QCOMPARE(returnCode, 2);
}
@@ -417,16 +425,19 @@ void tst_QEventLoop::exec()
QEventLoop eventLoop;
EventLoopExecutor executor(&eventLoop);
- QTimer::singleShot(100, &executor, SLOT(exec()));
+ QTimer::singleShot(EXEC_TIMEOUT, &executor, SLOT(exec()));
int returnCode = eventLoop.exec();
QCOMPARE(returnCode, 0);
QCOMPARE(executor.returnCode, -1);
}
-#if !defined(QT_NO_EXCEPTIONS) && !defined(Q_OS_WINCE_WM)
+#if !defined(QT_NO_EXCEPTIONS) && !defined(Q_OS_WINCE_WM) && !defined(Q_OS_SYMBIAN)
// Windows Mobile cannot handle cross library exceptions
// qobject.cpp will try to rethrow the exception after handling
// which causes gwes.exe to crash
+
+ // Symbian doesn't propagate exceptions from eventloop, but converts them to
+ // CActiveScheduler errors instead -> this test will hang.
{
// QEventLoop::exec() is exception safe
QEventLoop eventLoop;
@@ -434,14 +445,14 @@ void tst_QEventLoop::exec()
try {
ExceptionThrower exceptionThrower;
- QTimer::singleShot(100, &exceptionThrower, SLOT(throwException()));
+ QTimer::singleShot(EXEC_TIMEOUT, &exceptionThrower, SLOT(throwException()));
(void) eventLoop.exec();
} catch (...) {
++caughtExceptions;
}
try {
ExceptionThrower exceptionThrower;
- QTimer::singleShot(100, &exceptionThrower, SLOT(throwException()));
+ QTimer::singleShot(EXEC_TIMEOUT, &exceptionThrower, SLOT(throwException()));
(void) eventLoop.exec();
} catch (...) {
++caughtExceptions;
diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp
index b53d703..b67a44e 100644
--- a/tests/auto/qfile/tst_qfile.cpp
+++ b/tests/auto/qfile/tst_qfile.cpp
@@ -1074,11 +1074,7 @@ void tst_QFile::link()
QVERIFY(QFile::link("tst_qfile.cpp", "myLink.lnk"));
QFileInfo info2("myLink.lnk");
QVERIFY(info2.isSymLink());
-#ifdef Q_OS_WIN // on windows links are always absolute
QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#else
- QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#endif
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
QString wd = getWorkingDirectoryForLink(info2.absoluteFilePath());
@@ -1104,11 +1100,7 @@ void tst_QFile::linkToDir()
// later fail...
QVERIFY(info2.isSymLink());
#endif
-#ifdef Q_OS_WIN // on windows links are alway absolute
QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#else
- QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#endif
QVERIFY(QFile::remove(info2.absoluteFilePath()));
QFile::remove("myLinkToDir.lnk");
dir.rmdir("myDir");
@@ -1151,15 +1143,13 @@ void tst_QFile::readBrokenLink()
#endif
QFileInfo info2("myLink2.lnk");
QVERIFY(info2.isSymLink());
-#ifdef Q_OS_WIN // on windows links are alway absolute
QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#else
- QCOMPARE(info2.symLinkTarget(), info1.absoluteFilePath());
-#endif
QVERIFY(QFile::remove(info2.absoluteFilePath()));
+#if !defined(Q_OS_SYMBIAN)
QVERIFY(QFile::link("ole/..", "myLink2.lnk"));
QCOMPARE(QFileInfo("myLink2.lnk").symLinkTarget(), QDir::currentPath());
+#endif
}
void tst_QFile::readTextFile_data()
diff --git a/tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp b/tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp
index d9a7d56..e235ff5 100644
--- a/tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp
+++ b/tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp
@@ -59,13 +59,13 @@ void tst_QItemEditorFactory::createEditor()
QCOMPARE(w->metaObject()->className(), "QExpandingLineEdit");
}
-void tst_QItemEditorFactory::createCustomEditor()
+//we make it inherit from QObject so that we can use QPointer
+class MyEditor : public QObject, public QStandardItemEditorCreator<QDoubleSpinBox>
{
- //we make it inherit from QObject so that we can use QPointer
- class MyEditor : public QObject, public QStandardItemEditorCreator<QDoubleSpinBox>
- {
- };
+};
+void tst_QItemEditorFactory::createCustomEditor()
+{
QPointer<MyEditor> creator = new MyEditor;
QPointer<MyEditor> creator2 = new MyEditor;
diff --git a/tests/auto/qlistwidget/tst_qlistwidget.cpp b/tests/auto/qlistwidget/tst_qlistwidget.cpp
index e581bd3..6f49a37 100644
--- a/tests/auto/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/qlistwidget/tst_qlistwidget.cpp
@@ -1435,6 +1435,10 @@ public:
void tst_QListWidget::fastScroll()
{
+ if (qstrcmp(QApplication::style()->metaObject()->className(), "QS60Style") == 0) {
+ QSKIP("S60 style doesn't support fast scrolling", SkipAll);
+ }
+
MyListWidget widget;
for (int i = 0; i < 50; ++i)
widget.addItem(QString("Item %1").arg(i));
diff --git a/tests/auto/qmake/testcompiler.cpp b/tests/auto/qmake/testcompiler.cpp
index 2f8dae8..38876d0 100644
--- a/tests/auto/qmake/testcompiler.cpp
+++ b/tests/auto/qmake/testcompiler.cpp
@@ -56,7 +56,7 @@ static QString targetName( BuildType buildMode, const QString& target, const QSt
targetName.append(".exe");
break;
case Dll: // dll
- if (!version.empty())
+ if (!version.isEmpty())
targetName.append(version.section(".", 0, 0));
targetName.append(".dll");
break;
diff --git a/tests/auto/qobjectrace/qobjectrace.pro b/tests/auto/qobjectrace/qobjectrace.pro
index 3339654..322adff 100644
--- a/tests/auto/qobjectrace/qobjectrace.pro
+++ b/tests/auto/qobjectrace/qobjectrace.pro
@@ -1,3 +1,5 @@
load(qttest_p4)
SOURCES += tst_qobjectrace.cpp
QT = core
+
+TARGET.EPOCHEAPSIZE = 20000000 40000000
diff --git a/tests/auto/qobjectrace/tst_qobjectrace.cpp b/tests/auto/qobjectrace/tst_qobjectrace.cpp
index 98c7a30..b3052e0 100644
--- a/tests/auto/qobjectrace/tst_qobjectrace.cpp
+++ b/tests/auto/qobjectrace/tst_qobjectrace.cpp
@@ -44,7 +44,10 @@
#include <QtTest/QtTest>
-enum { OneMinute = 60 * 1000, TwoMinutes = OneMinute * 2 };
+enum { OneMinute = 60 * 1000,
+ TwoMinutes = OneMinute * 2,
+ TenMinutes = OneMinute * 10,
+ TwentyFiveMinutes = OneMinute * 25 };
class tst_QObjectRace: public QObject
{
@@ -136,6 +139,11 @@ private slots:
void tst_QObjectRace::moveToThreadRace()
{
+#if defined(Q_OS_SYMBIAN)
+ // ### FIXME: task 257411 - remove xfail once this is fixed
+ QEXPECT_FAIL("", "Symbian event dispatcher can't handle this kind of race, see task: 257411", Abort);
+ QVERIFY(false);
+#endif
RaceObject *object = new RaceObject;
enum { ThreadCount = 10 };
@@ -210,8 +218,24 @@ public:
}
};
+#if defined(Q_OS_SYMBIAN)
+// Symbian needs "a bit" more time
+# define EXTRA_THREAD_WAIT TenMinutes
+# define MAIN_THREAD_WAIT TwentyFiveMinutes
+#else
+# define EXTRA_THREAD_WAIT 3000
+# define MAIN_THREAD_WAIT TwoMinutes
+#endif
+
void tst_QObjectRace::destroyRace()
{
+#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
+ // ### FIXME: task 257411 - remove xfail once this is fixed.
+ // Oddly enough, this seems to work properly in HW, if given enough time and memory.
+ QEXPECT_FAIL("", "Symbian event dispatcher can't handle this kind of race on emulator, see task: 257411", Abort);
+ QVERIFY(false);
+#endif
+
enum { ThreadCount = 10, ObjectCountPerThread = 733,
ObjectCount = ThreadCount * ObjectCountPerThread };
@@ -244,10 +268,10 @@ void tst_QObjectRace::destroyRace()
for (int i = 0; i < ThreadCount; ++i)
threads[i]->start();
- QVERIFY(threads[0]->wait(TwoMinutes));
+ QVERIFY(threads[0]->wait(MAIN_THREAD_WAIT));
// the other threads should finish pretty quickly now
for (int i = 1; i < ThreadCount; ++i)
- QVERIFY(threads[i]->wait(3000));
+ QVERIFY(threads[i]->wait(EXTRA_THREAD_WAIT));
for (int i = 0; i < ThreadCount; ++i)
delete threads[i];
diff --git a/tests/auto/qpixmap/qpixmap.pro b/tests/auto/qpixmap/qpixmap.pro
index 68d7141..02ed3f2 100644
--- a/tests/auto/qpixmap/qpixmap.pro
+++ b/tests/auto/qpixmap/qpixmap.pro
@@ -13,7 +13,7 @@ wince*: {
DEFINES += SRCDIR=\\\".\\\"
} symbian*: {
DEPLOYMENT_PLUGIN += qmng
- LIBS += -lfbscli.lib -lbitgdi.lib -lgdi.lib
+ LIBS += -lfbscli.dll -lbitgdi.dll -lgdi.dll
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
win32:LIBS += -lgdi32 -luser32
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index f697488..31a699c 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -188,7 +188,7 @@ private slots:
void oci_fieldLength_data() { generic_data("QOCI"); }
void oci_fieldLength();
- void sqlite_bindAndFetchUInt_data() { generic_data("QSQLITE3"); }
+ void sqlite_bindAndFetchUInt_data() { generic_data("QSQLITE"); }
void sqlite_bindAndFetchUInt();
void sqlStatementUseIsNull_189093_data() { generic_data(); }
@@ -298,6 +298,7 @@ void tst_QSqlDatabase::createTestTables(QSqlDatabase db)
q.exec("set table_type=innodb");
if (tst_Databases::isSqlServer(db)) {
QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON"));
+ QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF"));
}
// please never ever change this table; otherwise fix all tests ;)
@@ -1240,7 +1241,7 @@ void tst_QSqlDatabase::recordSQLServer()
FieldDef("varchar(20)", QVariant::String, QString("Blah1")),
FieldDef("bigint", QVariant::LongLong, 12345),
FieldDef("int", QVariant::Int, 123456),
- FieldDef("tinyint", QVariant::Int, 255),
+ FieldDef("tinyint", QVariant::UInt, 255),
#ifdef QT3_SUPPORT
FieldDef("image", QVariant::ByteArray, Q3CString("Blah1")),
#endif
@@ -1355,11 +1356,13 @@ void tst_QSqlDatabase::bigIntField()
QFETCH(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
+ QString drvName = db.driverName();
QSqlQuery q(db);
q.setForwardOnly(true);
+ if (drvName.startsWith("QOCI"))
+ q.setNumericalPrecisionPolicy(QSql::LowPrecisionInt64);
- QString drvName = db.driverName();
if (drvName.startsWith("QMYSQL")) {
QVERIFY_SQL(q, exec("create table " + qTableName("qtest_bigint") + " (id int, t_s64bit bigint, t_u64bit bigint unsigned)"));
} else if (drvName.startsWith("QPSQL")
@@ -1368,6 +1371,8 @@ void tst_QSqlDatabase::bigIntField()
QVERIFY_SQL(q, exec("create table " + qTableName("qtest_bigint") + "(id int, t_s64bit bigint, t_u64bit bigint)"));
} else if (drvName.startsWith("QOCI")) {
QVERIFY_SQL(q, exec("create table " + qTableName("qtest_bigint") + " (id int, t_s64bit int, t_u64bit int)"));
+ //} else if (drvName.startsWith("QIBASE")) {
+ // QVERIFY_SQL(q, exec("create table " + qTableName("qtest_bigint") + " (id int, t_s64bit int64, t_u64bit int64)"));
} else {
QSKIP("no 64 bit integer support", SkipAll);
}
@@ -1397,10 +1402,15 @@ void tst_QSqlDatabase::bigIntField()
}
QVERIFY(q.exec("select * from " + qTableName("qtest_bigint") + " order by id"));
QVERIFY(q.next());
+ QCOMPARE(q.value(1).toDouble(), (double)ll);
QCOMPARE(q.value(1).toLongLong(), ll);
+ if(drvName.startsWith("QOCI"))
+ QEXPECT_FAIL("", "Oracle driver lacks support for unsigned int64 types", Continue);
QCOMPARE(q.value(2).toULongLong(), ull);
QVERIFY(q.next());
QCOMPARE(q.value(1).toLongLong(), -ll);
+ if(drvName.startsWith("QOCI"))
+ QEXPECT_FAIL("", "Oracle driver lacks support for unsigned int64 types", Continue);
QCOMPARE(q.value(2).toULongLong(), ull);
}
@@ -1512,6 +1522,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
QString field1Name = QString("fIeLdNaMe");
QString field2Name = QString("ZuLu");
+ q.exec(QString("DROP SCHEMA \"%1\" CASCADE").arg(schemaName));
QString createSchema = QString("CREATE SCHEMA \"%1\"").arg(schemaName);
QVERIFY_SQL(q, exec(createSchema));
QString createTable = QString("CREATE TABLE \"%1\".\"%2\" (\"%3\" int PRIMARY KEY, \"%4\" varchar(20))").arg(schemaName).arg(tableName).arg(field1Name).arg(field2Name);
@@ -2270,6 +2281,10 @@ void tst_QSqlDatabase::sqlite_bindAndFetchUInt()
QFETCH(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
+ if (db.driverName().startsWith("QSQLITE2")) {
+ QSKIP("SQLite3 specific test", SkipSingle);
+ return;
+ }
QSqlQuery q(db);
QString tableName = qTableName("uint_test");
diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp
index 9604fa8..ab7f0c9 100644
--- a/tests/auto/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp
@@ -175,13 +175,14 @@ private slots:
void emptyTableNavigate();
#ifdef NOT_READY_YET
- void task_217003_data() { generic_data(); }
- void task_217003();
void task_229811();
void task_229811_data() { generic_data(); }
void task_234422_data() { generic_data(); }
void task_234422();
#endif
+ void task_217003_data() { generic_data(); }
+ void task_217003();
+
void task_250026_data() { generic_data("QODBC"); }
void task_250026();
void task_205701_data() { generic_data("QMYSQL"); }
@@ -300,9 +301,8 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db )
tablenames << qTableName( "qtest_lockedtable" );
-#ifdef NOT_READY_YET
tablenames << qTableName( "Planet" );
-#endif
+
tablenames << qTableName( "task_250026" );
tablenames << qTableName( "task_234422" );
@@ -2616,7 +2616,6 @@ void tst_QSqlQuery::emptyTableNavigate()
}
}
-#ifdef NOT_READY_YET
void tst_QSqlQuery::task_217003()
{
QFETCH( QString, dbName );
@@ -2643,7 +2642,6 @@ void tst_QSqlQuery::task_217003()
QVERIFY_SQL( q, seek( 1 ) );
QCOMPARE( q.value( 0 ).toString(), QString( "Venus" ) );
}
-#endif
void tst_QSqlQuery::task_250026()
{
diff --git a/tests/auto/qstyle/qstyle.pro b/tests/auto/qstyle/qstyle.pro
index f9fed69..8163f26 100644
--- a/tests/auto/qstyle/qstyle.pro
+++ b/tests/auto/qstyle/qstyle.pro
@@ -2,12 +2,11 @@ load(qttest_p4)
TARGET.EPOCHEAPSIZE = 0x200000 0x800000
SOURCES += tst_qstyle.cpp
-wince*: {
- addPixmap.sources = task_25863.png
- addPixmap.path = .
- DEPLOYMENT += addPixmap
-} else:symbian* {
+wince*|symbian*: {
+ DEFINES += SRCDIR=\\\".\\\"
addPixmap.sources = task_25863.png
addPixmap.path = .
DEPLOYMENT += addPixmap
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
}
diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp
index d2c63a8..f5e94e3 100644
--- a/tests/auto/qstyle/tst_qstyle.cpp
+++ b/tests/auto/qstyle/tst_qstyle.cpp
@@ -266,12 +266,8 @@ void tst_QStyle::drawItemPixmap()
{
testWidget->resize(300, 300);
testWidget->show();
-#if defined(Q_OS_SYMBIAN)
- const QString prefix = QLatin1String(SRCDIR) + QLatin1String("/");
- QPixmap p(prefix+"task_25863.png", "PNG");
-#else
- QPixmap p("task_25863.png", "PNG");
-#endif
+
+ QPixmap p(QString(SRCDIR) + "/task_25863.png", "PNG");
QPixmap actualPix = QPixmap::grabWidget(testWidget);
QVERIFY(pixmapsAreEqual(&actualPix,&p));
testWidget->hide();
diff --git a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
index dde4946..1677972 100644
--- a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -92,6 +92,7 @@ private slots:
void rename();
void renameFdLeak();
void reOpenThroughQFile();
+ void keepOpenMode();
public:
};
@@ -443,5 +444,37 @@ void tst_QTemporaryFile::reOpenThroughQFile()
QCOMPARE(file.readAll(), data);
}
+void tst_QTemporaryFile::keepOpenMode()
+{
+ QByteArray data("abcdefghij");
+
+ {
+ QTemporaryFile file;
+ QVERIFY(((QFile &)file).open(QIODevice::WriteOnly));
+ QVERIFY(QIODevice::WriteOnly == file.openMode());
+
+ QCOMPARE(file.write(data), (qint64)data.size());
+ file.close();
+
+ QVERIFY(((QFile &)file).open(QIODevice::ReadOnly));
+ QVERIFY(QIODevice::ReadOnly == file.openMode());
+ QCOMPARE(file.readAll(), data);
+ }
+
+ {
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ QCOMPARE(file.write(data), (qint64)data.size());
+ QVERIFY(file.rename("temporary-file.txt"));
+
+ QVERIFY(((QFile &)file).open(QIODevice::ReadOnly));
+ QVERIFY(QIODevice::ReadOnly == file.openMode());
+ QCOMPARE(file.readAll(), data);
+
+ QVERIFY(((QFile &)file).open(QIODevice::WriteOnly));
+ QVERIFY(QIODevice::WriteOnly == file.openMode());
+ }
+}
+
QTEST_MAIN(tst_QTemporaryFile)
#include "tst_qtemporaryfile.moc"
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index d8a4945..4ddc6c4 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -2470,6 +2470,9 @@ void tst_QWidget::hideWhenFocusWidgetIsChild()
actualFocusWidget.sprintf("%p %s %s", qApp->focusWidget(), qApp->focusWidget()->objectName().toLatin1().constData(), qApp->focusWidget()->metaObject()->className());
expectedFocusWidget.sprintf("%p %s %s", edit2, edit2->objectName().toLatin1().constData(), edit2->metaObject()->className());
QCOMPARE(actualFocusWidget, expectedFocusWidget);
+
+ delete edit2;
+ delete parentWidget;
}
void tst_QWidget::normalGeometry()
@@ -6169,6 +6172,9 @@ void tst_QWidget::compatibilityChildInsertedEvents()
EventRecorder::EventList()
<< qMakePair(&widget, QEvent::PolishRequest)
<< qMakePair(&widget, QEvent::Type(QEvent::User + 1))
+#ifdef Q_OS_SYMBIAN
+ << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged)
+#endif
#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60)
<< qMakePair(&widget, QEvent::UpdateRequest)
#endif
@@ -6264,6 +6270,9 @@ void tst_QWidget::compatibilityChildInsertedEvents()
<< qMakePair(&widget, QEvent::PolishRequest)
<< qMakePair(&widget, QEvent::Type(QEvent::User + 1))
<< qMakePair(&widget, QEvent::Type(QEvent::User + 2))
+#ifdef Q_OS_SYMBIAN
+ << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged)
+#endif
#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60)
<< qMakePair(&widget, QEvent::UpdateRequest)
#endif
@@ -6359,6 +6368,9 @@ void tst_QWidget::compatibilityChildInsertedEvents()
<< qMakePair(&widget, QEvent::PolishRequest)
<< qMakePair(&widget, QEvent::Type(QEvent::User + 1))
<< qMakePair(&widget, QEvent::Type(QEvent::User + 2))
+#ifdef Q_OS_SYMBIAN
+ << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged)
+#endif
#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60)
<< qMakePair(&widget, QEvent::UpdateRequest)
#endif
diff --git a/tests/auto/tests.xml b/tests/auto/tests.xml
index d2f378d..a5386b2 100644
--- a/tests/auto/tests.xml
+++ b/tests/auto/tests.xml
@@ -9,6 +9,9 @@
<Test name="exceptionsafety" location="tests/auto/exceptionsafety/tst_exceptionsafety" />
<Test name="headers" location="tests/auto/headers/tst_headers" />
<Test name="languagechange" location="tests/auto/languagechange/tst_languagechange" />
+ <Test name="lrelease" location="tests/auto/linguist/lrelease/tst_lrelease" />
+ <Test name="lconvert" location="tests/auto/linguist/lconvert/tst_convert" />
+ <Test name="lupdate" location="tests/auto/linguist/lupdate/tst_lupdate" />
<Test name="macgui" location="tests/auto/macgui/tst_macgui" platforms="macx-g++" />
<Test name="mediaobject" location="tests/auto/mediaobject/tst_mediaobject" />
<Test name="moc" location="tests/auto/moc/tst_moc" />
@@ -412,6 +415,9 @@
<Test id="exceptionsafety" />
<Test id="headers" />
<Test id="languagechange" />
+ <Test id="lrelease" />
+ <Test id="lconvert" />
+ <Test id="lupdate" />
<Test id="macgui" />
<Test id="mediaobject" />
<Test id="moc" />
diff --git a/tools/assistant/lib/qhelpsearchengine.cpp b/tools/assistant/lib/qhelpsearchengine.cpp
index 9faafe0..2a41d04 100644
--- a/tools/assistant/lib/qhelpsearchengine.cpp
+++ b/tools/assistant/lib/qhelpsearchengine.cpp
@@ -84,18 +84,17 @@ private:
, resultWidget(0)
, helpEngine(helpEngine)
{
- hitList.clear();
indexReader = 0;
indexWriter = 0;
}
~QHelpSearchEnginePrivate()
{
- hitList.clear();
delete indexReader;
delete indexWriter;
}
+
int hitsCount() const
{
int count = 0;
@@ -107,12 +106,9 @@ private:
QList<QHelpSearchEngine::SearchHit> hits(int start, int end) const
{
- QList<QHelpSearchEngine::SearchHit> returnValue;
- if (indexReader) {
- for (int i = start; i < end && i < hitsCount(); ++i)
- returnValue.append(indexReader->hit(i));
- }
- return returnValue;
+ return indexReader ?
+ indexReader->hits(start, end) :
+ QList<QHelpSearchEngine::SearchHit>();
}
void updateIndex(bool reindex = false)
@@ -131,11 +127,9 @@ private:
connect(indexWriter, SIGNAL(indexingFinished()), this, SLOT(optimizeIndex()));
}
- if (indexWriter) {
- indexWriter->cancelIndexing();
- indexWriter->updateIndex(helpEngine->collectionFile(),
- indexFilesFolder(), reindex);
- }
+ indexWriter->cancelIndexing();
+ indexWriter->updateIndex(helpEngine->collectionFile(),
+ indexFilesFolder(), reindex);
}
void cancelIndexing()
@@ -159,11 +153,9 @@ private:
connect(indexReader, SIGNAL(searchingFinished(int)), this, SIGNAL(searchingFinished(int)));
}
- if (indexReader) {
- m_queryList = queryList;
- indexReader->cancelSearching();
- indexReader->search(helpEngine->collectionFile(), indexFilesFolder(), queryList);
- }
+ m_queryList = queryList;
+ indexReader->cancelSearching();
+ indexReader->search(helpEngine->collectionFile(), indexFilesFolder(), queryList);
}
void cancelSearching()
@@ -204,7 +196,6 @@ private:
QHelpSearchIndexWriter *indexWriter;
QPointer<QHelpEngineCore> helpEngine;
- QList<QHelpSearchEngine::SearchHit> hitList;
QList<QHelpSearchQuery> m_queryList;
};
diff --git a/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp b/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
index 227e558..89d6040 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
+++ b/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
@@ -70,7 +70,6 @@ QHelpSearchIndexReader::~QHelpSearchIndexReader()
{
mutex.lock();
this->m_cancel = true;
- waitCondition.wakeOne();
mutex.unlock();
wait();
@@ -86,8 +85,8 @@ void QHelpSearchIndexReader::cancelSearching()
void QHelpSearchIndexReader::search(const QString &collectionFile, const QString &indexFilesFolder,
const QList<QHelpSearchQuery> &queryList)
{
- QMutexLocker lock(&mutex);
-
+ wait();
+
this->hitList.clear();
this->m_cancel = false;
this->m_query = queryList;
@@ -99,12 +98,18 @@ void QHelpSearchIndexReader::search(const QString &collectionFile, const QString
int QHelpSearchIndexReader::hitsCount() const
{
+ QMutexLocker lock(&mutex);
return hitList.count();
}
-QHelpSearchEngine::SearchHit QHelpSearchIndexReader::hit(int index) const
+QList<QHelpSearchEngine::SearchHit> QHelpSearchIndexReader::hits(int start,
+ int end) const
{
- return hitList.at(index);
+ QList<QHelpSearchEngine::SearchHit> hits;
+ QMutexLocker lock(&mutex);
+ for (int i = start; i < end && i < hitList.count(); ++i)
+ hits.append(hitList.at(i));
+ return hits;
}
void QHelpSearchIndexReader::run()
@@ -135,7 +140,7 @@ void QHelpSearchIndexReader::run()
if(QCLuceneIndexReader::indexExists(indexPath)) {
mutex.lock();
if (m_cancel) {
- mutex.unlock();
+ mutex.unlock();
return;
}
mutex.unlock();
@@ -213,7 +218,9 @@ void QHelpSearchIndexReader::run()
#if !defined(QT_NO_EXCEPTIONS)
} catch(...) {
+ mutex.lock();
hitList.clear();
+ mutex.unlock();
emit searchingFinished(0);
}
#endif
@@ -416,8 +423,9 @@ void QHelpSearchIndexReader::boostSearchHits(const QHelpEngineCore &engine,
boostedList.append(it.value());
} while (it != hitMap.constBegin());
boostedList += hitList.mid(count, hitList.count());
-
+ mutex.lock();
hitList = boostedList;
+ mutex.unlock();
}
}
diff --git a/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h b/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
index 47af43f..8876d80 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
+++ b/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
@@ -85,9 +85,8 @@ public:
void search(const QString &collectionFile,
const QString &indexFilesFolder,
const QList<QHelpSearchQuery> &queryList);
-
int hitsCount() const;
- QHelpSearchEngine::SearchHit hit(int index) const;
+ QList<QHelpSearchEngine::SearchHit> hits(int start, int end) const;
signals:
void searchingStarted();
@@ -105,10 +104,8 @@ private:
const QList<QHelpSearchQuery> &queryList);
private:
- QMutex mutex;
+ mutable QMutex mutex;
QList<QHelpSearchEngine::SearchHit> hitList;
- QWaitCondition waitCondition;
-
bool m_cancel;
QString m_collectionFile;
QList<QHelpSearchQuery> m_query;
diff --git a/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp b/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
index b6e726b..c50f48d 100644
--- a/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
+++ b/tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp
@@ -639,7 +639,7 @@ void QHelpSearchIndexWriter::run()
QFileInfo fInfo(indexPath);
if (fInfo.exists() && !fInfo.isWritable()) {
- qWarning("Full Text Search, could not create index (missing permissions).");
+ qWarning("Full Text Search, could not create index (missing permissions for '%s').", qPrintable(indexPath));
return;
}
@@ -720,7 +720,7 @@ void QHelpSearchIndexWriter::run()
}
#if !defined(QT_NO_EXCEPTIONS)
} catch (...) {
- qWarning("Full Text Search, could not create index writer.");
+ qWarning("Full Text Search, could not create index writer in '%s'.", qPrintable(indexPath));
return;
}
#endif
diff --git a/tools/assistant/tools/assistant/bookmarkmanager.cpp b/tools/assistant/tools/assistant/bookmarkmanager.cpp
index 3bca573..250262e 100644
--- a/tools/assistant/tools/assistant/bookmarkmanager.cpp
+++ b/tools/assistant/tools/assistant/bookmarkmanager.cpp
@@ -347,7 +347,7 @@ void BookmarkWidget::filterChanged()
filterBookmarkModel->setFilterRegExp(regExp);
- QModelIndex index = treeView->indexAt(QPoint(1, 1));
+ const QModelIndex &index = treeView->indexAt(QPoint(1, 1));
if (index.isValid())
treeView->setCurrentIndex(index);
@@ -445,9 +445,10 @@ void BookmarkWidget::setup(bool showButtons)
treeView = new TreeView(this);
vlayout->addWidget(treeView);
- QString system = QLatin1String("win");
#ifdef Q_OS_MAC
- system = QLatin1String("mac");
+# define SYSTEM "mac"
+#else
+# define SYSTEM "win"
#endif
if (showButtons) {
@@ -458,8 +459,8 @@ void BookmarkWidget::setup(bool showButtons)
addButton = new QToolButton(this);
addButton->setText(tr("Add"));
- addButton->setIcon(QIcon(QString::fromUtf8(
- ":/trolltech/assistant/images/%1/addtab.png").arg(system)));
+ addButton->setIcon(QIcon(QLatin1String(":/trolltech/assistant/images/"
+ SYSTEM "/addtab.png")));
addButton->setAutoRaise(true);
addButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
hlayout->addWidget(addButton);
@@ -467,8 +468,8 @@ void BookmarkWidget::setup(bool showButtons)
removeButton = new QToolButton(this);
removeButton->setText(tr("Remove"));
- removeButton->setIcon(QIcon(QString::fromUtf8(
- ":/trolltech/assistant/images/%1/closetab.png").arg(system)));
+ removeButton->setIcon(QIcon(QLatin1String(":/trolltech/assistant/images/"
+ SYSTEM "/closetab.png")));
removeButton->setAutoRaise(true);
removeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
hlayout->addWidget(removeButton);
@@ -626,6 +627,10 @@ BookmarkManager::BookmarkManager(QHelpEngineCore *_helpEngine)
connect(treeModel, SIGNAL(itemChanged(QStandardItem*)), this,
SLOT(itemChanged(QStandardItem*)));
+ connect(treeModel, SIGNAL(itemChanged(QStandardItem*)), this,
+ SIGNAL(bookmarksChanged()));
+ connect(treeModel, SIGNAL(rowsRemoved(QModelIndex, int, int)),
+ this, SIGNAL(bookmarksChanged()));
}
BookmarkManager::~BookmarkManager()
@@ -736,6 +741,41 @@ void BookmarkManager::addNewBookmark(const QModelIndex &index,
else
treeModel->appendRow(item);
listModel->appendRow(item->clone());
+ emit bookmarksChanged();
+}
+
+void BookmarkManager::fillBookmarkMenu(QMenu *menu)
+{
+ if (!menu || !treeModel)
+ return;
+
+ map.clear();
+ fillBookmarkMenu(menu, treeModel->invisibleRootItem());
+}
+
+void BookmarkManager::fillBookmarkMenu(QMenu *menu, QStandardItem *root)
+{
+ for (int i = 0; i < root->rowCount(); ++i) {
+ QStandardItem *item = root->child(i);
+ if (item && item->data(Qt::UserRole + 10)
+ .toString() == QLatin1String("Folder")) {
+ QMenu* newMenu = menu->addMenu(folderIcon, item->text());
+ if (item->rowCount() > 0)
+ fillBookmarkMenu(newMenu, item);
+ } else {
+ map.insert(menu->addAction(item->text()), item->index());
+ }
+ }
+}
+
+QUrl BookmarkManager::urlForAction(QAction* action) const
+{
+ if (map.contains(action)) {
+ const QModelIndex &index = map.value(action);
+ if (QStandardItem* item = treeModel->itemFromIndex(index))
+ return QUrl(item->data(Qt::UserRole + 10).toString());
+ }
+ return QUrl();
}
void BookmarkManager::itemChanged(QStandardItem *item)
diff --git a/tools/assistant/tools/assistant/bookmarkmanager.h b/tools/assistant/tools/assistant/bookmarkmanager.h
index bf7af41..33db5b6 100644
--- a/tools/assistant/tools/assistant/bookmarkmanager.h
+++ b/tools/assistant/tools/assistant/bookmarkmanager.h
@@ -183,6 +183,12 @@ public:
const QString &url);
void setupBookmarkModels();
+ void fillBookmarkMenu(QMenu *menu);
+ QUrl urlForAction(QAction* action) const;
+
+signals:
+ void bookmarksChanged();
+
private slots:
void itemChanged(QStandardItem *item);
@@ -191,6 +197,7 @@ private:
void removeBookmarkFolderItems(QStandardItem *item);
void readBookmarksRecursive(const QStandardItem *item, QDataStream &stream,
const qint32 depth) const;
+ void fillBookmarkMenu(QMenu *menu, QStandardItem *root);
private:
QString oldText;
@@ -200,6 +207,7 @@ private:
BookmarkModel *listModel;
QStandardItem *renameItem;
QHelpEngineCore *helpEngine;
+ QMap<QAction*, QModelIndex> map;
};
QT_END_NAMESPACE
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index 385f0bb..a384544 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -286,6 +286,10 @@ CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
CentralWidget::~CentralWidget()
{
+#ifndef QT_NO_PRINTER
+ delete printer;
+#endif
+
QHelpEngineCore engine(collectionFile, 0);
if (!engine.setupData())
return;
@@ -357,10 +361,10 @@ void CentralWidget::findNext()
void CentralWidget::nextPage()
{
- if(tabWidget->currentIndex() < tabWidget->count() -1)
- tabWidget->setCurrentIndex(tabWidget->currentIndex() +1);
- else
- tabWidget->setCurrentIndex(0);
+ int index = tabWidget->currentIndex() + 1;
+ if (index >= tabWidget->count())
+ index = 0;
+ tabWidget->setCurrentIndex(index);
}
void CentralWidget::resetZoom()
@@ -376,10 +380,9 @@ void CentralWidget::resetZoom()
void CentralWidget::previousPage()
{
int index = tabWidget->currentIndex() -1;
- if(index >= 0)
- tabWidget->setCurrentIndex(index);
- else
- tabWidget->setCurrentIndex(tabWidget->count() -1);
+ if (index < 0)
+ index = tabWidget->count() -1;
+ tabWidget->setCurrentIndex(index);
}
void CentralWidget::findPrevious()
@@ -400,7 +403,8 @@ void CentralWidget::closeTab()
void CentralWidget::setSource(const QUrl &url)
{
HelpViewer *viewer = currentHelpViewer();
- HelpViewer *lastViewer = qobject_cast<HelpViewer*>(tabWidget->widget(lastTabPage));
+ HelpViewer *lastViewer =
+ qobject_cast<HelpViewer*>(tabWidget->widget(lastTabPage));
if (!viewer && !lastViewer) {
viewer = new HelpViewer(helpEngine, this);
@@ -427,8 +431,11 @@ void CentralWidget::setLastShownPages()
QString::SkipEmptyParts);
const int pageCount = lastShownPageList.count();
- if (pageCount == 0 && usesDefaultCollection) {
- setSource(QUrl(QLatin1String("help")));
+ if (pageCount == 0) {
+ if (usesDefaultCollection)
+ setSource(QUrl(QLatin1String("help")));
+ else
+ setSource(QUrl(QLatin1String("about:blank")));
return;
}
diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp
index 8860601..617ac4d 100644
--- a/tools/assistant/tools/assistant/mainwindow.cpp
+++ b/tools/assistant/tools/assistant/mainwindow.cpp
@@ -137,7 +137,14 @@ MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
if (initHelpDB()) {
setupFilterToolbar();
setupAddressToolbar();
+
m_bookmarkManager->setupBookmarkModels();
+ m_bookmarkMenu->addSeparator();
+ m_bookmarkManager->fillBookmarkMenu(m_bookmarkMenu);
+ connect(m_bookmarkMenu, SIGNAL(triggered(QAction*)), this,
+ SLOT(showBookmark(QAction*)));
+ connect(m_bookmarkManager, SIGNAL(bookmarksChanged()), this,
+ SLOT(updateBookmarkMenu()));
setWindowTitle(m_helpEngine->customValue(QLatin1String("WindowTitle"),
defWindowTitle).toString());
@@ -370,6 +377,29 @@ void MainWindow::checkInitState()
}
}
+void MainWindow::updateBookmarkMenu()
+{
+ if (m_bookmarkManager) {
+ m_bookmarkMenu->removeAction(m_bookmarkMenuAction);
+
+ m_bookmarkMenu->clear();
+
+ m_bookmarkMenu->addAction(m_bookmarkMenuAction);
+ m_bookmarkMenu->addSeparator();
+
+ m_bookmarkManager->fillBookmarkMenu(m_bookmarkMenu);
+ }
+}
+
+void MainWindow::showBookmark(QAction *action)
+{
+ if (m_bookmarkManager) {
+ const QUrl &url = m_bookmarkManager->urlForAction(action);
+ if (url.isValid())
+ m_centralWidget->setSource(url);
+ }
+}
+
void MainWindow::insertLastPages()
{
if (m_cmdLine->url().isValid())
@@ -495,9 +525,10 @@ void MainWindow::setupActions()
tmp->setShortcuts(QList<QKeySequence>() << QKeySequence(tr("Ctrl+Alt+Left"))
<< QKeySequence(Qt::CTRL + Qt::Key_PageUp));
- menu = menuBar()->addMenu(tr("&Bookmarks"));
- tmp = menu->addAction(tr("Add Bookmark..."), this, SLOT(addBookmark()));
- tmp->setShortcut(tr("CTRL+D"));
+ m_bookmarkMenu = menuBar()->addMenu(tr("&Bookmarks"));
+ m_bookmarkMenuAction = m_bookmarkMenu->addAction(tr("Add Bookmark..."),
+ this, SLOT(addBookmark()));
+ m_bookmarkMenuAction->setShortcut(tr("CTRL+D"));
menu = menuBar()->addMenu(tr("&Help"));
m_aboutAction = menu->addAction(tr("About..."), this, SLOT(showAboutDialog()));
diff --git a/tools/assistant/tools/assistant/mainwindow.h b/tools/assistant/tools/assistant/mainwindow.h
index 9ab3185..f7df724 100644
--- a/tools/assistant/tools/assistant/mainwindow.h
+++ b/tools/assistant/tools/assistant/mainwindow.h
@@ -119,6 +119,9 @@ private slots:
void qtDocumentationInstalled(bool newDocsInstalled);
void checkInitState();
+ void updateBookmarkMenu();
+ void showBookmark(QAction *action);
+
private:
bool initHelpDB();
void setupActions();
@@ -157,6 +160,8 @@ private:
QMenu *m_viewMenu;
QMenu *m_toolBarMenu;
+ QMenu *m_bookmarkMenu;
+ QAction *m_bookmarkMenuAction;
CmdLineParser *m_cmdLine;
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 306ee2f..75d3d1c 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -921,6 +921,11 @@ void Configure::parseCmdLine()
if(i==argCount)
break;
qmakeDefines += "QT_NAMESPACE="+configCmdLine.at(i);
+ } else if( configCmdLine.at(i) == "-qtlibinfix" ) {
+ ++i;
+ if(i==argCount)
+ break;
+ dictionary[ "QT_LIBINFIX" ] = configCmdLine.at(i);
} else if( configCmdLine.at(i) == "-D" ) {
++i;
if (i==argCount)
@@ -1526,8 +1531,8 @@ bool Configure::displayHelp()
"[-no-mmx] [-3dnow] [-no-3dnow] [-sse] [-no-sse] [-sse2] [-no-sse2]\n"
"[-no-iwmmxt] [-iwmmxt] [-openssl] [-openssl-linked]\n"
"[-no-openssl] [-no-dbus] [-dbus] [-dbus-linked] [-platform <spec>]\n"
- "[-qtnamespace <namespace>] [-no-phonon] [-phonon]\n"
- "[-no-phonon-backend] [-phonon-backend]\n"
+ "[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-no-phonon]\n"
+ "[-phonon] [-no-phonon-backend] [-phonon-backend]\n"
"[-no-webkit] [-webkit]\n"
"[-no-scripttools] [-scripttools]\n"
"[-graphicssystem raster|opengl|openvg]\n\n", 0, 7);
@@ -1623,7 +1628,8 @@ bool Configure::displayHelp()
desc( "", "See the README file for a list of supported operating systems and compilers.\n", false, ' ');
#if !defined(EVAL)
- desc( "-qtnamespace <namespace>", "Wraps all Qt library code in 'namespace name {...}\n");
+ desc( "-qtnamespace <namespace>", "Wraps all Qt library code in 'namespace name {...}");
+ desc( "-qtlibinfix <infix>", "Renames all Qt* libs to Qt*<infix>\n");
desc( "-D <define>", "Add an explicit define to the preprocessor.");
desc( "-I <includepath>", "Add an explicit include path.");
desc( "-L <librarypath>", "Add an explicit library path.");
@@ -2656,12 +2662,14 @@ void Configure::generateCachefile()
configStream << "DEFAULT_SIGNATURE=" << dictionary["CE_SIGNATURE"] << endl;
if(!dictionary["QMAKE_RPATHDIR"].isEmpty())
- configStream<<"QMAKE_RPATHDIR += "<<dictionary["QMAKE_RPATHDIR"] <<endl;
+ configStream << "QMAKE_RPATHDIR += " << dictionary["QMAKE_RPATHDIR"] << endl;
- if(!dictionary["ARM_FPU_TYPE"].isEmpty())
- {
- configStream<<"QMAKE_CXXFLAGS.ARMCC += --fpu "<< dictionary["ARM_FPU_TYPE"];
- }
+ if (!dictionary["QT_LIBINFIX"].isEmpty())
+ configStream << "QT_LIBINFIX = " << dictionary["QT_LIBINFIX"] << endl;
+
+ if(!dictionary["ARM_FPU_TYPE"].isEmpty()) {
+ configStream<<"QMAKE_CXXFLAGS.ARMCC += --fpu "<< dictionary["ARM_FPU_TYPE"];
+ }
configStream.flush();
configFile.close();
diff --git a/tools/linguist/linguist/messageeditor.cpp b/tools/linguist/linguist/messageeditor.cpp
index fa1ee88..9e598a8 100644
--- a/tools/linguist/linguist/messageeditor.cpp
+++ b/tools/linguist/linguist/messageeditor.cpp
@@ -69,6 +69,7 @@ QT_BEGIN_NAMESPACE
// functionality is provided within Qt (see task 196275).
static const char * language_strings[] =
{
+ QT_TRANSLATE_NOOP("MessageEditor", "Russian"),
QT_TRANSLATE_NOOP("MessageEditor", "German"),
QT_TRANSLATE_NOOP("MessageEditor", "Japanese"),
QT_TRANSLATE_NOOP("MessageEditor", "French"),
diff --git a/tools/linguist/phrasebooks/russian.qph b/tools/linguist/phrasebooks/russian.qph
index 629c60b..69af041 100644
--- a/tools/linguist/phrasebooks/russian.qph
+++ b/tools/linguist/phrasebooks/russian.qph
@@ -10,7 +10,7 @@
</phrase>
<phrase>
<source>accessibility</source>
- <target>удобство</target>
+ <target>специальные возможности</target>
</phrase>
<phrase>
<source>action handle</source>
@@ -345,8 +345,8 @@
<target>активная зона</target>
</phrase>
<phrase>
- <source>icon</source>
- <target>пиктограмма</target>
+ <source>Icon</source>
+ <target>Значок</target>
</phrase>
<phrase>
<source>inactive</source>
@@ -402,7 +402,7 @@
</phrase>
<phrase>
<source>list view</source>
- <target>древовидный список</target>
+ <target>список</target>
</phrase>
<phrase>
<source>manual link</source>
@@ -901,10 +901,6 @@
<target>панель инструментов</target>
</phrase>
<phrase>
- <source>tooltip</source>
- <target>всплывающая подсказка</target>
-</phrase>
-<phrase>
<source>tree view control</source>
<target>древовидный список</target>
</phrase>
@@ -1054,10 +1050,46 @@
</phrase>
<phrase>
<source>Case Sensitive</source>
- <target>Регистрозависимо</target>
+ <target>Учитывать регистр</target>
</phrase>
<phrase>
<source>Whole words</source>
- <target>Слова полностью</target>
+ <target>Слова целиком</target>
+</phrase>
+<phrase>
+ <source>Find Next</source>
+ <target>Найти следующее</target>
+</phrase>
+<phrase>
+ <source>Find Previous</source>
+ <target>Найти предыдущее</target>
+</phrase>
+<phrase>
+ <source>Case Sensitive</source>
+ <target>Учитывать регистр символов</target>
+</phrase>
+<phrase>
+ <source>Whole words only</source>
+ <target>Только слова целиком</target>
+</phrase>
+<phrase>
+ <source>Subwindow</source>
+ <target>Дочернее окно</target>
+</phrase>
+<phrase>
+ <source>Next</source>
+ <target>Далее</target>
+</phrase>
+<phrase>
+ <source>tree view</source>
+ <target>древовидный список</target>
+</phrase>
+<phrase>
+ <source>ToolTip</source>
+ <target>Подсказка</target>
+</phrase>
+<phrase>
+ <source>Checkable</source>
+ <target>Переключаемое</target>
</phrase>
</QPH>
diff --git a/tools/qtconfig/translations/translations.pro b/tools/qtconfig/translations/translations.pro
index fbbdb2bba2..1f9f572 100644
--- a/tools/qtconfig/translations/translations.pro
+++ b/tools/qtconfig/translations/translations.pro
@@ -8,6 +8,7 @@ HEADERS += ../colorbutton.h ../previewframe.h ../previewwidget.h ../mainw
FORMS = ../mainwindowbase.ui ../paletteeditoradvancedbase.ui ../previewwidgetbase.ui
TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qtconfig_pl.ts \
+ $$[QT_INSTALL_TRANSLATIONS]/qtconfig_ru.ts \
$$[QT_INSTALL_TRANSLATIONS]/qtconfig_untranslated.ts \
$$[QT_INSTALL_TRANSLATIONS]/qtconfig_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/qtconfig_zh_TW.ts
diff --git a/tools/qvfb/translations/translations.pro b/tools/qvfb/translations/translations.pro
index 736a72c..f667bb8 100644
--- a/tools/qvfb/translations/translations.pro
+++ b/tools/qvfb/translations/translations.pro
@@ -27,6 +27,7 @@ SOURCES = ../qvfb.cpp \
../../shared/deviceskin/deviceskin.cpp
TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qvfb_pl.ts \
+ $$[QT_INSTALL_TRANSLATIONS]/qvfb_ru.ts \
$$[QT_INSTALL_TRANSLATIONS]/qvfb_untranslated.ts \
$$[QT_INSTALL_TRANSLATIONS]/qvfb_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/qvfb_zh_TW.ts
diff --git a/translations/assistant_adp_ru.ts b/translations/assistant_adp_ru.ts
index a587a91..c47798b 100644
--- a/translations/assistant_adp_ru.ts
+++ b/translations/assistant_adp_ru.ts
@@ -4,10 +4,12 @@
<context>
<name>AssistantServer</name>
<message>
+ <location filename="../tools/assistant/compat/main.cpp" line="+226"/>
<source>Failed to bind to port %1</source>
<translation>Не удалось открыть порт %1</translation>
</message>
<message>
+ <location line="-1"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
@@ -15,22 +17,27 @@
<context>
<name>FontPanel</name>
<message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+77"/>
<source>&amp;Family</source>
<translation>Се&amp;мейство</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Style</source>
<translation>&amp;Стиль</translation>
</message>
<message>
+ <location line="-18"/>
<source>Font</source>
<translation>Шрифт</translation>
</message>
<message>
+ <location line="+11"/>
<source>&amp;Writing system</source>
<translation>Система &amp;письма</translation>
</message>
<message>
+ <location line="+11"/>
<source>&amp;Point size</source>
<translation>&amp;Размер в пикселях</translation>
</message>
@@ -38,22 +45,27 @@
<context>
<name>FontSettingsDialog</name>
<message>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+75"/>
<source>Application</source>
<translation>Приложение</translation>
</message>
<message>
+ <location line="-1"/>
<source>Browser</source>
<translation>Обозреватель</translation>
</message>
<message>
+ <location line="-4"/>
<source>Font settings for:</source>
<translation>Настройки шрифта для:</translation>
</message>
<message>
+ <location line="+11"/>
<source>Use custom settings</source>
<translation>Использование индивидуальных настроек</translation>
</message>
<message>
+ <location line="-18"/>
<source>Font Settings</source>
<translation>Настройки шрифта</translation>
</message>
@@ -61,202 +73,261 @@
<context>
<name>HelpDialog</name>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="+108"/>
<source>&amp;Index</source>
<translation>&amp;Указатель</translation>
</message>
<message>
+ <location line="+12"/>
<source>&amp;Look For:</source>
<translation>&amp;Искать:</translation>
</message>
<message>
+ <location line="+91"/>
<source>&amp;New</source>
- <translation>&amp;Создать</translation>
+ <translation>&amp;Новая</translation>
</message>
<message>
+ <location line="+23"/>
+ <location line="+111"/>
<source>&amp;Search</source>
<translation>&amp;Поиск</translation>
</message>
<message>
+ <location line="-212"/>
<source>&lt;b&gt;Enter a keyword.&lt;/b&gt;&lt;p&gt;The list will select an item that matches the entered string best.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Ввод слова.&lt;/b&gt;&lt;p&gt;В список попадет то, что лучше соответствует введенной строке.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Указание ключевого слова.&lt;/b&gt;&lt;p&gt;Список заполняется элементами, лучше соответствующими указанному ключевому слову.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+142"/>
<source>&lt;b&gt;Enter search word(s).&lt;/b&gt;&lt;p&gt;Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Ввод одного или более слов для поиска.&lt;/b&gt;&lt;p&gt;Сюда следует ввести одно или несколько слов, которые требуется найти. Слова могут содержкать символы-заменители (*). Если требуется найти словосочетание, то его нужно заключить в кавычки.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Указание слов для поиска.&lt;/b&gt;&lt;p&gt;Введите одно или несколько слов, по которым требуется осуществить поиск. Слова могут содержкать символы-заменители (*). Если требуется найти сочетание слов, заключите искомую фразу в кавычки.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+10"/>
<source>&lt;b&gt;Found documents&lt;/b&gt;&lt;p&gt;This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Найденные документы&lt;/b&gt;&lt;p&gt;В этом списке представлены все найденные при последнем поиске документы. Документы упорядочены по релевантности, т.е. чем выше, тем чаще в нём встречаются указанные слова.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Найденные документы&lt;/b&gt;&lt;p&gt;В данном списке представлены все найденные при последнем поиске документы. Документы упорядочены по релевантности, т.е. чем выше в списке, тем чаще в нём встречаются искомые слова.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="-196"/>
<source>&lt;b&gt;Help topics organized by category.&lt;/b&gt;&lt;p&gt;Double-click an item to see the topics in that category. To view a topic, just double-click it.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Статьи справки распределённые по разделам.&lt;/b&gt;&lt;p&gt;Дважды кликните по одному из пунктов, чтобы увидеть какие статьи содержатся в данном разделе. Для открытия статьи просто дважды щелкните на ней.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Разделы справки, распределённые по категориям.&lt;/b&gt;&lt;p&gt;Дважды щёлкните по одному из пунктов для отображения разделов в данной категории. Для открытия раздела дважды щёлкните по нему.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="-31"/>
<source>&lt;b&gt;Help&lt;/b&gt;&lt;p&gt;Choose the topic you want help on from the contents list, or search the index for keywords.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Справка&lt;/b&gt;&lt;p&gt;Выберите необходимую статью справки из списка разделов или воспользуйтесь поиском по предметному указателю.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Справка&lt;/b&gt;&lt;p&gt;Выберите раздел справки из содержания или воспользуйтесь поиском по предметному указателю.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+85"/>
<source>&lt;b&gt;List of available help topics.&lt;/b&gt;&lt;p&gt;Double-click on an item to open its help page. If more than one is found, you must specify which page you want.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Список доступных статей справки.&lt;/b&gt;&lt;p&gt;Дважды щёлкните на пункте для открытия страницы помощи. Если найдено более одной, то потребуется выбрать желаемую страницу.&lt;/p&gt;</translation>
+ <translation type="unfinished">&lt;b&gt;Список доступных разделов справки.&lt;/b&gt;&lt;p&gt;Дважды щёлкните по одному из пунктов для открытия страницы справки. Если найдено более одной страницы, выберите желаемую.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+62"/>
<source>Add new bookmark</source>
- <translation>Добавить новую закладку</translation>
+ <translation>Добавить закладку</translation>
</message>
<message>
+ <location line="+3"/>
<source>Add the currently displayed page as a new bookmark.</source>
- <translation>Добавление текущей открытой страницы в закладки.</translation>
+ <translation>Добавить отображаемую страницу в закладки.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+393"/>
<source>Cannot open the index file %1</source>
<translation>Не удаётся открыть файл индекса %1</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="-134"/>
<source>Con&amp;tents</source>
<translation>Содер&amp;жание</translation>
</message>
<message>
+ <location line="+144"/>
<source>Delete bookmark</source>
<translation>Удалить закладку</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete the selected bookmark.</source>
- <translation>Удаление выбранной закладки.</translation>
+ <translation>Удалить выбранную закладку.</translation>
</message>
<message>
+ <location line="+92"/>
<source>Display the help page for the full text search.</source>
- <translation>Открытие справки по полнотекстовому поиску.</translation>
+ <translation>Показать справку по полнотекстовому поиску.</translation>
</message>
<message>
+ <location line="-3"/>
<source>Display the help page.</source>
- <translation>Открыть страницу справки.</translation>
+ <translation>Показать страницу справки.</translation>
</message>
<message>
+ <location line="-240"/>
<source>Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.</source>
- <translation>Здесь отображается список тем, распределенных по разделам, указатель или закладки. Последняя вкладка содержит полнотекстовый поиск.</translation>
+ <translation>Отображает список разделов, распредёленных по категориям, указатель или закладки. Последняя вкладка содержит панель полнотекстового поиска.</translation>
</message>
<message>
+ <location line="+96"/>
<source>Displays the list of bookmarks.</source>
<translation>Отображает список закладок.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+59"/>
+ <location line="+124"/>
<source>Documentation file %1 does not exist!
Skipping file.</source>
<translation>Файл документации %1 не существует!
Пропущен.</translation>
</message>
<message>
+ <location line="+8"/>
<source>Documentation file %1 is not compatible!
Skipping file.</source>
- <translation>Файл документации %1 не совместим!
+ <translation>Несовместимый файл документации %1!
Пропущен.</translation>
</message>
<message>
+ <location line="+48"/>
+ <location line="+469"/>
<source>Done</source>
<translation>Готово</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="-36"/>
<source>Enter keyword</source>
<translation>Введите ключевое слово</translation>
</message>
<message>
+ <location line="+142"/>
<source>Enter searchword(s).</source>
- <translation>Введите одно или более слов для поиска.</translation>
+ <translation>Введите одно или несколько слов для поиска.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="-725"/>
<source>Failed to load keyword index file
Assistant will not work!</source>
<translation>Не удалось загрузить файл индекса ключевых слов
-Assistant не будет работать!</translation>
+Qt Assistant не будет работать!</translation>
</message>
<message>
+ <location line="+678"/>
<source>Failed to save fulltext search index
Assistant will not work!</source>
<translation>Не удалось сохранить индекс полнотекстового поиска
-Assistant не будет работать!</translation>
+Qt Assistant не будет работать!</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="+20"/>
<source>Found &amp;Documents:</source>
<translation>Найденные &amp;документы:</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+90"/>
+ <location line="+9"/>
<source>Full Text Search</source>
<translation>Полнотекстовый поиск</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="+24"/>
<source>He&amp;lp</source>
<translation>&amp;Справка</translation>
</message>
<message>
+ <location line="-261"/>
<source>Help</source>
<translation>Справка</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="-70"/>
<source>Indexing files...</source>
<translation>Индексирование файлов...</translation>
</message>
<message>
+ <location line="-798"/>
<source>Open Link in New Tab</source>
<translation>Открыть ссылку в новой вкладке</translation>
</message>
<message>
+ <location line="-3"/>
<source>Open Link in New Window</source>
<translation>Открыть ссылку в новом окне</translation>
</message>
<message>
+ <location line="+182"/>
+ <location line="+133"/>
<source>Parse Error</source>
<translation>Ошибка обработки</translation>
</message>
<message>
+ <location line="-239"/>
+ <location line="+82"/>
<source>Prepare...</source>
<translation>Подготовка...</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="+321"/>
<source>Preparing...</source>
<translation>Подготовка...</translation>
</message>
<message>
+ <location line="-34"/>
<source>Pressing this button starts the search.</source>
<translation>Нажатие на эту кнопку запустит процесс поиска.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="-64"/>
+ <location line="+16"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
+ <location line="+45"/>
<source>Reading dictionary...</source>
<translation>Чтение каталога...</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="-80"/>
<source>Searching f&amp;or:</source>
<translation>&amp;Искать:</translation>
</message>
<message>
+ <location line="+77"/>
<source>Start searching.</source>
<translation>Начать поиск.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+56"/>
<source>The closing quotation mark is missing.</source>
<translation>Пропущена закрывающая кавычка.</translation>
</message>
<message>
+ <location line="-9"/>
<source>Using a wildcard within phrases is not allowed.</source>
- <translation>Использование символов-заменителей внутри фраз не допустимо.</translation>
+ <translation>Использование символов-заменителей внутри фраз недопустимо.</translation>
</message>
<message>
+ <location line="-694"/>
+ <location line="+124"/>
+ <location line="+8"/>
<source>Warning</source>
<translation>Предупреждение</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="-240"/>
+ <location line="+74"/>
<source>column 1</source>
<translation>столбец 1</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="-304"/>
<source>Open Link in Current Tab</source>
<translation>Открыть ссылку в текущей вкладке</translation>
</message>
<message numerus="yes">
+ <location line="+882"/>
<source>%n document(s) found.</source>
<translation>
<numerusform>Найден %n документ.</numerusform>
@@ -265,10 +336,12 @@ Assistant не будет работать!</translation>
</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui" line="-22"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Закладки</translation>
</message>
<message>
+ <location line="+73"/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
@@ -276,38 +349,47 @@ Assistant не будет работать!</translation>
<context>
<name>HelpWindow</name>
<message>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+127"/>
<source>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;Страница не найдена&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <location line="+58"/>
<source>Copy &amp;Link Location</source>
<translation>Копировать &amp;адрес ссылки</translation>
</message>
<message>
+ <location line="-56"/>
<source>Error...</source>
<translation>Ошибка...</translation>
</message>
<message>
+ <location line="-3"/>
<source>Failed to open link: &apos;%1&apos;</source>
<translation>Не удалось открыть ссылку: &apos;%1&apos;</translation>
</message>
<message>
+ <location line="-29"/>
<source>Help</source>
<translation>Справка</translation>
</message>
<message>
+ <location line="+2"/>
<source>OK</source>
<translation>Закрыть</translation>
</message>
<message>
+ <location line="+89"/>
<source>Open Link in New Tab</source>
<translation>Открыть ссылку в новой вкладке</translation>
</message>
<message>
+ <location line="+2"/>
<source>Open Link in New Window Shift+LMB</source>
<translation>Открыть ссылку в новом окне Shift+LMB</translation>
</message>
<message>
+ <location line="-92"/>
<source>Unable to launch web browser.
</source>
<translation>Невозможно запустить вэб-браузер.
@@ -317,6 +399,7 @@ Assistant не будет работать!</translation>
<context>
<name>Index</name>
<message>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>Неозаглавлено</translation>
</message>
@@ -324,354 +407,445 @@ Assistant не будет работать!</translation>
<context>
<name>MainWindow</name>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+375"/>
+ <location line="+3"/>
<source>&quot;What&apos;s This?&quot; context sensitive help.</source>
- <translation>&quot;Что это?&quot; - контекстная справка.</translation>
+ <translation>Контекстная справка &quot;Что это?&quot;.</translation>
</message>
<message>
+ <location line="-17"/>
<source>&amp;Add Bookmark</source>
- <translation>&amp;Добавление закладки</translation>
+ <translation>&amp;Добавить закладку</translation>
</message>
<message>
+ <location line="-11"/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
<message>
+ <location line="-141"/>
<source>&amp;Copy</source>
<translation>&amp;Копировать</translation>
</message>
<message>
+ <location line="-49"/>
<source>&amp;Edit</source>
<translation>&amp;Правка</translation>
</message>
<message>
+ <location line="-39"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
+ <location line="+102"/>
<source>&amp;Find in Text...</source>
<translation>П&amp;оиск по тексту...</translation>
</message>
<message>
+ <location line="-82"/>
<source>&amp;Go</source>
<translation>&amp;Перейти</translation>
</message>
<message>
+ <location line="-31"/>
<source>&amp;Help</source>
<translation>&amp;Справка</translation>
</message>
<message>
+ <location line="+143"/>
<source>&amp;Home</source>
<translation>&amp;Домой</translation>
</message>
<message>
+ <location line="+28"/>
<source>&amp;Next</source>
- <translation>&amp;Вперёд</translation>
+ <translation>Сл&amp;едующий</translation>
</message>
<message>
+ <location line="-14"/>
<source>&amp;Previous</source>
- <translation>&amp;Назад</translation>
+ <translation>&amp;Предыдущий</translation>
</message>
<message>
+ <location line="-86"/>
<source>&amp;Print...</source>
<translation>&amp;Печать...</translation>
</message>
<message>
+ <location line="-28"/>
<source>&amp;View</source>
<translation>&amp;Вид</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+121"/>
<source>&amp;Window</source>
<translation>&amp;Окно</translation>
</message>
<message>
+ <location line="+429"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+150"/>
<source>About Qt</source>
<translation>О Qt</translation>
</message>
<message>
+ <location line="-11"/>
<source>About Qt Assistant</source>
<translation>О Qt Assistant</translation>
</message>
<message>
+ <location line="+94"/>
<source>Add Tab</source>
<translation>Добавить вкладку</translation>
</message>
<message>
+ <location line="-22"/>
<source>Add the currently displayed page as a new bookmark.</source>
- <translation>Добавление текущей открытой страницы в закладки.</translation>
+ <translation>Добавить отображаемую страницу в закладки.</translation>
</message>
<message>
+ <location line="-228"/>
<source>Boo&amp;kmarks</source>
<translation>&amp;Закладки</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+244"/>
<source>Cannot open file for writing!</source>
- <translation>Не удается открыть файл для записи!</translation>
+ <translation>Не удалось открыть файл для записи!</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+274"/>
<source>Close Tab</source>
<translation>Закрыть вкладку</translation>
</message>
<message>
+ <location line="-57"/>
<source>Close the current window.</source>
<translation>Закрыть текущее окно.</translation>
</message>
<message>
+ <location line="-58"/>
<source>Display further information about Qt Assistant.</source>
<translation>Показать дополнительную информацию о Qt Assistant.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-514"/>
<source>Displays the main page of a specific documentation set.</source>
- <translation>Открывает главную страницу выбранного набора документации.</translation>
+ <translation type="unfinished">Открывает стартовую страницу выбранного набора документации.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="-103"/>
<source>E&amp;xit</source>
- <translation>Вы&amp;ход</translation>
+ <translation>В&amp;ыход</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+69"/>
<source>Failed to open about application contents in file: &apos;%1&apos;</source>
<translation>Не удалось получить информацию о приложении из файла: &apos;%1&apos;</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+42"/>
<source>Find &amp;Next</source>
- <translation>Продолжить п&amp;оиск</translation>
+ <translation>Найти &amp;следующее</translation>
</message>
<message>
+ <location line="+8"/>
<source>Find &amp;Previous</source>
<translation>Найти &amp;предыдущее</translation>
</message>
<message>
+ <location line="+206"/>
<source>Font Settings...</source>
<translation>Настройки шрифта...</translation>
</message>
<message>
+ <location line="-361"/>
<source>Go</source>
<translation>Перейти</translation>
</message>
<message>
+ <location line="+169"/>
<source>Go to the home page. Qt Assistant&apos;s home page is the Qt Reference Documentation.</source>
<translation>Перейти на домашнюю страницу. Домашная страница Qt Assistant - Справочная документация по Qt.</translation>
</message>
<message>
+ <location line="+28"/>
<source>Go to the next page.</source>
<translation>Переход на следующую страницу.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-191"/>
<source>Initializing Qt Assistant...</source>
<translation>Инициализация Qt Assistant...</translation>
</message>
<message>
+ <location line="-35"/>
<source>Minimize</source>
<translation>Свернуть</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+55"/>
<source>New Window</source>
<translation>Новое окно</translation>
</message>
<message>
+ <location line="+55"/>
<source>Next Tab</source>
<translation>Следующая вкладка</translation>
</message>
<message>
+ <location line="-52"/>
<source>Open a new window.</source>
<translation>Открыть новое окно.</translation>
</message>
<message>
+ <location line="-116"/>
<source>Open the Find dialog. Qt Assistant will search the currently displayed page for the text you enter.</source>
- <translation>Открыть окно поиска. Qt Assistant произведёт поиск введённого текста на текущей открытой странице.</translation>
+ <translation>Открыть окно поиска. Qt Assistant произведёт поиск введённого текста на отображаемой странице.</translation>
</message>
<message>
+ <location line="+176"/>
<source>Previous Tab</source>
<translation>Предыдущая вкладка</translation>
</message>
<message>
+ <location line="-218"/>
<source>Print the currently displayed page.</source>
- <translation>Печать текущей открытой страницы.</translation>
+ <translation>Печатать отображаемую страницу.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+206"/>
+ <location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+237"/>
<source>Qt Assistant Manual</source>
<translation>Руководство по Qt Assistant</translation>
</message>
<message>
+ <location line="-366"/>
<source>Qt Assistant by Nokia</source>
<translation>Qt Assistant от Nokia</translation>
</message>
<message>
+ <location line="+140"/>
<source>Quit Qt Assistant.</source>
<translation>Выйти из Qt Assistant.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+458"/>
+ <location line="+6"/>
<source>Save Page</source>
<translation>Сохранить страницу</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+234"/>
<source>Save Page As...</source>
<translation>Сохранить страницу как...</translation>
</message>
<message>
+ <location line="+14"/>
<source>Select the page in contents tab.</source>
- <translation>Выбор страницы в оглавлении.</translation>
+ <translation>Выбрать страницу во вкладке содержания.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-691"/>
<source>Sidebar</source>
<translation>Боковая панель</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="-3"/>
<source>Sync with Table of Contents</source>
- <translation>Синхронизировать с оглавлением</translation>
+ <translation>Синхронизировать с содержанием</translation>
</message>
<message>
+ <location line="-380"/>
<source>Toolbar</source>
<translation>Панель инструментов</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+97"/>
<source>Views</source>
<translation>Виды</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="+312"/>
<source>What&apos;s This?</source>
<translation>Что это?</translation>
</message>
<message>
+ <location line="-58"/>
<source>Zoom &amp;in</source>
<translation>У&amp;величить</translation>
</message>
<message>
+ <location line="+14"/>
<source>Zoom &amp;out</source>
<translation>У&amp;меньшить</translation>
</message>
<message>
+ <location line="-11"/>
<source>Zoom in on the document, i.e. increase the font size.</source>
- <translation>Увеличение масштаба документа, т.е. увеличение размера шрифта.</translation>
+ <translation>Увеличить размер шрифта.</translation>
</message>
<message>
+ <location line="+14"/>
<source>Zoom out on the document, i.e. decrease the font size.</source>
- <translation>Уменьшение масштаба документа, т.е. уменьшение размера шрифта.</translation>
+ <translation>Уменьшить размер шрифта.</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-76"/>
<source>Ctrl+M</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+60"/>
<source>SHIFT+CTRL+=</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+4"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+I</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+B</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+]</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+[</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui" line="-144"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>Ctrl+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+14"/>
<source>Copy the selected text to the clipboard.</source>
<translation>Скопировать выделенный текст в буфер обмена.</translation>
</message>
<message>
+ <location line="+3"/>
<source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+14"/>
<source>Ctrl+F</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>F3</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Shift+F3</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+14"/>
<source>Ctrl+Home</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>Go to the previous page.</source>
<translation>Переход на предыдущую страницу.</translation>
</message>
<message>
+ <location line="+3"/>
<source>Alt+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+14"/>
<source>Alt+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+33"/>
<source>Ctrl++</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+14"/>
<source>Ctrl+-</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+25"/>
<source>Shift+F1</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Ctrl+Alt+N</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Ctrl+Alt+Right</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Ctrl+Alt+Left</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Ctrl+Alt+Q</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
<source>Ctrl+Alt+S</source>
<translation type="unfinished"></translation>
</message>
@@ -679,6 +853,7 @@ Assistant не будет работать!</translation>
<context>
<name>QObject</name>
<message>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation>Qt Assistant от Nokia</translation>
</message>
@@ -686,54 +861,67 @@ Assistant не будет работать!</translation>
<context>
<name>TabbedBrowser</name>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui" line="+197"/>
<source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
<translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Поиск с начала</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+86"/>
<source>Add page</source>
- <translation>Добавить страницу</translation>
+ <translation>Добавить вкладку</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui" line="-26"/>
<source>Case Sensitive</source>
- <translation>Регистрозависимо</translation>
+ <translation>Учитывать регистр</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+254"/>
<source>Close Other Tabs</source>
<translation>Закрыть остальные вкладки</translation>
</message>
<message>
+ <location line="-1"/>
<source>Close Tab</source>
<translation>Закрыть вкладку</translation>
</message>
<message>
+ <location line="-244"/>
<source>Close page</source>
- <translation>Закрыть страницу</translation>
+ <translation>Закрыть вкладку</translation>
</message>
<message>
+ <location line="+243"/>
<source>New Tab</source>
<translation>Новая вкладка</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui" line="-19"/>
<source>Next</source>
- <translation>Следующий</translation>
+ <translation>Следующее</translation>
</message>
<message>
+ <location line="-22"/>
<source>Previous</source>
- <translation>Предыдущий</translation>
+ <translation>Предыдущее</translation>
</message>
<message>
+ <location line="-62"/>
<source>Untitled</source>
<translation>Безымянный</translation>
</message>
<message>
+ <location line="+110"/>
<source>Whole words</source>
- <translation>Слова полностью</translation>
+ <translation>Слова целиком</translation>
</message>
<message>
+ <location line="-123"/>
<source>TabbedBrowser</source>
<translation type="unfinished"></translation>
</message>
@@ -741,40 +929,49 @@ Assistant не будет работать!</translation>
<context>
<name>TopicChooser</name>
<message>
+ <location filename="../tools/assistant/compat/topicchooser.ui" line="+149"/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
<message>
+ <location line="-16"/>
<source>&amp;Display</source>
<translation>&amp;Показать</translation>
</message>
<message>
+ <location line="-53"/>
<source>&amp;Topics</source>
- <translation>&amp;Статьи</translation>
+ <translation>&amp;Разделы</translation>
</message>
<message>
+ <location line="-27"/>
<source>Choose Topic</source>
- <translation>Выбор статьи</translation>
+ <translation>Выбор раздела</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Выберите статью для &lt;b&gt;%1&lt;/b&gt;</translation>
+ <translation>Выберите раздел для &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/topicchooser.ui" line="+93"/>
<source>Close the Dialog.</source>
- <translation>Закрытие окна.</translation>
+ <translation>Закрыть диалог.</translation>
</message>
<message>
+ <location line="-56"/>
<source>Displays a list of available help topics for the keyword.</source>
- <translation>Показывает список доступных статей справки, соответствующих ключевому слову.</translation>
+ <translation>Показывает список доступных разделов справки, найденных по ключевому слову.</translation>
</message>
<message>
+ <location line="+40"/>
<source>Open the topic selected in the list.</source>
- <translation>Открытие выбранной в списке темы.</translation>
+ <translation>Открыть выбранный раздел.</translation>
</message>
<message>
+ <location line="-74"/>
<source>Select a topic from the list and click the &lt;b&gt;Display&lt;/b&gt;-button to open the online help.</source>
- <translation>Выберите статью из списка и нажмите на кнопку &lt;b&gt;Показать&lt;/b&gt; для открытия онлайн справки.</translation>
+ <translation>Выберите раздел из списка и нажмите на кнопку &lt;b&gt;Показать&lt;/b&gt; для открытия онлайн справки.</translation>
</message>
</context>
</TS>
diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts
index 32aa739..ecec0f8 100644
--- a/translations/assistant_ru.ts
+++ b/translations/assistant_ru.ts
@@ -57,16 +57,16 @@
<translation>Новая папка</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
<location line="+18"/>
- <location line="+36"/>
- <location line="+24"/>
- <location line="+32"/>
+ <location line="+39"/>
+ <location line="+18"/>
+ <location line="+30"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="-69"/>
+ <location line="-61"/>
<source>Delete Folder</source>
<translation>Удалить папку</translation>
</message>
@@ -79,12 +79,12 @@
<context>
<name>BookmarkManager</name>
<message>
- <location line="+449"/>
+ <location line="+434"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="+36"/>
+ <location line="+37"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
@@ -94,7 +94,7 @@
<translation>Удаление папки приведёт к удалению её содержимого.&lt;br&gt;Желаете продолжить?</translation>
</message>
<message>
- <location line="+109"/>
+ <location line="+143"/>
<location line="+9"/>
<source>New Folder</source>
<translation>Новая папка</translation>
@@ -103,7 +103,7 @@
<context>
<name>BookmarkWidget</name>
<message>
- <location line="-436"/>
+ <location line="-462"/>
<source>Delete Folder</source>
<translation>Удалить папку</translation>
</message>
@@ -138,7 +138,7 @@
<translation>Фильтр:</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Add</source>
<translation>Добавить</translation>
</message>
@@ -161,7 +161,7 @@
<translation>Закрыть текущую страницу</translation>
</message>
<message>
- <location line="+284"/>
+ <location line="+291"/>
<source>Print Document</source>
<translation>Печать документа</translation>
</message>
@@ -226,24 +226,24 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-925"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-932"/>
<source>Previous</source>
- <translation>Предыдущее совпадение</translation>
+ <translation>Предыдущее</translation>
</message>
<message>
<location line="+4"/>
<source>Next</source>
- <translation>Следующее совпадение</translation>
+ <translation>Следующее</translation>
</message>
<message>
<location line="+4"/>
<source>Case Sensitive</source>
- <translation>Регистрозависимо</translation>
+ <translation>Учитывать регистр</translation>
</message>
<message>
<location line="+3"/>
<source>Whole words</source>
- <translation>Слова полностью</translation>
+ <translation>Слова целиком</translation>
</message>
<message>
<location line="+12"/>
@@ -441,31 +441,31 @@
<name>MainWindow</name>
<message>
<location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
- <location line="+354"/>
+ <location line="+384"/>
<source>Index</source>
- <translation>Индекс</translation>
+ <translation>Указатель</translation>
</message>
<message>
- <location line="-348"/>
- <location line="+346"/>
+ <location line="-378"/>
+ <location line="+376"/>
<source>Contents</source>
<translation>Содержание</translation>
</message>
<message>
- <location line="-341"/>
- <location line="+345"/>
+ <location line="-371"/>
+ <location line="+375"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="-333"/>
- <location line="+208"/>
- <location line="+476"/>
+ <location line="-363"/>
+ <location line="+215"/>
+ <location line="+500"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-508"/>
+ <location line="-532"/>
<location line="+5"/>
<source>Unfiltered</source>
<translation>Без фильтрации</translation>
@@ -473,10 +473,10 @@
<message>
<location line="+21"/>
<source>Looking for Qt Documentation...</source>
- <translation type="unfinished">Поиск по документации Qt...</translation>
+ <translation>Поиск документации по Qt...</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+84"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
@@ -656,7 +656,7 @@
<translation>Добавить закладку...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>CTRL+D</source>
<translation type="unfinished"></translation>
</message>
@@ -723,12 +723,12 @@
<message>
<location line="+114"/>
<source>Could not find the associated content item.</source>
- <translation type="unfinished">Не удалось найти элемент, связанный с содержанием.</translation>
+ <translation>Не удалось найти элемент, связанный с содержанием.</translation>
</message>
<message>
<location line="+81"/>
<source>About %1</source>
- <translation type="unfinished">О %1</translation>
+ <translation>О %1</translation>
</message>
<message>
<location line="+114"/>
@@ -767,7 +767,7 @@
<message>
<location line="+1"/>
<source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
- <translation>Некоторые открытые в Qt Assistant документы ссылаются на документацию, которую вы пытаетесь удалить. Удаление данной документации приведёт к закрытию таких документов.</translation>
+ <translation>Некоторые открытые в Qt Assistant документы ссылаются на документацию, которую вы пытаетесь удалить. Её удаление приведёт к закрытию этих документов.</translation>
</message>
<message>
<location line="+2"/>
@@ -830,7 +830,7 @@
<message>
<location line="+11"/>
<source>1</source>
- <translation type="unfinished"></translation>
+ <translation>1</translation>
</message>
<message>
<location line="+8"/>
@@ -876,18 +876,12 @@
<message>
<location line="+7"/>
<source>Restore to default</source>
- <translation type="unfinished">Восстановить по умолчанию</translation>
+ <translation>Страница по умолчанию</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+157"/>
- <location line="+1"/>
- <source>Bookmark</source>
- <translation>Закладка</translation>
- </message>
- <message>
<location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
<source>The specified collection file does not exist!</source>
<translation type="unfinished">Указанный файл набора отсутствует!</translation>
@@ -1037,17 +1031,17 @@ Reason:
<message>
<location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
- <translation>Выберите статью для &lt;b&gt;%1&lt;/b&gt;:</translation>
+ <translation>Выберите раздел для &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
<message>
<location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="+16"/>
<source>Choose Topic</source>
- <translation>Выбор статьи</translation>
+ <translation>Выбор раздела</translation>
</message>
<message>
<location line="+21"/>
<source>&amp;Topics</source>
- <translation>&amp;Статьи</translation>
+ <translation>&amp;Разделы</translation>
</message>
<message>
<location line="+51"/>
diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts
index 058d86a..86c7434 100644
--- a/translations/linguist_ru.ts
+++ b/translations/linguist_ru.ts
@@ -42,7 +42,7 @@
<message>
<location line="+7"/>
<source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked.</source>
- <translation>Имейте в виду, что изменённые записи будут отмечены как незавершённые, если не включен параметр &quot;Помечать переведенные записи как завершённые&quot;.</translation>
+ <translation>Имейте в виду, что изменённые записи будут отмечены как незавершённые, если не включён параметр &quot;Помечать переведенные записи как завершённые&quot;.</translation>
</message>
<message>
<location line="+3"/>
@@ -289,7 +289,7 @@ Will assume a single universal form.</source>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+732"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
@@ -617,7 +617,7 @@ All files (*)</source>
<message>
<location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
- <translation type="unfinished">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist - инструмент для добавления переводов в приложения на основе Qt.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения.&lt;/p&gt;&lt;p&gt;Программа предоставляется &quot;как есть&quot; без гарантий любого рода, включая гарантии дизайна, коммерческой ценности и пригодности для определённой цели.&lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
@@ -1250,7 +1250,7 @@ All files (*)</source>
<message>
<location line="+3"/>
<source>Toggle checking that phrase suggestions are used.</source>
- <translation>Переключение проверки использования предложений для фраз. Если выявлено несовпадение, будет показано сообщение в окне предупреждений.</translation>
+ <translation>Переключение проверки использования предложений для фраз.</translation>
</message>
<message>
<location line="+3"/>
@@ -1466,6 +1466,11 @@ All files (*)</source>
</message>
<message>
<location line="+30"/>
+ <source>Russian</source>
+ <translation>Русский</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>German</source>
<translation>Немецкий</translation>
</message>
@@ -1517,7 +1522,7 @@ All files (*)</source>
<message>
<location line="+3"/>
<source>Developer comments</source>
- <translation>Комментарии разработчика</translation>
+ <translation>Комментарий разработчика</translation>
</message>
<message>
<location line="+3"/>
@@ -1547,7 +1552,7 @@ All files (*)</source>
<message>
<location line="+1"/>
<source>%1 translator comments</source>
- <translation>Комментарий переводчика на %1</translation>
+ <translation>%1 перевод: комментарий переводчика</translation>
</message>
<message>
<location line="+140"/>
@@ -1583,10 +1588,11 @@ Line: %2</source>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-544"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-545"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
- <translation type="unfinished"></translation>
+ <translatorcomment>Правая панель главного окна</translatorcomment>
+ <translation></translation>
</message>
</context>
<context>
@@ -1800,17 +1806,17 @@ Line: %2</source>
<message>
<location filename="../tools/linguist/shared/cpp.cpp" line="+1089"/>
<source>C++ source files</source>
- <translation>Исходные коды C++</translation>
+ <translation>Файлы исходных кодов C++</translation>
</message>
<message>
<location filename="../tools/linguist/shared/java.cpp" line="+652"/>
<source>Java source files</source>
- <translation>Исходные коды Java</translation>
+ <translation>Файлы исходных кодов Java</translation>
</message>
<message>
<location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
- <translation>Исходные коды Qt Script</translation>
+ <translation>Файлы исходных кодов Qt Script</translation>
</message>
<message>
<location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
diff --git a/translations/qt_help_ru.ts b/translations/qt_help_ru.ts
index 16748fb..c2dc041 100644
--- a/translations/qt_help_ru.ts
+++ b/translations/qt_help_ru.ts
@@ -6,17 +6,17 @@
<message>
<location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
- <translation>Результаты поиска</translation>
+ <translation>Результат поиска</translation>
</message>
<message>
<location line="+7"/>
<source>Note:</source>
- <translation>Замечание:</translation>
+ <translation>Примечание:</translation>
</message>
<message>
<location line="+1"/>
<source>The search results may not be complete since the documentation is still being indexed!</source>
- <translation>Могли быть показаны не все результаты, так как документация ещё индексируется!</translation>
+ <translation>Результат поиска может быть неполным, так как документация ещё индексируется!</translation>
</message>
<message>
<location line="+11"/>
@@ -45,7 +45,7 @@
<location line="+11"/>
<location line="+48"/>
<source>Cannot open collection file: %1</source>
- <translation>Не удалось открыть файл набора: %1</translation>
+ <translation type="unfinished">Не удалось открыть файл набора: %1</translation>
</message>
<message>
<location line="-39"/>
@@ -168,12 +168,12 @@
<message>
<location line="+6"/>
<source>Insert custom filters...</source>
- <translation>Вставка индивидуальных фильтров...</translation>
+ <translation>Добавление индивидуальных фильтров...</translation>
</message>
<message>
<location line="+12"/>
<source>Insert help data for filter section (%1 of %2)...</source>
- <translation>Вставка данных справки для секции фильтра (%1 из %2)...</translation>
+ <translation>Добавление данных справки для раздела фильтра (%1 из %2)...</translation>
</message>
<message>
<location line="+18"/>
@@ -198,7 +198,7 @@
<message>
<location line="+10"/>
<source>Insert files...</source>
- <translation>Вставка файлов...</translation>
+ <translation>Добавление файлов...</translation>
</message>
<message>
<location line="+42"/>
@@ -228,22 +228,22 @@
<message>
<location line="+24"/>
<source>Insert indices...</source>
- <translation>Вставка указателей...</translation>
+ <translation>Добавление указателей...</translation>
</message>
<message>
<location line="+80"/>
<source>Insert contents...</source>
- <translation>Вставка оглавления...</translation>
+ <translation>Добавление содержания...</translation>
</message>
<message>
<location line="+8"/>
<source>Cannot insert contents!</source>
- <translation>Не удаётся вставить оглавление!</translation>
+ <translation>Не удалось добавить содержание!</translation>
</message>
<message>
<location line="+12"/>
<source>Cannot register contents!</source>
- <translation>Не удаётся зарегистрировать оглавление!</translation>
+ <translation>Не удалось зарегистрировать содержание!</translation>
</message>
</context>
<context>
@@ -271,12 +271,12 @@
<message>
<location line="+5"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
- <translation>&lt;B&gt;не содержит&lt;/B&gt; слова:</translation>
+ <translation>&lt;B&gt;не содержит&lt;/B&gt; слов:</translation>
</message>
<message>
<location line="+5"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
- <translation>содержит &lt;B&gt;фразу полностью&lt;/B&gt;:</translation>
+ <translation>содержит &lt;B&gt;точную фразу&lt;/B&gt;:</translation>
</message>
<message>
<location line="+5"/>
@@ -286,7 +286,7 @@
<message>
<location line="+5"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
- <translation>содержит &lt;B&gt; минимум одно&lt;/B&gt; из слов:</translation>
+ <translation>содержит &lt;B&gt;хотя бы одно&lt;/B&gt; из слов:</translation>
</message>
</context>
<context>
@@ -294,7 +294,7 @@
<message>
<location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
- <translation>0 - 0 из 0 соответствий</translation>
+ <translation>0 - 0 из 0 совпадений</translation>
</message>
</context>
<context>
@@ -302,7 +302,7 @@
<message>
<location line="-61"/>
<source>%1 - %2 of %3 Hits</source>
- <translation>%1 - %2 из %3 соответствий</translation>
+ <translation>%1 - %2 из %3 совпадений</translation>
</message>
</context>
<context>
@@ -315,12 +315,12 @@
<message>
<location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/>
<source>Unknown token.</source>
- <translation type="unfinished">Неизвестный токен.</translation>
+ <translation>Неизвестный идентификатор.</translation>
</message>
<message>
<location line="+13"/>
<source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation type="unfinished">Неизвестный токен. Ожидается &quot;QtHelpProject&quot;!</translation>
+ <translation>Неизвестный идентификатор. Ожидается &quot;QtHelpProject&quot;!</translation>
</message>
<message>
<location line="+5"/>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index a27b8c4..c856786 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -57,7 +57,7 @@
<message>
<location line="+2"/>
<source>Accessibility</source>
- <translation>Средства для людей с ограниченными возможностями</translation>
+ <translation>Специальные возможности</translation>
</message>
</context>
<context>
@@ -917,22 +917,22 @@ to
<context>
<name>QAxSelect</name>
<message>
- <location filename="../src/activeqt/container/qaxselect.ui" line="+54"/>
+ <location filename="../src/activeqt/container/qaxselect.ui"/>
<source>Select ActiveX Control</source>
<translation>Выберите компоненту ActiveX</translation>
</message>
<message>
- <location line="+32"/>
+ <location/>
<source>OK</source>
<translation>Готово</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>&amp;Cancel</source>
<translation>&amp;Отмена</translation>
</message>
<message>
- <location line="+49"/>
+ <location/>
<source>COM &amp;Object:</source>
<translation>COM &amp;Объект:</translation>
</message>
@@ -1022,7 +1022,7 @@ to
<translation>Открыть</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+556"/>
<source>False</source>
<translation>Нет</translation>
</message>
@@ -1491,32 +1491,32 @@ Please verify the correct file name was given.</source>
<translation>Показать скр&amp;ытые файлы</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui" line="+84"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+73"/>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Back</source>
<translation>Назад</translation>
</message>
<message>
- <location line="+14"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+14"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Parent Directory</source>
<translation>Родительский каталог</translation>
</message>
<message>
- <location line="+14"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+14"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>List View</source>
<translation>Список</translation>
</message>
<message>
- <location line="+7"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+7"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Detail View</source>
<translation>Подробный вид</translation>
</message>
<message>
- <location line="+141"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+162"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Files of type:</source>
<translation>Типы файлов:</translation>
</message>
@@ -1619,8 +1619,8 @@ Do you want to delete it anyway?</source>
<translation>Показать </translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui" line="-169"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="-190"/>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Forward</source>
<translation>Вперед</translation>
</message>
@@ -1652,14 +1652,14 @@ Do you want to delete it anyway?</source>
<translation>&amp;Имя файла:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui" line="-32"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="+212"/>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Look in:</source>
<translation>Перейти к:</translation>
</message>
<message>
- <location line="+46"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui" line="-198"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Create New Folder</source>
<translation>Создать каталог</translation>
</message>
@@ -1828,7 +1828,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Arabic</source>
- <translation type="unfinished"></translation>
+ <translation>Арабская</translation>
</message>
<message>
<location line="+3"/>
@@ -1838,57 +1838,57 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Thaana</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Таана</translation>
</message>
<message>
<location line="+3"/>
<source>Devanagari</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Деванагири</translation>
</message>
<message>
<location line="+3"/>
<source>Bengali</source>
- <translation type="unfinished"></translation>
+ <translation>Бенгальская</translation>
</message>
<message>
<location line="+3"/>
<source>Gurmukhi</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Гурмукхи</translation>
</message>
<message>
<location line="+3"/>
<source>Gujarati</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Гуджарати</translation>
</message>
<message>
<location line="+3"/>
<source>Oriya</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ория</translation>
</message>
<message>
<location line="+3"/>
<source>Tamil</source>
- <translation type="unfinished"></translation>
+ <translation>Тамильская</translation>
</message>
<message>
<location line="+3"/>
<source>Telugu</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Телугу</translation>
</message>
<message>
<location line="+3"/>
<source>Kannada</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Каннада</translation>
</message>
<message>
<location line="+3"/>
<source>Malayalam</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Малайялам</translation>
</message>
<message>
<location line="+3"/>
<source>Sinhala</source>
- <translation type="unfinished"></translation>
+ <translation>Сингальская</translation>
</message>
<message>
<location line="+3"/>
@@ -1898,7 +1898,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Lao</source>
- <translation type="unfinished"></translation>
+ <translation>Лаосская</translation>
</message>
<message>
<location line="+3"/>
@@ -1908,7 +1908,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Мьянма</translation>
</message>
<message>
<location line="+3"/>
@@ -1953,7 +1953,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Ogham</source>
- <translation type="unfinished"></translation>
+ <translation>Огамическая</translation>
</message>
<message>
<location line="+3"/>
@@ -2401,7 +2401,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1434"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1454"/>
<source>Error opening database</source>
<translation>Невозможно открыть базу данных</translation>
</message>
@@ -2424,7 +2424,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1095"/>
+ <location line="-1112"/>
<source>Unable to create BLOB</source>
<translation>Невозможно создать BLOB</translation>
</message>
@@ -2470,7 +2470,7 @@ Do you want to delete it anyway?</source>
<translation>Невозможно выполнить транзакцию</translation>
</message>
<message>
- <location line="+33"/>
+ <location line="+42"/>
<source>Could not allocate statement</source>
<translation>Не удалось получить ресурсы для создания выражения</translation>
</message>
@@ -2481,12 +2481,12 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location line="+7"/>
+ <location line="+11"/>
<source>Could not describe input statement</source>
<translation>Не удалось описать входящее выражение</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+14"/>
<source>Could not describe statement</source>
<translation>Не удалось описать выражение</translation>
</message>
@@ -3288,7 +3288,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2079"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2082"/>
<source>Unable to logon</source>
<translation>Невозможно авторизоваться</translation>
</message>
@@ -3317,7 +3317,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-973"/>
+ <location line="-976"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3329,7 +3329,7 @@ Do you want to delete it anyway?</source>
<translation>Невозможно выполнить пакетное выражение</translation>
</message>
<message>
- <location line="+302"/>
+ <location line="+305"/>
<source>Unable to goto next</source>
<translation>Невозможно перейти к следующей строке</translation>
</message>
@@ -3376,7 +3376,7 @@ Do you want to delete it anyway?</source>
<translation>Невозможно соединиться - Драйвер не поддерживает требуемый функционал</translation>
</message>
<message>
- <location line="+242"/>
+ <location line="+239"/>
<source>Unable to disable autocommit</source>
<translation>Невозможно отключить автовыполнение транзакции</translation>
</message>
@@ -3399,7 +3399,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1218"/>
+ <location line="-1216"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Невозможно установить &apos;SQL_CURSOR_STATIC&apos; атрибутом выражение. Проверьте настройки драйвера ODBC</translation>
@@ -3428,12 +3428,12 @@ Do you want to delete it anyway?</source>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
<location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
- <location line="+578"/>
+ <location line="+579"/>
<source>Unable to fetch last</source>
<translation>Невозможно получить последнюю строку</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-673"/>
<source>Unable to fetch</source>
<translation>Невозможно получить данные</translation>
</message>
@@ -3520,7 +3520,7 @@ Do you want to delete it anyway?</source>
<translation>Не удалось начать транзакцию</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="+30"/>
<source>Could not commit transaction</source>
<translation>Не удалось выполнить транзакцию</translation>
</message>
@@ -3576,86 +3576,82 @@ Do you want to delete it anyway?</source>
<translation>Точки (pt)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qpagesetupwidget.ui" line="+13"/>
+ <location filename="../src/gui/dialogs/qpagesetupwidget.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Paper</source>
<translation>Бумага</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Page size:</source>
<translation>Размер страницы:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Width:</source>
<translation>Ширина:</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Height:</source>
<translation>Высота:</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Paper source:</source>
<translation>Источник бумаги:</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Orientation</source>
<translation>Ориентация страницы</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Portrait</source>
<translation>Книжная</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Landscape</source>
<translation>Альбомная</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Reverse landscape</source>
<translation>Перевёрнутая альбомная</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Reverse portrait</source>
<translation>Перевёрнутая книжная</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>Margins</source>
<translation>Поля</translation>
</message>
<message>
- <location line="+8"/>
- <location line="+3"/>
+ <location/>
<source>top margin</source>
<translation>верхнее поле</translation>
</message>
<message>
- <location line="+28"/>
- <location line="+3"/>
+ <location/>
<source>left margin</source>
<translation>Левое поле</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+3"/>
+ <location/>
<source>right margin</source>
<translation>правое поле</translation>
</message>
<message>
- <location line="+28"/>
- <location line="+3"/>
+ <location/>
<source>bottom margin</source>
<translation>Нижнее поле</translation>
</message>
@@ -4213,17 +4209,17 @@ Please choose a different file name.</source>
<context>
<name>QPrintPropertiesWidget</name>
<message>
- <location filename="../src/gui/dialogs/qprintpropertieswidget.ui" line="+13"/>
+ <location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Page</source>
<translation>Страница</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Advanced</source>
<translation>Дополнительно</translation>
</message>
@@ -4231,97 +4227,97 @@ Please choose a different file name.</source>
<context>
<name>QPrintSettingsOutput</name>
<message>
- <location filename="../src/gui/dialogs/qprintsettingsoutput.ui" line="+13"/>
+ <location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Copies</source>
<translation>Копии</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Print range</source>
<translation>Печатать диапазон</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Print all</source>
<translation>Печатать все</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Pages from</source>
<translation>Страницы от</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>to</source>
<translation>до</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Selection</source>
<translation>Выделенные</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Output Settings</source>
<translation>Настройки вывода</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Copies:</source>
<translation>Количество копий:</translation>
</message>
<message>
- <location line="+33"/>
+ <location/>
<source>Collate</source>
<translation>Разобрать про копиям</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>Reverse</source>
<translation>Обратный порядок</translation>
</message>
<message>
- <location line="+32"/>
+ <location/>
<source>Options</source>
<translation>Параметры</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Color Mode</source>
<translation>Режим цвета</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Color</source>
<translation>Цвет</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Grayscale</source>
<translation>Оттенки серого</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Duplex Printing</source>
<translation>Двусторонняя печать</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>None</source>
<translation>Нет</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Long side</source>
<translation>По длинной стороне</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Short side</source>
<translation>По короткой стороне</translation>
</message>
@@ -4329,47 +4325,47 @@ Please choose a different file name.</source>
<context>
<name>QPrintWidget</name>
<message>
- <location filename="../src/gui/dialogs/qprintwidget.ui" line="+13"/>
+ <location filename="../src/gui/dialogs/qprintwidget.ui"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Printer</source>
<translation>Принтер</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>&amp;Name:</source>
<translation>&amp;Имя:</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>P&amp;roperties</source>
<translation>С&amp;войства</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Location:</source>
<translation>Положение:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Preview</source>
<translation>Предпросмотр</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Type:</source>
<translation>Тип:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Output &amp;file:</source>
<translation>Выходной &amp;файл:</translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -6329,7 +6325,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+638"/>
<source>Go Back</source>
<translation>Назад</translation>
</message>
diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts
new file mode 100644
index 0000000..b1965f2
--- /dev/null
+++ b/translations/qtconfig_ru.ts
@@ -0,0 +1,906 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru">
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/>
+ <source>Desktop Settings (Default)</source>
+ <translation>Настройки рабочего стола (по умолчанию)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Choose style and palette based on your desktop settings.</source>
+ <translation>Выбор стиля и палитры на основе настроек рабочего стола.</translation>
+ </message>
+ <message>
+ <location line="+144"/>
+ <source>On The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+1"/>
+ <location line="+38"/>
+ <location line="+1"/>
+ <source>Auto (default)</source>
+ <translation>Автоматически (по умолчанию)</translation>
+ </message>
+ <message>
+ <location line="-38"/>
+ <source>Choose audio output automatically.</source>
+ <translation>Автоматический выбор звукового выхода.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+1"/>
+ <source>aRts</source>
+ <translation>aRts</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Experimental aRts support for GStreamer.</source>
+ <translation>Экспериментальная поддержка aRts в GStreamer.</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Phonon GStreamer backend not available.</source>
+ <translation type="unfinished">Модуль Phonon поддержки GStreamer не доступен.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Choose render method automatically</source>
+ <translation>Автоматический выбор метода отрисовки</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+1"/>
+ <source>X11</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Use X11 Overlays</source>
+ <translation type="unfinished">Использовать оверлеи X11</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+1"/>
+ <source>OpenGL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Use OpenGL if avaiable</source>
+ <translation>Использовать OpenGL, если доступен</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+1"/>
+ <source>Software</source>
+ <translation>Программный</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Use simple software rendering</source>
+ <translation>Использовать простую программную отрисовку</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>No changes to be saved.</source>
+ <translation>Нет изменений для сохранения.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Saving changes...</source>
+ <translation>Сохранение изменений...</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Over The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Off The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Root</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+466"/>
+ <source>Select a Directory</source>
+ <translation>Выбор каталога</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+1"/>
+ <location line="+8"/>
+ <source>Qt Configuration</source>
+ <translation>Конфигурация Qt</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Save Changes</source>
+ <translation>Сохранение изменений</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save changes to settings?</source>
+ <translation>Сохранить изменения настроек?</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Yes</source>
+ <translation>&amp;Да</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>&amp;No</source>
+ <translation>&amp;Нет</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Отмена</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindowBase</name>
+ <message>
+ <location filename="../tools/qtconfig/mainwindowbase.ui" line="+54"/>
+ <source>Qt Configuration</source>
+ <translation>Конфигурация Qt</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Appearance</source>
+ <translation>Внешний вид</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>GUI Style</source>
+ <translation>Стиль пользовательского графического интерфейса</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Select GUI &amp;Style:</source>
+ <translation type="unfinished">&amp;Стиль интерфейса:</translation>
+ </message>
+ <message>
+ <location line="+88"/>
+ <source>Build Palette</source>
+ <translation type="unfinished">Палитра</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>&amp;3-D Effects:</source>
+ <translation>Эффекты &amp;3-D:</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Window Back&amp;ground:</source>
+ <translation>&amp;Фон окна:</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>&amp;Tune Palette...</source>
+ <translation>&amp;Настроить палитру...</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation>Используйте Центр управления KDE для настройки цветов.</translation>
+ </message>
+ <message>
+ <location line="-154"/>
+ <source>Preview</source>
+ <translation>Предпросмотр</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Select &amp;Palette:</source>
+ <translation>Выбор &amp;палитры:</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Active Palette</source>
+ <translation>Палитра активных элементов</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inactive Palette</source>
+ <translation>Палитра неактивных элементов</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Disabled Palette</source>
+ <translation>Палитра выключенных элементов</translation>
+ </message>
+ <message>
+ <location line="+138"/>
+ <source>Fonts</source>
+ <translation>Шрифты</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Default Font</source>
+ <translation>Шрифт по умолчанию</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>&amp;Style:</source>
+ <translation>&amp;Стиль:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Point Size:</source>
+ <translation>&amp;Размер в точках:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>F&amp;amily:</source>
+ <translation>Семе&amp;йство:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Sample Text</source>
+ <translation>Текст для примера (Sample Text)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Font Substitution</source>
+ <translation>Подстановка шрифтов</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>S&amp;elect or Enter a Family:</source>
+ <translation>&amp;Выберите или введите семейство:</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Current Substitutions:</source>
+ <translation type="unfinished">Текущие замены:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <location line="+501"/>
+ <source>Up</source>
+ <translation>Выше</translation>
+ </message>
+ <message>
+ <location line="-494"/>
+ <location line="+508"/>
+ <source>Down</source>
+ <translation>Ниже</translation>
+ </message>
+ <message>
+ <location line="-501"/>
+ <location line="+494"/>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <location line="-464"/>
+ <source>Select s&amp;ubstitute Family:</source>
+ <translation>Выберите п&amp;одставляемое семейство:</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <location line="+487"/>
+ <source>Add</source>
+ <translation>Добавить</translation>
+ </message>
+ <message>
+ <location line="-474"/>
+ <source>Interface</source>
+ <translation>Интерфейс</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Feel Settings</source>
+ <translation type="unfinished">Настройка указателя</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location line="+26"/>
+ <source> ms</source>
+ <translation> мс</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Double Click Interval:</source>
+ <translation>&amp;Интервал двойного щелчка:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>No blinking</source>
+ <translation>Без мигания</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Cursor Flash Time:</source>
+ <translation>&amp;Период мигания курсора:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source> lines</source>
+ <translation> строк</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Wheel &amp;Scroll Lines:</source>
+ <translation type="unfinished">&amp;Прокручивать строк при повороте колёсика:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Resolve symlinks in URLs</source>
+ <translation>Разрешать символьные ссылки в URL-ах</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>GUI Effects</source>
+ <translation type="unfinished">Эффекты пользовательского интерфейса</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>&amp;Enable</source>
+ <translation>&amp;Включить</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Alt+E</source>
+ <translation>Alt+D</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>&amp;Menu Effect:</source>
+ <translation>Эффект &amp;меню:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>C&amp;omboBox Effect:</source>
+ <translation type="unfinished">Эффект C&amp;omboBox:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;ToolTip Effect:</source>
+ <translation type="unfinished">Эффект &amp;ToolTip:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Tool&amp;Box Effect:</source>
+ <translation type="unfinished">Эффект Tool&amp;Box:</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <location line="+19"/>
+ <location line="+14"/>
+ <location line="+19"/>
+ <source>Disable</source>
+ <translation>Выключен</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <location line="+19"/>
+ <location line="+14"/>
+ <location line="+19"/>
+ <source>Animate</source>
+ <translation>Анимация</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <location line="+33"/>
+ <source>Fade</source>
+ <translation>Затухание</translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <source>Global Strut</source>
+ <translation type="unfinished">Специальные возможности</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Minimum &amp;Width:</source>
+ <translation>Минимальная &amp;ширина:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Minimum Hei&amp;ght:</source>
+ <translation>Минимальная в&amp;ысота:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+10"/>
+ <source> pixels</source>
+ <translation> пикселей</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Enhanced support for languages written right-to-left</source>
+ <translation>Расширенная поддержка письма справа налево</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>XIM Input Style:</source>
+ <translation>Стиль ввода XIM:</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>On The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Over The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Off The Spot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Root</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Default Input Method:</source>
+ <translation>Метод ввода по умолчанию:</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Printer</source>
+ <translation>Принтер</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Enable Font embedding</source>
+ <translation>Разрешить встраивание шрифтов</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Font Paths</source>
+ <translation>Пути к шрифтам</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Browse...</source>
+ <translation>Обзор...</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
+ <translation>Нажмите кнопку &lt;b&gt;Обзор...&lt;/b&gt; или укажите каталог и нажмите Ввод для добавления его в список.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Phonon</source>
+ <translation>Phonon</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>About Phonon</source>
+ <translation>О Phonon</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+44"/>
+ <source>Current Version:</source>
+ <translation>Текущая версия:</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <location line="+44"/>
+ <source>Not available</source>
+ <translation>Недоступно</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <location line="+44"/>
+ <source>Website:</source>
+ <translation>Вэб-сайт:</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>About GStreamer</source>
+ <translation>О GStreamer</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>GStreamer backend settings</source>
+ <translation>Настройки модуля GStreamer</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Preferred audio sink:</source>
+ <translation>Предпочитаемое звуковое устройство:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Preferred render method:</source>
+ <translation>Предпочитаемый метод отрисовки:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Note: changes to these settings may prevent applications from starting up correctly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Внимание: Изменение данных настроек может повлечь невозможность корректного запуска приложений.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>&amp;File</source>
+ <translation>&amp;Файл</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Справка</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>&amp;Save</source>
+ <translation>&amp;Сохранить</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Save</source>
+ <translation>Сохранить</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Ctrl+S</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>E&amp;xit</source>
+ <translation>В&amp;ыход</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Exit</source>
+ <translation>Выход</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;About</source>
+ <translation>&amp;О программе</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>About</source>
+ <translation>О программе</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>About &amp;Qt</source>
+ <translation>О &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>About Qt</source>
+ <translation>О Qt</translation>
+ </message>
+</context>
+<context>
+ <name>PaletteEditorAdvancedBase</name>
+ <message>
+ <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui" line="+61"/>
+ <source>Tune Palette</source>
+ <translation>Настройка палитры</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
+ <translation type="unfinished">&lt;b&gt;Изменение палитры&lt;/b&gt;&lt;p&gt;Изменение палитры текущего виджета или формы.&lt;/p&gt;&lt;p&gt;Используйте сформированную палитру или выберите цвета для каждой группы цветов и каждой их роли.&lt;/p&gt;&lt;p&gt;Палитру можно проверить на виджетах в разных режимах отображения в разделе предпросмотра.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Select &amp;Palette:</source>
+ <translation>Выбор &amp;палитры:</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Active Palette</source>
+ <translation>Палитра активных элементов</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inactive Palette</source>
+ <translation>Палитра неактивных элементов</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Disabled Palette</source>
+ <translation>Палитра выключенных элементов</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Auto</source>
+ <translation type="unfinished">Автоматически</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Build inactive palette from active</source>
+ <translation type="unfinished">Создать неактивную палитру из активной</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Build disabled palette from active</source>
+ <translation type="unfinished">Создать выключенную палитру из активной</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Central color &amp;roles</source>
+ <translation type="unfinished">Роли &amp;цветов</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Choose central color role</source>
+ <translation type="unfinished">Выберите роль цвета</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
+ <translation type="unfinished">&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt;&lt;li&gt;Window - основной цвет фона.&lt;/li&gt; &lt;li&gt;WindowText - основной цвет текста.&lt;/li&gt; &lt;li&gt;Base - используется в качестве фона для, например, виджетов с текстовыми полями, обычно, белый или другой светлый цвет.&lt;/li&gt; &lt;li&gt;Text - цвет текста используемый совместно с Base. Обычно, он совпадает с WindowText, так как в этом случае получается максимальный контраст и с Window, и с Base.&lt;/li&gt; &lt;li&gt;Button - основной цвет фона кнопки, которой требуется цвет отличный от Window, например, в стиле Macintosh.&lt;/li&gt; &lt;li&gt;ButtonText - цвет текста используемый совместно с Button.&lt;/li&gt; &lt;li&gt;Highlight - цвет для обозначения выбранного или выделенного элемента.&lt;/li&gt; &lt;li&gt;HighlightedText - цвет текста контрастирующий с Highlight.&lt;/li&gt; &lt;li&gt;BrightText - цвет текста, который отличается от WindowText и хорошо контрастирует с черным.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>WindowText</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Button</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Base</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>BrightText</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>ButtonText</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Highlight</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>HighlightedText</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Select Color:</source>
+ <translation>&amp;Выбор цвета:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location line="+171"/>
+ <source>Choose a color</source>
+ <translation>Выберите цвет</translation>
+ </message>
+ <message>
+ <location line="-168"/>
+ <source>Choose a color for the selected central color role.</source>
+ <translation>Выберите цвет для указанной роли.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>3-D shadow &amp;effects</source>
+ <translation>Эффекты т&amp;рехмерной тени</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Build &amp;from button color</source>
+ <translation>Получ&amp;ить из цвета кнопки</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Generate shadings</source>
+ <translation type="unfinished">Создание полутонов</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Check to let 3D-effect colors be calculated from button-color.</source>
+ <translation type="unfinished">Включите, чтобы цвета эффекта трёхмерности были получены из цвета кнопки.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose 3D-effect color role</source>
+ <translation type="unfinished">Выбор роли цвета дял эффекта трёхмерности</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
+ <translation>&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt; &lt;li&gt;Light - светлее цвета Button. &lt;/li&gt; &lt;li&gt;Midlight - среднее между Light и Button. &lt;/li&gt; &lt;li&gt;Mid - среднее между Button и Dark. &lt;/li&gt; &lt;li&gt;Dark - темнее цвета Button. &lt;/li&gt; &lt;li&gt;Shadow - очень темный цвет. &lt;/li&gt; &lt;/ul&gt;</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Light</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Midlight</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Mid</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Dark</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+54"/>
+ <source>Select Co&amp;lor:</source>
+ <translation>Выбор &amp;цвета:</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Choose a color for the selected effect color role.</source>
+ <translation type="unfinished">Выбор цвета для указанной роли.</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>OK</source>
+ <translation>Принять</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Close dialog and apply all changes.</source>
+ <translation>Закрыть окно с применением изменений.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Close dialog and discard all changes.</source>
+ <translation>Закрыть окно с отменой изменений.</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrame</name>
+ <message>
+ <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
+ <source>Desktop settings will only take effect after an application restart.</source>
+ <translation type="unfinished">Настройки рабочего стола применятся после перезапуска приложения.</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewWidgetBase</name>
+ <message>
+ <location filename="../tools/qtconfig/previewwidgetbase.ui" line="+66"/>
+ <source>Preview Window</source>
+ <translation>Окно предпросмотра</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>ButtonGroup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>RadioButton1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>RadioButton2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>RadioButton3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>ButtonGroup2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>CheckBox1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>CheckBox2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>LineEdit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>ComboBox</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>PushButton</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>&lt;p&gt;
+&lt;a href=&quot;http://qtsoftware.com&quot;&gt;http://qtsoftware.com&lt;/a&gt;
+&lt;/p&gt;
+&lt;p&gt;
+&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;
+&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qvfb_ru.ts b/translations/qvfb_ru.ts
new file mode 100644
index 0000000..b084380
--- /dev/null
+++ b/translations/qvfb_ru.ts
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru">
+<context>
+ <name>AnimationSaveWidget</name>
+ <message>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+850"/>
+ <location line="+204"/>
+ <source>Record</source>
+ <translation>Записать</translation>
+ </message>
+ <message>
+ <location line="-202"/>
+ <source>Reset</source>
+ <translation>Сбросить</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Save</source>
+ <translation>Сохранить</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Save in MPEG format (requires netpbm package installed)</source>
+ <translation>Сохранить в формат MPEG (требуется установленный пакет netpbm)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <location line="+206"/>
+ <source>Click record to begin recording.</source>
+ <translation>Нажмите &quot;Записать&quot; для начала записи.</translation>
+ </message>
+ <message>
+ <location line="-115"/>
+ <location line="+147"/>
+ <source>Finished saving.</source>
+ <translation>Сохранение завершено.</translation>
+ </message>
+ <message>
+ <location line="-63"/>
+ <source>Paused. Click record to resume, or save if done.</source>
+ <translation>Приостановлено. Нажмите &quot;Записать&quot; для продолжения или &quot;Сохранить&quot;, если готово.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Pause</source>
+ <translation>Пауза</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Recording...</source>
+ <translation>Идёт запись...</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Saving... </source>
+ <translation>Сохранение... </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location line="+4"/>
+ <source>Save animation...</source>
+ <translation>Сохранение анимации...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Save canceled.</source>
+ <translation>Сохранение отменено.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Save failed!</source>
+ <translation>Сохранение не удалось!</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="../tools/qvfb/config.ui" line="+53"/>
+ <source>Configure</source>
+ <translation>Настройка</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>176x220 &quot;SmartPhone&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>240x320 &quot;PDA&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>320x240 &quot;TV&quot; / &quot;QVGA&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>640x480 &quot;VGA&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>800x600</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>1024x768</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Custom</source>
+ <translation>Особый</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Depth</source>
+ <translation>Глубина</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>1 bit monochrome</source>
+ <translation>1 бит (монохромный)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>4 bit grayscale</source>
+ <translation>4 бита (градации серого)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>8 bit</source>
+ <translation>8 бит</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>12 (16) bit</source>
+ <translation>12 (16) бит</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>15 bit</source>
+ <translation>15 бит</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>16 bit</source>
+ <translation>16 бит</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>18 bit</source>
+ <translation>18 бит</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>24 bit</source>
+ <translation>24 бита</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>32 bit</source>
+ <translation>32 бита</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>32 bit ARGB</source>
+ <translation>32 бита (ARGB)</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Skin</source>
+ <translation>Обложка</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>None</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Emulate touch screen (no mouse move)</source>
+ <translation>Эмулировать тачскрин (без перемещения мыши)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source>
+ <translation>Эмулировать ж/к экран (только с 3-х кратным увеличением)</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>&lt;p&gt;Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth &lt;i&gt;above&lt;/i&gt;. You may freely modify the Gamma &lt;i&gt;below&lt;/i&gt;.</source>
+ <translation>&lt;p&gt;Имейте в виду, что любая программа будет завершена, если изменится размер или глубина экрана. Параметр Гамма можно менять свободно.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Gamma</source>
+ <translation>Гамма</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Blue</source>
+ <translation>Синий</translation>
+ </message>
+ <message>
+ <location line="+489"/>
+ <location line="+496"/>
+ <location line="+14"/>
+ <location line="+496"/>
+ <source>1.0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-999"/>
+ <source>Green</source>
+ <translation>Зеленый</translation>
+ </message>
+ <message>
+ <location line="+496"/>
+ <source>All</source>
+ <translation>Все</translation>
+ </message>
+ <message>
+ <location line="+496"/>
+ <source>Red</source>
+ <translation>Красный</translation>
+ </message>
+ <message>
+ <location line="+496"/>
+ <source>Set all to 1.0</source>
+ <translation>Выставить все в 1.0</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Готово</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Отмена</translation>
+ </message>
+</context>
+<context>
+ <name>DeviceSkin</name>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
+ <source>The image file &apos;%1&apos; could not be loaded.</source>
+ <translation>Не удалось загрузить изображение &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
+ <translation>Каталог обложки &apos;%1&apos; не содержит файла настроек.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The skin configuration file &apos;%1&apos; could not be opened.</source>
+ <translation>Не удалось открыть файл настроек обложки &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
+ <translation>Не удалось прочитать файл настроек обложки &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Syntax error: %1</source>
+ <translation>Синтаксическая ошибка: %1</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Файл изображения &quot;up&quot; &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Файл изображения &quot;down&quot; &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Файл изображения &quot;closed&quot; &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>The skin cursor image file &apos;%1&apos; does not exist.</source>
+ <translation>Файл изображения курсора &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Syntax error in area definition: %1</source>
+ <translation>Синтаксическая ошибка в определении области: %1</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Mismatch in number of areas, expected %1, got %2.</source>
+ <translation>Несовпадение количества зон: ожидается %1, указано %2.</translation>
+ </message>
+</context>
+<context>
+ <name>QVFb</name>
+ <message>
+ <location filename="../tools/qvfb/qvfb.cpp" line="-487"/>
+ <source>Browse...</source>
+ <translation>Обзор...</translation>
+ </message>
+ <message>
+ <location line="+126"/>
+ <source>Load Custom Skin...</source>
+ <translation>Загрузить обложку пользователя...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>All QVFB Skins (*.skin)</source>
+ <translation>Все обложки QVFB (*.skin)</translation>
+ </message>
+</context>
+</TS>
diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp
index cab6570..c24486b 100644
--- a/util/unicode/main.cpp
+++ b/util/unicode/main.cpp
@@ -293,6 +293,7 @@ struct PropertyFlags {
&& lowerCaseDiff == o.lowerCaseDiff
&& upperCaseDiff == o.upperCaseDiff
&& titleCaseDiff == o.titleCaseDiff
+ && caseFoldDiff == o.caseFoldDiff
&& lowerCaseSpecial == o.lowerCaseSpecial
&& upperCaseSpecial == o.upperCaseSpecial
&& titleCaseSpecial == o.titleCaseSpecial
@@ -1910,6 +1911,8 @@ static QByteArray createPropertyInfo()
out += " // 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
if (!((i*BMP_BLOCKSIZE) % 0x1000))
out += "\n";
out += "\n ";
@@ -1917,9 +1920,13 @@ static QByteArray createPropertyInfo()
out += QByteArray::number(blockMap.at(i) + blockMap.size());
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n\n // 0x" + QByteArray::number(BMP_END, 16) + " - 0x" + QByteArray::number(SMP_END, 16) + "\n";;
for (int i = BMP_END/BMP_BLOCKSIZE; i < blockMap.size(); ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
if (!(i % (0x10000/SMP_BLOCKSIZE)))
out += "\n";
out += "\n ";
@@ -1927,14 +1934,21 @@ static QByteArray createPropertyInfo()
out += QByteArray::number(blockMap.at(i) + blockMap.size());
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
// write the data
for (int i = 0; i < blocks.size(); ++i) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
const PropertyBlock &b = blocks.at(i);
for (int j = 0; j < b.properties.size(); ++j) {
- if (!(j % 8))
+ if (!(j % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n ";
+ }
out += QByteArray::number(b.properties.at(j));
out += ", ";
}
@@ -1947,6 +1961,8 @@ static QByteArray createPropertyInfo()
Q_ASSERT(maxTitleCaseDiff < (1<<14));
Q_ASSERT(maxCaseFoldDiff < (1<<14));
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n};\n\n"
"#define GET_PROP_INDEX(ucs4) \\\n"
@@ -2036,13 +2052,13 @@ static QByteArray createPropertyInfo()
" return uc_properties + index;\n"
"}\n"
"\n"
- "Q_CORE_EXPORT const QUnicodeTables::Properties *QUnicodeTables::properties(uint ucs4)\n"
+ "Q_CORE_EXPORT const QUnicodeTables::Properties * QT_FASTCALL QUnicodeTables::properties(uint ucs4)\n"
"{\n"
" int index = GET_PROP_INDEX(ucs4);\n"
" return uc_properties + index;\n"
"}\n"
"\n"
- "Q_CORE_EXPORT const QUnicodeTables::Properties *QUnicodeTables::properties(ushort ucs2)\n"
+ "Q_CORE_EXPORT const QUnicodeTables::Properties * QT_FASTCALL QUnicodeTables::properties(ushort ucs2)\n"
"{\n"
" int index = GET_PROP_INDEX_UCS2(ucs2);\n"
" return uc_properties + index;\n"
@@ -2203,6 +2219,8 @@ static QByteArray createCompositionInfo()
out += " // 0 - 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
if (!((i*BMP_BLOCKSIZE) % 0x1000))
out += "\n";
out += "\n ";
@@ -2210,9 +2228,13 @@ static QByteArray createCompositionInfo()
out += QByteArray::number(blockMap.at(i) + blockMap.size());
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n\n // 0x" + QByteArray::number(BMP_END, 16) + " - 0x" + QByteArray::number(SMP_END, 16) + "\n";;
for (int i = BMP_END/BMP_BLOCKSIZE; i < blockMap.size(); ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
if (!(i % (0x10000/SMP_BLOCKSIZE)))
out += "\n";
out += "\n ";
@@ -2220,19 +2242,28 @@ static QByteArray createCompositionInfo()
out += QByteArray::number(blockMap.at(i) + blockMap.size());
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
// write the data
for (int i = 0; i < blocks.size(); ++i) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
const DecompositionBlock &b = blocks.at(i);
for (int j = 0; j < b.decompositionPositions.size(); ++j) {
- if (!(j % 8))
+ if (!(j % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n ";
+ }
out += "0x" + QByteArray::number(b.decompositionPositions.at(j), 16);
out += ", ";
}
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n};\n\n"
"#define GET_DECOMPOSITION_INDEX(ucs4) \\\n"
@@ -2249,12 +2280,16 @@ static QByteArray createCompositionInfo()
for (int i = 0; i < decompositions.size(); ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n ";
}
out += "0x" + QByteArray::number(decompositions.at(i), 16);
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n};\n\n";
return out;
@@ -2327,6 +2362,8 @@ static QByteArray createLigatureInfo()
out += " // 0 - 0x" + QByteArray::number(BMP_END, 16);
for (int i = 0; i < BMP_END/BMP_BLOCKSIZE; ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
if (!((i*BMP_BLOCKSIZE) % 0x1000))
out += "\n";
out += "\n ";
@@ -2334,18 +2371,27 @@ static QByteArray createLigatureInfo()
out += QByteArray::number(blockMap.at(i) + blockMap.size());
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
// write the data
for (int i = 0; i < blocks.size(); ++i) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n";
const DecompositionBlock &b = blocks.at(i);
for (int j = 0; j < b.decompositionPositions.size(); ++j) {
- if (!(j % 8))
+ if (!(j % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n ";
+ }
out += "0x" + QByteArray::number(b.decompositionPositions.at(j), 16);
out += ", ";
}
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n};\n\n"
"#define GET_LIGATURE_INDEX(u2) "
@@ -2357,12 +2403,16 @@ static QByteArray createLigatureInfo()
for (int i = 0; i < ligatures.size(); ++i) {
if (!(i % 8)) {
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n ";
}
out += "0x" + QByteArray::number(ligatures.at(i), 16);
out += ", ";
}
+ if (out.endsWith(' '))
+ out.chop(1);
out += "\n};\n\n";
return out;
@@ -2419,18 +2469,46 @@ int main(int, char **)
"/****************************************************************************\n"
"**\n"
"** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "** Contact: Nokia Corporation (qt-info@nokia.com)\n"
+ "**\n"
+ "** This file is part of the QtCore module of the Qt Toolkit.\n"
"**\n"
- "** This file is part of the $MODULE$ of the Qt Toolkit.\n"
+ "** $QT_BEGIN_LICENSE:LGPL$\n"
+ "** No Commercial Usage\n"
+ "** This file contains pre-release code and may not be distributed.\n"
+ "** You may use this file in accordance with the terms and conditions\n"
+ "** contained in the either Technology Preview License Agreement or the\n"
+ "** Beta Release License Agreement.\n"
"**\n"
- "** $TROLLTECH_DUAL_LICENSE$\n"
+ "** GNU Lesser General Public License Usage\n"
+ "** Alternatively, this file may be used under the terms of the GNU Lesser\n"
+ "** General Public License version 2.1 as published by the Free Software\n"
+ "** Foundation and appearing in the file LICENSE.LGPL included in the\n"
+ "** packaging of this file. Please review the following information to\n"
+ "** ensure the GNU Lesser General Public License version 2.1 requirements\n"
+ "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n"
"**\n"
- "** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n"
- "** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n"
+ "** In addition, as a special exception, Nokia gives you certain\n"
+ "** additional rights. These rights are described in the Nokia Qt LGPL\n"
+ "** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this\n"
+ "** package.\n"
+ "**\n"
+ "** GNU General Public License Usage\n"
+ "** Alternatively, this file may be used under the terms of the GNU\n"
+ "** General Public License version 3.0 as published by the Free Software\n"
+ "** Foundation and appearing in the file LICENSE.GPL included in the\n"
+ "** packaging of this file. Please review the following information to\n"
+ "** ensure the GNU General Public License version 3.0 requirements will be\n"
+ "** met: http://www.gnu.org/copyleft/gpl.html.\n"
+ "**\n"
+ "** If you are unsure which license is appropriate for your use, please\n"
+ "** contact the sales department at http://www.qtsoftware.com/contact.\n"
+ "** $QT_END_LICENSE$\n"
"**\n"
"****************************************************************************/\n\n"
"/* This file is autogenerated from the Unicode 5.0 database. Do not edit */\n\n";
-
+
QByteArray warning =
"//\n"
"// W A R N I N G\n"